agent-continuity
通过 CLI 和本地 SQLite 在多个 AI Agent 之间保存、探测和恢复任务上下文。
为什么有这个 skill
提供可移植消息日志、checkpoint、按 token 预算恢复和 JSONL spool 保底,不依赖供应商专用会话格式。
解决什么问题
不同 Agent 的原生会话和压缩状态不可稳定互换,任务切换时容易丢失消息、决策和下一步状态。
复制即可安装:安装 agent-continuity
自动探测本机已安装的 Agent;命令中的站点地址会根据当前页面自动生成。
正在生成安装命令…
人类说明
agent-continuity
agent-continuity 是一个 CLI-first 的跨 Agent 任务状态工具。它把用户消息、Agent 可见回复、工具事件和 checkpoint 保存到本地 SQLite;当 SQLite 暂时不可写时,追加到 JSONL spool,下一次运行再恢复。
安装 skill 后,将其 bin 目录加入 PATH 即可使用同名命令:
export PATH="$HOME/.codex/skills/agent-continuity/bin:$PATH"
agent-continuity --help
如果 Agent 的 shell 没有继承 PATH,可以设置 AGENT_CONTINUITY_CLI,或直接使用安装目录中的 bin/agent-continuity。默认查找位置和优先级见 SKILL.md。
安装器默认不会保留旧 skill 目录;使用 --force --backup 才会在替换前生成时间戳备份。
快速开始
agent-continuity init
agent-continuity create --title "实现跨 Agent 会话恢复"
agent-continuity list
每个新会话都会创建一个全局唯一的默认分支 ID(形如 br_xxx),分支显示名仍为 main。分支 ID 可跨会话唯一;旧数据库中的历史会话可能仍使用 main 作为分支 ID。
默认数据目录:
- 所有平台:
~/.agents/data/agent-continutiy
默认 SQLite 数据库为 ~/.agents/data/agent-continutiy/agent-continuity.db,spool、配置和备份也位于该目录下。
可以使用 AGENT_CONTINUITY_HOME 覆盖目录。测试或临时运行时,也可以使用全局参数 --home DIR。
运行和保存消息
agent-continuity begin-run sess_xxx --agent codex-cli --model gpt-5
agent-continuity append-user run_xxx --input-file request.txt
agent-continuity append-assistant run_xxx --input-file response.txt
agent-continuity finish-run run_xxx --status completed
也可以直接使用 --text,或使用 --input - 从标准输入读取内容。写入用户消息应发生在模型请求之前;assistant 回复中断时使用 --status partial。
如果运行状态暂时不可读,使用 --session-id 让消息直接进入 JSONL spool:
agent-continuity append-user run_xxx --session-id sess_xxx --text "..."
agent-continuity append-assistant run_xxx --session-id sess_xxx --status partial --text "已生成的部分回复"
agent-continuity finish-run run_xxx --session-id sess_xxx --status partial
agent-continuity recover
对命令行型 Agent,推荐直接使用生命周期 wrapper:
agent-continuity-run --session-id sess_xxx --agent my-agent --text "..." -- my-agent-command
agent-continuity-codex --session-id sess_xxx --text "..." -- codex-command
agent-continuity-claude --session-id sess_xxx --text "..." -- claude-command
agent-continuity-opencode --session-id sess_xxx --text "..." -- opencode-command
最小恢复和按需追加
agent-continuity probe sess_xxx --budget-tokens 600
agent-continuity resume sess_xxx --budget-tokens 1600
agent-continuity expand cur_xxx --query "数据库迁移" --budget-tokens 1600
agent-continuity checkpoint sess_xxx
所有读取命令默认输出 JSON。--pretty 仅用于人类阅读。恢复接口会先返回 checkpoint、下一步动作和最近消息;只有信息不足时才追加历史。没有显式 summary 时,checkpoint 使用本地低成本摘要,不调用外部模型。
分支、lease 和 artifact
agent-continuity branch-create sess_xxx --name "实验方案"
agent-continuity branch-list sess_xxx
agent-continuity lease-acquire sess_xxx br_xxx --agent codex --ttl-seconds 1800
agent-continuity artifact-add sess_xxx --kind report --path ./report.md
branch 会复制当前可移植消息历史,切换后新回复不会污染原分支;lease 用于避免多个 Agent 同时写同一分支;artifact 只保存路径、hash、大小和元数据,不默认复制文件内容。
配置、迁移、备份和保留
agent-continuity config show
agent-continuity config set retention.max_backups --value 5
agent-continuity backup
agent-continuity prune # 只预览
agent-continuity prune --apply # 按策略清理已完成/已归档任务和 processed spool
当前仍处于未发布开发阶段,数据库按当前源码直接初始化。清理任务默认只预览,建议先执行 backup;跨机器同步暂不属于当前 CLI 的职责。
当前边界
- 本地 transcript 是可移植事实来源;供应商原生 conversation/compaction 只作为可选引用。
- CLI 可以提供确定性持久化,但桌面 Agent 若没有 wrapper 或可调用 shell,仍需要 Skill 或用户显式执行保存命令。
- 当前版本保存文本消息和结构化元数据;大文件通过路径和 hash 引用,不把二进制内容默认写入数据库。
- 备份和保留策略只作用于本地数据目录;
prune默认 dry-run,实际删除必须显式使用--apply。 - 数据库和 spool 可能包含敏感信息,使用本地权限保护,并避免将数据目录放在网络同步目录中。
支持资源
- agents/openai.yaml
- bin/agent-continuity
- bin/agent-continuity-claude
- bin/agent-continuity-codex
- bin/agent-continuity-opencode
- bin/agent-continuity-pi
- bin/agent-continuity-run
- references/adapters-v1.md
- references/protocol-v1.md
- schema.json
- scripts/agent-continuity-run.py
- scripts/agent-continuity.py
- tests/test_agent_continuity.py