本文是英文版的参考译文,更新于 28/10/2026。如有出入,以英文版为准。标识符、命令和代码块保持原文,不作翻译。
什么是 DCP?¶
Digital Citizenship Protocol(DCP)为 AI 智能体定义了一个可移植的问责层,使任何验证者都能评估:
- 智能体由谁负责(责任委托人绑定),
- 智能体声明了它打算做什么(意图声明),
- 应用了什么策略结果(策略决定),
- 产生了什么可验证的证据(审计轨迹),
- 智能体在整个生命周期中如何被管理(生命周期管理),
- 智能体发生转移或被停用时会发生什么(数字继承),
- 智能体与委托人之间的冲突如何解决(争议解决),
- 哪些权利和义务约束智能体的行为(权利框架),以及
- 权限如何从人类委托给智能体(个人代理)。
DCP 结合密码学签名、哈希链和独立验证,不需要中央验证服务。在 V2 中,RPR、护照、意图和策略决定各自单独签名;审计条目通过已签名清单的承诺进行绑定,而不是逐条签名。
本协议由一个人和一个 AI 智能体共同创建:它是为其所要治理的那种协作而设计的。
架构¶
DCP 分为三个概念层:
DCP Core¶
每个实现都必须支持的最小可互操作协议。Core 定义了构件、它们之间的关系以及验证模型:
- Responsible Principal Binding — 将每个智能体链接到承担责任的自然人或法律实体
- Agent Passport — 智能体的可移植身份、能力和密钥材料
- Intent Declaration — 在行动之前,对智能体打算做什么的结构化声明
- Policy Outcome — 对意图适用的授权决定
- Action Evidence — 以哈希链接、可发现篡改并带 Merkle 证明的审计条目
- Bundle Manifest — 将所有构件绑定在一起以供验证的可移植包
核心规范参见 spec/core/。
配置¶
建立在核心之上、但基本互操作并不需要的扩展和特化:
- Crypto Profile — 算法选择、后量子混合签名、密码学敏捷性、验证器策略(spec/profiles/crypto/)
- Agent-to-Agent (A2A) Profile — 发现、握手、会话管理、传输绑定(spec/profiles/a2a/)
- Governance Profile — 风险等级、司法辖区证明、吊销、密钥恢复、治理仪式(spec/profiles/governance/)
服务¶
支持协议运行、但不属于规范性核心的运营基础设施:
- 验证服务器、锚定服务、透明度日志、吊销注册表
- 这些是部署层面的选择,而不是协议要求
协议规范¶
| 规范 | 标题 | 说明 |
|---|---|---|
| DCP-01 | 身份与人类绑定 | 智能体身份、运营方证明、密钥绑定 |
| DCP-02 | 意图声明与策略管控 | 已声明的意图、安全等级执行、策略评估 |
| DCP-03 | 审计链与透明度 | 以哈希链接的审计条目、Merkle 证明、透明度日志 |
| DCP-04 | 智能体间通信 | 经过认证的智能体间消息、委托、信任链 |
| DCP-05 | 智能体生命周期管理 | 通过状态机执行来启用、监控、衰退和停用智能体 |
| DCP-06 | 数字继承与遗产 | 数字遗嘱、记忆转移、继任者指定 |
| DCP-07 | 冲突解决与争议仲裁 | 争议、升级级别、仲裁、判例 |
| DCP-08 | 权利与义务框架 | 权利声明、义务记录、违规报告 |
| DCP-09 | 个人代理与委托 | 委托书、可一直验证到人类的子委托链、关注阈值、委托人镜像 |
| DCP-AI v2.0 | 后量子规范性规范 | 完整的 v2.0 规范,含混合 PQ 密码学和 4 级安全模型 |
快速开始¶
已发布的软件包。 npm、PyPI、Go 模块和 crates.io 上的当前版本见已发布版本,另见安全升级说明。若要运行仓库的参考 CLI 和源码测试,请构建检出代码:
若要生成并验证证据,请使用选项 B:直接使用 SDK。选项 A 是演示:它包含模拟的 PQ 密钥和未签名的记录。
选项 A:CLI 向导(演示)¶
交互式向导(@dcp-ai/cli)会询问名称、司法辖区、框架和安全等级,并写出
一个 .dcp/ 文件夹,其中包含密钥以及类似 RPR 和类似护照的记录。它只是演示,不是创建 V2 身份的方式:
它的“ML-DSA-65”密钥是模拟的(随机字节),记录没有签名,也不符合 V2 模式。
要创建可以通过验证的身份和 bundle,请按照你所用 SDK 的快速开始操作(选项 B)。限制列在
以下文档中:
智能体创建。
本仓库中的向导需要 @dcp-ai/sdk 2.2.1;使用检出副本时(按上文构建 SDK 之后),请在
你的项目目录中运行它:
cd /path/to/dcp-ai/cli
npm install --no-save --package-lock=false --ignore-scripts --install-links ../sdks/typescript
cd /path/to/your-project && node /path/to/dcp-ai/cli/bin/dcp-ai.js init
更底层的参考 CLI,即检出副本根目录下的 bin/dcp.js,用于脚本和 CI 流水线。它
只在当前目录内读写:
cd /path/to/your-bundles
node /path/to/dcp-ai/bin/dcp.js verify-bundle --policy hybrid_preferred bundle.signed.json
选项 B:直接使用 SDK¶
二选一安装:
- 用于源码开发、从检出代码构建的
mainSDK:
- 或已发布的 SDK 2.2.1,其中包含这些修复和功能:
用 main 当前的 V2 bundle 验证器(签名、哈希、会话绑定、安全
等级)验证已签名的 V2 bundle。它检查主审计链,而不检查可选的 SHA3-256 次级链(参见
双哈希链):
import { readFileSync } from 'node:fs';
import { getDefaultRegistry, registerDefaultProviders, verifySignedBundleV2 } from '@dcp-ai/sdk';
registerDefaultProviders();
const signedBundle = JSON.parse(readFileSync('bundle.signed.json', 'utf8'));
const result = await verifySignedBundleV2(signedBundle, getDefaultRegistry());
console.log(result.verified, result.errors);
已验证的 bundle 证明的是完整性以及由其列出的密钥所做的签名,而不是委托人是谁:要只接受 来自你所信任的委托人的证据,请使用准入。验证和准入都不授权任何 操作。要构建并签署 bundle,请按照 你所用 SDK 的快速开始操作:TypeScript、 Python、Go、 Rust 或 WASM。
安全等级¶
| 等级 | 验证模式 | PQ 检查点 | 典型用途 |
|---|---|---|---|
| Routine | classical_only |
每 50 个事件 | 读取公开数据、信息查询 |
| Standard | hybrid_preferred |
每 10 个事件 | API 访问、智能体的标准操作 |
| Elevated | hybrid_required |
每个事件 | 金融交易、访问个人信息、跨组织委托 |
| Maximum | hybrid_required |
每个事件 | 政府系统、关键基础设施、受监管行业 |
等级根据意图和策略的风险分数为每个操作单独计算(规范 §14.2),验证器执行 其自身模式与该等级模式中较严格者(规范 §14.3)。运营方证明或多方证明、 硬件绑定密钥以及锚定都是部署层面的选择:SDK 在任何等级都不要求也不检查它们。
生态系统¶
graph TB
subgraph sdks["SDKs (5 languages)"]
TS["TypeScript SDK"]
PY["Python SDK"]
GO["Go SDK"]
RS["Rust SDK"]
WA["WASM Module"]
end
subgraph integrations["Integrations (11)"]
EX["Express Middleware"]
FA["FastAPI Middleware"]
LC["LangChain"]
OA["OpenAI"]
CR["CrewAI"]
AGNO["Agno (agno-dcp)"]
OC["OpenClaw Plugin"]
W3C["W3C DID/VC Bridge"]
A2A["Google A2A Bridge"]
MCP["Anthropic MCP Bridge"]
AG["AutoGen Bridge"]
end
subgraph tools["Tooling"]
CLI["CLI Wizard"]
PG["Playground"]
TPL["Templates"]
end
subgraph services["Infrastructure Services"]
VER["Verification Server"]
ANC["Anchoring Service"]
TL["Transparency Log"]
REV["Revocation Service"]
end
subgraph infra["Deployment"]
SOL["Smart Contract L2"]
GH["GitHub Actions"]
DK["Docker Compose"]
end
TS --> EX
TS --> OC
TS --> W3C
TS --> A2A
TS --> MCP
TS --> AG
PY --> FA
PY --> LC
PY --> OA
PY --> CR
RS --> WA
CLI --> TS
TPL --> LC
TPL --> CR
TPL --> OA
TPL --> EX
VER -. "strict-v1 configured source" .-> REV
ANC -. "planned on-chain submission" .-> SOL
DK --> VER
DK --> ANC
DK --> TL
DK --> REV
GH --> VER
SDK¶
用你喜欢的语言创建、签署和验证 Citizenship Bundle。所有 SDK 都支持 DCP v2.0 和后量子混合密码学。
| SDK | 软件包 | 功能 | 文档 |
|---|---|---|---|
| TypeScript | @dcp-ai/sdk |
BundleBuilder、混合 PQ 密码学、JSON Schema 验证、Vitest | sdks/typescript/ |
| Python | dcp-ai |
Pydantic v2 模型、CLI(Typer)、PQ extras、可选插件 | sdks/python/ |
| Go | github.com/dcp-ai-protocol/dcp-ai/sdks/go/v2 |
原生类型、混合签名、bundle 验证 | sdks/go/ |
| Rust | dcp-ai |
serde、ed25519-dalek + fips203/204/205、可选的 WASM 特性 | sdks/rust/ |
| WASM | @dcp-ai/wasm |
浏览器内验证、WebAssembly 中的 PQ 密码学、由 Rust 编译 | sdks/wasm/ |
框架集成¶
为流行的 AI 和 Web 框架提供开箱即用的 DCP 治理。
| 集成 | 软件包 | 模式 | 文档 |
|---|---|---|---|
| Express | dcpVerify() 中间件、req.dcpAgent |
integrations/express/ | |
| FastAPI | DCPVerifyMiddleware、Depends(require_dcp) |
integrations/fastapi/ | |
| LangChain | DCPAgentWrapper、DCPTool、DCPCallback |
integrations/langchain/ | |
| OpenAI | DCPOpenAIClient、DCP_TOOLS 函数调用 |
integrations/openai/ | |
| CrewAI | DCPCrewAgent、DCPCrew 多智能体治理 |
integrations/crewai/ | |
| Agno | DCPAgent、DCPTeam、DCPWorkflow 包装器(单独的软件包) |
agno-dcp 仓库 | |
| OpenClaw | 插件 + SKILL.md,6 个智能体工具 | integrations/openclaw/ | |
| W3C DID/VC | DID 文档与 DCP 身份之间的桥接、VC 签发 | integrations/w3c-did/ | |
| Google A2A | A2A Agent Card 中已签名的 DCP 护照(verifyAgentCardPassport)、任务到意图的映射 |
integrations/google-a2a/ | |
| Anthropic MCP | 每次 MCP 工具调用的已签名 DCP 回执(withDcpReceipt)、DCP 工具和资源 |
integrations/anthropic-mcp/ | |
| AutoGen | AutoGen 智能体与 DCP 之间的包装器、群聊治理 | integrations/autogen/ |
模板¶
面向常见框架的入门演练。它们展示身份、意图、策略、审计日志和 bundle 封装各自所处的位置,
但密钥和签名都是占位符(«generated»、«sig»):它们不生成密钥、不签署任何内容,
其 bundle 也无法通过验证。Express 模板的中间件只检查 bundle 的结构,不检查签名或
准入。要获得真实的密钥、签名和验证,请使用快速开始和
框架集成。
| 模板 | 说明 | 命令 |
|---|---|---|
| LangChain | 包裹在 DCP 流程中的 LangChain.js 调用,签名为占位符 | npm create @dcp-ai/langchain my-app |
| CrewAI | 带 DCP 护照和审计轨迹的多智能体团队模拟,签名为占位符 | npm create @dcp-ai/crewai my-app |
| OpenAI | 用 DCP 意图、策略和审计包裹的 OpenAI 函数调用,签名为占位符 | npm create @dcp-ai/openai my-app |
| Express | 带 DCP 结构检查(不验证签名)和发现端点的 Express 服务器 | npm create @dcp-ai/express my-app |
npm create @dcp-ai/<name> 会运行 @dcp-ai/create-<name> 脚手架,将模板复制到一个新
文件夹中。完整源码参见 templates/。
Playground¶
一个用于探索 DCP 概念的交互式 Web playground:直接在浏览器中创建身份、声明意图、签署 bundle 并验证签名。其密码学运算使用 tweetnacl 和 Web Crypto 在本地运行。它只是演示:其后量子签名是
模拟的,其规范形式和 Merkle 根是简化的,因此它构建出的内容不是证据,
也不一定能通过 SDK 验证器的验证(参见其限制)。
# From the repository root; ES modules require HTTP, not file://
python3 -m http.server 8080 --bind 127.0.0.1 --directory playground
# Open http://localhost:8080 in your browser
详情参见 playground/。
基础设施服务¶
用于锚定、透明度和吊销的后端服务。它们是运营组件,不属于规范性的核心协议。
| 服务 | 端口 | 说明 | 文档 |
|---|---|---|---|
| Verification | 3000 | 用于验证 Signed Bundle 的 HTTP API | server/ |
| Anchoring | 3001 | 将 bundle 哈希按 Merkle 分批并在本地记录;尚未实现上链提交 | services/anchor/ |
| Transparency Log | 3002 | 带包含证明的 CT 风格 Merkle 日志 | services/transparency-log/ |
| Revocation | 3003 | 智能体吊销注册表 + .well-known |
services/revocation/ |
用一条命令部署所有服务:
文档¶
规范性规范¶
| 文档 | 说明 |
|---|---|
| DCP-01 | 身份与人类绑定 |
| DCP-02 | 意图声明与策略管控 |
| DCP-03 | 审计链与透明度 |
| DCP-04 | 智能体间通信 |
| DCP-05 | 智能体生命周期管理 |
| DCP-06 | 数字继承与遗产 |
| DCP-07 | 冲突解决与争议仲裁 |
| DCP-08 | 权利与义务框架 |
| DCP-09 | 个人代理与委托 |
| DCP-AI v2.0 | 后量子规范性规范 |
| BUNDLE | Citizenship Bundle 格式 |
| VERIFICATION | 验证流程与检查清单 |
| CANONICALIZATION_PROFILE | 所有签名和哈希所依据的规范 JSON 配置 dcp-jcs-v1 |
| DCP Core | 核心协议的编辑性规范 |
| Profiles | 可选配置:密码学、A2A、治理和准入(strict-v1) |
入门¶
| 指南 | 说明 |
|---|---|
| QUICKSTART | 通用快速开始指南 |
| QUICKSTART_LANGCHAIN | LangChain 集成演练 |
| QUICKSTART_CREWAI | CrewAI 多智能体设置 |
| QUICKSTART_AGNO | 使用 agno-dcp 的 Agno 智能体、团队和工作流(在线演示) |
| QUICKSTART_OPENAI | OpenAI 函数调用集成 |
| QUICKSTART_EXPRESS | Express 中间件设置 |
API 参考¶
| 文档 | 说明 |
|---|---|
| OpenAPI Spec | REST API(OpenAPI 3.1) |
| Protocol Buffers | gRPC 服务定义 |
| API README | API 概览和用法 |
架构与安全¶
| 文档 | 说明 |
|---|---|
| TECHNICAL_ARCHITECTURE | 面向全球规模部署的系统架构 |
| SECURITY_MODEL | 威胁模型、攻击向量、防护层 |
| STORAGE_AND_ANCHORING | P2P 存储、可选的区块链锚定 |
| ARCHITECTURE | 面向贡献者的仓库地图 |
测试与保证¶
| 工具 | 说明 |
|---|---|
| Interop matrix | 运行在四个 SDK(以及参考验证器)上的智能体相互创建、签署并验证彼此的 citizenship bundle,包括原样的和在传输中被篡改的 |
| Differential fuzzer | 让同一个经过变异的已签名 bundle 通过四个 SDK 的验证器;任何分歧都是一项发现 |
| Shared vectors | 每个 SDK 都必须以相同方式接受或拒绝的 bundle、委托书链和攻击用例 |
指南¶
| 指南 | 说明 |
|---|---|
| AGENT_CREATION_AND_CERTIFICATION | P2P 智能体创建流程、DCP 认证 |
| OPERATOR_GUIDE | 运行验证服务 |
| MIGRATION_V1_V2 | 从 DCP v1.0 迁移到 v2.0 |
| ADMISSION | 只接受来自受信任委托人的 bundle,可选择在 strict-v1 下进行 |
| OBSERVABILITY | 来自 SDK 的 OpenTelemetry 追踪和指标 |
提案(实验性,非规范性)¶
| 文档 | 说明 |
|---|---|
规范化候选 dcp-jcs-v2 |
默认不启用的实验性候选配置、其设计以及选择加入式 SDK API;dcp-jcs-v1 仍是默认且唯一的规范性规范化配置 |
标准对齐¶
| 文档 | 说明 |
|---|---|
| NIST_CONFORMITY | 对 NIST 后量子密码学的符合性 |
| EU_AI_ACT_MAPPING | 将欧盟《人工智能法》的日志记录、人工监督和记录保存义务映射到 DCP 构件 |
| ROADMAP | 项目演进路线图 |
社区¶
| 文档 | 说明 |
|---|---|
| EARLY_ADOPTERS | 早期采用者计划和案例研究 |
| CONTRIBUTING | 贡献指南 |
| GOVERNANCE | 项目治理模式 |
愿景¶
| 文档 | 说明 |
|---|---|
| GENESIS_PAPER | 创始白皮书 |
密码算法¶
DCP v2.0 采用混合密码架构以实现抗量子安全。算法选择和密码学敏捷性由 Crypto Profile 规定。
此表描述协议设计。SDK 不执行 X25519 + ML-KEM-768 的组合交换;A2A 会话密钥由调用方提供。自 @dcp-ai/sdk 2.2.1、@dcp-ai/wasm 2.1.1、dcp-ai 2.10.1(PyPI)、Go v2.11.1 和 Rust dcp-ai 2.11.1 起,V2 验证器会检查存在的可选次级审计链链接和次级 Merkle 根;更早的版本不检查(双哈希链)。实现限制参见 NIST 符合性和安全模型。
| 算法 | 标准 | 用途 |
|---|---|---|
| Ed25519 | RFC 8032 | 经典数字签名 |
| ML-DSA-65 | FIPS 204 | 后量子数字签名(Dilithium) |
| ML-KEM-768 | FIPS 203 | 后量子密钥封装机制(Kyber) |
| SLH-DSA-192f | FIPS 205 | 基于哈希的备用签名(SPHINCS+) |
| X25519 + ML-KEM-768 | 混合 | 经典 + PQ 组合的密钥交换 |
| SHA-256 + SHA3-256 | FIPS 180-4 / FIPS 202 | 用于审计完整性的双哈希链 |
仓库结构¶
dcp-ai/
├── spec/ # Normative specifications (DCP-01 through DCP-09, v2.0)
│ ├── core/ # DCP Core editorial specification
│ └── profiles/ # Profile specifications (crypto, a2a, governance, admission)
├── schemas/ # JSON Schemas (draft 2020-12, v2 includes DCP-05–09)
├── tools/ # Validation, conformance, crypto + Merkle helpers
│ ├── interop-matrix/ # Live interoperability between agents on the four SDKs
│ ├── difffuzz/ # Differential fuzzer of the four V2 verifiers
│ └── canonicalization-lab/ # Design model of the dcp-jcs-v2 candidate
├── tests/ # Conformance tests, fixtures, interop vectors (tests/interop/candidate: experimental)
├── bin/dcp.js # Reference CLI
├── cli/ # Interactive CLI wizard (@dcp-ai/cli)
├── sdks/
│ ├── typescript/ # TypeScript SDK (@dcp-ai/sdk)
│ ├── python/ # Python SDK (dcp-ai)
│ ├── go/ # Go SDK
│ ├── rust/ # Rust SDK (dcp-ai)
│ └── wasm/ # WASM module (@dcp-ai/wasm)
├── integrations/
│ ├── express/ # Express middleware
│ ├── fastapi/ # FastAPI middleware
│ ├── langchain/ # LangChain integration
│ ├── openai/ # OpenAI integration
│ ├── crewai/ # CrewAI integration
│ ├── openclaw/ # OpenClaw plugin
│ ├── w3c-did/ # W3C DID/VC bridge
│ ├── google-a2a/ # Google A2A bridge
│ ├── anthropic-mcp/ # Anthropic MCP bridge
│ └── autogen/ # Microsoft AutoGen bridge
├── templates/ # Framework templates (langchain, crewai, openai, express)
├── packages/create-*/ # npm create @dcp-ai/<name> scaffolders
├── playground/ # Web-based interactive playground
├── server/ # Reference verification server
├── services/
│ ├── anchor/ # Blockchain anchoring service
│ ├── transparency-log/ # CT-style Merkle transparency log
│ └── revocation/ # Agent revocation registry
├── contracts/ethereum/ # DCPAnchor.sol for EVM L2
├── docker/ # Docker Compose + multi-stage Dockerfile
├── api/ # OpenAPI 3.1 + Protocol Buffers (gRPC)
├── docs/ # Guides, architecture, standards alignment; docs/proposals: experimental designs
└── .github/ # CI/CD workflows + reusable GitHub Actions
开发¶
# Build the workspace SDK first: the root uses it to test the checked-out source
(cd sdks/typescript && npm install && npm run build)
# Install dependencies
npm install
# Run tests
npm test
# Run protocol conformance suite
npm run conformance
# Cross-SDK checks (build sdks/typescript first; needs Python, Go and Rust)
node tools/interop-matrix/run.mjs
node tools/difffuzz/run.mjs
# Start verification server (port 3000)
npm run server
参与贡献¶
我们欢迎来自人类和 AI 智能体的贡献。
引用¶
如果你在研究中使用 DCP-AI,请同时引用论文(概念框架)和软件版本(你所使用的具体实现)。
论文
Naranjo Emparanza, D. (2026). Agents Don't Need a Better Brain — They Need a World: Toward a Digital Citizenship Protocol for Autonomous AI Systems. Zenodo. https://doi.org/10.5281/zenodo.19040913
软件
请引用你所使用的版本。概念 DOI 10.5281/zenodo.19656025
解析到最新的存档版本;v2.0.2 版本有它自己的 DOI:
Naranjo Emparanza, D. (2026). DCP-AI v2.0.2 — Digital Citizenship Protocol for AI Agents (Reference Implementation). Zenodo. https://doi.org/10.5281/zenodo.19656026
机器可读格式参见 CITATION.cff。