mcpField
C
cogmem

cogmem

本地服务
github.com/writerslogic记忆与知识28 周前更新

关于 cogmem

cogmem 是为编码 Agent 设计的本地优先记忆层,记录跨会话经验、项目状态,并根据结果修订记忆。记忆带有可验证签名和防篡改日志,可检测并拒绝被修改或投毒的内容。

主要功能

  1. 01跨会话语义记忆检索
  2. 02根据使用结果修订记忆
  3. 03记录项目状态与进展
  4. 04拦截已知错误操作
  5. 05签名凭证与防篡改日志

适用场景

  1. 01在新会话中找回相关经验
  2. 02避免编码 Agent 重复已知错误
  3. 03追踪多个项目的进展与阻塞
  4. 04验证记忆是否被篡改

MCP 相关

cogmem 可作为 MCP 服务运行,向客户端提供 recall、note、status、verify 等工具,以及用户模型和项目状态资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"writerslogic-cogmem": {
"command": "uvx",
"args": [
"cogmem"
]
}
}
}
启动命令uvx cogmem

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypicogmem2.7.1

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
kinteger否要返回的记忆数量上限(1-20)。默认为 5。
querystring是要查找相关经验的任务或问题的自然语言描述,例如 'how does the user want commit messages formatted'。
scopestring否可选的领域筛选条件,例如 'rust'、'python'、'universal'。省略则搜索所有范围。

详细介绍

cogmem 标志

cogmem

面向 AI 编码 Agent 的自我改进、可验证记忆层。


CI CodeQL OpenSSF Scorecard OpenSSF Best Practices License Code of Conduct GitHub Sponsors

面向 AI 编码 Agent 的自我改进、可验证记忆层。

cogmem 会在多个会话中学习你的工作方式,让 Agent 随着时间推移变得越来越准确、越来越自主:它不再重复犯错,持续维护每个项目的实时模型,并在恰当时机呈现正确的经验教训。每条记忆都经过加密签名且可检测篡改,因此,在遭到投毒或修改的记忆影响 Agent 之前,就能检测并拒绝它。

由 WritersLogic 开发——优先本地的记忆回溯;你的记忆和身份密钥都保留在自己的设备上(参见隐私)。

安装

从 PyPI 安装
pip install cogmem            # CLI + MCP server + verifiable-memory tools
pip install 'cogmem[recall]'  # add local semantic recall (fastembed)
cogmem init                   # wire the Claude Code hooks + build the index

运行 pip install cogmem 即可获得 cogmem CLI 和 MCP 服务(cogmem mcp,或按需运行 uvx cogmem mcp)——可验证记忆工具只需核心安装即可使用。添加 [recall] 附加组件以启用本地语义记忆回溯,然后运行 cogmem init,将完整学习闭环(SessionStart/UserPromptSubmit/Stop hooks 和索引)接入 Claude Code。cogmem init 可幂等运行;随时可以重新运行。

克隆安装程序(开箱即用,包含常驻守护进程)

克隆安装程序会完成 pip install + cogmem init 的所有工作,还会将常驻记忆回溯守护进程(launchd/systemd)设置为托管服务:

git clone https://github.com/writerslogic/cogmem.git
cd cogmem
./install.sh

也可以用一行命令完成:

curl -fsSL https://raw.githubusercontent.com/writerslogic/cogmem/main/install.sh | bash

install.sh 可幂等运行——随时重新运行即可原地升级。它会在 ~/.claude/cogmem 下安装代码,创建包含依赖项的独立虚拟环境,将 cogmem CLI 添加到 PATH,设置 Claude Code hooks,并启动常驻记忆回溯守护进程 (在 macOS 上作为 launchd 代理运行,在 Linux 上作为 systemd --user 服务运行)。需要 Python 3.12+;语义记忆回溯使用本地模型(fastembed,无需外部 API)。传入 --no-daemon 或 --no-hooks 可跳过相应步骤;设置 COGMEM_HOME 可安装到其他位置——CLI、引擎和 hooks 都会在运行时解析该路径,因此 非默认安装也能让记忆和身份信息完全独立保存在本地。

自定义安装

安装到其他目录

设置 COGMEM_HOME,将 cogmem 安装到默认路径 ~/.claude/cogmem 以外的位置:

COGMEM_HOME=/opt/cogmem ./install.sh

