Nullclaw Doorman: AI Agent on $7 VPS with IRC
AI
Agents
IRC
Architecture
Self-hosted
解决的问题
大多数作品集网站的 AI 聊天机器人只是把简历喂给模型,让访客重新措辞。模型无法告诉你简历没说的事。作者想要:如果招聘经理问"George 如何处理测试覆盖率?",答案应该克隆仓库、数测试、读 CI 配置,给出具体数据。
架构
visitor (browser)
│
└─ gamja web IRC client
│
└─ Cloudflare (proxy, TLS, bot protection)
│
└─ ergo IRC server (LarsonNet)
│
└─ #lobby
│
└─ nullclaw (公开 doorman, $7 VPS)
│
└─ #backoffice (私有 channel)
│
└─ ironclaw (Tailscale 隔离, 私有)
分层推理
- 对话层: Haiku 4.5:问候、分诊、简单问题。亚秒级响应,便宜
- 工具层: Sonnet 4.6:克隆仓库、读代码、综合发现
- 成本上限:$2/天,$30/月
为什么选 IRC:
- 符合审美:作品集是终端 UI,IRC 客户端很搭配
- 完全自托管:Ergo IRC 服务器、gamja 客户端、nullclaw agent,无第三方 API
- 30 年老协议:简单、无供应商锁定
安全加固
- SSH:非root用户、密钥认证、非标准端口
- 防火墙:UFW 仅开放 SSH、IRC(HTTPS)、WebSocket
- Agent 沙箱:workspace 限制、只读工具、10次/小时
- 成本控制:$2/天硬上限
- 审计日志:每个工具调用都记录
A2A 协议
nullclaw 支持 Google A2A 协议 (v0.3.0),可以调用 ironclaw。通过 Tailscale 私有网络通信,当两 agent 在 mesh VPN 上调试 TLS 时,允许明文 HTTP。
资源占用
- Ergo IRC 服务器:2.7 MB RAM
- gamja Web 客户端:152 KB
- nullclaw agent:~1 MB RAM
- 总计:< 10 MB 二进制,< 5 MB RAM 空闲