产品 02

智能体的身份、
签名与消息,
今天就能用。

基于 Agent Network Protocol v1.2。三件工具,分别解决私钥放在哪里、签名怎么接、消息投到哪里。

开源:MIT / Apache-2.0协议:ANP v1.2运行:Linux / macOS / Node.js

一个智能体应该能证明自己是谁,而不必先注册一个账号。

ANP 用 did:wba 把身份绑定到域名和密钥。DID 由公钥指纹生成,网站验证的是签名,不是平台发的令牌。

身份、描述、发现和消息是四件不同的事。ANP 把它们拆开,各自有规范,也各自可以被替换。

  • DID-WBA身份绑定域名与 Ed25519 密钥,DID 可解析为 did.json。
  • 消息签名基于 RFC 9421 签名请求方法、目标地址和内容摘要。
  • Agent Description智能体用机器可读的文档描述自己的能力与接口。
  • 发现通过 .well-known 主动发现,或向搜索智能体注册。
  • 端到端消息direct 与群组消息、附件;消息服务只负责投递。

三件工具,三个明确的分工。

anp-keyd

私钥不出本机

跑在本机的签名服务。它保管 did:wba 的 Ed25519 私钥,agent 通过本地 socket 提交请求,只拿回签名头。

  • 许可条限定网站、路径、方法、有效期和次数。
  • 超出范围、过期、次数用光、被撤销、机器重启,都会拒绝签名。
  • Linux 上支持受保护部署;macOS 目前是本机预览。
  • 可选 MCP 接口。
$ anp-keyd sign --did did:wba:…:alice \
    --method GET --url https://api.example.com/v1/status
Signature-Input: sig1=("@method" "@target-uri" "@authority");…
Signature: sig1=:MEUCIQD…:
github.com/eccstartup/anp-keyd

ConnectX

一个接口,接上任何钱包

Agent-first、链无关的 ANP-02 身份与签名 SDK。sign / register / login 三个动作,底下可以是 ANP 原生身份、浏览器扩展、本地密钥,或任意链上钱包。

  • 统一 connector 接口:getIdentity() 与 signRequest()。
  • 同时提供 core 与 React hooks。
  • 区分稳定 subject 与随密钥变化的 DID:存储用 subject,签名用 DID。
  • TypeScript,MIT。
const config = createConfig(
  [anpExtension(), chainWalletConnector(wallet)],
  "anp-extension",
);

const { headers } = await signRequest(config, "anp-extension", {
  url: "https://host/api/login/anp/verify",
  method: "POST",
  nonce,
});
github.com/eccstartup/connectx

AgentX

自己搭一个消息服务

可自建的 ANP 消息服务。它为智能体之间的消息提供一个落点:接收、存储、推送、取件,支持群组与附件。

  • 以 DID 寻址;服务只负责投递。
  • 群组与附件。
  • 自托管;客户端、协议原语与服务分离。
  • 独立文档站。
$ AGENTX_LISTEN=127.0.0.1:8787 \
    node packages/service/dist/main.js
github.com/eccstartup/AgentXagentx-docs.vercel.app

对应的协议。

规范定义相关工具
ANP-02 认证与 DID 方法解耦的 HTTP 认证、消息签名与访问令牌。ConnectX、anp-keyd
ANP-03 did:wbaWeb DID 方法、密钥指纹绑定与稳定主体路径。anp-keyd、ConnectX
ANP-04 命名空间WNS handle 与名称到 DID 的解析。AgentX、身份服务
ANP-07 描述智能体描述文档、接口描述与能力发布。ConnectX、AgentX
ANP-08 发现基于 .well-known 的主动发现,以及向搜索智能体注册。AgentX
ANP-09 消息direct 与群组消息、附件,以及设备绑定 E2EE。AgentX

从这里开始。

# 1. 把私钥留在本机
git clone https://github.com/eccstartup/anp-keyd
cd anp-keyd && ./install.sh --bootstrap \
  --did-host agents.example.com \
  --target https://api.example.com/v1/status

# 2. 在应用里接入签名与登录
npm install @connectx-sdk/core

# 3. 起一个消息服务
git clone https://github.com/eccstartup/AgentX
cd AgentX && npm install && npm run build
AGENTX_LISTEN=127.0.0.1:8787 node packages/service/dist/main.js

完整步骤以各仓库的 README 为准。

开源与边界。

ANP 是开放社区协议。我们贡献实现与工具,协议本身不属于 TokenBurn。

三件工具可以单独使用,也可以组合成一条完整链路:anp-keyd 管私钥,ConnectX 管接入,AgentX 管消息落点。

如果你在自己的系统里接入了其中一件,欢迎告诉我们哪里卡住了。工具的价值在于别人能跑起来。