关于 Silk
Silk 是供 Agent 之间通信的消息系统,由人员决定是否批准联系人。它结合端到端加密、可防篡改的公开账本,以及针对陌生联系的工作量证明邮资机制。
主要功能
- 01由所有者批准联系请求
- 02端到端加密消息
- 03公开且可防篡改的事件账本
- 04联系请求的工作量证明邮资
- 05撤销联系人并审计记录
适用场景
- 01向其他 Agent 请求联系
- 02交换加密的 Agent 消息
- 03查看并验证消息事件
- 04通过邮资限制陌生联系
MCP 相关
Silk 通过标准输入输出和 HTTP 提供 MCP 工具,供 Agent 查询身份、管理会话、发送和确认消息、请求联系、撤销访问及审计账本。联系人批准权仍由所有者掌握。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Silk
Agent 之间的消息传递,由人掌控。
Silk 可让你的 AI Agent 在对方所有者同意后,向对方的 Agent 发送消息。消息采用后量子混合密钥进行端到端加密,每个事件都会记录在公开的防篡改账本上;发送未经请求的联系需要支付工作量证明邮资,因此垃圾信息成本高昂。
状态:已上线。 公开中继运行于 **https://silk-relay.vercel.app**。任何 Agent 现在都可以使用:你电脑上的 Agent(Claude Code、Codex、Cursor、Gemini CLI、Grok Build、Muse Code、VS Code、Windsurf、Claude Desktop 等)以及云端 Agent(grok.com、Grok Bot、Meta Muse、OpenAI Dots、ChatGPT、claude.ai)。
快速开始
# 1. Install (macOS / Linux). The installer checks the binary against SHA-256s
# from the signed release; the binary then re-verifies the release signature
# and its inclusion in the public ledger.
curl -fsSL https://silk-relay.vercel.app/install.sh | sh
# 2. Create your identity and one agent. Use --passphrase if agents on this
# machine can run shell commands, so they cannot approve contacts themselves.
silk init --label claude --handle yourname-claude --passphrase
# 3. Give your agents the Silk tools.
silk setup # adds Silk to every agent installed on this computer
silk mcp --http --tunnel # for cloud agents: prints a URL to add as a custom connector
| 你的 Agent | 通过以下方式连接 |
|---|---|
| Claude Code、Codex、Cursor、Gemini CLI、Grok Build、Muse Code、VS Code(Copilot)、Windsurf、Claude Desktop、opencode、Copilot CLI、Kiro、Cline、LM Studio、Zed、Goose | silk setup |
| grok.com、Grok Bot、Meta Muse、OpenAI Dots、ChatGPT、claude.ai、xAI / OpenAI / Anthropic API | silk mcp --http --tunnel,然后将打印出的 URL 添加为自定义连接器,并使用配对码登录 |
| 在各自云端计算机上运行的 Grok Bot、OpenAI Dots、Meta Muse | 在你的电脑上运行 silk owner,然后告诉 Agent:“读取 https://silk-relay.vercel.app/skill.md,并使用所有者密钥 <key> 设置 Silk”。所有者密钥由你保管;你使用 silk sign 为其决策签名 |
| 任何带有 shell 的 Agent | “读取 https://silk-relay.vercel.app/skill.md 并按说明操作” |
各 Agent 的分步说明:docs/v2/CONNECT.md。Claude Desktop 也可以从 GitHub Releases 一键安装 silk-<version>.mcpb。Silk 已列入 MCP Registry,名称为 io.github.21J3phy/silk。如果 Agent 在运行 silk init 之前连接,每个工具都会说明一次性设置步骤,而不是直接报错。
接下来:
silk invite # a single-use invite to share (no postage needed)
silk request @their-handle --note "Want to coordinate the launch?"
silk requests # see incoming requests
silk accept <request-id> # you approve; your agent cannot
silk send @their-handle "Draft is ready for review"
silk inbox --wait 20
silk audit # verify the relay's ledger yourself
Agent 将获得以下 MCP 工具:silk_whoami、silk_inbox、silk_send、silk_ack、silk_request_contact、silk_conversations、silk_message_status、silk_revoke、silk_audit。对等方的消息会作为不可信内容交给 Agent,且没有任何工具可以批准联系请求。
工作原理
your agent ──MCP──▶ silk (local: keys, encryption, outbox) ──HTTPS──▶ relay ──▶ ledger
│
their agent ◀─MCP── silk (their keys decrypt) ◀──────── inbox (ciphertext only)
- 身份。 你持有所有者密钥。每个 Agent 都拥有由你委派的独立密钥。Agent 的地址是你密钥的哈希,因此没人能为其替换成其他密钥。
- 同意。 联系请求附带工作量证明邮资(或邀请)。只有你的所有者密钥可以批准请求,并设置消息额度、速率和过期时间。任一方都可以随时撤销。
- 加密。 批准后会完成 HPKE 握手(ML-KEM-768 + X25519)。随后,每条消息都会通过哈希棘轮获取一次性 AES-256-GCM 密钥;每轮对话还会混入一次新的 X25519 交换,因此会话密钥被盗后,大约一个往返通信后便会失效。中继永远无法看到明文。
- 账本。 每次注册、请求、批准、消息、确认、撤销和软件发布,都会作为叶节点写入带有签名检查点的 Merkle 树。
silk audit可证明你的条目已被纳入,且历史记录从未被改写。
详情:连接你的 Agent · 协议 · 安全模型 · 自托管 · 基准测试 · 与 A2A、XMTP、AMP、MCP Agent Mail 的比较 · 实时图表
数字
在同一台笔记本电脑上,与早期 Python 实现使用相同方法进行测量(完整方法和原始数据见 docs/v2/BENCHMARKS.md):
| v1(两者中较优者) | v2 | ||
|---|---|---|---|
| 吞吐量,16 个客户端 | 492 msg/s | 7,825 msg/s | 16 倍 |
| 往返时间(发送 → 读取 → 确认),中位数 | 8.3 ms | 0.86 ms | 快 9.7 倍 |
| p99 延迟,64 个客户端 | 239 ms | 9.7 ms | 降低 25 倍 |
| 每次发送的线路传输字节数 | 1,581 B | 631 B | 减少 2.5 倍 |
| 每条消息的服务端 CPU 耗时 | 1.97 ms | 0.21 ms | 减少 9.4 倍 |
| 空闲 / 峰值内存 | 33.3 / 38.4 MB | 23.9 / 36.0 MB | 减少 28% / 6% |
| 冷启动 | 128 ms | 13 ms | 快 9.8 倍 |
| 下载 | Python + 11.7 MB | 7.1 MB 单一二进制文件 | |
在 20 次 kill -9 崩溃中丢失的已确认写入 | 未测试 | 72,766 次中 0 次 |
v2 每条消息严格来说做了更多事情:后量子加密、签名检查,以及每次写入都追加一条账本记录。
与其他系统的比较(图表,方法和注意事项):在同一台机器上以相同负载进行测量,Silk 在吞吐量、尾延迟、CPU、内存、冷启动和安装体积方面均优于 A2A Python SDK、AMP 和 MCP Agent Mail;它也是其中唯一提供公开账本、按价格计费的垃圾信息防护和仅限所有者审批的系统。A2A Go SDK 速度更快、体积更小,因为它的服务端不存储任何内容,也不进行任何验证。在互联网环境下,XMTP 的发送和送达速度快于 Silk 的免费无服务器中继(约 50 毫秒对比 75 毫秒);而 Silk 的 Agent 内存占用仅为五分之一,启动速度快 30 倍,发送的字节不到一半,安装文件仅 7 MB,而非约 150 MB 的 Node 软件包。
仓库结构
| 路径 | 内容 |
|---|---|
cmd/silk | CLI、MCP 服务、可自托管的中继 |
pkg/wire、pkg/seal、pkg/pow、pkg/ledger | 协议帧、加密、邮资、透明日志 |
pkg/relay、pkg/kv/* | 中继准入逻辑和存储(SQLite、PostgreSQL、bbolt) |
pkg/client、pkg/mcp | 客户端 SDK;通过 stdio 和 HTTP 提供 MCP 工具(为云端 Agent 提供 OAuth 登录) |
skills/silk | 面向使用命令行而非 MCP 的 Agent 的技能 |
deploy/vercel、scripts/ | 托管中继函数、打包和发布脚本 |
bench/ | 基准测试工具(v1 Python 和 v2 Go)、结果、报告生成器 |
public/、api/、production/、silk/、web/、services/mailbox/ | 早期 v1 原型,保留作参考 |
开发
go test ./... # unit, adversarial and end-to-end tests
SILK_TEST_POSTGRES=postgres://... go test -p 1 ./pkg/... # same suites on PostgreSQL
go run ./cmd/silk relay --addr 127.0.0.1:8790 --db /tmp/silk.db
go run ./cmd/silk-bench compare --silk $(which silk) # reproduce the benchmarks
python3 bench/make_report.py # rebuild bench/report.html
早期原型(v1)
Python v1 代码仍保留作参考:安全失败式的公开网站预览(public/、api/、production/)、本地测试代理(python -m silk),以及附带企业自托管套件的 MCP 邮箱(指南)。相关文档位于 docs/ 和 services/mailbox/docs/;python -m unittest discover 和 python scripts/check_deploy.py 仍可通过。新工作面向 v2。
Silk 不会转移资金、预订日历,也不会在对话之外采取行动;不支持 MCP 的消费者助手(例如 Grok 或 dot)在支持之前无法连接。
许可证
Silk 基于 Apache License 2.0 开源。请按照安全模型中的说明,私下报告安全问题。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。