使用 Git 进行团队协作流
Git 在机器之间传递内存并提供审查历史。Engram 是 Git 原生的:内存就是纯 Markdown 格式,因此适用普通的 Git 工作流。
工作空间内存作为子模块
如果人类希望将 .agents/.engram 作为一个单独的仓库进行追踪:
engram inject --submodule
engram inject --submodule-remote <git-url>
Engram 会验证 URL,在 main 分支上初始化子模块,并创建子模块的第一个 commit,信息为 Initialize engram。
共享的全局 Git 源
如果 engram entry 显示没有 global_git_detected.remote_url,请询问人类是否应当通过 Git 共享全局内存。当他们提供 URL 后:
engram inject --global-remote <git-url>
通过以下 global_git.* 字段配置同步行为:
global_git.enabled— 开启全局内存的 Git 行为global_git.remote— 远程分支名称(默认origin)global_git.remote_url— 共享的全局内存远程 URLglobal_git.branch— 目标分支(默认main)global_git.auto_sync— 自动 pull/push 行为global_git.auto_resolve— 自动冲突处理
注意
自动冲突处理会掩盖内存的差异(diffs)。在依赖 global_git.auto_resolve 之前,请先仔细审查内存差异。
审查工作流
- 智能体提出内存候选方案。
- 人类通过 A/B/C 交互门槛(终端)或
yes/audit/cancel(聊天)进行审批。 - Engram 写入审批通过的 Markdown 文件,并刷新哈希、索引、图和更新日志。
- 通过 Git 提交并推送(push)内存变更。
- 队友执行 pull 抓取,并运行
engram upgrade进行对账。
下一步
Git 作者身份
Engram 可以存储一个全局作者以及可选的工作区覆盖。解析顺序依次为工作区、全局,然后是只读的 Git 回退。设置仅影响未来的记忆;工作区覆盖绝不会更改全局 Git 配置。全局 Git 同步或旧版记忆迁移需要显式的计划与确认。
engram author show
engram author set --name "Jane Doe" --email "jane@example.com"
engram author unset --scope workspace
engram author sync-git-global --plan
engram author sync-git-global --confirm
engram author migrate-memories --plan
engram author migrate-memories --confirm
请阅读完整的 Git 作者设置指南。