
如何用手机远程操控AI AgentAtomic Agent接入Telegram/Discord机器人完整配置指南【免费下载链接】atomic-agentAtomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp.项目地址: https://gitcode.com/gh_mirrors/at/atomic-agentAtomic Agent 是一个本地优先local-first的开源 AI Agent通过 llama.cpp 在你自己的机器上运行开源权重模型可以浏览网页、编辑文件、执行已批准的命令并跨会话记忆上下文。它的 Telegram / Discord 频道功能让你直接用手机聊天窗口远程操控这个 Agent——危险操作会推送到手机上的审批按钮点一下批准即可执行。本文带你从零完成配置。为什么要把 AI Agent 接到手机上大多数 Agent 只能守在电脑终端里盯着。但你的 Agent 可能一跑就是几十分钟——等它跑到一半需要批准执行这条命令时你人不一定在电脑旁。Atomic Agent 的频道Channels设计解决了这个问题会话隔离每个 Telegram 聊天、论坛话题、Discord 频道和线程都是独立会话互不串扰审批按钮敏感操作如运行 shell 命令会以带按钮的消息推到发起那一轮的聊天里只有配对的所有者能点文件双向传输手机上发文件给机器人Agent 就能拿到路径Agent 的回复也能附带文件定时任务回报定时任务跑完可以把结果直接推送到你的私聊一键安装步骤先安装 Atomic Agent 本体macOS / Linuxcurl -fsSL https://atomicagent.io/install | shWindows (PowerShell)irm https://atomicagent.io/install.ps1 | iex安装完成后运行atomic-agent或别名atag进入 TUI。如果你打算从源码了解实现可克隆仓库https://gitcode.com/gh_mirrors/at/atomic-agent 两个机器人通道都可以在 TUI 的Integrations集成标签页里图形化配置下面讲的手改配置文件方式效果相同。Telegram 机器人完整配置第一步创建 Bot 并拿到 Token在 Telegram 中找 BotFather执行/newbot按提示取名拿到形如123456789:AA-your-bot-token的 Token。第二步写入配置Atomic Agent 把开关、所有者放在stateDir/config.json把Token 这种机密单独放在stateDir/.env两者分离是有意为之Token 永远不会进 config.json// stateDir/config.json { telegram: { enabled: true, ownerUserId: null } }# stateDir/.env TELEGRAM_BOT_TOKEN123456789:AA-your-bot-token对应实现见 telegram-settings.tsToken 键名TELEGRAM_BOT_TOKEN定义在 第19行。第三步配对Pairing确定主人Telegram 机器人只响应它的主人。配对模式很简单在 TUI 触发配对 → 60 秒内第一个给机器人发私聊消息的用户即成为主人写入ownerUserId。配对状态机实现在 pairing-mode.ts默认窗口 60 秒。⚠️群里使用需要先在 BotFather 中关闭机器人的 privacy mode否则普通 提及 不会送达机器人。进度气泡任务运行期间机器人会维持一个静默进度气泡只显示步骤标签如读取文件绝不泄露工具输出。不喜欢就关掉telegram: { progressIndicator: false }。Discord 机器人配置免配对版Discord 通道没有配对流程直接把你的用户 ID 填进配置即可discord-settings.ts// stateDir/config.json { discord: { enabled: true, ownerUserIds: [123456789012345678] } }# stateDir/.env DISCORD_BOT_TOKENyour-discord-bot-token两个细节值得注意空列表 拒绝所有人ownerUserIds不填就等于机器人不响应任何消息不需要特权 IntentsDiscord 无需特殊权限即可投递私聊和 提及省掉一步折腾审批按钮手机上的一键批准/拒绝 这是整套手机遥控体验的灵魂。当 Agent 要执行需要审批的操作典型场景运行一条 shell 命令时请求不会落在电脑端的 TUI 对话框上而是发到发起这一轮的那个聊天消息带两个按钮Discord 端拒绝按钮是醒目的红色 danger 样式只有配对的所有者能点击其他账号点击会被静默忽略并收到提示Telegram 端每轮审批默认8 分钟自动拒绝approval-bridge.ts 第13行防止任务卡死Discord 端实现在 discord-approval-bridge.ts安全性设计同样是失败即关闭发送审批消息失败时立即按拒绝处理绝不无限挂起重复点击同一个按钮也不会二次生效。手机上常用的聊天命令两个机器人都理解这些命令随时发命令作用/status查看当前状态/sessions列出所有会话/switch id切换到指定会话/new开一个新会话/model [provider] [model-id]切换模型/cancel取消当前正在跑的这一轮文件收发与定时任务回报 发文件给 Agent私聊里发图片/文档文件会存到stateDir/inbox/telegram/按天分文件夹Agent 拿到路径和你附的文字说明。Telegram 机器人单文件上限 20 MBDiscord 入站文件上限 50 MB存到stateDir/inbox/discord/。Agent 回文件图片内联显示其他格式作为文档附件受 Telegram 50 MB 机器人上限约束。定时任务主动汇报给定时任务加上通知参数每次运行的结果会直接推送到你的私聊atomic-agent task create --cron 0 9 * * * --message morning digest --notify telegram让机器人常驻后台serve 命令 机器人生存在 Agent 运行时里不依赖 TUI。用serve启动时所有已启用的 Telegram / Discord 机器人以及 Swarm 机器人会一起在后台应答——即使终端 UI 完全关闭atomic-agent serve --host 127.0.0.1 --port 8787 --cwd /path/to/work两个运维要点锁文件防重入每个机器人有独立的锁文件第二个进程尝试启动同一个机器人会直接失败already running in another atomic-agent (pid N)别从 TUI 和 serve 两边同时启动常驻守护默认serve不脱离父进程要后台长期运行请加--no-parent-exit或环境变量ATOMIC_AGENT_SERVE_NO_PARENT_EXIT1。入口实现在 serve-command.ts进阶Swarm 多机器人想让值班机器人和开发机器人各管一摊在 TUI 的 Swarm 标签页/swarm可以增开任意多个 Telegram / Discord 机器人各自独立 Token、主人、锁文件和会话swarm: { units: [ { id: ops, kind: telegram, label: Ops, role: on-call triage, enabled: true, tokenEnv: TELEGRAM_BOT_TOKEN_OPS, ownerUserId: null } ] }Token 键名按KIND_BOT_TOKEN_ID规则命名互不覆盖。相关源码集中在 src/channels/swarm/。常见坑位速查症状原因与解法Telegram 群里 机器人没反应未关闭 privacy mode去 BotFather 处理Discord 机器人完全不理人ownerUserIds为空列表填入自己的用户 ID审批消息 8 分钟后自动拒绝这是 Telegram 端的超时保护fail-closed 设计不是故障启动报already running in another atomic-agent (pid N)同一机器人已被别的进程占用先在旧进程里停掉Token 改了不生效Token 必须在stateDir/.env写进 config.json 无效小结Atomic Agent 通过 Telegram / Discord 频道把本地 AI Agent变成了手机里的 AI 助理私聊即会话、按钮即审批、文件双向流通、定时任务自动回报。全部状态留在你自己的磁盘上Token 与配置分离存放审批按钮只对配对所有者生效——本地优先遥控安全。装上它Agent 干活你只需要在手机上点一下批准。✅【免费下载链接】atomic-agentAtomic Agent is a local-first AI agent. Runs open-weight models on your own machine via llama.cpp.项目地址: https://gitcode.com/gh_mirrors/at/atomic-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考