速读萃取·时间海绵
把任意长文本,按用户指定的时长或字数,压缩成结构化、可直接使用(可听、可转、可存)的成果。
一句话定位:把 3 小时的资料,压成你要的 10 分钟。
铁律(先读,不可违反)
- 不编造。原文没有的信息,一律标注「原文未提及」,不许用常识补全。
- 不丢失关键约束。数字、金额、时间、责任人、条款编号必须原样保留。
- 合同类必须挂免责声明:「本摘要由 AI 生成,不构成法律意见,签署前请咨询专业人士。」
- 输出必须标注 AI 生成,符合《人工智能生成合成内容标识办法》。
- 绝不要求用户写提示词。用户只选模板和时长,其余由本 Skill 完成。
- 默认不配音。配音必须由用户显式要求,且先过额度检查(见下)。
- 版权红线。只处理用户自己上传或已合法获得的文本;不抓取、不解析任何平台(新闻、小说、视频)的在线内容。
工作流程
- 取内容:用户提供文本,或给出文件路径(
.txt/.md/.docx;.pdf先转文本;视频优先取字幕.srt/.vtt)。 - 摸底(必须做):
bash python scripts/speedread.py info "<文件路径>" - 定模板:可单选择一个,也可多选组合输出。用户没指定时按内容类型推荐一个并说明。
- 定时长/字数:用户可任意指定。用 pacing.md 换算:
bash python scripts/speedread.py plan "<文件>" --minutes 10 --template summary
边界:目标低于原文 3% 或高于 60% 时脚本会警告(前者信息不够,后者不算压缩)。 - 分块(长度不受限):8,000 字不是上限,是建议分块阈值。数万字、数十万字照样处理,只是必须走 Map-Reduce:
bash python scripts/speedread.py chunk "<文件路径>" --out "<输出目录>"
逐块要点 → 合并块摘要 → 二次提炼到目标字数。不许跳过合并步骤直接拼结果。 详见 pacing.md。 - 生成:先读该模板在 examples.md 里的成品样例,再按 output-templates.md 的结构输出。样例定的是密度下限——写出来比样例还空,就是注水,重写。
- 落盘 + 存档索引:默认写到当前工作区下的
速读萃取输出/(可用环境变量SPEEDREAD_OUT指定任意目录),文件名原名_模板_时长_vN.md(vN为版本)。
每次产出在该目录INDEX.md追加一行:日期 | 文件名 | 模板 | 字数 | 时长 | 状态。
若运行环境不允许写盘,直接在对话中输出成果即可,不必强行落盘。 - 回撤(指令回撤):同一内容同一模板再次生成时不覆盖旧版,递增版本号 v1/v2/v3。用户说"撤回""用上一版"时,回退到上一个版本文件并说明差异。
- 配音(可选,默认不做):本 Skill 的核心交付是文字稿。若用户已自备文本转语音工具并要求配音,先核算额度再配:
bash python scripts/voice_budget.py status python scripts/voice_budget.py check <字符数> # 返回 2 = 不批准,改用文字稿 python scripts/voice_budget.py log <字符数> --speedread # 配完必须记账
- 额度为保护性默认值:每日总量 1000 字符,其中本 Skill 默认只用 300,给其他用途留 700
- 额度可用环境变量调整:VOICE_DAILY_TOTAL(总量)、VOICE_SPEEDREAD_BUDGET(本 Skill 配额)
- 记账文件默认写在输出目录,可用VOICE_BUDGET_FILE指定位置
- 额度按 UTC 日重置(北京时间 08:00)
- 无外部配音服务时,直接交付文字稿,不报错、不阻塞
- ⚠️ 不依赖任何需要额外付费的第三方服务。配音依赖用户自备的文本转语音工具,是否使用、用哪家由用户自行决定,相关费用与本 Skill 无关,也不影响本 Skill 的全部文字功能;脚本仅做额度核算,不代收任何费用,也不发起任何网络请求
模板选择表(可多选组合)
| 用户想要 | 模板 key | 默认目标 |
|---|---|---|
| 一句话判断这篇值不值得读 | gist 核心思想 |
120 字 |
| 大致内容、能复述 | summary 内容梗概 |
按时长 |
| 文章的骨架(叙事类走三幕,论述类走论点结构) | outline 文章大纲 |
按时长 |
| 全书的章节地图 | toc 章节目录 |
每章一句 |
| 最干的几条 | points 关键要点 |
5–9 条 |
| 对方为什么这么说 | intent 主题意图 |
400 字 |
| 学会某项技能 | skill 技能速记卡 |
一页纸 |
| 看合同怕被坑 | contract 合同风险清单 |
按风险点 |
| 会议内容同步 | meeting 会议简报 |
半页纸 |
| 这条消息什么意思、怎么回 | reply 消息意图与回复建议 |
400 字 |
| 小说怎么快速读完 | novel 小说精华简读 |
按时长 |
| 长视频怎么快速看完 | video 长视频缩看 |
按时长 |
组合输出(用户说"全选"或"都给我"):按 核心思想 → 关键要点 → 内容梗概 → 章节目录 顺序依次输出,每个模板独立成节,总字数不超过目标时长的 1.5 倍。
模板完整结构与禁止事项见 output-templates.md。
12 个模板的完整成品样例见 examples.md——每个模板都配一个从完整材料走完全流程的输出,含正确示范与反例对照(样例中的输入材料为虚构演示素材,仅示范格式与密度,不代表真实调研结论)。生成前先读对应模板的样例,对齐它的信息密度与克制程度,不是对齐字数。低于样例密度的输出即为注水,需重写。
字数与时长:用户可任意调
- 两种给法都行:"10 分钟" 或 "800 字",脚本自动按 260 字/分互转
- 语速档:标准 260 字/分;快速 320 字/分(加
--fast) - 允许区间:下限
max(100, 原文 3%),上限原文 60%,越界会警告并给建议值 - 组合输出时同一份内容可同时出多个时长版本(如 3 分钟速览版 + 10 分钟完整版)
输出格式(统一)
# {原标题} · {模板名}
> AI 生成 | 原文 {N} 字 | 压缩至 {M} 字 | 预计朗读 {T} 分钟 | {日期}
{正文,按模板结构}
---
原文未覆盖的问题:{列出,没有就写"无"}
脚本用法
python scripts/speedread.py info "<文件>"
python scripts/speedread.py chunk "<文件>" --out "<目录>"
python scripts/speedread.py plan "<文件>" --minutes 10 --template summary
python scripts/voice_budget.py status
python scripts/voice_budget.py check 800
python scripts/voice_budget.py log 800 --speedread
纯 Python 3 标准库,.docx 用 zipfile 解析 XML,无需安装任何依赖。
环境适配(重要)
- 脚本仅用 Python 3 标准库,Windows / macOS / Linux 通用,无网络请求、无第三方依赖。
- 若运行环境无法执行脚本(例如云端沙箱只读、未安装 Python),跳过脚本按本文手工推算即可,核心能力不受影响:
- 字数换算:
目标字数 ≈ 目标分钟 × 260(快速档 ×320) - 分块:按 6,000 字/块在段落边界人工切分,逐块提炼后合并
- 边界判断:目标 < 原文 3% 或 > 原文 60% 时提示用户调整
- 输出目录不可写时,直接在对话中输出成果。
合规与免责
- 所有产出必须标注 AI 生成。
- 合同类结论不得替代专业法律意见,必须挂免责声明。
- 只处理用户合法拥有的内容;不抓取、不聚合任何平台的在线内容。
- 涉及他人隐私、账号、金额账户的内容,只做结构分析,不复述敏感原文。
版本
- 1.0.3(2026-11-05):重写市场页简介与详细描述,按读/整理/审与回三大场景重构 12 模板介绍,补格式支持、额度守卫、目标人群与开发者署名。功能不变。
- 1.0.2(2026-11-02):修复字幕读取缺陷——CRLF 换行的 .vtt 会因块边界正则失效导致全文被清空,现统一换行并加空结果兜底;.srt 时间码不再计入字数(实测虚高约 35%);空文件给出准确提示,不再误报「原文很短」。
- 1.0.1(2026-11-02):新增
references/examples.md,为 12 个模板各配一个完整成品样例(含反例对照);SKILL.md 增加样例引用与注水判定标准。 - 1.0.0(2026-11-01):首发 12 模板、时长/字数双向换算、长文分块 Map-Reduce、版本回撤、配音额度保护。
- 后续更新方向:更多垂直模板、批量处理、导出格式扩展。