mcpField
S
shared-memory-intake

shared-memory-intake

github.com/ohyehAgent 工作流0208 次安装1 天前更新
代码仓库

关于 shared-memory-intake

shared-memory-intake 是用于提交和整理 Codex 记忆的技能,适合需要在不同会话间传递可复用发现的团队或 Agent。它将外部提交与 Codex 管理的记忆分开,并规定验证、审核和交接步骤。

主要功能

  1. 01将可复用发现提交至收件箱
  2. 02读取记忆和提交记录
  3. 03验证提交结构
  4. 04审核主张及其证据
  5. 05交接笔记以供整合

适用场景

  1. 01为后续会话保存经核验的工作流
  2. 02审核外部记忆提交
  3. 03将动态主张标记为未确认

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ohyeh/agent-scripts --skill shared-memory-intake

安装后在 Claude Code 中输入/shared-memory-intake确认已加载。

附带文件scripts/read_memory.pyscripts/validate_submission.py

详细介绍

共享记忆收集

~/.codex/memories/ 是 Codex 自己的记忆存储区。Codex 整理流程会写入 MEMORY.md、memory_summary.md 和 rollout_summaries/;任何 Agent 都不得直接编辑这些文件。 写入该存储区的唯一途径,是在 ~/.codex/memories/extensions/ad_hoc/notes/ 中添加一条笔记,整理流程必须将其合并 (extensions/ad_hoc/instructions.md)。~/.agents/shared-memory-inbox/ 是该路径前的 外部提交存储区。每台主机都有自己的收件箱和 Codex 记忆。除非在当前会话中核实,否则动态声明一律视为 UNCONFIRMED。

哪些内容适合提交

提交内容应是可复用的事实或方法,后续会话可以直接应用(例如路径、可用的命令、工具限制或经纠正的认知)。凡是你在当时判断可能对本次会话之外有所帮助的内容,都可以提交,包括会话中摸索出的工作流(一组按顺序执行且行之有效的步骤)。无需证明它具有普遍适用性:是否采纳由审核决定。如果你认为某项内容应成为规则、技能或操作指南,也请在 ~/.agents/retro-inbox/pending/ 中添加一项并引用该提交: 如果可以填写 maintenance.md §3 的一行,使用 kind: proposal;否则使用 kind: note。复盘内容——即指出出了什么问题,以及应修改哪条规则、关卡或简报——应提交到 ~/.agents/retro-inbox/ (格式见 maintenance.md §3),而不是提交到这里。如果会话结束时的一次写入同时包含这两类内容,请拆分成两项,分别放入两个收件箱,不要将相同内容复制到两个收件箱或交接记录中。

操作者约定

必须明确指定操作者:--as claude 或 --as codex。绝不可根据运行时推断。

操作者允许的操作禁止的操作
claude读取 Codex 记忆;在 inbox/pending/ 中创建一条提交编辑或删除 Codex 记忆、笔记或其他提交
codex读取、审核、编写或编辑 ad_hoc 笔记;移动提交写入 MEMORY.md、memory_summary.md 或 rollout_summaries/;删除笔记或提交

Claude:提交

