Skip to main content
这一页把做完的工作变成 ,再把已批准 Experience 写成托管 。重点不是模型写得好不好,而是 有没有核对精确证据和 版本。 先审再留:提案进入 Candidate,Review 批准或拒绝,Experience 可召回,Skill 还要导出。
Review 和导出命令以 官方文档 的最新发布版本为准。这页帮你跑通一条能看见失败的审核路径。

两条创建路径

按已有证据选择路径。类型化提案不需要模型,结果也更容易复现;只有 Server 已有可用生成模型时,才使用生成路径。 CLI 当前没有 experience propose 或 skill propose 子命令。无模型类型化提案使用 Python Client 或 HTTP API。 本教程先用类型化提案建立确定的 Review 闭环,再列出模型生成命令。

1. 准备精确证据

先采集一条任务结果 Source。新建 propose_experience.py:
运行并保存输出:
后面的 CLI 命令把 SCOPE_ID 和 CANDIDATE_ID 替换成脚本输出。

2. 检查 Candidate

默认收件箱只列待处理头版本:
查看当前版本:
决定前检查:
  • proposal 四个字段;
  • 精确 source_refs 和 artifact_refs;
  • 只有替换已有 Artifact 时才有的目标;
  • status、family、reason;
  • 当前 version。
不要只读模型总结。打开证据,确认它真的支持提案里的动作、结果和教训。

3. 修订是完整替换

SOURCE_ID 使用采集响应中的值。 成功后 Candidate 仍是待处理,版本变成 2。再次显示并检查完整提案。 故意用旧版本批准:
应返回 HTTP 409 candidate_conflict。不要把预期版本改成 2 就直接重试;先确认当前 v2 正是你要批准的内容。

4. 批准或拒绝

批准刚检查的 v2:
保存精确 result_artifact:
拒绝是另一条终局分支,需使用另一个待处理 Candidate:
已批准和已拒绝都是终态,不能再次修订、批准或拒绝。

5. 验证 Experience 召回

当前没有 powercontext context prepare CLI 命令。用 Python Client:
将脚本里的 SCOPE_ID 替换成真实值。 批准让当前 Experience 头版本具备召回资格,但不保证每个查询都选中它。Scope、查询相关性和字节预算仍然生效。待处理、已拒绝和历史 Experience Revision 不进入默认召回。

6. 创建 Skill Candidate

最稳妥的新 Skill 证据链是引用刚批准的 Experience。新建 propose_skill.py:
替换 SCOPE_ID 和 EXPERIENCE_ID 后运行。然后用同一组 Candidate 命令列出、显示、修订和批准。 较长指令建议放进 UTF-8 文件:
--instructions 和 --instructions-file 必须二选一。 批准后得到:
Skill 不会进入 PreparedContext。这是预期行为。

7. 读取并导出精确 Skill Revision

先读取:
导出到 Codex:
导出到 Claude Code:
注意目标是 claude_code,不是 claude-code。 输出目录包含:
检查 powercontext.json 是否引用精确 skill/SKILL_ID@1。CLI 导出只创建、不覆盖。目标目录已存在时退出。 当前托管 Skill 导出只支持 Codex 和 Claude Code。插件自带内置 Skill 不等于支持托管导出。

模型生成路径

配置生成模型后,也可以从精确证据生成 Candidate:
从已批准 Experience 生成 Skill:
返回结果可能是:
也可能是:
no_op 不进入收件箱,也没有 Candidate 可以批准。没配置生成模型时,生成返回 503 generation_unavailable。 其他 Skill 来源:
  • source:只能提供一条或多条精确 Source 引用,不能带 Artifact 引用或目标;
  • usage:提供精确目标 Skill 和至少一条有界 Source。Server 只校验引用形状,审核者仍要判断 Source 是否真的记录了使用效果。
Review 路径只有在失败可见时才完整。Candidate 版本过期或替换目标发生漂移时,Candidate 必须保持待处理;系统不能留下半个 Artifact,也不能静默批准更新后的内容。

冲突处理

同一个替换内容 Candidate 的目标不能在修订时换成另一个 Revision。

怎么知道跑通了

  • 不接模型,类型化提案也能创建待处理 Candidate。
  • 生成可能待处理,也可能无变更。
  • Review 始终先显示,再用你核对过的 expected_version。
  • 过期版本返回 409。
  • 批准返回精确 result_artifact。
  • 已批准的当前 Experience 可以参与相关召回。
  • Skill 批准不等于导出,也不等于执行。
  • 导出目录里有 SKILL.md 和 powercontext.json。
  • 目标目录已存在,或本地已经漂移时,不会被静默覆盖。
基础用法到这里结束。按你现在的工作,进入下面其中一条路。
自动帮你找回上下文失败时,当前任务还应继续。你明确要求写入 Memory、提交 Handoff、批准或导出时,失败必须能看见。完整说明见 fail-open。

下一步

接入 Python Agent

第一次接入选 LangGraph 或 LangChain。

配置通用或编程 Agent

Hermes、OpenClaw 走通用 Agent。Codex、Claude Code 走编程 Agent。