也可以使用单行命令:

curl -fsSL https://raw.githubusercontent.com/writerslogic/cogmem/main/install.sh | COGMEM_HOME=/opt/cogmem bash

安装程序会复制代码、创建虚拟环境,并将 CLI 符号链接到 ~/.local/bin/cogmem(或 COGMEM_BIN 指定的位置)。

CLI 路径

设置 COGMEM_BIN,以指定 cogmem CLI 符号链接的放置位置:

COGMEM_BIN=$HOME/.cargo/bin COGMEM_HOME=/opt/cogmem ./install.sh

如果 COGMEM_BIN 不在你的 PATH 中,安装程序会打印一条警告。你始终可以直接从 $COGMEM_HOME/cogmem 调用 cogmem。

数据目录和身份密钥的解析方式

运行时,CLI 和引擎会从环境中读取 COGMEM_HOME。如果未设置,则回退到 ~/.claude/cogmem。所有运行时数据都存放在 vault/ 子目录下:

路径用途
$COGMEM_HOME/vault/identity/agent.keyEd25519 私钥(Agent 身份,did:key)
$COGMEM_HOME/vault/credentials/W3C Verifiable Credential 存储
$COGMEM_HOME/vault/rules/Layer-A(始终加载)和 Layer-B(召回)规则
$COGMEM_HOME/vault/provenance/log.jsonl仅追加的哈希链透明日志
$COGMEM_HOME/vault/provenance/statements/COSE_Sign1 SCITT 签名声明
$COGMEM_HOME/engine/.venv/包含依赖项的 Python 虚拟环境
$COGMEM_HOME/hooks/Claude Code hook 脚本

首次运行时(通过 cogmem status 或任何引擎操作),系统会生成身份密钥,并将其保存在 $COGMEM_HOME/vault/identity/agent.key。对应的 did:key 根据 Ed25519 公钥派生。将 cogmem 移动或重新安装到新的 COGMEM_HOME 会创建新的身份,除非你迁移 vault/ 目录。

使用非默认安装位置的 MCP 客户端

标准 MCP 客户端配置不受 COGMEM_HOME 影响,因为 cogmem CLI 会在运行时解析该环境变量:

{
  "mcpServers": {
    "cogmem": { "command": "cogmem", "args": ["mcp"] }
  }
}

如果 CLI 不在你的 PATH 中,请使用完整路径:

{
  "mcpServers": {
    "cogmem": { "command": "/opt/cogmem/cogmem", "args": ["mcp"] }
  }
}

或者在 shell 包装脚本中添加 COGMEM_HOME 前缀:

{
  "mcpServers": {
    "cogmem": { "command": "env", "args": ["COGMEM_HOME=/opt/cogmem", "cogmem", "mcp"] }
  }
}

快速开始

cogmem status           # health check, metrics, agent DID
cogmem doctor           # end-to-end learning-loop health (daemon, API key, trust, backlog)
cogmem recall "..."     # surface relevant past lessons for a task
cogmem note "..."       # record a decision or finding mid-task
cogmem verify           # verify every memory's credential + the transparency log
cogmem receipt <id>     # inclusion proof that a memory is committed in the signed log
cogmem statement <id>   # COSE_Sign1 SCITT signed statement (verifiable by HMS too)
cogmem trust            # show the trusted agent identity (warns on a key mismatch)
cogmem trust --rotate   # re-anchor trust after an intentional key change
cogmem review list      # approve always-load rules
cogmem mcp              # run the MCP server (stdio) for any MCP client

MCP 集成

将 cogmem 作为 MCP 服务运行,并连接任意兼容 MCP 的客户端:

{
  "mcpServers": {
    "cogmem": { "command": "cogmem", "args": ["mcp"] }
  }
}

该服务公开了八个工具:recall、note、status、verify、receipt、tree_head、progress、review_pending,以及只读资源(实时用户模型和各项目状态)。

Claude Code 集成

install.sh 会自动将 cogmem 接入 Claude Code(以幂等方式合并到 ~/.claude/settings.json),无需手动调用。五个 hook 会在后台运行记忆循环:

