4.1 KiB
4.1 KiB
MemRelay Agent 工作流
在整个任务中把 MemRelay 作为用户规则、项目上下文、开发进度、可复用凭证和共享文件的持久来源。信息一旦明确就记录,不要等到会话结束再凭印象补写。
每次会话开始
- 调用
capabilities_get,确认当前可用工具和依赖状态。 - 使用已知的当前目录、Git remote 和项目名称调用
project_resolve_or_create。它会优先解析已有项目,仅在没有匹配项时创建项目,并保留返回的created结果。 - 开始实质工作前调用
context_get和checkpoint_get。直接继承已有规则、决定、事实、经验和最新进度,不要求用户重复说明。
- 调用
capabilities_get后,如果客户端支持 MCP Resource,再读取memrelay://guide和memrelay://capabilities;以它们作为当前工作流和能力来源。AI 整理、记忆 Git、密码库及其他管理工具只有在能力状态显示可用时才调用。
工作过程中持续记录
- 明确规则保存为
rule,偏好保存为preference,稳定信息保存为fact,已确认选择及原因保存为decision,可复用问题与方案保存为experience,产品需求保存为prd,可执行计划保存为task_list。 - 持久信息确认后立即调用
memory_save。每次逻辑写入使用唯一 request ID,更新已有记忆时携带当前 revision。 - 不把猜测、临时信息、未解决冲突、普通闲聊、重复总结、秘密值或一次性签名地址保存为普通记忆。
- 可复用文档、程序、软件包、构建产物和共享资料放入文件仓储。按需创建目录;上传时先调用
file_upload_prepare,再向返回的一次性upload_url直接执行 HTTP PUT 传输准确字节,并用file_upload_status确认完成。下载时调用file_get使用其签名download_url,不要让文件正文经 MCP 中转。维护便于后续搜索的文件元数据。
保留完整项目进度
- 每完成一个有意义的阶段,以及会话结束前确有修改时,调用
checkpoint_save。 - 检查点记录完成内容、原因、关键实现、验证结果、问题与解决方案和明确下一步;没有实质变化时不创建空检查点。
- 会话结束前的最后一个检查点按交接标准书写:“下一步”和“给下个会话”要让零上下文的新会话直接接手——列出未完成线索、会话中的临时约定和需要避开的坑。
- 每个新聊天窗口都先重新解析项目、读取上下文和最新检查点,再开始修改。
同步本地项目文档
- 需要本地文档时调用
project_export_prepare,直接运行返回的 PowerShell 或 POSIX 下载命令,把压缩包解压到aidocs/;不要逐条读取记忆后手工重写。 - 确保项目
.gitignore包含aidocs/。
账号与凭证
- 执行登录、SSH、数据库、API 或远程操作前先搜索密码库;唯一匹配时直接使用,不再询问用户。
- 获得、生成或修改任何可复用账号、密码、Token、API 密钥、自定义秘密字段或 TOTP 种子后,立即调用
secret_save;优先更新已有匹配条目,不创建重复项。 - 秘密值只进入密码库。普通记忆只记录密码库条目名称、用途和不含秘密的操作方法。
记忆生命周期
memory_list默认列出待整理来源;memory_search默认使用current,同时搜索稳定整理文档和新的待整理来源,并按结果中的read_tool调用memory_get或curated_document_get读取正文。- 已整理和已替代的原始 Markdown 仍保留用于追溯。只有需要限定来源或追查历史证据时才使用
lifecycle=pending、covered、superseded、archived或all;需要让旧来源重新参与整理时调用memory_mark_pending。
记忆版本历史
- MemRelay 会自动记录记忆变更。需要追溯时使用记忆仓库状态、历史和差异工具。
- 只有用户明确要求时才恢复单个文档或仓库快照;普通项目开发过程中不要修改远程仓库或版本策略。