我做了一个自动版持久性会话skill:session_protocol

关于Claude Code的初次浅层研究,已经基本结束了。我在研究过程中,结合自己跟AI的会话,特别是在做项目、做非即时类任务需要长会话(类似市场调研、研究分析等任务)时经常遇到的一个场景就是:当上下文窗口达到上限时,AI就开始失忆,前言不搭后语、甚至敷衍了事。为了解决这个问题,我做了一个持久性会话协议,这个协议在实际开发过程中,经历了大概三个版本的迭代,手动-->半自动-->80%自动。为什么不做100%自动,这是我的下一个版本,因为现阶段使用,我认为还需要人类介入进行检查、验证以及掌控。

我说一个场景,大家就会对这个协议有更直接的代入感。想象每天打开电脑的第一件事,想查一下昨天没有完成的任务的状态,检查完之后,想要AI开始任务,在做任务的过程中,上下文窗口达到了设定的阈值,希望AI可以先保存任务状态然后执行/compact,执行完之后继续任务,在这个过程中,如果我们想介入或者停止任务则输入某个设定的指令,比如stop去停止任务。每个子任务完成后,AI会自动更新任务status,以上的每个一个节点跟我们的工作场景高度切合,只不过以前这些都是通过"人"来做,但是现在,我们可以通过AI 来实现。简而言之,session_protocol 就是为了解决这两个问题:让 AI 主动监控自己的状态,在合适的时机踩刹车,同时把进度持久化到文件,让跨会话衔接变成一句话的事。

一、session_protocol 是什么------四文件,八关键词

session_protocol 是一个 Claude Code Skill(技能插件)。在任意项目目录里运行/session_protocol后,它会生成 4 个文件,组成一套闭环工作流:

文件 作用
CLAUDE.md 项目指令 + AI 自主会话管理规则(6 条)
docs/project-status.md 实时进度追踪(里程碑 ✅/🔄/⏳ + 会话备注)
docs/todolist.md Task ID 化的细粒度任务清单(带工时预估)
docs/process/session-protocol.md 8 个关键词定义 + 三维阈值 + 模式开关

这 4 个文件不是文档,而是 AI 的"自我约束框架"------Claude 读CLAUDE.md里的规则,主动执行 start/done/save/resume/finish 等动作;读project-status.md恢复进度;用 8 个关键词和用户沟通节奏。

1.1 八个关键词是这套协议的"用户接口"

关键词 触发条件 作用
start 新会话开始 读project-status.md,恢复上次进度,开始下一项待办
done 子任务完成 总结改动文件 + 更新进度文件 + 三维阈值自检
save /compact 把进度写入文件,防止压缩后丢失上下文
resume /compact 之后 重读 project-status.md + CLAUDE.md,恢复记忆
continue 其他打断后 不读任何文件,从内存里的待办直接继续
status 任何时候 查进度,不推进任何任务
stop 需要介入 退出自动流程,进入人工对话模式
finish 会话结束 会话级封存:备注归档 + 优先级重排 + 会话日期戳

1.2 一次典型会话是什么样的

复制代码
──── 新会话 ─────────────────────────────────────────────────────
start(或 AI 自动触发)
  → Claude 读 project-status.md,知道上次做到 T1.2.3
  → 自动开始 T1.2.4

[Claude 工作中...]

done(完成子任务后自动触发)
  → 总结改动文件 + 更新 todolist.md
  → 三维阈值自检:ctx 72% ⚠,建议 save → /compact → resume

save(AI 提示,用户执行)
  → 进度写入 project-status.md

/compact(你手动执行)
  → 旧消息压缩,上下文清空

resume(你输入,AI 执行)
  → 重读 CLAUDE.md + project-status.md
  → 恢复约束 + 继续 T1.2.5

今天先到这
  → Claude 识别结束信号,执行 finish
  → 写入会话备注,重排待完成列表优先级,打上会话日期戳
─────────────────────────────────────────────────────────────────

二、三维阈值:AI 的"实时刹车"系统

session_protocol 的核心设计之一是三维阈值判断。状态栏里的三个数字(ctx%、5h%、7d%)各自代表不同维度的风险,需要不同的应对策略:

ctx% 5h% 7d%

< 50% 🟢 继续 < 70% 🟢 正常 < 70% 🟢 无需干预

50-70% 🟡 准备 compact 70-85% 🟡 专注单任务 70-85% 🟡 只做轻量任务

> 70% 🔴 立即 /compact > 85% 🔴 完成当前后收尾 > 85% 🔴 只做阻塞型任务

注意:/compact只能缓解ctx,对5h/7d没有任何作用。

这三个指标彼此独立:

  • ctx:当前会话内容的总量,/compact压缩旧消息可以释放它
  • 5h:过去 5 小时内的 token 消耗总量,只能靠等待时间自然滑出
  • 7d:过去 7 天内的 token 消耗总量,同样只能靠时间,等不了就切到轻量模式

所以当5h已达 90% 时,就算你频繁/compact,限制也不会解除------/compact救不了它。正确的应对是finish收尾,等 5 小时窗口自然重置后再继续。

2.1 阈值自检为什么挂在 done 节?

这套自检逻辑被"钉"在done关键词上,而不是每个指令都自检一遍:done是 AI 工作流中最天然的停顿点------子任务刚完成,刚好产生了一轮增量,是读状态栏、决定是否继续的最佳时机。在每个指令都复制一份自检逻辑,反而会变成冗余噪音,也违反了continue设计为"轻量切回执行模式"的初衷。


三、两个开关 × 三个档位:找到适合自己的节奏

session_protocol 的自动化程度由两个正交开关控制,很多人在这里产生混淆,这里单独说清楚。

3.1 开关 A:是否部署"AI 主动版规则"

这是项目级、持久化的开关。项目CLAUDE.md中是否包含自主会话管理规则节,决定了 AI 能否主动触发 start/done/save/resume/finish。

A 状态 AI 的行为
A 关 (未部署) 手动版:所有关键词都等你输入,AI 什么都不主动
A 开 (已部署) 自动版:新会话自动 start,子任务完成自动 done,ctx>70% 自动 save,/compact 后自动 resume,识别到结束信号自动 finish

检查 A 状态:打开项目根目录CLAUDE.md,Ctrl+F 搜索自主会话管理规则,找到 = A 开,找不到 = A 关。

切换 A:编辑CLAUDE.md添加或删除那一节,关闭当前会话、开新会话后才生效(A 的改动在当前会话内不可感知)。

3.2 开关 B:auto on / auto off

这是会话级、即时生效的开关,控制done完成后是否自动衔接continue:

You: auto on

Claude: ✅ 自动模式已开启。done 后将自动衔接 continue。

熔断条件:ctx>70% / 5h>85% / 7d>85% / 失真信号

auto on只接管一个常规行为:done → continue 自动衔接。加上 done 节阈值命中时的 4 条熔断分支(自动转 save / finish / stop),合计 5 个 AI 触发点,全部收束在 done 之后。

⚠️ 常见误解:auto on 不等于 AI 全程托管。start/done/save/resume/finish 能否主动触发,由开关 A决定,与 B 无关。

3.3 三个推荐档位(渐进路径)

档位 配置 适合场景
阶段 1:学习期 A 关 + auto off 首次上手,手动练每个关键词,建立肌肉记忆
阶段 2:日常稳定档 ✅ A 开 + auto off 日常主力------AI 自动管文件落盘,用户保留每步推进决策权
阶段 3:批量快速档 A 开 + auto on 批量重构、同质子任务、套模板式纯执行

阶段 2 是绝大多数情况下的最佳选择:A 开让 AI 替你管八成的协议动作,auto off 保留"每个 done 后亲眼看一眼再决定是否继续"的控制权。

阶段 1 只需坚持 1-2 周,熟悉每个关键词的时机后就永久升级到阶段 2。阶段 3 临时切换:批量任务发auto on进入,任务结束发auto off退回阶段 2。

3.4 关键词触发主体矩阵(10 关键词 × 3 推荐阶段)

关键词 阶段 1(A 关 + auto off) 阶段 2(A 开 + auto off) 阶段 3(A 开 + auto on)
start 用户 🤖 AI 主动(规则 1) 🤖 AI 主动(规则 1)
done 用户 🤖 AI 主动(规则 2,含阈值自检) 🤖 AI 主动(规则 2,含阈值自检)
save 用户 🤖 AI 主动(规则 3,ctx>70% 时) 🤖 AI 主动(规则 3 + done 熔断转 save)
resume 用户(/compact 后) 🤖 AI 主动(规则 4,断层时自动) 🤖 AI 主动(规则 4)
continue 用户 用户 (关键决策点,AI 不接管) 🤖 AI 主动(规则 6,done 后衔接)
status 用户 用户 用户
stop 用户 用户 用户 / 🤖 失真信号熔断时 AI 转入
finish 用户 🤖 AI 主动(规则 5,识别结束信号) 🤖 AI 主动(规则 5 + 5h/7d 熔断)
auto on 用户 用户 用户(已开启)
auto off 用户 用户(默认状态) 用户(要切回阶段 2 时发)
  • 这五个关键词由 AI 主动触发的能力来自开关 A(部署 AI 主动版),与 auto on/off 无关

  • auto on

    唯一新增的常规自动行为只有 1 个:done → continue 衔接

  • 加上 4 类熔断(done 后 ctx>70% 转 save、5h>85% / 7d>85% 转 finish、失真信号转 stop),共 5 个 AI 触发点,全部收束在 done 节之后


四、快速上手:从安装到第一个 start

4.1 前提:先配置状态栏

session_protocol 的三维阈值熔断依赖 Claude Code 状态栏的实时数据。没装状态栏,阈值条件全部静默失效------AI 不会报警,会一直跑到上下文真的撑爆。

配置完成后,CLI 底部会持续显示:

复制代码
[Claude Sonnet 4.6 ctx:12% tok:8.3k+1.2k cache:74% 5h:22% 7d:9%]

具体配置方法(创建statusline-command.sh+ 更新settings.json)参照我的文章Claude Code CLI 用量监控(穷鬼玩法)或者到我的Github仓库session_protocol 参考

docs/usage_guide.md,约 5 分钟完成。确认底部出现上面那行数字后,再继续装 skill。

4.2 安装 skill

将我的session_protocol仓库 clone 到 Claude Code 的 plugins 目录:

macOS / Linux:

复制代码
cd ~/.claude/plugins
git clone https://github.com/Filomenaxie/session_protocol.git session_protocol

Windows:

复制代码
cd %USERPROFILE%\.claude\plugins
git clone https://github.com/Filomenaxie/session_protocol.git session_protocol

然后重启 Claude Code。注意:仅 cd 到新目录或新开会话不算重启,必须完全退出后重新启动。

4.3 在目标项目里初始化

cd 到你想管理的项目根目录,输入:

复制代码
/session_protocol

Claude 会问 3 项基本信息(项目路径、项目名、一句话描述),然后自动扫描现有文件、提取技术栈,再问里程碑风格(M0/M1 阶段型 or H1/H2 功能型)和项目硬约束,最后生成 4 个文件。

4.4 第一天工作的完整流程

复制代码
````  
```` ─── 新会话(A 开 + auto off,即阶段 2 默认模式)─────────────────
````  
```` Claude: [自动读 project-status.md] 当前进度:M1 文章 CRUD 完成 80%
````  
```` 待续任务:T1.2.3 列表分页 UI(预计 2h)。开始。````

`[Claude 改了 src/pages/articles.tsx]`

`Claude: ✅ T1.2.3 完成。实现游标分页、Loading 骨架、空态。
`  
` 改动文件:articles.tsx, Pagination.tsx
`  
` [自动更新 project-status.md + todolist.md]
`  
` 阈值自检:ctx 42% 🟢 / 5h 35% 🟢 / 7d 18% 🟢`

`You: continue(或下一条指令)`

`[继续 T1.2.4,30 分钟后]`

`Claude: ✅ T1.2.4 完成。
`  
` ⚠ ctx 已 72%,建议 save → /compact → resume`

`You: save
`  
` Claude: 进度已写入 project-status.md,可以执行 /compact`

`You: /compact
`  
` [会话历史压缩,上下文清空]`

