让您的 Agent 快速拥有长期记忆

更新时间:
复制 MD 格式

给现有的 Claude Code、Qoder、Codex 等 Agent 接入 Context0,安装配置完成后正常对话即可积累和使用长期记忆。无需学习日常读写记忆的 CLI 命令,内置 Skill 会帮助 Agent 使用这些能力。

架构

对话由 Hook 自动提交,后台提炼记忆。新会话按配置加载用户画像,任务相关的历史信息由 Agent 在内置 Skill 的指导下按需检索。

image

接入后能做什么

每次开启新会话,都要重新解释技术栈、代码风格和项目决策,是使用 Coding Agent 时常见的重复工作。接入 Context0 后,这些信息可以跨会话保留,Agent 在后续任务中继续使用。

您想做的事

直接对 Agent 说

记住项目约定

"这个项目统一用 Vitest,测试放在tests目录。"

沿用历史决策

"按我们之前确定的鉴权方案,补上登录接口。"

找回讨论结论

"上次讨论的发布流程是什么?"

更新旧约定

"测试框架已经改成 Vitest,请更新之前的记忆。"

您负责描述任务,内置 Skill 帮助 Agent 判断何时查记忆、怎样读取和使用结果。

快速上手

第一步:准备服务与连接信息

先在控制台开通 Context0 实例,或使用团队已部署的服务。还没有实例时,按快速入门完成开通与API Key创建。

准备项

说明

Node.js

版本 ≥ 22,用 node --version 查看。

Context0 地址

在控制台连接信息中的数据面服务地址。

API Key

有权访问实例的 Key,日常 Agent 接入可使用 Owner Key 或者 User Key

用户标识

为自己选择稳定的 user_id,后续使用同一标识

现有 Agent

Claude Code、Qoder、Codex、Qwen Code、Hermes 或 QoderWork

将 API Key 放入环境变量 CTXDB0_API_KEY。下面以 Claude Code 为例,替换地址和用户标识后执行一次即可。

第二步:安装并连接到现有 Agent

# 安装 ctxdb0 CLI(要求 Node.js ≥ 22)
npm install -g @polardbx/ctxdb0

# 通过 stdin 传入 API Key,建立连接 profile(替换 endpoint 与 user-id)
printf '%s' "$CTXDB0_API_KEY" | ctxdb0 connect \
  --profile default \
  --endpoint 'http://您的实例域名' \
  --user-id 'your-user-id' \
  --api-key-stdin --json

# 把插件挂载到 Claude Code(其他 Agent 替换 --host 值即可)
ctxdb0 attach --host claude --json
# 运行诊断,确认连接正常、Host 已激活
ctxdb0 doctor --host claude --json
  • 远程服务使用HTTP地址,本机开发可使用 http://localhost:4040。

  • attach 安装 Hook 和内置 Skill。按 doctor 提示完成 Host 激活或信任步骤,再开启一个新会话,就可以开始正常使用。其他 Agent 只需替换 --host,见下方支持表。

  • 这些命令用于一次性接入。接入后,日常记忆读写交给 Agent,不需要您反复执行命令。

第三步:正常对话,开始积累记忆

  1. 首次写入项目约定:

    您:这个项目统一使用 Vitest,测试放在 __tests__ 目录,以后按这个约定来。
    Agent:好的,后续会按这个测试约定开发。

    回合结束后,本轮对话自动提交到 Context0,后台异步提炼。处理完成后,可尝试跨会话召回记忆。

  2. 跨会话召回已存储的记忆:

    您:按我们之前的测试约定,帮我给订单模块加单元测试。
    Agent:查到之前的约定是 Vitest,测试放在 __tests__ 目录。
           我会按这个结构补充订单模块的测试。

    这就是日常使用方式。无需手动搜索、复制记忆或拼接提示词。如果是刚刚写入的新内容,给后台留出处理时间即可。

支持的 Agent 平台

Agent

--host

接入说明

Claude Code

claude

安装 Hook 和静态 Skill

Qoder CLI

qoder

安装 Hook 和静态 Skill

OpenAI Codex

codex

通过原生插件接入,按提示信任 Hook

Qwen Code

qwen

安装 Hook 和静态 Skill

Hermes Agent

hermes

安装后按提示接受 Hook allowlist;记忆检索由 Skill 指导 Agent 执行

QoderWork

qoderwork

回合捕获为降级模式,可通过内置 Skill 使用记忆

一台机器可接入多个 Agent,各自安装与激活。Claude Code、Codex、Qoder、Qwen 支持启动时注入画像。Hermes、QoderWork 当前不支持这项注入,可由 Agent 主动读取记忆。

日常使用举例

以下示例展示历史内容已完成提炼、当前连接有权限读取时的使用效果。

