# paper-algorithm **Repository Path**: try-world/paper-algorithm ## Basic Information - **Project Name**: paper-algorithm - **Description**: 纸上算法 PAPER ALGORITHM · 试界TryWorld 官方 AI 技能合集:口播总入口 koubo、纸上算法出片 paper、AIHOT 选题 topics——一句话到成片的口播视频生产线 - **Primary Language**: Python - **License**: CC-BY-SA-4.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-02 - **Last Updated**: 2026-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

试界TryWorld Skills

纸上算法 · PAPER ALGORITHM
从一句话到一条生产线——把 AI 讲清楚,让每个普通人都看得懂、用得上。

English · 简体中文

status skills platform license

--- ## 🧭 这是什么 **试界TryWorld 官方 AI 技能合集**——一条完整的中文口播视频生产线:从一句话到成片。选题、写稿、优化、出片、发布计划、邮件通知,全部打包成三个 Skill: - **🎬 `tryworld-koubo`**——统一入口。一句人话,自动路由选题 → 写稿 → 优化 → 出片。 - **🎯 `tryworld-topics`**——AIHOT 选题。每天几百条 AI 资讯,压成 3–8 个能做、能火、不重复的选题。 - **📜 `tryworld-paper`**——纸上算法出片。口播稿 → 品牌化 16:9 横屏视频,含封面、标题、字幕。 装进 `~/.agents/skills` 后,在任何支持该目录约定的 AI 工具(如 Agent SDK / ZCode)的会话里说一句中文,整条链路就从选题清单、口播稿、渲染成片、封面标题,一直到自动邮件通知自动走完,不需要你记任何命令。
纸面是舞台,墨迹是文字,朱红是重点,印章是签名。
三个技能各守一页,合起来就是一页会动的算法笔记——从「这周做什么」到成片交付、自动邮件通知、四平台发布计划。
## ⏱ 30 秒上手 **第 1 步 · 安装**——克隆仓库,再把技能文件夹复制到你的技能目录: ```bash git clone https://github.com/TryWorld2026/paper-algorithm.git cd paper-algorithm mkdir -p ~/.agents/skills cp -r skills/* ~/.agents/skills/ ``` Windows PowerShell 等价命令: ```powershell git clone https://github.com/TryWorld2026/paper-algorithm.git cd paper-algorithm New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.agents\skills" Copy-Item -Path .\skills\* -Destination "$env:USERPROFILE\.agents\skills" -Recurse ``` **第 2 步 · 说话**——打开 AI 工具会话,直接说: ```text 帮我做一期口播 ``` 就这样。请求会被自动识别并路由到整条流水线,不用记任何命令。也可以直接点名技能(`$tryworld-koubo`、`$tryworld-topics`、`$tryworld-paper`);带 `$` 的名字就是技能在会话里的呼号。 **第 3 步 · 收货**——流水线末端交付:渲染成片、横竖封面、平台标题、字幕、四平台发布计划,外加一封自动邮件通知。 **检查环境**——出第一条视频前,先跑 `python -X utf8 scripts/check_skills.py`(应输出 `All checks passed`)和 `python scripts/doctor.py`(列出缺失工具,跨平台)。参与贡献见 [CONTRIBUTING.md](CONTRIBUTING.md),近期改动见 [CHANGELOG.md](CHANGELOG.md),社区准则见 [行为准则](CODE_OF_CONDUCT.md)。 --- ### Pipeline Runner(可选) 安装后可以用 pipeline runner 代替手动执行流程。Runner 按编号顺序运行 6 个步骤脚本,每步检查前置条件,失败即停: ```bash # 查看所有步骤 python -m pipeline.runner --list # 预览执行计划 python -m pipeline.runner --dry-run # 执行全部步骤(步骤 3 确认闸门必须加 --confirm 才能通过) python -m pipeline.runner --project-dir <项目目录> --steps 1,2 # 确认后继续 python -m pipeline.runner --project-dir <项目目录> --steps 3,4,5,6 ``` 六个步骤:`01 optimize` → `02 check_prose` → `03 confirm`(硬闸门)→ `04 tts` → `05 render` → `06 verify`(硬闸门)。 --- ## 📑 目录 - [这是什么](#-这是什么) - [30 秒上手](#-30-秒上手) - [Pipeline Runner](#pipeline-runner可选) - [三张纸页 · 技能总览](#-三张纸页--技能总览) - [效果展示](#-效果展示) - [一条口播工作流](#-一条口播工作流) - [纸上算法 · 设计系统](#-纸上算法--设计系统) - [配音音色](#-配音音色) - [主题](#-主题) - [给 AI 的使用说明](#-给-ai-的使用说明) - [活人感门禁](#-活人感门禁) - [安装与使用](#-安装与使用) - [仓库结构](#-仓库结构) - [使用与二创](#-使用与二创) - [许可](#-许可) --- ## 🧩 三张纸页 · 技能总览
🎬 口播总入口
tryworld-koubo

