SheepNav
精选9天前340 投票

Show HN:我在每月7美元的VPS上部署AI代理,用IRC作为传输层

在AI聊天机器人泛滥的今天,大多数个人作品集网站只是简单地将简历喂给大模型,让访客换个方式提问——这本质上是个“客厅把戏”,模型无法提供简历之外的信息。为了打破这种局限,我构建了一个独特的AI代理系统,旨在提供更深入、更具体的答案。

架构设计:双代理与安全边界

这个系统由两个独立的代理组成,分别运行在不同的服务器上,形成明确的安全边界:

  • nullclaw(公开代理):作为面向公众的“门卫”,运行在一个最小化的边缘服务器上。它是一个仅678 KB的Zig二进制文件,内存占用约1 MB。主要职责包括:处理问候、回答关于我项目的简单问题,并能克隆GitHub仓库来用实际代码佐证声明。
  • ironclaw(私有代理):运行在另一台更强大的独立系统上,通过Tailscale仅在内网可达。它拥有访问电子邮件、日历和更深层个人上下文的权限,处理从nullclaw路由过来的复杂查询。

这种设计确保了公开服务器无法接触任何私人数据,从架构层面保障了隐私安全。

为什么选择IRC作为传输层?

在Discord、Telegram或自定义WebSocket等众多选项中,我选择了**IRC(互联网中继聊天)**协议,主要基于三个原因:

  1. 美学契合:我的作品集网站采用终端UI风格,嵌入IRC客户端完全符合品牌调性,而Discord则会显得格格不入。
  2. 完全自主可控:整个技术栈——从Ergo IRC服务器、gamja网页客户端到nullclaw代理——都运行在我的基础设施上。没有第三方API条款变更的风险,也没有平台可能随时弃用机器人访问权限的担忧。
  3. 协议成熟与开放:IRC是一个已有30年历史的协议,简单、易于理解,且零供应商锁定。同一个代理既可以通过网页客户端与访客对话,也能让我通过终端里的irssi客户端与之交互。

模型选择:速度与成本优先

在模型选择上,我没有盲目追求最大最强的模型,而是根据代理的角色进行了针对性设计:

  • 对话层:使用Haiku 4.5处理问候、分流和关于我背景的简单问题。其亚秒级响应速度每次对话仅需几分钱的成本,对于“门卫”角色来说至关重要——速度在这里比模型大小更有价值。

实际应用场景

设想一个招聘经理提问:“George如何处理测试覆盖率?”传统的简历聊天机器人可能只会回答“George重视全面测试。”而我的系统会:

  1. 克隆相关代码仓库
  2. 统计测试数量
  3. 读取CI配置
  4. 返回具体数据和细节

这种基于实际代码和配置的答案,远比泛泛而谈的简历摘要更有说服力。

行业启示

在AI应用日益同质化的当下,这个项目展示了几个值得思考的方向:

  • 轻量化部署:证明AI代理不一定需要昂贵的GPU服务器或庞大的云服务账单,每月7美元的VPS也能承载有意义的AI交互。
  • 协议复古创新:利用IRC这类古老但稳定的协议,可以避免现代平台API的频繁变更和锁定风险,为长期稳定运行提供保障。
  • 安全边界设计:通过物理隔离和网络隔离(如Tailscale)来保护敏感数据,是构建可信AI系统的重要实践。

这个项目不仅是一个技术演示,更是一种对当前AI应用范式的反思——真正的价值不在于模型的参数规模,而在于如何将AI能力与具体场景、可靠架构和用户需求深度结合。

延伸阅读

  1. Donut Browser:开源反检测浏览器,支持无限用户配置文件
  2. Klick AI 相机助手:实时 AI 相机,现场指导构图
  3. Vista:macOS 本该内置的图片查看器
查看原文