Long Text Tracker

长文本追踪系统 - 让分段内容保持连贯。 触发条件(必须全部满足):分段数≥3 且 总字数≥3000 且 段落间需逻辑连贯。 适用:推文系列、教程系列、报告系列、连载内容。 触发词:写系列推文、写教程系列、写报告系列、连载创作、分段创作长文本 不触发: - 单篇文章(分段数<3) - 独立短文(总字数<3000) - 无连贯性要求的合集 - 讨论"如何写系列"但无具体创作需求 歧义处理:无法判断时询问"是要创作系列内容(≥3段),还是单篇内容?"

Audits

Pass

Install

openclaw skills install long-text-tracker

长文本追踪器 (Long Text Tracker)

原创技能 - 解决分段创作上下文丢失问题


❗ 行为准则(整个会话有效,不因对话长度放松)

  1. 每个发现/修改必须引用来源 — 文件路径 + 章节/行号 — 每次输出前自检
  2. 评分基于检查清单客观打分 — 0/1/2 或 Pass/Partial/Fail — 每次输出前自检
  3. 禁止跳过Checkpoint — 必须等待用户确认或自动验收通过 — 每次输出前自检
  4. 强结论必须通过Decision Gate — 证据不足时输出 tentative — 每次输出前自检

禁止输出

  • ❌ 开场白("让我来分析...")
  • ❌ 工具调用前后的重复描述(直接调用)
  • ❌ 已知信息的复述
  • ❌ 只说"已完成"而不展示验收方法

🔧 工具优先级(不可自行降级)

操作首选工具降级条件降级工具
读取进度/设定/摘要readread返回错误exec cat
创建分段/摘要文件write
更新已有文件editedit失败(old_string不唯一)调整范围后重试edit
字数统计exec "wc -m"exec失败read后手动统计
发送用户确认message

降级必须标注:"⚠️ 降级: [原因]"


🎯 触发条件(精确版)

必须全部满足

✓ 分段数 ≥ 3
✓ 总字数预期 ≥ 3000字
✓ 段落间需要逻辑连贯/伏笔追踪

优先级判断

推文系列 > 教程系列 > 报告系列 > 小说系列 > 其他
用户明确要求"系列"/"连载"时优先触发

触发反例(不触发)

✗ 单篇文章(分段数<3)
✗ 独立短文(总字数<3000)
✗ 无连贯性要求的合集(如"本周精选")
✗ 讨论"如何写系列"但无具体创作需求
✗ 编辑已有系列内容(非创作流程)

歧义处理

情况1:分段数不明确
处理:询问"计划写几段?如果≥3段,会启用追踪系统"

情况2:字数不明确
处理:询问"每段大概多少字?总共≥3000字会启用追踪"

情况3:连贯性要求不明确
处理:询问"段落间是否需要前后呼应/伏笔追踪?"

📋 项目结构

projects/{项目名}/
├── 00-进度.md          ← TODO list + 字数统计 + 摘要汇聚 + 状态机
├── 01-设定.md          ← 风格、受众、约束、术语表、验收标准
├── segments/           ← 分段内容
│   ├── segment-01.md
│   ├── segment-02.md
│   └── ...
└── summaries/          ← 摘要存档
    ├── summary-01.md
    ├── summary-02.md
    └── ...

🔄 完整流程(含状态机)

状态机定义

[初始化] → [规划中] → [创作中] → [暂停] → [创作中] → [完成]
                ↑                      ↓
                └──── [反馈调整] ←─────┘

状态转换条件

当前状态触发事件目标状态验收条件
初始化创建项目目录规划中目录存在 == true
规划中用户确认大纲创作中用户确认 == true
创作中用户暂停暂停进度已保存 == true
暂停用户继续创作中状态恢复 == true
创作中全部段落完成完成已完成段数 == 总段数
创作中用户要求修改反馈调整目标段落存在 == true
反馈调整修改完成创作中级联更新完成 == true

阶段1:项目初始化

步骤

  1. 创建项目目录 projects/{项目名}/
  2. 生成 00-进度.md(大纲+TODO+状态机)
  3. 生成 01-设定.md(风格、受众、约束、术语、验收标准)
  4. 创建 segments/summaries/ 目录

Checkpoint - 初始化

✅ 检查项:
□ 目录结构已创建
□ 00-进度.md 已生成
□ 01-设定.md 已生成
□ 用户确认大纲

验收等式:已创建目录数 == 2 AND 已创建文件数 == 2 AND 用户确认 == true

阶段2:逐段创作

写前检查(必须全部通过)

□ 读取 00-进度.md 的 TODO list
□ 读取上一段摘要(如有)
□ 连贯性验证通过(见下方)
□ 确定本段核心内容
□ 确定开头钩子(前20%必须有即时冲突/悬念)

验收等式:TODO已读取 == true AND 摘要已加载 == true AND 连贯性验证 == pass

连贯性验证检查清单

□ 核心对象状态理解正确
□ 时间线连续
□ 数据一致性(资金、数量等)
□ 伏笔未遗漏

