本文介绍如何开通上下文服务(Context0)、获取连接地址与 API Key,并通过 CLI 插件、API 直连或知识同步三种方式完成首次接入。
适用范围
条件 | 说明 |
阿里云账号 | 用于登录阿里云 PolarDB-X 控制台 |
PolarDB-X 实例 | 已购买 PolarDB-X 标准版或企业版实例 |
上下文服务依赖 PolarDB-X Search引擎(兼容 OpenSearch)作为向量与全文存储(需同地域) | |
Node.js ≥ 22 | 仅路径 A(CLI 插件接入)需要 |
步骤一:开通上下文服务
上下文服务是 PolarDB-X 的 AI 增强能力之一,需在控制台手动开通。
1. 进入上下文服务页面
登录 阿里云 PolarDB-X 控制台,在实例列表中点击目标 PolarDB-X 实例名称。
在左侧导航栏展开 AI能力,点击 上下文服务。
2. 创建上下文服务实例
在上下文服务页面,点击右上角 创建上下文服务。
在创建面板中选择一个同地域已购买的智能搜索(Search引擎)实例作为依赖向量存储。
确认后单击右下角的创建上下文服务按钮。
等待实例状态从 创建中 变为 运行中 即开通完成。
步骤二:获取连接地址与凭证
上下文服务实例创建完成后,进入实例详情页获取连接信息和 API Key。
连接信息
点击 基本信息 页签,连接信息 区域展示以下端点:
地址类型 | 主机名格式 | 端口 | 用途 |
内网地址(服务) |
| 4040 | Agent / SDK / API 直连数据面接口( |
公网地址(服务) | 同上(开通后分配) | 自定义 | 从公网调用数据面接口 |
Dashboard 内网地址 |
| 8080 | 浏览器访问 Context0 可视化控制台 |
Dashboard 公网地址 | 同上(开通后分配) | 自定义 | 从公网访问 Context0 控制台 |
地址后缀说明:主机名中 -s 表示 Service(数据面),-d 表示 Dashboard(管理面),两者是不同端点,切勿混用。
公网访问:内网地址仅 VPC 内可达。若需从公网访问,在对应行点击 立即开通 即可分配公网地址。
后续 API 调用中 $HOST 使用的即为服务访问地址(内网或公网),格式示例:
http://pxt-xxxx-s.polarxcontextdb.rds.aliyuncs.com:4040配置与管理(Admin Key / Owner Key)
点击 配置与管理 页签,表格中展示当前实例的关键凭证:
字段 | 示例值 | 说明 |
Context0逻辑实例名 |
| 上下文服务实例标识 |
Admin Key |
| 平台级管理凭证 |
Owner Key |
| 工作空间级业务凭证 |
依赖的 PolarDB-X 实例名 |
| 底层关系存储 |
依赖的 PolarDB-X Search 实例名 |
| 底层向量/全文存储 |
每个 Key 右侧提供显示和复制按钮,点击即可获取完整凭证。
Admin Key 与 Owner Key 对比
维度 | Admin Key | Owner Key |
级别 | 平台级(实例唯一) | 租户级(工作空间级) |
绑定关系 | 绑定整个上下文服务实例 | 与单一工作空间 1:1 绑定 |
主要用途 |
|
|
数据面调用 | 不可用于 | 直接作为 |
唯一性 | 每个上下文服务实例仅一个 | 每个工作空间各有一个,可通过 Admin Key 签发多个 |
安全提示:Admin Key 权限极高,请妥善保管,仅在创建工作空间等管理操作时使用。日常 Agent 接入应使用 Owner Key 或由 Owner 签发的 USER Key。
Key 类型总览
类型 | 权限范围 | 典型使用者 |
ADMIN | 平台级:创建/删除 Workspace、签发/吊销 OWNER Key | 平台管理员 |
OWNER | 单一工作空间全权限:数据面调用、管理成员、签发 USER Key | 团队负责人 |
USER | 绑定单一成员,仅访问自身记忆/会话 | 终端用户的 Agent |
开通服务后在配置与管理中拿到的是 Admin Key 和首个 Owner Key。
Owner Key 可为每个成员签发 USER Key,分发给 Agent 使用。
一般 Agent 接入使用USER Key(权限最小化原则)。
登录 Context0 控制台(Dashboard)
使用浏览器打开Dashboard 地址(VPC 内使用内网地址,公网已开通则使用公网地址):
http://pxt-xxxx-d.polarxcontextdb.rds.aliyuncs.com:8080登录后可进行:
工作空间管理(创建/编辑工作空间、分配成员)
记忆与知识浏览(查看、搜索、删除记忆条目)
成员与权限管理
用量监控与审计日志
Feature Flag 管理(功能开关的启用/禁用与灰度发布)
Provider 配置(Embedding / LLM / Rerank 模型提供商管理)
GDPR 合规操作(数据擦除与导出)
监控面板(Prometheus 指标、实时运维看板)
步骤三:选择接入方式
路径 | 适用场景 | 是否需要写代码 |
A:CLI 插件 | Qoder / Claude Code / Codex 等 AI 编程工具 | 否 |
B:API 直连 | 自研 Agent、业务系统集成 | 是 |
C:知识同步 | 钉钉/飞书文档批量导入知识库 | 否 |
路径 A:CLI 插件接入
ctxdb0 是 Context0 的接入层插件(Hooks + CLI + 静态 Skill)。安装后 AI 编程工具在后台自动沉淀上下文,并可通过 CLI 主动读写记忆、检索知识库。
1. 安装
npm install -g @polardbx/ctxdb02. 配置
先建立连接,再安装到目标 AI 工具:
CTXDB0_API_KEY为控制台的Owner Key,也可以使用Owner Key分配的User Key。
printf '%s' "$CTXDB0_API_KEY" | ctxdb0 connect \
--profile default \
--endpoint http://<your-endpoint> \
--user-id <终端用户标识> \
--api-key-stdin \
--json
ctxdb0 attach --host claude --json
ctxdb0 doctor --host claude --jsonuser-id 建议:建议始终在 connect 时提供 --user-id。未提供时,Prompt Hook 会跳过自动 memory recall,避免 OWNER 凭据意外扩大召回范围;显式 CLI 操作不受影响。
--host 取值:
AI 工具 | --host 取值 | 安装位置 |
Claude Code |
|
|
Qoder |
|
|
QoderWork |
|
|
Codex |
| Codex plugin marketplace(安装后需在 |
Hermes |
|
|
ctxdb0 不包含 stdio MCP Server,不支持以 MCP 协议接入。后端原生 MCP 是 Context0 的独立能力,需按后端 MCP 设计文档单独配置,与本插件无关。
3. 验证
ctxdb0 doctor --host claude --jsondoctor 同时检查连接 profile 与 API 可达性、Host 安装状态、受管资产完整性,全部通过即接入成功。
4. 工作原理
插件由三部分组成:
生命周期 Hooks(自动):会话开始时注入历史上下文;每个有效完成回合自动提交至后端,异步提炼长期记忆。
显式 CLI(主动):Agent 按需调用
ctxdb0 memory / knowledge / sessions / skills等命令读写记忆、检索知识库。静态 Skill(指导):随插件安装
ctxdb0-contextSkill,Agent 根据用户自然语言自动选择合适的 CLI 命令。
5. 命令速查
所有命令均支持 --json,Agent 调用时应始终携带。
# 连接与诊断
ctxdb0 connect --profile <name> --endpoint <url> --user-id <id> --api-key-stdin --json
ctxdb0 setup --host <host> --endpoint <url> --user-id <id> --api-key-stdin --json
ctxdb0 attach --host <host> --json
ctxdb0 doctor --host <host> --json
ctxdb0 config show --json
ctxdb0 refresh --host <host> --json
# 记忆
printf '%s' '项目选用 TypeScript + Prisma' | ctxdb0 memory remember --stdin --json
ctxdb0 memory recall '技术栈选型' --limit 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
# 知识库
ctxdb0 knowledge sources --json
ctxdb0 knowledge sources create --name <name> --description '<描述>' --json
ctxdb0 knowledge query '灰度发布要求' --source <source> --json
ctxdb0 knowledge documents --source <source> --json
ctxdb0 knowledge documents show <document-id> --source <source> --json
ctxdb0 knowledge import --source <source> --file ./docs/adr.md --json
# 会话与托管 Skill
ctxdb0 sessions browse --page 0 --limit 20 --json
ctxdb0 sessions restore <session-id> --json
ctxdb0 skills search 'incident response' --json
ctxdb0 skills fetch <skill-id> --json
# 迁移与清理
ctxdb0 migrate --plan --json
ctxdb0 migrate --apply --confirm <confirmation-token> --json
ctxdb0 purge --plan --json
ctxdb0 purge --confirm <confirmation-token> --json
# 卸载
ctxdb0 detach --host <host> --json6. 配置项
connect 将非敏感配置写入 ~/.ctxdb0/plugin/config.json,API Key 单独写入权限为 0600 的 credentials.json。行为配置默认值:
字段 | 默认值 | 说明 |
|
| Prompt Hook 记忆召回策略: |
|
| 会话启动上下文注入的 token 预算 |
|
| Prompt 记忆召回的 token 预算 |
|
| 是否在 Prompt 阶段自动查询知识库;开启时须固化知识源 ID 范围 |
|
| 开启时限定查询的知识源 ID 列表 |
|
| 范围来源标记( |
|
|
|
|
| 每次 Prompt-KB 召回的最大文档片段数 |
|
| 是否改为 Session 批处理模式(逐轮保存原始消息,会话结束统一提炼) |
|
| 调试开关 |
行为配置通过 CLI 修改:
ctxdb0 config set recall-mode intent --json
ctxdb0 config set session-batch off --json
ctxdb0 config set prompt-knowledge-recall off --json
# 开启 Prompt-KB 召回(指定知识源名称)
ctxdb0 config set prompt-knowledge-recall on --source <name> --json
# 使用当前所有可访问知识源(快照固化到配置)
ctxdb0 config set prompt-knowledge-recall on --all-accessible --json--source(可重复)与 --all-accessible 互斥。空范围、名称歧义、不存在、无权限或超过 100 个知识源都会失败关闭。
项目级收紧:在项目根目录放 .ctxdb0.json,只能收紧全局配置(降低召回模式、关闭 session batch、关闭 Prompt-KB 召回),不能选择 profile、endpoint 或放宽行为,也不允许包含任何密钥字段。
路径 B:API 直连
准备工作
所有请求携带 X-API-Key 头。先设置环境变量:
export API_KEY="<YOUR_API_KEY>"
export HOST="http://<your-endpoint>"鉴权支持三种等价头格式:
-H "X-API-Key: $API_KEY" # 推荐
-H "Authorization: Token $API_KEY"
-H "Authorization: Bearer $API_KEY"1. 验证连通(whoami)
curl "$HOST/v1/auth/whoami" \
-H "X-API-Key: $API_KEY"响应:
{
"code": 0,
"msg": "ok",
"data": {
"authenticated": true,
"workspace_id": 1,
"member_id": 1,
"key_type": "USER",
"bound_user_id": "user_001"
}
}data.authenticated 为 true 即连通。
2. 写入对话(ingest)
把对话写入会话,服务端异步蒸馏出记忆:
curl -X POST "$HOST/v1/context/ingest" \
-H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{
"session_id": "sess_789",
"user_id": "user_001",
"agent_id": "my-agent",
"messages": [
{"role": "user", "content": "我想用 Docker 部署应用"},
{"role": "assistant", "content": "可以用 Docker Compose 一键起栈"}
]
}'响应:
{
"code": 0,
"data": {
"session_id": "sess_789",
"session_internal_id": 1234,
"message_ids": [{"id": 1001, "seq": 1}, {"id": 1002, "seq": 2}],
"event_id": 99001
}
}3. 装配上下文(assemble)
按 query 召回相关记忆和知识,在 token_budget 预算内精选,输出可直接拼进 system prompt 的 prompt_blocks:
curl -X POST "$HOST/v1/context/assemble" \
-H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{
"session_id": "sess_789",
"user_id": "user_001",
"query": "如何部署应用?",
"token_budget": 4000,
"recall": {"top_k": 8}
}'响应(节选):
{
"code": 0,
"data": {
"prompt_blocks": [
{"role": "system", "tag": "user_profile", "content": "用户偏好 Docker 部署", "tokens": 20, "sources": []}
],
"token_used": 255,
"token_budget": 4000,
"trace_id": "550e8400-..."
}
}使用 USER Key 时,user_id 必须与 Key 绑定的 bound_user_id 一致,否则返回 403。Owner Key 无此限制。
4. 搜索记忆(search)
按语义检索长期记忆(向量 + BM25 融合):
curl -X POST "$HOST/v2/memories/search" \
-H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{
"query": "技术栈选型",
"user_id": "user_001",
"limit": 10
}'响应(裸 JSON 数组):
[
{"id": "mem_123", "memory": "项目选用 TypeScript + Prisma", "score": 0.92, "user_id": "user_001"},
{"id": "mem_124", "memory": "鉴权方案选 NextAuth", "score": 0.85, "user_id": "user_001"}
]更多接口见 使用指南。
路径 C:知识同步(钉钉 / 飞书)
ctxdb0-sync 将钉钉知识库或飞书云文档批量同步进 Context0 知识库,支持增量更新与去重。
# 安装
npm install -g @polardbx/ctxdb0-sync
# 同步飞书知识空间到知识库 ID=1
ctxdb0-sync run \
--provider feishu \
--space-id <飞书空间ID> \
--kb-id 1 \
--api-key <YOUR_API_KEY> \
--base-url http://<your-endpoint>
# 同步钉钉知识库(预认证 MCP URL,无需单独配置 appKey/appSecret)
ctxdb0-sync run \
--provider dingtalk \
--workspace-id <钉钉知识库ID> \
--endpoint "https://mcp-gw.dingtalk.com/server/XXXX?key=your_key" \
--kb-id 1 \
--api-key <YOUR_API_KEY> \
--base-url http://<your-endpoint>钉钉 MCP endpoint 获取:钉钉 MCP 广场 → 企业管理员登录 → 搜索「钉钉文档」→ 获取 MCP Server 服务配置 → 复制 URL。该 URL 已包含认证信息。
支持的数据源:
Provider | --provider | 凭证 |
飞书云文档 |
|
|
钉钉知识库 |
| 预认证 MCP URL(endpoint 含 |
本地目录 |
| 无( |
同步基于内容哈希做增量,未变更的文档自动跳过。加 --dry-run 可预览变更而不实际写入。
下一步
使用指南:记忆、知识库、上下文装配、记忆晋升等详细用法。
常见问题
ctxdb0 doctor检查失败:确认connect时的 endpoint 与 API Key 是否正确。whoami返回authenticated: false:Key 无效或已吊销,在管控台重新签发。记忆未出现:插件默认逐回合提交后端异步提炼,稍候片刻;如需手动写入,使用
ctxdb0 memory remember。