事件Hook功能
SessionStartcogmem-activate.sh注入提升后的始终加载(Layer-A)规则和自检
UserPromptSubmitcogmem-recall.sh针对当前提示词进行语义 Layer-B 召回
PreToolUse(Bash)cogmem-guard.sh在工具调用边界拦截已知错误,防止其发生
PostToolUse(Edit|Write)cogmem-context.sh跟踪会话当前正在编辑的文件
Stopcogmem-capture.sh将会话捕获到记忆中(采集 + 整合)

所有 hook 都严格采用故障开放策略:任何错误、超时或未预热的守护进程都不会注入任何内容,也绝不会阻塞你的提示词。脚本位于 ~/.claude/cogmem/hooks/;重新运行 install.sh(或 ./install.sh --no-daemon)即可刷新接入配置。

为什么选择 cogmem? —— 从结果中学习、建模失败模式、可验证的记忆

聊天记忆系统(Mem0、Letta、Zep)会存储和检索事实。cogmem 专为编码 Agent 构建,并在三个方面更进一步:

它能从结果中学习。 反馈循环会评估召回的经验是否确实有帮助,修正被证明有误的规则,并弃用会造成误导的规则。

它能建模自身的失败模式。 cogmem 会跟踪 Agent 在你的工作中容易出错的地方,并在工具调用边界拦截已知错误——在错误发生之前,而非事后。

它的记忆可验证。 每条记忆都是由 Agent 的 did:key 签名的 W3C Verifiable Credential,并记录在防篡改、采用 SCITT 风格的透明日志中。Agent 记忆是攻击面;cogmem 让其可审计且具备抗投毒能力。

功能 -- 双层记忆、结果反馈、自我模型、项目状态、跨项目叙事、自我调节、可验证凭证
  • 双层记忆:始终加载的指令(按范围控制并经人工批准)加上语义回忆尾部(本地交叉编码器重排序,数据不会离开设备)。
  • 结果反馈与自我优化:根据记忆是否确实发挥作用来提高或降低其可信度;通过安全流程纠正与事实相悖的规则。
  • 自我模型与防护机制:对 Agent 常犯错误进行建模,并将其编译为在 PreToolUse 边界拦截错误的预警机制。
  • 项目状态模型:持续更新每个项目的状态(目标、主张、未决问题、阻碍),提供情境连续性,并支持跨时间推理。
  • 跨项目进展叙事:汇总各项目的进展势头、停滞情况和依赖关系,并以提醒的形式呈现。
  • 自我调节:根据评估工具自动调整回忆阈值。
  • 可验证 Agent 记忆:did:key 身份、W3C VC 签名记忆、COSE_Sign1 SCITT 签名声明(与 HMS 字节兼容)、带签名 Merkle 树头和 RFC 6962 包含证明的哈希链透明日志,以及可选的抗投毒强制机制。请参阅 PROVENANCE.md。
可验证记忆 -- did:key 身份、W3C VC、COSE/SCITT、哈希链日志、抗投毒

cogmem 将每条存储的记忆都视为一份签名制品:

  • did:key 身份:每个 Agent 都拥有持久的 Ed25519 身份,并以 W3C DID 的形式公开。
  • W3C 可验证凭证:每条记忆都带有 eddsa-jcs-2022 数据完整性证明签名。
  • COSE_Sign1 / SCITT 签名声明:与 holographic-memory 和 crosstalk 使用的信封格式逐字节一致,可由这三种实现中的任意一种独立验证。
  • 哈希链透明日志:仅追加的 JSONL 日志,采用 SHA-256 链接,包含签名的 Merkle 树头和符合 RFC 6962 风格的包含证明。
  • 撤销:每份凭证都包含 W3C 位串状态列表条目;降级或退役的记忆会在签名状态列表凭证中撤销。
  • 抗投毒:遭篡改或注入的记忆无法通过验证,会在影响 Agent 之前被拒绝。
cogmem verify              # check all memories and the log head
cogmem receipt <memory-id> # prove a memory is in the signed log
cogmem revoke <memory-id>  # revoke a memory (Bitstring Status List)
cogmem status-list         # emit the signed revocation status-list credential

完整规范请参阅 PROVENANCE.md。

亲自验证 C2PA 示例:

# examples/c2pa-agent-credential/ is a real signed C2PA manifest
# whose agent identity validates in c2patool
./examples/c2pa-agent-credential/verify.sh

