开发与工程 telegram-botremote-codingopencodescheduled-tasksvoice-inputwhispergit-worktree

OpenCode 电报机器人

通过电报远程控制 OpenCode 编码代理,在本地运行,支持定时任务和语音交互。

FollowAgents 评估 · FARS-2.1
谨慎使用
64/ 100 五分制 3.2 / 5
1 2 3 4 5 6
1信任安全18 / 29 · 3.1/5

证据显示:用户ID白名单限制访问,命令需确认(如自定义命令),数据流透明(仅与本地OpenCode和Telegram API通信),敏感数据(token、密码)通过环境变量管理并警告保密,依赖有固定版本但未提供安全审计,外部影响限于本地服务器和Telegram,支持回滚(/messages revert),来源归属明确(MIT许可证和作者)。扣分:依赖安全未提供漏洞扫描或审计证据,外部影响未明确限制网络范围。

2可靠稳定9 / 14 · 3.2/5

证据显示:代码结构一致,测试覆盖格式化函数,依赖版本固定,错误消息有文档(如超时标记失败)。扣分:未提供运行时错误处理细节,依赖可用性未验证。

3适用触发12 / 18 · 3.3/5

证据显示:面向开发者,支持多平台和多种场景(远程编码、定时任务),能力边界清晰(命令列表),触发精确(仅当无阻塞交互时发送提示),环境适配良好(Node版本、系统支持)。扣分:未提供详细的环境配置示例。

4规范维护12 / 18 · 3.3/5

证据显示:信息架构清晰(README、文档、测试),安装说明详细(npx、全局安装),命名稳定(命令和变量),有示例和FAQ(README),已知限制部分提及(如定时任务限制),许可证MIT,版本和变更日志有(package.json版本、发布工作流),维护责任明确(作者和社区)。扣分:已知限制部分不完整,变更日志未直接提供。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用(代码作为文件发送),边际价值高(远程监控、定时任务),成本效益合理(免费开源)。扣分:未提供性能或资源消耗数据。

6证据核验4 / 8 · 2.5/5

证据显示:README中的功能描述与代码和测试一致,测试覆盖部分功能,事实与推断分离(README区分计划功能)。扣分:跨来源验证不足,仅依赖单一仓库。

证据充分度: 评估于 2026年8月9日 审查版本 b92eade4c9c4
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 依赖安全未提供漏洞扫描或审计证据,建议检查依赖版本和已知漏洞。
  • 外部影响范围未明确限制网络,确保本地OpenCode服务器仅监听本地接口。
  • 已知限制部分不完整,建议查看完整文档。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

OpenCode Telegram Bot 是一个运行在本地机器上的 Telegram 客户端,用于远程控制 OpenCode CLI。它通过本地 OpenCode API(默认 localhost:4096)与 Telegram Bot API 通信,无需暴露任何端口。支持创建和管理会话、切换模型、在 Plan/Build 模式间切换、查看子代理进度、运行自定义命令和技能、管理 git worktree 以及操作文件。内置定时任务功能,使其成为 OpenCode 用户的轻量级 OpenClaw 替代品。该机器人通过用户 ID 白名单强制安全,并支持多语言本地化,包括英语、中文、俄语等。

机器人连接本地 OpenCode 服务器(opencode serve)和 Telegram Bot API,通过 Telegram 消息发送提示词给编码代理,并将结果(代码文件)返回给用户。具体操作包括:使用 /new 创建新会话、/sessions 切换会话、/status 查看服务器和模型状态、/model 切换模型(从收藏和历史中选择)、/plan 和 /build 切换代理模式、/commands 运行自定义命令、/skills 运行技能、/worktree 切换 git worktree、/ls 浏览文件、/task 创建定时任务。还支持语音消息(通过 Whisper API 转写)、文件附件(图片、PDF 等)、消息队列和上下文压缩。

  1. 需要在外出时通过手机向本地 OpenCode 实例发送编码任务的开发者。
  2. 希望为 OpenCode 设置定时任务,例如夜间自动运行代码审查或维护脚本的用户。
  3. 希望在 Telegram 中实时跟踪多个 OpenCode 会话并接收后台通知的团队。
  4. 需要快速切换模型或代理模式,而无需在本地打开 TUI 的高级用户。
  5. 希望利用语音输入快速记录编码想法,并通过 TTS 接收语音回复的移动端用户。
  6. 需要管理多个 git worktree 并通过 Telegram 在它们之间切换的开发者。

这个 Agent 有哪些优点和局限?

优点
  • 无需开放端口或暴露 API,仅通过出站 Telegram 连接,安全性高。
  • 支持定时任务,可作为轻量级 OpenClaw 替代品,适合自动化编码流程。
  • 丰富的远程控制功能:模型切换、会话管理、自定义命令、技能、worktree 切换等。
  • 支持语音输入和 TTS 音频回复,增强移动端使用体验。
局限
  • 严格依赖 OpenCode 生态,仅适用于 OpenCode CLI,不能用于其他编码代理。
  • 需要用户手动运行本地 OpenCode 服务器,且默认端口固定为 4096,配置略显繁琐。
  • 定时任务使用固定代理模式(build),不支持自定义其他代理模式。
  • 语音转写依赖外部 Whisper API,需要额外配置 API 密钥。

如何安装或部署这个 Agent?

  1. 在 Telegram 中通过 @BotFather 创建机器人并获取机器人令牌。 2. 获取你的数字用户 ID(通过 @userinfobot)。 3. 在本地机器上安装 Node.js 22.14+ 和 OpenCode CLI。 4. 运行 opencode serve 启动本地 OpenCode 服务器。 5. 使用 npx 运行机器人:npx @grinev/opencode-telegram-bot@latest。 6. 首次运行时,按照交互式向导输入语言、机器人令牌、用户 ID 和 OpenCode API URL。

如何使用这个 Agent?

安装并配置后,在 Telegram 中打开机器人,发送任意文本消息作为编码提示。使用 /help 查看所有命令,/status 检查服务器和会话状态。要跟踪实时会话,启动 OpenCode 时需使用固定端口:opencode --port 4096opencode serve --port 4096。对于定时任务,使用 /task 创建,/tasklist 管理。可以在 /settings 中调整消息队列、语音回复等运行时设置。

常见问题

是否支持多用户访问?
不支持。机器人通过 TELEGRAM_ALLOWED_USER_ID 强制用户白名单,只有指定的用户 ID 才能交互,其他用户的消息会被忽略并记录。
定时任务如何运行?
通过 /task 创建,从当前选定的项目和应用模型创建,使用 build 代理模式,在后台运行,不干扰当前会话。最小间隔 5 分钟,默认超时 120 分钟,可配置。
语音转写需要额外配置吗?
需要。必须设置 STT_API_URL 和 STT_API_KEY(Whisper 兼容 API)才能启用语音转写,否则语音消息会被拒绝。
如果本地 OpenCode 服务器崩溃怎么办?
可以通过设置 OPENCODE_AUTO_RESTART_ENABLED=true 让机器人自动重启本地服务器,或使用 /opencode_start 手动启动。
是否支持文件上传?
支持。可以发送图片、PDF 和文本文件,多个文件可通过 Telegram 相册发送。但 PDF 等文档需要 DOC_EXTRACTOR_URL 配置才能提取文本。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents