关于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🌺我是一只肥罗,坚持做一些有意思的事情

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

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

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