技术选型跨会话延续

两次会话之间的技术栈约定自动延续,无需重新粘贴。

[第一次讨论]
您:这个项目用 TypeScript + Prisma,接口放在 /app/api 下。
Agent:了解,后续按这个技术栈和目录约定开发。

[几天后的新会话]
您:按项目之前的技术约定,加一个用户查询接口。
Agent:之前确定的是 TypeScript + Prisma,接口放在 /app/api 下。
       我会在那里添加查询接口,并使用 Prisma 读取用户数据。

您不需要重新粘贴之前的对话,Agent 根据任务使用已有记忆。

代码风格持续生效

编码风格写入后,后续会话自动沿用。

您:组件统一使用函数组件和 Hooks,不用 class 组件。
Agent:好的,后续遵循这个风格。

[后续会话]
您:按之前的组件风格,新建一个 UserProfile 页面。
Agent:我会使用函数组件和 Hooks,并沿用项目已有组件结构。

找回历史决定

Agent 检索历史记忆,返回之前讨论的具体方案和细节。

您:之前我们怎么处理鉴权的来着?
Agent:之前确定了 JWT + HttpOnly Cookie 方案:
       access token 15 分钟过期,refresh token 7 天,
       刷新入口是 /api/auth/refresh。

内置 Skill 会帮助 Agent 检索有关鉴权的历史记忆,再结合命中内容回答。

约定发生变化

当项目约定需要变更时,用自然语言通知 Agent 更新记忆。

您:现在发布先做 5% 灰度,替换之前 10% 的约定,请更新记忆。
Agent:我会找到原来的发布约定,将灰度比例更新为 5%。

需要主动管理时,也可以直接用自然语言要求 Agent 查找、补充或修订记忆。

安装后有哪些默认配置

多数场景无需再调参数。默认开启记忆能力、启动画像和 Skill 目录,采用逐轮异步沉淀。

配置

默认值

影响

记忆能力

开启

Agent 可以按需查询和管理记忆

启动画像

开启,最多 5 条

支持的 Host 在新会话中加载当前用户画像

启动 Skill 目录

开启,最多 20 条

Agent 可了解当前可见的远程 Skill 摘要

启动内容预算

约 1200 tokens

控制画像和目录占用的上下文,另有字符上限

记忆搜索

最多 5 条

Agent 按任务选择相关记忆

会话批处理

关闭

默认每轮提交,无需等到整个会话结束

画像来自后台逐步形成的 L0 实体卡。刚接入时可能还没有画像,随着使用积累即可。已有的长期事实仍可由 Agent 检索使用。如需调整,可让 Agent 帮忙,也可主动执行:

# 查看当前连接的全部配置项
ctxdb0 config show --json
# 关闭启动时的用户画像注入
ctxdb0 config set startup-profile off --json
# 将记忆搜索返回条数调整为 10
ctxdb0 config set memory-top-k 10 --json

(可选)主动使用 CLI 管理记忆

以下是给脚本接入、主动管理或排查问题准备的另一种使用方式。日常在 Agent 中正常提问即可,不需要掌握这些命令。

操作

示例

主动记录

printf '%s' '发布先做 5% 灰度' | ctxdb0 memory remember --stdin --json

主动检索

ctxdb0 memory recall '发布策略' --top-k 5 --json

浏览记忆

ctxdb0 memory browse --offset 0 --limit 20 --json

查看单条

ctxdb0 memory show <memory-id> --json

修订内容

printf '%s' '新内容' | ctxdb0 memory revise <memory-id> --stdin --json

删除单条

ctxdb0 memory forget <memory-id> --confirm-id <memory-id> --json

删除命令中的两个 ID 必须一致。若交给 Agent 操作,直接说明您要修订或删除哪条内容。

常见问题

现象

处理方式

接入后没有使用记忆

让 Agent 检查连接、Hook 激活和内置 Skill,也可运行 ctxdb0 doctor --host claude --json

刚说过的内容还查不到

记忆提炼是异步过程,等待处理完成后再问

新会话没有画像

确认连接配置了 user_id、Host 支持启动注入,新用户尚无画像是正常情况

旧版本设置了自动召回但没效果

更新 CLI 与 Host 插件。旧 recall-mode、prompt-*-recall 已不驱动检索,当前由内置 Skill 指导 Agent 按需调用

读取报权限不足

检查当前连接的 Key 和成员权限

想停用接入

执行 ctxdb0 detach --host claude --json,将 Host 替换为实际使用的平台

如果需要了解技术分工:Hook 自动捕获对话、启动时按配置加载画像,Prompt Hook 不执行语义搜索,任务相关检索由内置 Skill 指导 Agent 完成。您仍然只需在现有 Agent 中描述需求。

相关文档