
ai-memory社区贡献指南从添加新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-memoryai-memory是一个用 Rust 编写的开源项目为 AI 编程 CLI 提供长期记忆让 Claude Code、Codex、Cursor 等 20 多种 Agent 在同一个项目间无缝交接handoff——退出 Claude Code换到 Codex 继续工作不用重新解释架构和失败尝试。 本指南面向想给这个热门开源项目提第一个 PR 的贡献者带你从最典型、最友好的切入方式——添加新 Agent 支持——完整走一遍社区贡献流程。贡献前准备开发环境搭建ai-memory 对贡献者非常友好构建完全自包含SQLite 通过rusqlitebundled 打包libgit2通过 vendored 方式引入只需要一个标准 C 工具链不需要额外安装系统库。克隆仓库git clone https://gitcode.com/GitHub_Trending/ai/ai-memory构建并跑全量测试cargo build --workspace然后cargo test --workspace --all-targets注意 Rust 版本要求1.95已由 rust-toolchain.toml 锁定rustup 会自动切换日常开发建议安装预推送钩子它会在每次git push前自动跑完整测试层scripts/install-git-hooks.sh详细开发规范见 CONTRIBUTING.md完整贡献者规则集中在 AGENTS.md单一权威规则文件CLAUDE.md只是指向它的指针。添加新 Agent 支持完整五步路径当你想支持一个还没有的 Agent比如某款新发布的编程 CLI参考最近的真实案例Kiro CLI迁移版本 V45完整路径如下第 1 步在 AgentKind 枚举中注册新 Agent所有 Agent 的身份都收敛在一个类型上AgentKind。你需要同步改动四处缺一不可枚举本体新增变体如KiroCli并写一行 doc 注释AgentKind::ALL常量数组——它驱动数据库约束覆盖全部 Agent的守护测试历史上 Zero 集成就因漏掉迁移只被线上测试抓出源码注释里明确写着这个教训as_str()返回 kebab-case 的线上传输字符串如kiro-clifrom_wire()解析别名如claude-code | claude_code | claude都映射到 Claude Code。第 2 步新增 SQLite 迁移脚本扩展 agent_kind 约束数据库的sessions.agent_kind列有 CHECK 约束必须为新 Agent 加值。铁律永远新增迁移文件绝不修改已发布的迁移。参考 V45__sessions_kiro_cli_agent_kind.sql 的模板用sessions_new临时表重建 schema、把kiro-cli加进 CHECK 值列表、原样回迁全部行和索引、重建 scope 配对触发器。文件名按V序号__描述.sql递增放在 crates/ai-memory-store/migrations/。第 3 步编写生命周期 hooks 脚本每个 Agent 一个目录提供 shell 和 PowerShell 双版本脚本参考 hooks/kiro-cli/ 的结构session-start.sh / .ps1—— 会话开始注入上一轮的交接handoffuser-prompt-submit.sh、pre-tool-use.sh、post-tool-use.sh—— 采集提示词与工具调用stop.sh—— 轮次结束部分 Agent 还有pre-compact.sh、session-end.sh、subagent-start.sh等脚本统一调用 hooks/lib/ai-memory-hook.ps1 与 hooks/_lib.sh 公共库把观察结果 POST 到服务端/hook接口。隐私脱敏由服务端的类型化边界Sanitized构造统一完成脚本层不需要关心。第 4 步打通 CLI 的安装命令在 crates/ai-memory-cli/src/cli.rs 中为新 Agent 添加两个选择项--client nameMCP 注册写入该 Agent 的mcp.json等配置文件--agent namehooks 安装把上一步的脚本部署到 Agent 的配置目录实现可参考 install_hooks.rs 与 install_mcp.rs 中已有 Agent 的分发逻辑。完成后用户只需两条命令即可接入新 Agentai-memory install-mcp --client new-agent --apply ai-memory install-hooks --agent new-agent --apply第 5 步更新文档与支持矩阵合并门槛⚠️ 这一步最容易被忘记却被视为blocking在 CHANGELOG.md 的## [Unreleased]下按### Added加一条过去时描述、尾部带 PR 编号的条目更新 README 支持矩阵和 docs/support-matrix.md 的对应行写清安装命令、限制与备注比如无真正 SessionEnd需用finalize-session为新 Agent 添加回归测试——解析器、ID 推导类改动尤其需要。通过 CI 必过的质量门禁提交前在本地跑完以下门禁CI 与发布流程会原样复查门禁命令检查内容格式cargo fmt --all -- --check代码格式统一空白git diff --check无尾随空白等静态检查cargo clippy --workspace --all-targets -- -D warnings零警告全量测试cargo test --workspace --all-targets所有 crate 全部测试依赖策略cargo deny check许可证与安全策略日常迭代不必每次都跑全量cargo tnextest 别名约 20 秒跑完常规层慢速/压力测试slow、stress命名的模块只由预推送钩子和 CI 执行。进阶方向从 Hooks 支持到 Managed Workstream如果你的目标不止能采集而是让ai-memory run agent直接托管新 Agent 的原生会话精确恢复、只读导入转录、启动时注入上下文项目提供了专门的贡献协议docs/managed-harness-contributions.md。它定义了七道要求——原生契约确认、刻意注册含AgentKind::ALL与迁移、argv 保真、只读发现与导出、先交付上下文再确认、workstream 不变量以及必过的测试清单包括 scripts/managed-workstream-acceptance.sh 里的确定性假进程验收。新接入的 Agent 最终会出现在 Web 视图中供团队浏览每个项目的记忆页面小结你的第一个 PR 清单✅ 环境Rust 1.95 scripts/install-git-hooks.sh✅ 五步AgentKind枚举 → 新迁移 → hooks 脚本 → CLI 安装命令 → 文档 CHANGELOG✅ 门禁fmt / diff / clippy / 全量测试 / cargo deny✅ 提交归属推送前检查每个 commit 的邮箱git log --format%h %an %ae避免 PR 合并后追溯修正✅ 语义化版本新增 Agent 属于minor级附加变更CHANGELOG 条目放在### Added从给支持矩阵加一行开始就是参与 ai-memory 社区最实际的第一步。祝你的第一个 PR 顺利合并【免费下载链接】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),仅供参考