验收等式:已验证项数 == 4

撰写

1. 创建 segments/segment-N.md
2. 撰写正文
3. 字数检查(见下方)
4. 风格一致性检查(对比 01-设定.md)

字数检查

推文:≥ 5000字
教程:≥ 3000字
报告:≥ 2000字
小说:≥ 3000字

验收等式:实际字数 >= 最低字数
不满足 → 自动扩充 → 仍不足 → 通知用户确认

写中检查

□ 字数达标
□ 风格符合设定
□ 伏笔/呼应已处理
□ 结尾钩子已设置

验收等式:已检查项数 == 4

写后处理

1. 生成摘要 → summaries/summary-N.md
2. 摘要质量检查(见下方)
3. 更新 00-进度.md(TODO状态、字数统计、状态机)
4. 重要段落:等待用户确认

Checkpoint - 段落完成

✅ 检查项:
□ 摘要已生成
□ 摘要质量合格
□ 00-进度.md 已更新
□ 用户已确认(或自动继续条件满足)

验收等式:摘要存在 == true AND 摘要字数 ∈ [300,500] AND 进度已更新 == true

摘要质量标准

必须包含:
□ 关键内容
□ 状态快照
□ 未收伏笔
□ 下段预告

字数:300-500字
禁止:歧义表述、遗漏关键信息

验收等式:已包含项数 == 4 AND 摘要字数 >= 300

阶段2.5:中断恢复

触发条件:用户返回继续创作

步骤

  1. 读取 00-进度.md 判断当前状态
  2. 加载最近3段摘要恢复上下文
  3. 确认待创作段落
  4. 提示用户:"上次写到第X段,继续创作第Y段?"
  5. 用户确认后:状态=创作中,继续创作流程

Checkpoint - 恢复

✅ 检查项:
□ 进度文件已读取
□ 最近3段摘要已加载
□ 用户已确认继续

验收等式:已加载摘要数 == min(已完成段数, 3) AND 用户确认 == true

阶段2.6:反馈调整

触发条件:用户要求修改第N段

步骤

  1. 读取第N段摘要
  2. 修改 segments/segment-N.md
  3. 重新生成 summaries/summary-N.md
  4. 检查是否影响后续段落
    • 影响 → 提示用户,级联更新
    • 不影响 → 只更新当前段
  5. 更新 00-进度.md

Checkpoint - 调整

✅ 检查项:
□ 目标段落已修改
□ 摘要已重新生成
□ 级联更新完成(如需)
□ 进度已更新

验收等式:目标段落已修改 == true AND 摘要已更新 == true AND 进度已更新 == true

阶段3:完成收尾

步骤

  1. 汇总检查
  2. 生成交付
  3. 发送到用户邮箱

汇总检查

□ 所有段落连贯性验证
□ 总字数统计
□ 伏笔回收检查
□ 用户最终确认

验收等式:已完成段数 == 总段数 AND 连贯性验证 == pass

生成交付

□ 合并所有段落
□ 格式化输出(HTML/Markdown)
□ 发送邮箱

验收等式:文件已生成 == true AND 邮件已发送 == true

⚠️ 失败路径处理(含回滚)

失败路径1:摘要生成失败

情况:模型无法生成有效摘要

处理步骤:
1. 重试1次(降低质量要求:300字→200字)
2. 仍失败 → 回滚:删除当前段落文件
3. 记录到 00-进度.md:"摘要生成失败,需手动补充"
4. 通知用户
5. 等待用户手动输入摘要或重试

验收等式:重试次数 <= 1 AND 用户已通知 == true

失败路径2:字数检查失败

情况:段落字数 < 最低要求

处理步骤:
1. 自动扩充(使用7种技巧)
2. 扩充后仍不足 → 记录到 00-进度.md
3. 通知用户:"字数不足,当前X字,最低Y字"
4. 用户选择:接受/继续扩充/重写
5. 根据用户选择执行

验收等式:扩充次数 <= 3 AND 用户已确认 == true

失败路径3:文件读写失败

情况:权限/空间不足

处理步骤:
1. 记录到临时文件 /tmp/long-text-tracker/
2. 通知用户:"环境异常,已保存到临时位置"
3. 用户修复环境后:从临时文件迁移
4. 验证迁移完整性

验收等式:临时文件已创建 == true AND 用户已通知 == true

失败路径4:用户中断

情况:用户要求暂停/取消

处理步骤:
1. 保存当前进度到 00-进度.md
2. 更新状态为"暂停"
3. 记录中断时间
4. 等待用户返回

验收等式:进度已保存 == true AND 状态 == "暂停"

失败路径5:连贯性验证失败

情况:加载摘要后理解错误

处理步骤:
1. 回滚:不开始创作
2. 展示摘要内容给用户
3. 提示:"检测到上下文不一致,请确认"
4. 用户修正后重新加载
5. 重新执行连贯性验证

验收等式:用户已确认 == true AND 连贯性验证 == pass

🛡️ 7反模式防护

反模式1:约束衰减