这证明了完整链路:Agent 身份(cawg.ica.credential_valid)与真实认知绑定——一条签名的 cogmem 记忆和一份签名的 crosstalk 推理审计,每份都是可独立验证的 Ed25519 COSE/SCITT 声明。

## 标准对齐

cogmem 基于已发布的标准构建,并准确说明了哪些部分是符合标准,哪些部分是*-风格*(结构和加密兼容,但未完全符合配置文件要求)。这些原语是真正的 Ed25519 签名,作用于真正的规范字节结构——这里没有任何模拟实现。

标准cogmem 的实现内容状态
W3C DIDdid:key(Ed25519)、did:web(发布 OKP publicKeyJwk)、did:jwk——均配有可用的解析器符合标准
W3C VC Data Model 2.0VC v2 上下文、凭证 id、validFrom/validUntil、AgentMemoryCredential / AIAgentCredential / IdentityClaimsAggregationCredential符合标准;可验证表示(Verifiable Presentations)已列入路线图
W3C Data Integrity — eddsa-jcs-2022基于 RFC 8785 JCS 规范字节(按 UTF-16 排序键名,字符串采用字面 UTF-8 编码)的 Ed25519 Data Integrity 证明符合标准
W3C Bitstring Status List每条记忆都带有一个 BitstringStatusListEntry;被降级或退役的记忆会被撤销(GZIP + multibase encodedList),并发布在已签名的 BitstringStatusListCredential 中符合标准
IETF COSE(RFC 9052)无标签和带 tag-18 的 COSE_Sign1、EdDSA(-8)符合标准;字节级兼容兄弟项目中基于 coset 的验证器
IETF SCITT由 COSE_Sign1 签名的声明,以及仅追加、哈希链式的签名日志SCITT-风格。符合标准的已签名声明头部(CWT_Claims)、COSE 收据,以及与发行者分离的透明度服务均已列入路线图——见下文
RFC 6962 Merkle已签名的树头、包含证明、验证证明计算符合标准;见证方会共同签署树头,以实现独立透明度
CAWG Identity Assertion(ICA)在 application/vc 上通过 tag-18 COSE_Sign1 签署的 IdentityClaimsAggregationCredential,并与 C2PA SignerPayload 交叉核验可与 c2pa-rs 中的 ICA 验证器互操作

迈向全面符合 SCITT 标准。 有三个范围明确的步骤,无需引入新的密码学技术:(1)将 iss/sub/内容类型从声明负载移至 COSE 受保护头部,作为 CWT_Claims;(2)将包含证明作为 COSE 收据(draft-ietf-cose-merkle-tree-proofs)写入声明的非保护头部;(3)要求外部见证方担任与签发 Agent 分离的透明度服务角色。步骤 1–2 是重新编码;步骤 3 则涉及架构,因为单方日志只是兼容的格式,并不能实现有意义的透明度。

隐私

cogmem 采用本地优先设计。记忆、嵌入向量和身份密钥都保存在你的设备上,语义检索完全在本地进行——嵌入和重排序模型(fastembed)在设备上运行,因此查询记忆时数据不会离开设备。

学习流程并非在本地运行:获取、整合、反馈评估,以及项目/用户模型综合都会将相关会话记录发送至 Anthropic API(ANTHROPIC_API_KEY)。规则正是通过这种方式提取和评分的。如果你需要完全离线运行,可使用 --no-hooks(检索仍可正常工作),直到本地模型提取方案推出。简而言之:检索在本地进行;学习会调用 API。

Agent 溯源技术栈的一部分

cogmem 是 WritersLogic 可验证 Agent 溯源流水线的一个组件——涵盖 Agent 身份、记忆、推理和签名输出,并通过密码学实现端到端绑定。

项目作用
cogmem(本仓库)Agent 身份(CAWG 凭证)+ 可验证、防篡改的记忆(COSE/SCITT)
crosstalk多模型编排器;为每轮推理/编排审计签名
holographic-memory持久化全息记忆存储;交叉验证签名语句和 Agent 身份
WritersProofC2PA 生产者:将身份 + 记忆 + 推理绑定到签名资产

这四个项目共享同一底层机制——COSE_Sign1 / SCITT 签名语句(Ed25519)和 W3C DID 身份,详见 UNIFIED-PROVENANCE.md。

安全

发现漏洞?请私下报告——参见 SECURITY.md。

许可证

Apache-2.0——参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。