使用 n8n 和 Telegram 构建人机协同的自主编程代... 笔记

使用 n8n 和 Telegram 构建人机协同的自主编程代理

作者构建了一个个人自动化项目,实现了在其开发机器上远程、人机协同的自主编码。该系统允许用户通过 Telegram 从手机发送编码任务,由 AI 代理(Codex)在本地执行工作。架构的关键在于 Cloudflare Tunnel,它安全地将本地的 n8n 实例暴露至公共互联网,作为 Telegram 通信的桥梁,而无需在外部部署服务。n8n 作为编排器,接收 Telegram 指令并管理工作流,包括解析指令和调用本地 Codex 运行器。一个轻量级的 Express.js 服务充当 Codex 运行器,在指定的本地仓库中启动并与 Codex 通信(防止任意文件系统访问)。核心挑战在于允许 Codex 暂停任务、请求敏感操作的权限,并在获得批准后恢复执行。这一挑战通过使用 Codex App Server 得以解决,使得 Express 能够接收生命周期事件(如批准请求)。当需要批准时,请求从 Codex 传至 Express,再经过 n8n、Cloudflare Tunnel,最终到达 Telegram 供用户决策。一旦用户通过 Telegram 批准,响应便沿系统反向流回 Codex,Codex 随即从暂停处继续执行任务。n8n 的请求保持同步,等待整个 Codex 任务完成(无论是否涉及批准),从而简化了结果处理管道。为了准确分析任务执行情况,计时区分了总墙钟时间和 Codex 实际工作的活跃时间,计入了人类审批等待时间。这种远程设置支持独立的自主工作,同时确保用户对关键决策保持控制。