一句人话,自动路由选题、写稿、优化、出片。

产出:全流程交付 + 邮件通知
$tryworld-koubo
📜 纸上算法视频
tryworld-paper

口播稿 → 品牌化横屏视频,一页会动的算法笔记。

产出:主视频 · 横竖封面 · 标题 · 字幕 · 多音色
$tryworld-paper
🎯 AI 口播选题
tryworld-topics

每天几百条 AI 新闻,压成 3-8 个能做、能火、不重复的选题。

产出:选题清单(角度 · 来源 · 优先级)
$tryworld-topics
--- ## 🎬 效果展示 以下全部由本流水线端到端产出,无人工后期。视频为 720p 预览(原片 1080p、约 30-45MB);每个文件夹内含口播稿、平台标题与发布计划。

Cordis 论文精读 · 横版封面   Cursor 被 SpaceX 收购 · 横版封面

| 示例 | 主题 | 时长 | 视频预览 | 文件夹内容 | |---|---|---|---|---| | [cordis-paper](examples/cordis-paper/) | DeepSeek 论文精读:把拆插件讲成数学 | 8.8 分钟 | [preview_720p.mp4](examples/cordis-paper/preview_720p.mp4) · 12 MB | [封面](examples/cordis-paper/cover_4x3.png) · [标题](examples/cordis-paper/titles.txt) · [口播稿](examples/cordis-paper/2026-08-23_Cordis论文精读_口播稿.md) · [发布计划](examples/cordis-paper/发布计划.txt) | | [cursor-spacex](examples/cursor-spacex/) | SpaceX 买下 Cursor | 6.6 分钟 | [preview_720p.mp4](examples/cursor-spacex/preview_720p.mp4) · 8 MB | [封面](examples/cursor-spacex/cover_4x3.png) · [标题](examples/cursor-spacex/titles.txt) · [口播稿](examples/cursor-spacex/2026-08-16_Cursor被SpaceX收购_口播稿.md) · [发布计划](examples/cursor-spacex/发布计划.txt) | --- ## 🎬 一条口播工作流 只记一个入口:**`$tryworld-koubo`**。给稿走模式 A,要选题走模式 B。 ```mermaid flowchart LR U(["你的一句话"]) --> P["koubo 统一入口"] P -- "模式A" --> A["paper 优化出片"] P -- "模式B" --> S["topics 选题"] S --> A A --> O["成片交付"] O --> M["邮件通知"] ``` --- ## 🎨 纸上算法 · 设计系统 试界视频的视觉契约——**科学手稿 + 中文印刷传统**,一条不允许为省事让步的锁定契约。
纸面
#F4EFE4
背景主色
墨黑
#1C1916
主文字 · 线条
朱红
#C0452F
唯一强调色
墨水蓝
#2E5E8C
次级批注 · 图表
| 维度 | 约定 | |---|---| | **字体** | 思源宋体(主标题)· ZCOOL 小薇(批注)· 等宽字体(数据) | | **动效** | 墨落纸 · 笔写入 · 盖章——全片三种签名动效 | | **防伪** | 朱红「试界原创」印章右上角全程常驻,是视频唯一水印 | --- ## 🎙 配音音色 配音默认 **云希**(试界品牌音色),内置七个可切换预设,一个参数就能换: | 预设名 | 音色 | 特点 | 试听 | |---|---|---|---| | `yunxi`(默认) | 云希 | 男 · 阳光 | [▶ 试听](assets/voice-samples/yunxi.mp3) | | `xiaoxiao` | 晓晓 | 女 · 温暖 | [▶ 试听](assets/voice-samples/xiaoxiao.mp3) | | `xiaoyi` | 晓伊 | 女 · 活泼 | [▶ 试听](assets/voice-samples/xiaoyi.mp3) | | `yunjian` | 云健 | 男 · 浑厚激情 | [▶ 试听](assets/voice-samples/yunjian.mp3) | | `yunyang` | 云扬 | 男 · 新闻播报 | [▶ 试听](assets/voice-samples/yunyang.mp3) | | `yunxia` | 云夏 | 男 · 少年感 | [▶ 试听](assets/voice-samples/yunxia.mp3) | | `xiaobei` | 小贝 | 女 · 东北方言 | [▶ 试听](assets/voice-samples/xiaobei.mp3) | | `xiaoni` | 小妮 | 女 · 陕西方言 | [▶ 试听](assets/voice-samples/xiaoni.mp3) | 以上试听全部用试界固定签名句合成,听到的就是真实成片里的效果。 --- ## 🎨 主题 默认视觉是**纸上算法**主题(试界品牌),但全部品牌值——色板、字体、印章、平台名、签名语、封面风格、默认音色——都集中在一个主题文件里:`skills/tryworld-paper/themes/paper-algorithm.json`。 想在这套流水线上挂你自己的品牌?复制主题 JSON,按 `tryworld-paper/references/theme-guide.md` 改值,就能用你自己的名字出片。流水线契约不可配置——确认闸门、活人感门禁、烧录字幕、质量检查全部保留,换的只是皮。内容主题(`content-default.json`)定义选题域、受众、字数范围、目标平台——换领域/品牌时修改此 JSON,SKILL.md 自动引用。写稿方法论拆在 `tryworld-koubo/references/writing-methodology.md`,可在内容主题中设置 `"writing_rules": "custom"` 替换为自己的方法论(但 `check_prose.py` 硬门禁不可关闭)。仓库中的 `test-brand.json` 是一个完整的换品牌示例。 ```jsonc // themes/your-brand.json(节选) { "brand": { "platform_name": "你的频道", "seal_text": "原创认证", "sign_off": "..." }, "palette": { "background": "#F7F7F2", "text": "#111111", "accent": "#0F62FE", "secondary": "#5A6B7B" } } ``` 欢迎社区贡献主题——PR 到 `skills/tryworld-paper/themes/` 目录并附一段 720p 示例(遵循 CC BY-SA 4.0)。 --- ## 🤖 给 AI 的使用说明 如果你是读取本仓库的 AI 编程助手(Claude Code / Codex / Cursor 等),这一节是你的操作手册。用户负责说话,你负责驱动整条流水线。 ### 1. 技能就是可执行说明书 `skills/` 下每个文件夹是一个技能,其中的 `SKILL.md` 是完整的可执行指令集: | 技能 | 角色 | 何时读它 | |---|---|---| | `skills/tryworld-koubo/SKILL.md` | 统一入口 / 路由 | 任何口播类请求(做一期、要选题、优化稿子) | | `skills/tryworld-paper/SKILL.md` | 稿子 → 成片生产 | 稿子确认进入出片阶段时 | | `skills/tryworld-topics/SKILL.md` | AIHOT 选题 | 模式 B 挑选题时 | 安装到 `~/.agents/skills` 后,宿主按 frontmatter 的 description 自动触发;用户点名(`$tryworld-koubo`)时,直接打开对应 SKILL.md 逐条照做。 ### 2. 一期完整口播的执行序列 1. **路由**——读 `tryworld-koubo/SKILL.md`,判定模式 A(用户给了稿 → 优化并出片)或模式 B(要选题 → 选题 → 写稿 → 出片)。 2. **环境自检**——`node --version`(≥22)、`python --version`(≥3.10)、`python -c "import edge_tts"`、`ffmpeg -version`、`npx hyperframes doctor`。缺什么先装或明确告知,再继续。 3. **仅模式 B**——运行 `python tryworld-topics/scripts/fetch_aihot.py`(跨平台)或其 `references/api.md` 的 curl 替代,按 `references/selection-rules.md` 产出 3-8 个候选选题。 4. **闸门 1(停下)**——展示选题清单,等用户挑选。未经允许不得继续。 5. **写稿**——按 koubo SKILL.md 的写稿规范(标准版 2500-2800 字、数据点必须带来源、活人感规则)。 6. **优化过门禁**——转入 `tryworld-paper/SKILL.md`:优化净化,然后跑 `scripts/check_prose.py` 直到硬禁项清零。 7. **闸门 2(停下)**——完整展示优化稿 + 修改说明 + 元素落点 + 数据来源。等用户明确确认,未经确认禁止渲染。 8. **出片**——读主题文件(`skills/tryworld-paper/themes/paper-algorithm.json`)获取全部品牌值 → 分段 → `scripts/tts_yunxi.py` 配音(产 `sentences.json` 时间轴)→ 按 `references/style-system.md` 写 HyperFrames 构图 → `npx hyperframes lint` / `validate` / `inspect --strict` 全部通过 → 渲染(先 draft 后 high)→ 封面(独立设计,禁止截帧)→ 按 `references/titles.md` 出标题 → 全部产物进 `outputs/` + `发布计划.txt`。 9. **通知**——运行 `python tryworld-koubo/scripts/notify_delivery.py --project-dir <目录>`;凭证或 node 缺失时脚本自动跳过,不阻塞交付。 10. **交付核验(硬性闸门)**——运行 `python -X utf8 tryworld-paper/scripts/verify_output.py --dir `;每一项都必须 PASS(音轨存在、时长对齐、双封面尺寸、标题、发布计划)。出现 FAIL 就修复重跑——禁止把未核验的 outputs 文件夹交给用户。 项目各自独立文件夹(默认约定 `E:\Codex口播视频\\`,内含 `work/` 与 `outputs/`)。 ### 3. 硬规则(违反任何一条 = 任务失败) - 两个闸门都必须等用户明确确认,禁止自行跨过闸门。 - `check_prose.py` 硬禁项不清零,连展示优化稿都不允许。 - 品牌值(色板、印章、签名语、字体、默认音色)**只能**从主题文件读取,禁止凭记忆写死。 - 渲染前 `lint`/`validate`/`inspect --strict` 必须零错误零警告。 - 稿中数据点必须有来源;无法核实的标注「待核实」,禁止编造。 - 交给用户之前必须对 `outputs/` 跑 `verify_output.py`;静音成片或缺封面就是交付失败。 ### 4. 常见故障 | 症状 | 处理 | |---|---| | `npx hyperframes` 不存在 | 首次 npx 会自动安装;需 Node ≥22 | | edge-tts 403 / 限流 | 配音脚本失败会自动重试一次;AIHOT 拉取脚本对 429/5xx 有退避重试——再试或换网络 | | 邮件通知失败 | 凭证缺失时设计为跳过;不阻塞交付 | | 渲染字体不对 | 查 `style-system.md` 字体嵌入实测表;非原生字体需自带 woff2 | ```powershell python tryworld-paper/scripts/tts_yunxi.py script.txt --out work/audio --voice xiaoxiao ``` 也接受完整的 edge-tts 音色 id。默认流程不打听音色,直接用云希;你说一句想换声音(女声、播报感之类),它会拿你这篇稿子的开头现场合成几段试听,你听完再挑。 --- ## 🔒 活人感门禁 成片之前,每一版口播稿与平台标题都要过一道机器门禁——**禁的是修辞动作,不是字面**。换一套字做同一个动作,仍然算命中。 - **翻案腔**:先立读者没有的误解再推翻抬价。已知外衣不限于「不是……而是……」「并非……而是……」「不在于……而在于……」「表面……实际……」「看似……实则……」「你以为……其实……」「回头才发现」「说到底」「答案恰恰相反」,判断从正面下,先给判断再给依据。 - **同构排比**:三项以上整齐排比,两项为限。 - **抒情借喻**:不给抽象名词配具体动词(「时间保管细节」类),写具体事物不受影响。 - **动词名词化**:「实现了效率的提升」还原成「快了多少、省了几个人」。 - **标点分级**:破折号全禁;冒号只允许引出人物直接原话。 - **黑话两档**:绝对禁词 + 语境判断词,清单由检测器维护。 检测器 `tryworld-paper/scripts/check_prose.py`(源自 [human-writing](https://github.com/KKKKhazix/human-writing) v1.1.0,MIT)自动执行以上检查,并额外给出统计层提示——句长变异系数、连词密度、模型偏爱抒情词、「」金句密度。**硬禁项清零才允许进入用户确认闸门,失败不交付。** --- ## 🛠 安装与使用 ### 安装 每个技能文件夹都是独立的 Skill,复制到本机技能目录即可: ```powershell # 安装全部技能 Copy-Item -Path .\skills\* -Destination "$env:USERPROFILE\.agents\skills" -Recurse # 或只安装单个技能 Copy-Item -Path .\skills\tryworld-paper -Destination "$env:USERPROFILE\.agents\skills" -Recurse ``` > 支持 `~/.agents/skills` 目录约定的宿主(如 Agent SDK / ZCode)会自动识别;其他宿主请把各自的技能目录指向这里(见宿主文档)。注意 `tryworld-koubo` 会路由到同级技能,走完整链路请三个一起装——外部依赖见[环境要求](#环境要求)。 ### 怎么触发 技能靠触发词自动命中,不需要记命令: - 直接说人话:「帮我做一期口播」「这周做什么口播」「把这篇稿子做成视频」…… - 点名技能:`$tryworld-koubo` / `$tryworld-topics` / `$tryworld-paper` - 直接粘贴口播稿要出片——路由会自动识别输入,直接进入出片流水线。 ### 你说什么,得到什么 | 你说 | 路由 | 得到 | |---|---|---| | 帮我做一期口播 / 帮我选题 | `$tryworld-koubo`(自动) | 全流程路由 · 发布计划 · 邮件通知 | | 这周做什么口播 | 经 koubo → tryworld-topics | 3–8 个选题(角度 · 来源 · 优先级) | | 把这篇稿子做成视频 | 经 koubo → tryworld-paper | 16:9 成片 · 横竖封面 · 标题 · 字幕 | ### 仓库内检查脚本 - `python -X utf8 scripts/check_skills.py`:编译技能 Python 脚本,并对 `examples/` 的口播稿与标题跑活人感门禁 - `python -m pytest tests/ -v`:运行 23 个单元测试(check_prose、verify_output、tts_yunxi、check_skills)。 - `python scripts/doctor.py`:检查 Python、Node、FFmpeg/ffprobe、edge-tts、HyperFrames 与可选邮件凭证。缺失必需项时退出码为 1。 ### 环境要求 运行 `npx hyperframes doctor` 可一键检查环境。这些技能按试界自己的工作流定制,默认假设如下——全部都可以在技能文件里自行调整: - **跨平台**——拉取数据(tryworld-topics)与发通知邮件(tryworld-koubo)的脚本均为 Python(同时保留 `.ps1` 回退版本);`tryworld-topics` 的 `references/` 里提供了 curl 替代。 - **Python 3.10+**——`pip install edge-tts` 用于配音管线(`tryworld-paper/scripts/tts_yunxi.py`,默认云希、内置多音色预设);`tryworld-paper/scripts/check_prose.py` 无需第三方包。 - **Node.js >= 22 + HyperFrames**——渲染(`npx hyperframes render` / `lint` / `validate` / `inspect`)。 - **FFmpeg**(含 ffprobe,加入 PATH)——音频处理。 - **外部技能**——`$hyperframes`(渲染,必需)与 `$qq-email`(邮件通知,可选)不在本仓库内,需另行安装。 - **工作目录**——成片项目默认落在 `E:\Codex口播视频`,可按需在技能文件里改成你自己的目录。 - **邮件通知**——需要配置 `QQ_EMAIL_ACCOUNT` / `QQ_EMAIL_AUTH_CODE` 凭证(经 `$qq-email` 技能);未配置时自动跳过,不阻塞交付。 每个技能文件夹里的 `SKILL.md` 都有完整工作流,以及在哪里改环境默认值。 --- ### Docker 一键环境 不想装 Node/Python/FFmpeg?用 Docker 跳过所有依赖安装: ```bash docker build -t paper-algorithm . docker run --rm paper-algorithm ``` 容器内包含 Node.js 22、FFmpeg、Python 3.12、edge-tts、mutagen。 --- ## 🗂 仓库结构 ```text paper-algorithm/ ├── assets/ │ ├── hero.svg # 品牌横幅 │ └── license-badge.svg # 许可徽章 ├── README.md # 索引(English) ├── README.zh-CN.md # 索引(简体中文) ├── scripts/ # 仓库内检查脚本(静态门禁 + 环境自检) ├── LICENSE # CC BY-SA 4.0 ├── examples/ # 真实流水线产出(效果展示) │ ├── cordis-paper/ # 示例:720p 预览 · 封面 · 标题 · 口播稿 │ └── cursor-spacex/ # 示例:720p 预览 · 封面 · 标题 · 口播稿 └── skills/ ├── tryworld-koubo/ # 口播总入口(路由 + 邮件通知) ├── tryworld-paper/ # 纸上算法视频制作 │ ├── themes/ # Brand theme files (paper-algorithm.json) └── tryworld-topics/ # AIHOT 口播选题 ``` --- ## 🤝 使用与二创 - **请 fork,不要复制粘贴。** 用仓库右上角的 fork 按钮使用,保持与上游的连接和提交历史。 - **保留上游。** 任何二创仓库必须显著标注本仓库(`TryWorld2026/paper-algorithm`)与许可声明。 - **相同方式共享。** 二创必须使用同一许可(CC BY-SA 4.0)发布;不带本许可声明的仓库,不视为已获授权的二创。 - **商业使用欢迎**——只要署名与本许可随作品一起保留。 --- ## 📄 许可 本仓库采用知识共享 **署名-相同方式共享 4.0 国际(CC BY-SA 4.0)**:允许自由分享与演绎(含商业用途),但必须署名,且任何二创(衍生作品)必须使用同一许可发布。完整条款见 [LICENSE](LICENSE)。 `tryworld-paper/scripts/check_prose.py` 源自 [human-writing](https://github.com/KKKKhazix/human-writing) v1.1.0,按 **MIT License** 使用(见 `skills/tryworld-paper/LICENSE-MIT`);仓库其余内容为 CC BY-SA 4.0。 [![CC BY-SA 4.0](assets/license-badge.svg)](https://creativecommons.org/licenses/by-sa/4.0/) ---

试界TryWorld · 持续把 AI 讲清楚 · 让每个普通人都看得懂、用得上