````You: resume
````  
```` Claude: [重读 CLAUDE.md + project-status.md] 约束已恢复。
````  
```` 当前进度:M1 完成 90%,下一步 T1.2.5。
````  
```` ──────────────────────────────────────────────────────────────
````  
```` ```````

💡关键点:save由 AI 执行,/compact由你手动执行,resume必须在/compact之后。三步顺序错了会丢记忆或触发幻觉。


五、最容易混淆的指令:resume vs continue

这是 8 个关键词里最容易搞混的两个,搞混了会直接导致信息丢失或 AI 产生幻觉。

关键词 用的时机 行为
resume /compact 之后 (上下文已被清空) 重读 project-status.md + CLAUDE.md,重载记忆
continue 其他任何打断 (上下文未清空) 不读任何文件,从内存里的待办直接继续

翻车场景一:上下文完好时误用 resume

复制代码
You: save ← 打算 compactClaude: 进度已存档You: [改主意了] 先看下 todolistClaude: [展示 todolist]You: resume ← ❌ 错!上下文还完整,应该用 continueClaude: [重读 project-status.md] ← 磁盘上的版本覆盖了内存约束------ 本次会话里你口头约定的"先做 RSS 再做评论"丢失了

翻车场景二:/compact 后误用 continue

You: save

Claude: 进度已存档

You: /compact

上下文清空

You: continue ← ❌ 错!上下文已断层,必须用 resume

Claude: 我继续 T1.2.8 ... ← T1.2.8 是 AI 凭空编的

📌一句话记忆:只有 /compact 之后用 resume,其他所有打断都用 continue。


六、常见问题

Q:状态栏不显示数字(ctx/5h/7d 全空)?

→ 没装 statusline。回docs/usage_guide.md按教程配置,装完必须重启 Claude Code才生效。

Q:/session_protocolClaude 没反应?

→ skill 没装载。检查~/.claude/plugins/session_protocol/skills/session_protocol/skill.md是否存在,然后完全重启 Claude Code(仅 cd 换目录不算)。

Q:想重装覆盖现有的 session-protocol.md

→ 手动删除docs/process/session-protocol.md,再触发/session_protocol,Claude 会重新生成这一份。其他三个文件(CLAUDE.md / project-status.md / todolist.md)默认不覆盖以保护进度,需要手动备份后删除再触发。

Q:5h或7d已满,/compact 没用怎么办?

→ 确实没用。/compact只能释放ctx,无法解除时间窗口限速。正确操作:finish收尾 → 等时间窗口自然滑出 → 再开新会话。7d满了恢复时间更长,等待期间可以切到纯问答轻量模式。

Q:auto on 开了,但 AI 还是在等我 continue,没自动?

→ 检查 A 状态:CLAUDE.md里没有 `

自主会话管理规则 节的话,A 是关闭的,done关键词只有你手动发才会触发------这时候 B(auto on)的"done → continue 自动衔接"根本没机会执行,因为 done 本身就没发生。需要先运行/session_protocol` 部署 AI 主动版规则(A 开),再开 auto on(B 开)。


结语:让协议替你盯,而不是你盯着协议

session_protocol 的设计哲学只有一条:这不是给 Claude 看的说明书,而是让 Claude 自我约束的框架。

AI 是回合制的,不是常驻进程------它没有办法持续后台监控状态栏,只能在每次被激活时读一次。session_protocol 用的是"在关键节点插入自检"的策略(L1 协议层),加上 Claude Code 状态栏的被动数据注入(L2),形成一个足够实用的软护栏。

用 1-2 天把 8 个关键词手动敲一遍(阶段 1),然后永久部署 AI 主动版规则(阶段 2)------从那以后,大部分时候你只需要说start开始工作,说"今天先这样"收尾,AI 自己管剩下的事。


Hey🌺我是一只肥罗,坚持做一些有意思的事情

「愿始于我,但不止于我」

🍻研究+码字+反复修正不易,路过的朋友麻烦点赞关注~

相关推荐
CaffeinePro2 小时前
Langchain环境搭建与LCEL核心语法
人工智能·agent
不懂的浪漫2 小时前
Andrew Ng(吴恩达)谈 Loop Engineering:AI 编程中的三个关键循环
人工智能
人工智能培训2 小时前
大模型驱动下传统大数据架构的变革方向
大数据·人工智能·重构·架构·agent·agi
一次旅行2 小时前
AI 前沿日报 | 2026年7月6日
人工智能
AI科技星2 小时前
全域谱分析:无穷维超复数信息场分形统一场论——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·python·算法·金融·乖乖数学·全域数学
lzx186488437022 小时前
【AH8966】可替代 KP3211 非隔离 AC110220V转12V 0.5A 降压转换芯片
人工智能·单片机·嵌入式硬件·集成测试·硬件工程·ic
王者鳜錸2 小时前
解决方案十八-企业级客服通话录音/销售录音对话分析
人工智能·客户录音分析·房产销售录音分析·试驾录音分析·销售录音分析
蜡笔削薪3 小时前
财联万业(杭州)数字科技有限公司能否给代理划定独家经营区域?
大数据·人工智能·python·科技
Lion093 小时前
【04】50 行代码实现最小 Agent:不依赖任何框架
人工智能·github
百度Geek说3 小时前
AI 写代码越来越快,质量谁来守?网盘主端 FE 的 AICR 准入实践
人工智能