关于 chp
chp 定义了 Capability Host Protocol,用于治理 Agent 和工具的执行并记录证据。它支持回放和验证受治理的操作,并与 MCP 等协议配合,而非取而代之。
主要功能
- 01能力与主机描述
- 02在执行边界实施治理
- 03关联且防篡改的证据
- 04按关联 ID 回放
- 05Python 与 TypeScript 实现
适用场景
- 01审计编码 Agent 执行的操作
- 02查看能力调用被拒绝的原因
- 03回放已记录的执行过程
- 04治理来自 MCP 的调用
MCP 相关
MCP 向 AI 应用提供工具和上下文,CHP 则治理并记录能力执行。MCP 调用可作为 CHP 治理和留证的操作来源。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://capabilityhostprotocol.com/api/mcpclaude mcp add --transport http capabilityhostprotocol-chp https://capabilityhostprotocol.com/api/mcp{"mcpServers":{"capabilityhostprotocol-chp":{"type":"http","url":"https://capabilityhostprotocol.com/api/mcp"}}}在 Cursor 中打开{"servers":{"capabilityhostprotocol-chp":{"type":"http","url":"https://capabilityhostprotocol.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"capabilityhostprotocol-chp":{"type":"http","url":"https://capabilityhostprotocol.com/api/mcp"}}}{"mcpServers":{"capabilityhostprotocol-chp":{"serverUrl":"https://capabilityhostprotocol.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Capability Host Protocol
CHP 是一项开源协议,用于声明、治理并证明 Agent、工具和系统的行为——它是一个统一的签名平面,让人工审批、Agent 操作和系统调用成为同一个受治理、防篡改且可重放的事件。
核心理念很简单:
查看 Agent 和工具实际做了什么,以及这些行为受到怎样的治理。
两分钟快速体验
你的编码 Agent 会读取文件、运行命令、调用工具。无需更改应用代码,即可在操作发生处建立受治理的边界:
pip install chp-core
chp hooks install # hooks Claude Code
chp hooks install --all-harnesses # ...or Claude Code + Codex + Gemini CLI
像往常一样使用 Agent,然后查看它做了什么:
chp session list
chp session tree <session_id>
每次工具调用都是一个类型化证据事件,采用哈希链链接并存储在本地的 ~/.chp/evidence.sqlite 中。拒绝调用会作为一等事件记录,并附带原因代码,而不是被吞掉的异常。证据链具有防篡改性,因此,即使没有运行 Agent 的人也能判断记录是否完整。
想直接驱动协议?chp serve-demo 会启动一个受治理的主机,并打印一条可直接复制粘贴的首次调用命令。
完整指南: docs/quickstart.md · 存在的原因: docs/why-chp.md · 文档网站: docs.capabilityhostprotocol.com
你将获得什么
可以按关联 ID 重放记录,而记录回答的不只是“发生了什么”——参见 examples/agent-operations-demo/:
[
{"sequence": 1, "event_type": "execution_started", "capability_id": "trace_execution", "outcome": null},
{"sequence": 3, "event_type": "execution_completed", "capability_id": "trace_execution", "outcome": "success"},
{"sequence": 7, "event_type": "execution_started", "capability_id": "tool.add", "outcome": null},
{"sequence": 12, "event_type": "execution_started", "capability_id": "tool.multiply", "outcome": null},
{"sequence": 13, "event_type": "execution_completed", "capability_id": "tool.multiply", "outcome": "success"}
]
你还可以询问某项策略对已经发生的运行本来会如何处理:
{
"invariant": {"id": "deny_multiply_tool", "kind": "capability_id_matches"},
"would_have_denied": true,
"violating_events": [{"capability_id": "tool.multiply", "event_type": "execution_started"}]
}
为什么是协议,而不是库
CHP 不是另一个 Agent 框架、工具协议或工作流引擎。它是能力边界上的受治理证据平面:运行了什么,以及对其进行了怎样的治理(策略、风险级别、安全检查、人工审批、自主预算、拒绝),都会写入同一条签名且关联的记录。可观测性工具会将执行拆分到彼此独立、可选且未签名的信号中,也不包含治理信息;CHP 则将两者统一起来并予以证明。
状态: CHP 目前处于 1.0 之前的候选发布版(v0.9.3)——线协议表面已冻结且仅支持增量扩展,并由两个通过一致性测试的独立实现(Python + TypeScript)提供支持。chp-core 已发布到 PyPI。
CHP 定义的内容
- 能力描述符
- 主机描述符
- 调用信封
- 关联上下文
- 结构化执行证据
- 结果、错误和拒绝语义
- 重放查询和结果
- 按关联 ID 重放
- 最低一致性要求
安装
pip install chp-core # zero runtime dependencies
pip install 'chp-core[schema]' # enforce declared input_schema
pip install 'chp-core[signing]' # ed25519 — signed hosts, bundles, mandates
npm install @capabilityhostprotocol/sdk # TypeScript client + verifier (alpha)
chp host verify 会在不到一秒内对安装进行冒烟测试,并报告是否强制执行输入模式验证。
从此检出版本安装:python -m pip install -e packages/python。
最小能力
from chp_core import LocalCapabilityHost, capability
host = LocalCapabilityHost("example-host")
@capability(
id="math.add",
version="1.0.0",
description="Add two numbers.",
)
def add(a: int, b: int):
return {"sum": a + b}
host.register(add)
result = host.invoke(
"math.add",
{"a": 2, "b": 3},
correlation_id="demo-correlation",
)
print(result.outcome) # "success"
print(result.data) # {"sum": 5}
for event in host.replay("demo-correlation"):
print(event.event_type) # execution_started, execution_completed
主机会为该调用发出 execution_started 和 execution_completed 证据。如果执行失败,则会发出 execution_failed。如果主机拒绝调用,则会发出 execution_denied。
仓库结构
spec/README.md:规范索引——核心(v0.1)、治理词汇、调用流水线、HTTP 绑定、证据完整性与锚点(v0.2)、保留名称、测试向量、变更日志、提案流程schemas/:协议对象的 JSON Schemaspackages/python/chp_core/:参考宿主(Python)packages/chp-sdk/+packages/chp-host-ts/:第二种实现(TypeScript)examples/capability-host-endpoint-demo/:通过 HTTP 提供服务的宿主演示examples/agent-operations-demo/:Agent/工具可观测性演示examples/codex-self-observation-demo/:Codex 自用演示examples/mcp-bridge-demo/:实验性 MCP 风格桥接原型conformance/:一致性测试运行器docs/quickstart.md:安装、首次运行、服务、网格docs/why-chp.md:问题与核心论点docs/adapter-authoring.md:编写自己的能力适配器docs/production-runbook.md:运维、备份/恢复、密钥泄露docs/comparisons/chp-vs-mcp.md:CHP 与 MCP 的精确比较docs/comparisons/chp-and-opentelemetry.md:与 OpenTelemetry 的对齐说明docs/comparisons/landscape.md:相邻框架比较docs/security/threat-model-v0.1.md:v0.1 威胁模型
生产就绪情况
参考实现已针对生产运行进行加固:WAL 多写入者安全与热备份(chp store backup --verify)、SIGTERM 排空(退出前完成正在进行的工作)、失败时明确报错的身份验证标志(CHP_HOST_REQUIRE_AUTH=1)、定期保留策略,以及运维指标(存储大小、见证循环存活状态、撤销计数、内部错误)。运维、备份/恢复、滚动升级和密钥泄露操作手册:
docs/production-runbook.md。漏洞报告:SECURITY.md。
CHP 与 MCP
MCP 向 AI 应用提供工具和上下文。CHP 则治理能力的执行并为其提供证据。
二者可以配合使用。MCP 可以作为能力调用的来源,而 CHP 在执行边界添加关联、重放、证据、拒绝语义和治理。
了解更多:docs/comparisons/chp-vs-mcp.md。
贡献
请先阅读 CONTRIBUTING.md。在提交拉取请求前,有一点需要了解:此仓库是私有开发仓库的自动生成镜像。CI 会拒绝来自非 sync/* 分支、且修改了 packages/、docs/、spec/、schemas/ 或 examples/ 的拉取请求,因此针对这些路径提交的代码 PR 无论质量多高,都会必然失败。
这不是敷衍——这是我们的发布模式。我们宁愿提前说明,也不愿让你在看到检查变红后才发现。如今,提交问题、规范提案、比较内容和参与讨论是最有效的参与方式;请提交问题,我们会通过内部流程处理相关变更并注明贡献者。
开源边界
开源内容应包括本地可见性:
- 规范和 schemas
- 本地主机
- SDK 基础组件
- 一致性测试
- 本地重放
- Agent 可观测性包装器
- 实验性 MCP 桥接原型
商业价值可以保留在生产级信任能力上:
- 托管能力图
- 多宿主跟踪拼接
- 数据保留
- 团队工作区
- 高级解释
- 不变量库
- 保障推导
- 合规性导出
- 企业身份与 RBAC
指导原则:
本地可见性应免费。生产级信任应付费。
许可证
CHP 按资产采用双重许可:
- 代码(
packages/、conformance/、examples/、scripts/):Apache License 2.0 — 详见LICENSE。 - 规范、架构和文档(
spec/、schemas/、docs/):Creative Commons Attribution 4.0(CC BY 4.0)— 详见LICENSE-DOCS。实施该规范还受到免版税专利授权的保护 — 详见PATENTS。 - 商标:“CHP”和“CHP-Certified” — 详见
TRADEMARK.md。
我们依据贡献者许可协议接受贡献;详见 CONTRIBUTING.md。
版权所有 © 2026 Project Auxo, Inc. 详见 NOTICE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。