ContextDB Autopilot 用于持久化与检索 ContextDB 状态,核心脚本为 scripts/ctx-agent.sh,默认工作目录为项目根目录,npm run contextdb 需在 mcp-server/ 下运行。
用途:实现同一项目在 codex、claude、gemini、opencode 等不同 CLI 之间的记忆连续性;自动创建会话、记录事件、写入检查点,并生成连续性与交接产物;在继续工作前显式检索此前的事实。该技能不用于执行普通编码任务,任务提供者由当前 Rex Capability Command 选择。
运行时规则:不要把 ContextDB 数据包、连续性摘要、人格覆盖层、用户覆盖层、路由指南或交接提示自动注入模型提示。交互式启动可向用户显示简短的本地未完成任务摘要,但不得将其作为模型输入。一次性模式只把显式 --prompt 文本发送给选定客户端。持久的工作流约束应写入纳入版本管理的指令文件(AGENTS.md、CLAUDE.md、GEMINI.md)和仓库本地技能。已弃用的提示加载参数不受支持:--startup-mode inject、--context-mode、--limit、CTXDB_AUTO_PROMPT;若旧文档、脚本或用户请求将其作为预加载记忆的方式,应视为已移除行为,改用显式 search/timeline 检索。
使用方式(一次性模式,围绕单个显式请求自动记录): scripts/ctx-agent.sh --agent codex-cli --project rex-cli --prompt "继续上次任务,先列出你会读取哪些 handoff 文件" scripts/ctx-agent.sh --agent claude-code --project rex-cli --prompt "记录这个检查点并总结下一步" scripts/ctx-agent.sh --agent gemini-cli --project rex-cli --prompt "基于我明确给出的文件继续分析" scripts/ctx-agent.sh --agent opencode-cli --project rex-cli --prompt "执行这个明确请求,不自动加载历史"
会话控制:用 --session <session_id> 继续同一会话;用 --status done 标记终止步骤;用 --no-bootstrap 为当前运行禁用自动引导;用 --no-checkpoint 禁用检查点(少见);用 export AIOS_BOOTSTRAP_AUTO=0 全局禁用自动引导。CODEX_HOME 可为相对路径,包装器运行时按当前工作目录归一化。
交互式包装器:直接启动 codex/claude/gemini/opencode 会经 AIOS 包装器路由且不注入提示;仅在存在 tasks/handoffs 时于启动时打印本地未完成任务摘要;用户须先显式指明要续接的任务/交接,之后才加载任何 ContextDB 细节。团队/子代理命令模板的路由执行默认为 live;可通过 CTXDB_ROUTE_SUBAGENT_CLIENT=<codex-cli|claude-code|gemini-cli|opencode-cli> 覆盖子代理运行时。首次在工作区运行时,若 tasks/pending 与 tasks/.current-task 均为空,ctx-agent 可能自动创建 tasks/pending/task_<timestamp>_bootstrap_guidelines/* 和 tasks/.current-task。
示例:
scripts/ctx-agent.sh
--agent codex-cli
--project rex-cli
--session codex-cli-20260303T010101-abcd1234
--status done
--prompt "所有改动完成,写入检查点并给最终总结"
验证:会话文件位于 .aios/context-db/sessions/<session_id>/;连续性产物为同目录下 continuity.json;交接产物为 handoff.json;按需手动导出报告位于 .aios/context-db/exports/<session_id>-context.md。
检索流程:先 search 再仅对匹配会话查看 timeline。搜索按关键词查找相关事件,时间线提供解释事件何时及为何发生的时序上下文;之后再用 event:get 深入具体事件。若检索意外为空,运行一次 index:rebuild 后重试。可选语义重排:export CONTEXTDB_SEMANTIC=1、export CONTEXTDB_SEMANTIC_PROVIDER=token,然后 npm run contextdb -- search --query "issue auth" --project rex-cli --semantic。真实数据源仍是 .aios/context-db/sessions/*,sidecar 为可重建缓存。
手动报告导出:仅在显式检查/调试导出时使用 context:pack,默认不要把报告送入模型提示;绝不要把完整 ContextDB Report 粘贴进模型提示,若模型需要历史证据,只检索用户选定的具体事件、检查点或引用。示例:cd mcp-server 后运行 npm run contextdb -- context:pack --session <session_id> --limit 60 --token-budget 1200 --token-strategy balanced --kinds prompt,response,error --refs core.ts,cli.ts。默认启用报告视图中的事件去重;--token-strategy 支持 legacy|balanced|aggressive(推荐 balanced);调试时可用 --no-dedupe 关闭去重。