关于 A2AL Daemon
A2AL Daemon 是开放协议的参考守护进程,为 Agent、应用、设备和人员提供可跨网络边界访问的点对点身份。它整合身份、发现、直连、Web UI、REST API 和 MCP 服务,不依赖云账户或中央注册表。
主要功能
- 01由密钥派生的 Agent 身份
- 02去中心化 AID 发现
- 03跨设备直接连接
- 04便笺、聊天和房间
- 05Web UI、REST API 和 CLI
适用场景
- 01跨 NAT 和网络变化访问 Agent
- 02通过 AID 暴露本地 HTTP 服务
- 03向离线设备发送便笺
- 04通过持久房间协调 Agent
MCP 相关
守护进程内置 MCP 服务,提供 A2AL 寻址和网络工具。它可通过 HTTP 或 stdio 接入兼容的 MCP 主机,CLI 也能配置受支持的主机。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
A2AL — Agent-to-Agent Link
面向多 Agent AI 的点对点网络协议——无需中继服务或依赖云,即可穿透 NAT,在不同机器之间连接任意 Agent,即使设备休眠也不受影响。开源,MPL-2.0。
官方网站: a2al.org · Tangled Network · tngld.net
始终可连接。 为 AI Agent、应用、设备或个人 分配一个可连接的地址——然后找到其他对象并直接连接,跨越 NAT 和机器边界。无需域名、云账户或中央注册表。
你的密钥,你的地址。 这个地址是一个 AID:它由你持有的密钥生成。没有人能签发、撤销或重新分配它。你只需提供一次地址。即使笔记本电脑切换了 Wi-Fi、设备搬了地方,或对方第一次尝试连接时你的机器正处于休眠状态,他们仍然能连接到你。连接后,应用数据会在对等方之间传输;A2AL 不在数据路径中。
缺失的那一层。 MCP、A2A、ANP 等协议都知道 AI Agent 如何在获得 URL 后进行对话。但它们都没有说明,在一个没有供应商绑定的世界里,笔记本电脑、家庭服务器和工作节点如何共享一个地址,并在 NAT、云平台和公司不断变化时保持有效——无论是 Agent 工作流还是多 Agent 系统都一样。缺少的正是这一层。A2AL 就是这一层,而且它必须开放——只有当无需依赖任何单一供应商持续运行,你才能拥有真正属于自己的地址。
一个守护进程,完整技术栈。 a2ald 在你的机器上运行,是开源软件,提供 Agent 身份、跨机器直接连接、Web UI、REST API 和内置 MCP 服务。默认接入公共 Tangled Network。想要只属于自己机器的网络?使用 --bootstrap 指定自己的种子节点;地址、笔记和房间功能保持不变。

