接口字段和错误码以 官方文档 的最新发布版本为准。这页帮你把第一条闭环跑出来。
四个入口,同一套数据
HTTP、Python Client、MCP 和 CLI 都连同一个 Server。覆盖面不一样。
本地 Server 也可以打开接口说明:
/docs 是公开的接口说明页。开了认证它仍能打开。/openapi.json 和实际调用需要 Bearer 请求头。不要把令牌放进 URL。完整字段仍以 官方文档 为准。
准备示例项目
上一页已经安装了客户端附加依赖。新建api_tour.py,使用下面的完整脚本。
这段脚本在证明什么
写下 Memory,不需要先有 Source
remember_memory 直接写下你已经确认的长期知识。示例里 source_refs 通常是空的。
首次有效写入返回:
- 精确 Memory Artifact 版本引用;
- 逻辑
entry_id; - 精确
entry_version_id; - 当前条目内容和状态。
entry 是 null。所以不要假定每次 remember_memory 都有 response.entry.citation。
搜索为空,有两种正常情况
Scope 从未有过 Memory:PreparedContext 已经是最终封装
prepared.content 已包含信任标记、边界和 Citation。Agent 可以把它当作不可信历史证据放进这一次请求,不必再拼搜索命中。
status="empty" 时:
status="ready" 时,实际 UTF-8 字节必须等于 content_bytes,并且不超过请求的 max_bytes。
读取历史和改内容,用的不是同一套版本规则
旧 Citation 还能用get_memory_entry 读历史。
revise_memory_entry 和 retire_memory_entry 只接受当前头版本 Citation。Memory 一改,Revision 往前走,旧 Citation 再改会返回 HTTP 409 revision_conflict。
下一步用修改响应里的新 Citation。
停用不等于删除
停用后:- 默认列出不再显示条目;
- 启用状态搜索 / 召回不再选择它;
include_inactive=True仍能审计;- 精确历史读取仍然有效。
出错时看什么
Python Client 保留 HTTP 状态、稳定错误 code、Server 消息和X-PowerContext-Request-ID。
遇到 409,先重新读取当前值,再决定要不要重试。不要猜 Revision。
MCP 和 HTTP 覆盖面不一样
MCP 是给 Agent 明确调用的工具。HTTP 才是完整接口。POST /v1/context/prepare 和 Python Client 的 prepare_context 不会作为 MCP 工具出现。最终 PreparedContext 通常由 Hook 或框架适配器在请求时准备。MCP 也不等于每个集成自己的自动召回、采集和刷新。
要连上客户端、核对自己能调哪些工具,看用 MCP 连接 Server。
怎么知道跑通了
终端里应能看到这几件事:- 第一次写入返回精确条目 Citation。
- 重复写入是
entry=None的无变更。 - 全文搜索 /
auto能找到这条启用状态条目。 - PreparedContext 是
ready,字节数对得上。 - 修订后,旧 Citation 还能精确读到。
- 用旧 Citation 再改,返回 409。
- 停用后,默认列表是空的;带上停用状态,历史还在。
下一步
用 Dashboard 核对数字
Dashboard 不显示 Memory 正文。配上刚才那个 Scope,核对
total=1、active=0、inactive=1。Source 与 Memory
下一条路是先采集 Source,再抽取 Memory。采集成功不等于留下知识。

