接手,从猜开始
新会话看不见昨天的分支、决定和卡点。你先复述半小时,AI 再重复探索一遍。
真正拖慢项目的,往往不是写代码,而是每次换电脑、换会话、换 AI 后重新拼凑:做到哪了、为什么这么做、哪些不能动、远端到底有没有更新。
新会话看不见昨天的分支、决定和卡点。你先复述半小时,AI 再重复探索一遍。
本地提交不等于交付。第二台电脑拉不到代码,直到下一次开工才发现 push 从未成功。
确认过的原型和设计规范被忘记;一个小改动越做越大,几小时后才发现已经跑偏。
Baton 不试图保存一段永不结束的聊天。它让项目本身成为下一位执行者能读、能验证、能继续的共同记忆。
PROJECT, NOT CHATBaton 用两层清晰分工的状态,把“所有人都该知道的事实”与“只属于当前机器的证据”分开。
项目记忆、Skill、入口规则、配置与清单都随 Git 到达下一台电脑,让三种工作端从同一份事实继续。
current.md当前工作摘要handoff_current.md最后一棒的交接事实state/tasks.json任务与验收状态config.json · manifest.json恢复门禁与管理清单只有机器相关的运行证据、版本锚与私有扫描/发布配置留在本机,并通过 gitignore 排除。凭据不进入项目记忆、Git 或日志。
local/本机验证与发布证据version.json当前设备的安装锚private config扫描与发布私有配置.gitignore与共享事实严格分离每一位执行者都先读同一份状态,再在明确范围内工作,最后留下下一棒需要的事实。
口令只是入口。真正发生的是:先恢复事实,再约束执行,任务完成后等待你验收,最后用 Git 证据关掉这一棒。
检查分支、HEAD 与工作区;在安全条件下同步;读取最新交接与待办,再把可选任务列给你。
恢复当前任务、约束、卡点与唯一下一步。工作中可以随时保存设计规范、记录决策或写入交接检查点。
记录 DoD 验证证据与结果,把任务置为“待验收”,交给你确认。这里不会默认执行整日收尾,也不会擅自 commit 或 push。
核对改动范围,运行必要验证,更新进度、交接与指标,提交并推送;只有远端 SHA 与本地 HEAD 一致,才报告收尾成功。
Baton 0.2.0 不依赖插件或后台服务。Codex、Cursor 与 Claude Code 直接按项目里的 Skill、状态文件和 Git 事实执行同一套接力协议。
Claude Code、Codex 与 Cursor 直接读取同一套规则和普通文本状态,完成接力、记忆、防跑偏与 Git 闭环。
项目 Skill、入口规则、记忆、配置与清单随 Git 同步。换电脑 clone 或 pull 后,三种工作端都能直接恢复现场。
| 能力 | 项目事实 | 0.2.0 行为 |
|---|---|---|
| 支持的工作端 | Codex · Cursor · Claude Code | 直接按 Skill 执行 |
| 自动项目记忆 | 已验证坑点 + 用户确认的长期决策 | 即时写入现有 knowledge 与索引 |
| 自动语义分卷 | 完整章节、表格、代码块与记录不被切断 | 写文档时自动检查,不安装后台 watcher |
| 跨机恢复 | docs/ai_memory/ + config + manifest |
随 Git 到达;本机 local 状态不入库 |
| 更新策略 | 显式 update / repair 口令 | 无后台自动更新 |
!“自动”发生在三端按 Skill 写项目文档时,不代表安装常驻进程、文件监听器或 Baton 自有云。
Baton 的优势不是让 AI “更会说完成”,而是把容易被忽略的协作约束,变成每一棒都能遵守和验证的项目规则。
FROZEN / BOUNDED / OPEN 明确约束等级;allowed paths、protected paths 与验收标准共同决定“能改什么、不能改什么、怎样才算过”。
ff-only 同步,分叉即停。收尾时比较远端 SHA 与本地 HEAD;不一致,就不报告成功。
已验证坑点与用户明确确认的长期决策即时写入现有 knowledge 与索引;存疑信息先询问,不把猜测固化成项目事实。
长文档在写入时自动检查,优先从完整章节或记录边界分卷;代码块、表格、交接和任务记录保持完整。
所有权未释放时,下一位执行者保持只读并报告,避免多个 AI 同时改同一工作区,把“接力”变成“抢方向盘”。
force push、reset --hard、危险 clean 与未授权 rebase 被明确禁止;冲突不会被自动“解决”。
同一份安装为 Codex、Claude Code 与 Cursor 准备用户级 Skill;项目初始化再补齐可随 Git 迁移的记忆、规则、配置与清单。
准备 Git、Node.js 18+ 与 PowerShell,克隆官方仓库并运行用户级安装。完成后打开新的 AI 会话。
git clone https://github.com/kakadeka/Baton.git "$HOME/Baton"
& "$HOME/Baton/scripts/baton-install.ps1" -Scope User
支持 Codex、Cursor 与 Claude Code
已有目录时先执行 git -C "$HOME/Baton" pull --ff-only
用户级安装每台电脑执行一次,之后打开新会话
在有可读 Git HEAD 与 origin 的真实项目中发送 Baton init。它只补齐缺失骨架,不覆盖已有项目文档。
Baton init
& "$HOME/Baton/scripts/baton-install.ps1" -Scope Project -ProjectRoot "C:\path\to\your-project"
node "$HOME/Baton/scripts/baton-update.mjs" --restore-user --project "C:\path\to\your-project"
→Baton init 是 AI 对话口令,不是 Git 命令。缺失用户级或项目级 Skill 时,从 Baton 框架目录按官方 updater 路径恢复。
上班啦
看到分支、HEAD、工作区状态与任务表,就说明 Baton 已接管工作流程。
只允许 ff-only 安全同步;发现 divergence,停止并报告。
改动超出 allowed paths 或命中 protected paths,收尾直接失败。
API Key、Token 与机器私有信息不写入 Git、Memory、Metrics 或日志。
记录只追加,旧结论需要更新时标记“已取代”,保留来路。
支持 Codex、Cursor 与 Claude Code。三者直接按同一份 Skill、项目状态与 Git 事实运行,不需要额外插件或 Baton 后台服务。
不会。Baton 保存的是项目需要的结构化事实:进度、任务、决策、约束、交接与验证结果。聊天记录和私人上下文不是接力载荷。
不会。“完成”是任务级动作:记录证据并转为“待验收”。“下班啦”才执行工作日收尾,包括范围核对、文档更新、提交、推送与远端 SHA 核验。
不会。只有明确说“更新 Baton”或“修复 Baton”时才会执行官方更新与后验检查,不安装后台更新器。
不会引入 Baton 自有云。项目记忆、Skill、config 与 manifest 随你配置的 Git remote 同步;机器私有数据只留在 .baton/local/ 等本机路径。
把接力机制装进项目,让每一棒都知道从哪里继续、哪些不能动,以及怎样才算真正交付。