开始使用
个人用户 — 下载 A2AL,选择适用于你系统的版本,解压后运行 a2ald——这是一个约 17 MB 的独立二进制文件,无需安装程序或运行时。Web UI 会自动打开。创建身份即可开始使用。
(Windows:首次启动时,SmartScreen 会显示“更多信息 → 仍要运行”——未签名的开源二进制文件出现此提示是正常的。)
若要在关闭终端后仍保持可连接:Windows/macOS 使用 a2ald service install;Linux 参见 deploy/linux。
Agent — 如果已有可用的守护进程端点,可通过 a2al CLI、REST API 或 MCP 连接。否则,从 Releases 下载二进制文件并运行 a2ald --no-open-browser。完整指南:Agent 安装。
使用 MCP 宿主?运行 a2ald mcp add 将其接入;运行 a2ald mcp print 可获取手动添加所需的条目。详情:MCP 设置。
已获得对方的 AID — 使用任意 HTTP 客户端:
http://127.0.0.1:2121/aid/{AID}/…
无需预热等待。守护进程启动后会立即在本地响应。现在就可以调用其他对象。
其他安装选项:npm install -g a2ald(Node.js 守护进程/MCP 服务) · .deb / .rpm(Linux 服务) · pip install a2al(带 sidecar 的 Python SDK)。完整流程:快速入门。
适用场景
| 任务 | 否则 | 使用 A2AL |
|---|---|---|
| 访问他人笔记本电脑上的内容 | VPN、公共 IP 或不断变化的隧道 URL | 对方只需发送一次 AID;你即可获取 |
| 让他人访问你本地的 HTTP 服务 | 域名 + TLS,或需要你转发的主机名 | a2al inbound bind --addr 127.0.0.1:8080 |
| 给一台处于休眠状态的机器留任务 | 在 Slack 上联系对方,或收到 webhook 404 | 加密的便笺,发送至对方的 AID |
| Agent(以及人)协作、共享文件 | 供应商的工作区;所有人都要在线 | 一个房间——有人离线后,历史记录仍会保留 |
| 持续的一对一交流 | 即时通讯产品,或把便笺当聊天用 | 聊天(先邀请) |
| 不出现在公共目录中 | Tailscale / 自建 VPN | 使用 --bootstrap 配置你的种子节点 |
MCP
HTTP(推荐——REST 和 Web UI 均包含在内):
{
"mcpServers": {
"a2al": {
"url": "http://127.0.0.1:2121/mcp/"
}
}
}
a2ald mcp add 会自动配置 Claude Code、VS Code、Cursor、Claude Desktop、Windsurf、OpenClaw、Hermes 和 DeepSeek Harness。对于只会启动进程的宿主:"command": "a2ald", "args": ["--mcp-stdio"](代理到正在运行的守护进程)。设置方法:MCP 设置。Agent 入门指南:llms.txt。
日常 CLI
a2al get <AID> /.well-known/agent.json
a2al note send <your-aid> <their-aid> "$(echo -n 'job payload' | base64)"
a2al group append --aid <your-aid> --group-id <gid> --kind msg --body '…'
a2al inbound bind --addr 127.0.0.1:8080
其余内容请参阅 a2al help。数值信息(时长、便笺大小、房间):用户指南。

文档
| 如果你想…… | 阅读 |
|---|---|
| 了解可见范围和频道 | 只开启所需功能 |
| 查找合适的页面 | doc/ |
| 接入 MCP 宿主 | MCP 设置 · MCP 入门 |
| 身份、便笺、聊天、房间、ACL、隧道 | 用户指南 |
| REST、MCP 工具、Python | API 参考 |
| 在 Go 中嵌入 | Go SDK |
| 从源码构建 | 开发者指南 |
| 协议内部机制 | 架构 |
| 示例二进制文件 | 示例 |
协议设计
A2AL 是开放协议;a2ald 是其参考实现。
自主身份。 AID 源自你生成的密钥。没有注册机构可以签发、撤销或重新分配它——身份可通过端到端验证。
去中心化发现。 Tangled Network 存储的是端点记录,而非负载。任何节点都可以在没有中央机构的情况下解析 AID;网络可在任意规模下运行。
双向认证。 每个连接都会以密码学方式验证双方。你始终可以确认另一端的 Agent 就是其声称的身份。
直接通信。 A2AL 解析地址并协调初始连接,随后便不再介入。应用数据通过点对点方式传输,而非经由协议传输。
兼容 Web3。 Ethereum 钱包地址可用作 AID。跨密钥证明可让 Agent 证明其同时拥有原生 AID 和区块链身份——支持 Web3,但并非必需。
A2AL 与现有 Agent 通信标准互为补充:
| 协议 | 角色 | A2AL 如何配合 |
|---|---|---|
| MCP | 工具调用接口 | A2AL 是可通过 MCP 安装的服务;Agent 可将寻址和网络功能作为工具使用 |
| A2A | Agent 协作语义 | A2AL 提供 A2A 所依赖的发现和连接层 |
| ANP | Agent 网络愿景 | A2AL 实现了 ANP 所设想的去中心化网络层 |
贡献
如果缺失的这一层值得拥有,那就值得大家一起构建。开始大量工作前,请先提交 issue。PR 需要附上签署的贡献者许可协议;机器人会提示你。
免责声明
A2AL 是一个网络协议项目,与任何加密货币代币、ICO 或金融产品均无关联。未经授权,任何将 A2AL 名称或代码库用于代币发行或金融推广的行为均不受作者认可。
作者
XG.Shi — 本项目与任何雇主或组织均无关联,也未获其认可。
许可证
版权所有 (c) 2026 The A2AL Authors。Mozilla Public License 2.0。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。