在此技能目录中使用 python3 scripts/read_memory.py keyword [keyword ...] 查找关键词,且不区分大小写。该脚本会读取 Codex 记忆、摘要、ad_hoc 笔记,以及待处理、已处理和已拒绝的提交。使用 --status 可显示文件数量、最新修改时间,以及比 MEMORY.md 更新的笔记;此时间标记不能证明内容已完成整理。常规模式不会写入任何内容;--self-test 会创建临时目录树并检查读取器。所有 Agent 都可以使用此读取器;由于它不会更改记忆,因此无需操作者标记。

  1. 阅读 MEMORY.md;不要将现有的当前声明重新表述为新提交。

  2. 在 ~/.agents/shared-memory-inbox/pending/ 下创建一个名称唯一的 Markdown 文件,并添加 YAML frontmatter:

    schema_version: 1
    source_runtime: claude
    submitted_at: 2026-07-26T00:00:00Z
    cwd: /absolute/path
    source_session: opaque-session-id
    claim_status: unverified
    evidence_host: hostname-or-fleet-id
    

    对于同一主机上的证据,evidence_host 为可选项;如果引用的来源仅存在于另一台主机上,则必须填写。

  3. 仅保留可复用的结论、来源引用、证据和未知项。绝不要包含凭据、令牌、私钥、Cookie 或原始对话记录。

  4. 交接前进行验证:

    python3 ~/.agents/skills/shared-memory-intake/scripts/validate_submission.py /absolute/path/to/submission.md
    
  5. 更正内容应作为新提交提交,并包含 supersedes_submission;切勿覆盖早先的提案。

Codex:审核并移交

  1. 获取单一审核员租约:mkdir ~/.agents/shared-memory-inbox/.curator.lock。 如果该目录已存在,请停止并报告审核员冲突。记录处理结果后,使用 rmdir 释放租约;失败时也要释放。
  2. 对候选内容运行验证器。若架构校验失败或检测到密钥模式,则拒绝。
  3. 检查所引用的来源,并对每项动态声明进行实时验证。对于跨主机证据, 必须提供 evidence_host 并在该主机上验证;记录审核员所在主机和验证时间。 无法访问主机时,将该声明标记为 UNCONFIRMED。
  4. 阅读 MEMORY.md。跳过其中已有的声明;若某项声明已存在但形式有变, 写入新形式,并将旧声明标记为 superseded。
  5. 每次整理运行都在该主机的 extensions/ad_hoc/notes/ 中写一条备注,文件名为 <UTC timestamp>-shared-inbox-curation.md:每项保留的声明单独写一个条目,以陈述信息的 形式撰写(绝不能写成指令或提议),并注明生命周期状态—— active、superseded(注明替代项)或 UNCONFIRMED——以及来源提交文件。 如需更正备注,应编辑备注;绝不删除。
  6. 在另一台主机上,使用原生 Write 工具在本地暂存目录中写入备注,通过 scp 将其 复制到该主机的 notes/,并比较两端的 sha256(已使用一次,2026-10-15 remote-44)。
  7. 将每个候选文件移至 processed/(已移交)或 rejected/。将本次运行报告写入 ~/.agents/shared-memory-inbox/curation-<date>-<machine key>.md:每份提交单独一行 (文件、处理结果、原因、已验证或 UNCONFIRMED、验证器退出代码)。 绝不删除提交文件。
  8. 备注已存在且候选文件已移走,即表示移交完成。 是否已通过整合合并,是之后才能确定的事实(截至 2026-10-15 为 UNCONFIRMED: 8 月备注中的文本未出现在 MEMORY.md 中)。只有在 MEMORY.md 中找到声明的原文后, 才能报告该声明已写入 MEMORY.md。无论是否完成合并,备注和已处理的 提交文件都应保留可搜索状态。

Codex:维护

  1. 获取同一单一审核员租约;如遇审核员冲突则停止。
  2. 扫描当前 MEMORY.md 条目,检查路径、版本、模型、部署或过时引用是否已更改。
  3. 通过编辑包含该声明的备注来更正声明;若没有备注包含该声明,则通过新备注(参见上文第 5 步)更正:将未经验证的动态声明降级为 UNCONFIRMED;将已被替代的声明标记为 superseded,并注明其替代项。
  4. 检查自上次运行以来移交的每条备注,其文本是否已写入 MEMORY.md; 报告尚未合并的备注。

验证器

使用 scripts/validate_submission.py。它只是一个范围有限的预检关卡,不能证明 声明属实,也不是完整的密钥扫描器。通过验证仅表示可以开始审核;Codex 仍负责验证证据并完成移交。

评论

支持 Markdown