Build private links
between independent nodes.
在独立节点之间
建立私有连接。

This guide is the stable entrance to Anet. The detailed engineering wiki is generated from the repository, so protocol and operational documentation stay close to implementation.这里是 Anet 的稳定文档入口。详细工程 Wiki 直接从仓库生成,使协议与运维文档始终贴近实现。

Two nodes. Two homes. One explicit trust relationship.两个节点。两个私有目录。一段明确的信任关系。

Private state stays private. 私有状态必须保持私有。Never copy identity.json, tls-key.pem, SQLite state, or an entire node home between runtimes.绝不要在不同 runtime 之间复制 identity.jsontls-key.pem、SQLite 状态或整个节点目录。
POWERSHELLlocal demonstration本机演示
python -m pip install -e .

anet --home .\demo\a init --label node_a --host 127.0.0.1 --port 43101
anet --home .\demo\b init --label node_b --host 127.0.0.1 --port 43102

anet --home .\demo\a card --out .\demo\a.card.json
anet --home .\demo\b card --out .\demo\b.card.json

anet --home .\demo\a peer-add .\demo\b.card.json
anet --home .\demo\b peer-add .\demo\a.card.json

Loopback is only for a same-host demo. Physical devices need reachable LAN addresses, distinct ports, distinct Node IDs, and distinct private homes.回环地址只适合单机演示。物理设备需要可达的局域网地址、不同端口、不同 Node ID 和各自独立的私有目录。

A small set of boundaries that stay true.少数始终成立的边界。

Identity身份

A complete cryptographic Node ID, not a label, profile, IP address, or platform account.完整的加密 Node ID,而不是标签、profile、IP 地址或平台账号。

Packet

An immutable sealed object with visible routing metadata and encrypted sender identity and payload.不可变的密封对象;路由元数据可见,发送者身份与载荷保持加密。

Transport传输

Direct TLS, asynchronous carriers, relays, or offline bundles move the same packet.TLS 直连、异步 Carrier、中继或离线 Bundle 都搬运同一个 Packet。

Store存储

Local SQLite persistence tracks queues, inbox, leases, receipts, prekeys, path health, and deduplication.本地 SQLite 持久化队列、Inbox、租约、回执、预密钥、路径健康与去重状态。

Authenticated input is still input.通过认证的输入,依然只是输入。

Anet establishes who signed an object. Local policy still decides whether that principal may cause an effect. Persistent identity creation, trust changes, and service registration remain explicit operator actions.Anet 确认对象由谁签名。本地策略仍要决定该主体是否可以产生实际效果。创建持久身份、修改信任和注册服务始终需要操作者明确授权。

PUBLIC公开Signed Peer Card签名 Peer Card

Safe to exchange for review and explicit pinning.可以安全交换,用于审核与显式固定。

PRIVATE私有Node home节点目录

Identity keys, TLS key, database, configuration, and runtime state.身份密钥、TLS 密钥、数据库、配置与 runtime 状态。

LOCAL本地Authorization授权

Capabilities, allowed peers, durable consumer scope, and approval.Capability、允许的 Peer、持久 Consumer 范围与审批。

Lifecycle before convenience.生命周期先于便利。

  • Locate the deployment-owned home before repair.修复前先定位部署实际拥有的节点目录。
  • Use signed cards and challenge-response pairing.使用签名 Card 与挑战响应配对。
  • Change addresses through signed locator configuration.通过签名 Locator 配置修改地址。
  • Back up and restore only within one runtime’s ownership boundary.仅在同一个 runtime 的所有权边界内备份与恢复。
  • Revoke locally with the complete Node ID.使用完整 Node ID 执行本地撤销。

Give agents the narrowest useful surface.只给 Agent 最窄且够用的能力面。

Use the CLI for sparse install, identity, trust, configuration, diagnostics, and recovery. Use a scoped stdio MCP session for repeated messaging, durable claims, and typed tasks. Ephemeral workers receive no persistent Anet node by default.安装、身份、信任、配置、诊断与恢复使用 CLI;重复消息、持久 Claim 与类型化任务使用受限的 stdio MCP。临时 Worker 默认不获得持久 Anet 节点。

Documentation lives with the code.文档与代码共同存在。

OpenWiki generates the recurring engineering reference. Change source and reviewed docs together; do not create a second truth in a detached wiki.OpenWiki 持续生成工程参考文档。源码与受审文档应一起修改,不要在独立 Wiki 中制造第二套真相。

Install with your agent让你的 Agent 安装