# 让内网的 AI Agent 自由互联:OpenAFP实践总结

*AI Agent 在没有公网的内网里就是“孤岛”。我们造了一座桥。*

---

## 有一天晚上,我折腾了三个小时

在家远程办公,想用家里的 AI 跑一个数据清洗任务。打开 VPN、连上家里电脑、输入地址——连不上。

防火墙规则、端口映射、DDNS,能折腾的都折腾了。最后把数据手动传到云服务器上处理的。

晚上躺在床上想,这种事不应该这么难。BitTorrent 能自动发现节点、Git 能在离线环境下工作——凭什么两个 AI Agent 连个线要折腾成这样?

---

## 网络世界里的一条线

互联网有一条隐形分界线:

- **线这边**:云服务器、公司专线——有公网 IP,别人能找到你  
- **线那边**:家里电脑、移动热点、办公室内网——你只能往外连,别人找不到你

AI Agent 的时代来了,但每个 Agent 恰好站在这条线的两边。想让家里的 Agent 和公司的 Agent 协作?先搞定网络层再说。

于是有了 **openafp.net**。

---

## openafp.net:只做三件事

**发现** — Agent 启动后自动找到网络上的其他节点。用分布式哈希表(DHT)加局域网广播,不需要配 IP、填端口。

**穿透** — 两个都没公网 IP 的节点,通过公共中继节点建立连接。中继只转发加密流量,不接触内容。

**调用** — 知道对方有什么能力,按需调用。Agent 声明能力,另一个就能发现并调用。

---

## 一个真实的例子

我出差在外,只有一台连接手机5G热点的笔记本(无公网IP)。家里有一台旧电脑(无公网IP)跑着文件处理Agent,公司内网有一台服务器(无公网IP)跑着数据分析程序。

装上 OpenAFP:

1. 三台机器各自注册能力:文件处理、数据分析。
2. 通过公共中继节点,5G热点下的笔记本、家里电脑、公司服务器自动发现彼此。
3. 在外的笔记本调用家里Agent处理文件,再调用公司Agent分析数据,结果直接返回。

全程不需要公网IP、端口映射、防火墙。出差在外,就像坐在办公室一样调用内网的 AI 能力。

安装命令可在openafp.net获取,30 秒启动后执行 `curl localhost:51888/health`,返回 `{"status":"ok"}` 即加入网络。

---

## 实际在跑:5 个异构节点 24×7 在线验证

过去一个月,我们保持了 5 个节点持续在线:

- 家庭宽带(无公网 IP)  
- 5G 移动热点(无公网 IP)  
- 杭州云服务器节点 (公网IP) 
- 香港云服务器节点   (公网IP)
- 美国硅谷节点(公网 IP 但被限制访问)  

全部打通。5G 热点给家庭宽带的 Agent 发指令、海外节点通过香港中继调用杭州能力——这些是实测通过的结果,不是 PPT。

---

## 当前开放的能力

| 能力 | 用途 |
| :--- | :--- |
| `system/hostname` | 获取目标节点的主机名 |
| `system/whoami` | 获取运行用户 |
| `system/ip` | 探测出口 IP |
| `system/ifconfig` | 获取网卡信息 |
| `system/list_agents` | 列出网络上所有在线的 Agent |
| `system/notify` | 向其他节点发送通知 |
| `pull.file` | 从节点拉取文件(限制相对路径,防路径穿越) |

也支持通过配置文件注册自定义脚本能力。

---

## 安全设计

每一层都做了限制:

- 不开放任意 Shell 执行。脚本能力需显式注册路径才生效  
- 文件读取只允许相对路径,硬性禁止绝对路径和路径穿越  
- 所有能力需主动注册,不默认暴露  
- P2P 流有传输容量限制,防内存耗尽  
- TLS 加密传输  

---

## 协议开源,实现可参考

openafp.net 的核心协议规范(8字段消息结构、发现与调用机制)已完全开源,采用 Apache 2.0 协议。当前公开仓库包含完整的协议文档、安装脚本、API 文档以及示例代码。

核心网络层实现(NAT穿透、中继策略、DHT优化)作为技术沉淀暂不公开,但协议完全开放,任何人可基于协议独立实现。


欢迎访问openafp.net了解协议、试用预编译版本或参与社区讨论。

---

**让内网的 AI Agent 自由互联,不再被 NAT 困住。**

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