SuperAPI AI 工具集

codemem

codemem 是一款面向 OpenCode、Claude Code、Codex 和 Pi 编码代理的持久化编码记忆工具,支持跨会话、跨机器和跨团队成员保留编码上下文。它捕获决策、死胡同和仓库特有的陷阱,并在后续提示中自动注入相关记忆。记忆存储在本地 SQLite 中,采用 FTS5 BM25 关键词检索与 sqlite-vec 语义检索的混合检索方式。支持可选的端到端同步与项目共享、多代理共享项目存储、内置本地查看器,以及远程 MCP 访问。观察者处理使用用户配置的模型提供商,可能产生费用或消耗计划用量。

访问官网

工具介绍

用途

codemem 是一个轻量级的持久化编码记忆伴侣,面向 OpenCode、Claude Code、Codex 和 Pi 编码代理。它解决了代码仍在、但推理过程通常丢失的问题,通过捕获决策、死胡同和仓库特有的陷阱,在后续提示中自动带入相关上下文。

主要能力

  • 自动上下文注入:相关记忆无需代理主动搜索即可到达代理;已在 OpenCode 上下文中的未变更记忆不会重复。
  • 可选同步与共享:点对点同步可将选定的项目记忆跨机器携带;可在有帮助时与队友或团队共享项目知识。
  • 本地优先存储:记忆以 SQLite 形式存放在本机;观察者处理使用配置的模型提供商,可能产生费用或消耗计划用量。
  • 混合检索:FTS5 BM25 词法搜索 + sqlite-vec 语义搜索,合并并重新排序。
  • OpenCode 1 和 2 自动注入:插件向每个提示注入上下文,无需手动步骤;OpenCode 2 集成为测试版。
  • Claude Code 插件支持:可从 codemem 市场源安装。
  • 多代理:OpenCode、Claude Code、Codex 和 Pi 共享一个项目范围存储。
  • Pi 编码代理:会话捕获、自动召回和 14 个原生记忆工具;无需 MCP。
  • 内置查看器:在本地 Web UI 中浏览记忆、会话和观察者输出。
  • 远程 MCP 访问:高级单用户自托管可向已配置的远程客户端暴露受 OAuth 保护的 Streamable HTTP MCP 端点;本地查看器应保持私有。

使用方式

前置条件

需要 Node.js 24.15+ 和 npm(或 pnpm)。原生数据库支持覆盖 macOS x64/arm64、Linux x64/arm64(glibc 2.34+ 或 musl)和 Windows x64。不支持 32 位目标,包括 Linux armv7。

Linux 用户需在首次安装包之前,在 shell 以及启动 OpenCode、Claude Code、Codex 或 Pi 的环境中设置 ONNXRUNTIME_NODE_INSTALL=skip。这可以避免下载未使用的 ONNX Runtime GPU 提供商,同时保留 CPU 推理。由 setup 管理的 npx 启动器无法自行设置该项。

Codemem 要求 OpenCode 1.18.29 或更新版本。一个已安装的 @codemem/opencode-plugin 包同时服务于两代宿主:OpenCode 1 调用其 server() 入口,OpenCode 2 调用其 setup() 入口。OpenCode 2 支持针对确切的稳定版本 @opencode/cli@2.0.24 和 @opencode/plugin@2.0.24 进行验证;Codemem 将其 OpenCode 2 集成标记为测试版,直到经过完整发布周期。

OpenCode 插件安装

安装 OpenCode 插件和 MCP 配置后重启 OpenCode。npx 使用下载或缓存的包来配置 OpenCode 宿主,不会创建持久的 codemem CLI 安装。配置的插件在两代宿主上独立管理后端执行,因此自动捕获和上下文注入无需全局安装。Setup 会有意写入单数形式的插件键。OpenCode 1 需要该键,OpenCode 2 会将其转换为其原生 plugins 配置,因此一个配置条目可在两代宿主上工作。保持一个 Codemem 条目;如果 OpenCode 为一个项目加载 Codemem 两次,第一次注册生效,后续副本会带警告跳过其钩子。

尝试验证召回

完成任务后,检查其决策是否出现在本地查看器 http://localhost:38888。在同一项目中启动新的 OpenCode 会话,询问该决策而不提供答案。验证答案与存储的决策和原始任务证据是否一致。如果捕获仍待处理或召回为空,请检查本地状态。

观察者访问与外部模型成本

观察者是将会话活动转化为记忆的模型。在设置中选择 OpenCode 账户、API 密钥或本地 Claude/Codex 会话。显式连接永不回退到其他账户;现有自动设置保持当前规则,直到您更改它们。本地存储并不意味着仅本地处理:捕获的上下文会发送到配置的模型,调用可能产生费用或消耗计划用量。

CLI 安装

若要在 PATH 中使用 codemem 以执行手动命令和语义检索,请全局安装 CLI。CLI 默认安装匹配的嵌入运行时。若需要更小的仅关键词安装,使用 npm install -g codemem --omit=optional 并在每个 Codemem 进程中设置 CODEMEM_EMBEDDING_DISABLED=1。该标志是必需的,因为 npm 也会省略 sqlite-vec 的可选平台包;CLI 随后在 FTS5 下保持功能。

支持 npm 的管理器(如 pnpm 或 mise 的 npm:codemem 后端)也可提供持久 CLI。确保 codemem 在 PATH 中,然后运行 codemem setup --opencode-only。

Claude Code 安装(市场安装)

在 Claude Code 中,添加 codemem 市场源并安装插件,然后重启 Claude Code。插件捆绑其 MCP 配置和捕获/上下文注入钩子,并使用 TS CLI(codemem mcp)启动 MCP。无需预先运行 codemem setup --claude-only 命令或全局 CLI 安装。上述前置条件和观察者访问要求仍然适用。

适用场景

codemem 适合需要在多个会话、多台机器或多个团队成员之间保持编码决策和上下文连续性的开发场景,尤其适用于使用 OpenCode、Claude Code、Codex 或 Pi 编码代理的团队。也适合希望本地优先存储记忆、同时可选进行点对点同步和项目知识共享的开发者。

限制

  • 观察者处理会将捕获的上下文发送到配置的模型,调用可能产生费用或消耗计划用量。
  • 语义运行时在所有平台上固定为 CPU 推理。ONNX Runtime 1.24.3 不提供 macOS x64 二进制文件,因此当语义运行时初始化失败时,Intel Mac 继续使用 FTS5 关键词检索。
  • 不支持 32 位目标,包括 Linux armv7。
  • OpenCode 2 集成目前为测试版。
  • 远程 MCP 访问仅供高级单用户自托管使用,本地查看器应保持私有。
  • 记忆中包含合成项目记忆,而非真实会话数据。
  • 关于收费、价格的具体信息暂未提供。