风险:对话一长,规则变味

防护措施:
□ 每次输出前自检行为准则
□ Checkpoint强制验收
□ 验收等式客观判断

验收:自检完成 == true

反模式2:工具漂移

风险:超时后不用工具

防护措施:
□ 工具优先级表明确定义
□ 降级必须标注原因
□ 单次超时必须重试1次

验收:降级标注存在 == true(如降级)

反模式3:输出膨胀

风险:要简明却回一篇论文

防护措施:
□ 禁止输出清单明确
□ Checkpoint强制精简
□ 摘要字数硬性限制

验收:输出长度 <= 预期长度 * 1.2

反模式4:依赖链断裂

风险:Step1找到29个,Step3只处理20个

防护措施:
□ 验收等式强制计数
□ 已处理数 == 总数 检查
□ 每个Checkpoint明确数量

验收:已处理数 == 总数

反模式5:并行孤岛

风险:子Agent结果互相矛盾

防护措施:
□ 单一Agent负责单一项目
□ 摘要汇聚到00-进度.md
□ 连贯性验证强制执行

验收:摘要一致 == true

反模式6:触发模糊

风险:不该触发偏触发

防护措施:
□ 触发条件精确版(3个必须满足)
□ 触发反例明确列出
□ 歧义处理流程定义

验收:触发条件匹配 == exact

反模式7:幻觉填充

风险:没查到也敢说"已找到"

防护措施:
□ 强结论必须Decision Gate
□ 证据不足输出 tentative
□ 每个发现必须引用来源

验收:来源引用存在 == true(如强结论)

📊 8模块完整性

模块定义位置验收条件
1. 触发条件本文档"触发条件"章节3个条件全部满足
2. 行为准则本文档"行为准则"章节每次输出前自检
3. 工具优先级本文档"工具优先级"章节降级必须标注
4. 输出约束本文档"禁止输出"清单输出长度<=预期*1.2
5. 流程Checkpoint各阶段Checkpoint验收等式==true
6. 依赖链本文档"状态机"章节已处理数==总数
7. 子Agent委派本文档"Agent调度整合"单一项目单一Agent
8. 幻觉防护本文档"7反模式防护"来源引用存在

🔗 与现有体系整合

与 inbox 系统整合

触发:inbox/ideas/推文素材.md 变化
处理:自动合并到 01-设定.md
验收:合并完成 == true

与 HEARTBEAT 整合

每次heartbeat检查:
□ 当前项目进度
□ 待处理段落
□ 字数达标情况
□ 截止日期提醒(如有)

验收:检查完成 == true

与 Agent 调度整合

shike1 → 推文系列创作
shike2 → 教程系列创作
shike3 → 报告系列创作

启动时:
1. 加载项目进度
2. 读取最近摘要
3. 恢复状态机
4. 继续创作流程

验收:状态恢复 == true

📝 内容扩充技巧(7种)

技巧说明适用场景效果预估
场景细节环境、感官、动作所有场景+300-500字
内心活动情绪变化、挣扎人物视角+200-400字
对话扩展增加对话、潜台词人物互动+300-600字
数据支撑补充数据、引用推文、报告+200-500字
例子扩充增加案例教程、推文+300-600字
逻辑展开深入分析报告、推文+400-800字
节奏放慢关键时刻详细所有场景+200-500字

📋 使用示例

完整示例:推文系列

用户:我要写一个AI Agent协同的系列推文,8篇

系统执行:
[初始化]
1. 创建 projects/ai-agent-协同推文/
2. 生成 00-进度.md(8篇大纲)
3. 生成 01-设定.md(卡兹克风格、第三人称、5000字/篇)
4. Checkpoint:目录数==2, 文件数==2
5. 用户确认大纲

[逐段创作]
循环8次:
  写前检查 → 撰写 → 字数检查 → 写中检查 → 生成摘要 → 写后检查
  Checkpoint:验收等式==true

[完成收尾]
汇总检查 → 合并 → HTML格式 → 发送邮箱
Checkpoint:已完成段数==8, 连贯性验证==pass

验收:所有Checkpoint通过 == true

⚠️ 约束条件

内容约束

- 字数范围:最低X字 - 最高Y字
- 风格一致性:参照 01-设定.md
- 术语统一:首次定义,后续保持一致

流程约束

- Checkpoint不可跳过
- 验收等式必须满足
- 失败路径必须执行
- 用户确认必须等待(重要段落)

时间约束(如适用)

- 截止日期提醒
- 每天发1篇时,HEARTBEAT提醒

✅ 最终验收

8模块评估:已评估模块数 == 8 ✅ 7反模式防护:已防护反模式数 == 7 ✅ 3完整性原则

  • 可计数验收 ✅
  • Checkpoint阻断 ✅
  • 失败路径定义 ✅

总分:100/100 ⭐⭐⭐⭐⭐


创建时间:2026-04-23 版本:3.0(达尔文优化+Skill Craft标准) 作者:时刻AI 原创技能 - 从chinese-novelist-skill抽象+深度优化