ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ai-memory run工作原理:原生会话恢复机制深度解析

ai-memory run工作原理:原生会话恢复机制深度解析 ai-memory run工作原理原生会话恢复机制深度解析【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memoryai-memory 是一个面向 agent 编码 CLI 的长期记忆开源方案其核心命令ai-memory run会为每个编码 CLI 透明地创建或恢复原生会话让一条逻辑工作线Workstream在 Claude Code、Codex、OpenCode 等不同厂商的工具之间无缝续接。本文从新手视角完整拆解 ai-memory run 的会话恢复机制90 秒租约、30 秒心跳、只读转录导入是如何协作保证你换工具不丢上下文的。ai-memory run 是什么一条命令串起多个编码 CLI 的会话没有 ai-memory 时你与 Claude Code 的对话存在 Claude 的本地会话库与 Codex 的对话存在 Codex 的本地会话库——两者互不可见切换工具等于从零开始。ai-memory run是一个可选启用opt-in的启动器它把你的原生 harness 启动包成一次托管运行并在每个 agent 退出后以只读方式读取该 agent 写入本地的会话转录导入到共享的 Workstream 账本中。常见用法harness 名之后的一切都是原生参数无需--分隔符ai-memory run claude # 启动 Claude Code自动绑定当前 Workstream # 退出后换 Codex 继续同一条逻辑工作线 ai-memory run codex # 或直接裸跑自动继续最近一次可用的本地会话 ai-memory run三个值得先建立的心智模型没有全局开关、没有 switch 命令——用了run就是托管模式同一个仓库 worktree 映射到同一条 Workstream多台机器可共享同一份记忆适配器从不写任何 harness 的私有会话存储只读不写。三个核心概念Workstream、租约与 Launch Plan读懂流程前先记住三个概念 概念作用Workstream工作流一条逻辑连续的工作线以(workspace, project, 仓库指纹, worktree 指纹)定位Lease90 秒可续租约一条 Workstream 同时只允许一个写入者防止两个终端同时改动原生会话指针Launch Planai-memory 补好创建/恢复选择器后的最终原生命令行用户自带的参数永远不被改写一次 ai-memory run 的完整五步拆解第一步解析作用域并获取 90 秒租约客户端先解析 workspace/project 作用域与稳定的仓库指纹再向服务器申请托管运行。若另一个启动器还在收尾客户端会在 5 秒窗口内每 250ms 重试一次而不是直接报错——这是两个终端交接时的常见场景。第二步自动挑选最近会话所属的 harness裸模式不指定 harness时ai-memory 会扫描本检出版 Claude Code、Codex、OpenCode、Pi、Crush、Kimi Code、Command Code 以及 Kiro CLI v2/v3 的本地会话按更新时间排序并只保留可执行文件确实可用的候选。对于已建立established的 Workstream服务器状态优先恢复最近绑定过、且本地仍可用的 harness——绝不会仅仅因为另一个工具的会话文件时间戳更新就去选一个早已过期的会话。第三步为每个 harness 生成差异化的原生恢复命令这是原生会话恢复的心脏所在。harness.rs 中的build_launch_plan按 harness 注入对应的会话选择器且仅当用户没有自带原生选择器时才注入Harness新会话恢复已有会话只读转录源Claude Code生成 UUID 注入--session-id--resume id~/.claude/projects/**/*.jsonlCodex原生默认创建resume id~/.codex/sessions/**/rollout-*.jsonlOpenCode原生默认创建--session idopencode.db只读打开Pi生成 UUID 注入--session-id--session id~/.pi/agent/sessions/**/*.jsonlKiro CLI原生默认创建--resume-id uuid$KIRO_HOME/sessions/**Antigravity原生默认创建--conversation id~/.gemini/antigravity-cli/conversations/注入恢复标志前启动器会先在原生会话库中只读核验该会话是否真实存在——如果转录已被删除就新建会话并在观察到新会话后把 Workstream 重新指过去让你不会卡死在一个坏链上。第四步拉起 agent 进程并维持 30 秒心跳子进程启动时ai-memory 注入AI_MEMORY_RUN_ID与AI_MEMORY_WORKSTREAM_ID两个环境变量让生命周期钩子认出这是托管运行SessionStart 钩子把真实的原生会话绑定到 Workstream并只注入该会话还没见过的便携式历史。与此同时父进程每 30 秒发一次心跳10 秒超时维持租约服务器短暂失联时只打印一条提示、静默重试恢复后再打印一条心跳已恢复——你正在终端里的 agent 全程不受影响。第五步退出后只读导出转录分批导入账本子进程退出后客户端依次做四件事等待转录落盘导出可见的用户/助手消息、已完成工具调用与压缩摘要隐藏推理与私有记录一律不复制并记录为抽取损耗标注按400 个事件或 1MB为一批的有界批次上报服务器使用确定性事件 ID 增量源游标重试不会产生重复历史把不可变的已脱敏 JSONL 段写入账本原样保留原生进程的退出码返回给 shell。下一个接手的 harness 收到的只是有界的最近增量——没有任何 agent 的上下文窗口能安全吞下无界转录。完整账本仍然可以在 agent 进程内用ai-memory workstream-search搜索。原生会话恢复的三个关键细节首次采纳一键续接已有的本地会话Workstream 还是空的、且是交互式启动时ai-memory 只读不修改该 harness 的会话库列出最多 8 个记录的工作目录与当前检出匹配的近期会话直接回车恢复最新的输序号恢复指定的输入0开始全新会话。其他目录的会话永远不会出现在列表里。需要强调采纳只是引导bootstrap行为。一旦有任何 harness 绑定过会话或贡献过便携历史Workstream 即已建立——之后换工具只恢复该工具自己绑定的那个会话不会去翻旧的不相干会话。孤儿会话回退转录丢失时自动新建并重指在添加恢复标志之前run.rs 中的build_preflighted_launch_plan会先在原生存储中校验绑定会话。若转录被删除、清空或随沙盒覆盖丢失ai-memory 会新建一个原生会话等新会话被观察到后把同一条 Workstream 重指过去而读不懂的会话库会被报告但不会被误判为会话丢失。想刻意跳过绑定会话时用--fresh它不能与原生 resume/continue 选择器同用。显式选择器永远优先原生 --resume 永不被覆盖如果你已经写了原生选择器Claude 的--resume、Codex 的resume、OpenCode 的--session、Antigravity 的--conversation等ai-memory 从不改写只负责绑定该会话并重置不相干的适配器游标。这是透明启动器承诺的底线你的原生用法永远是权威。容错设计kill -9 与服务器中断都不丢会话正常退出导入转录、释放租约、返回退出码一气呵成kill -9 强杀租约在 90 秒内自动过期下一次托管运行从上次已提交的游标继续缺失的尾部可以被补齐导入且已导入的事件不会重复服务器中断心跳探测间隔 30 秒、请求超时 10 秒保证 90 秒租约能扛过普通的服务器重启中断超过一个租约窗口后旧启动器只有在没有更新启动器接管时才允许续租进程启动前服务器/鉴权失败快速失败——ai-memory 绝不悄悄启动一个无人管理的 agent。如何深入源码与官方文档托管运行逻辑集中在两个 crate阅读路径很清晰启动器主流程run.rs——租约、会话采纳、拉起子进程、心跳、分批导入都在这里各 harness 原生适配器harness.rs——12 个 harness 的创建/恢复选择器规则与--yolo标志翻译表官方文档docs/managed-workstreams.md——What happens on each run 五步流程与完整原生适配器行为表真机验收脚本scripts/managed-workstream-acceptance.sh——跨 harness 真实会话往返验证。会话记忆积累之后你可以在 Web 界面浏览由原生会话编译出的 wiki 页面总结一句话概括 ai-memory run 的工作原理它没有重造会话系统而是给每个 harness 的原生会话套上一层绑定、只读导入、心跳保护的托管壳——首次运行时可以采纳已有本地会话切换工具时自动注入正确的 resume 标志与有界上下文退出时把转录导出进共享账本。从此agent 的长期记忆不再依附于任何单一工具换厂商也能无缝续写 【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表