OpenCode 电报机器人
通过电报远程控制 OpenCode 编码代理,在本地运行,支持定时任务和语音交互。
证据显示:用户ID白名单限制访问,命令需确认(如自定义命令),数据流透明(仅与本地OpenCode和Telegram API通信),敏感数据(token、密码)通过环境变量管理并警告保密,依赖有固定版本但未提供安全审计,外部影响限于本地服务器和Telegram,支持回滚(/messages revert),来源归属明确(MIT许可证和作者)。扣分:依赖安全未提供漏洞扫描或审计证据,外部影响未明确限制网络范围。
证据显示:代码结构一致,测试覆盖格式化函数,依赖版本固定,错误消息有文档(如超时标记失败)。扣分:未提供运行时错误处理细节,依赖可用性未验证。
证据显示:面向开发者,支持多平台和多种场景(远程编码、定时任务),能力边界清晰(命令列表),触发精确(仅当无阻塞交互时发送提示),环境适配良好(Node版本、系统支持)。扣分:未提供详细的环境配置示例。
证据显示:信息架构清晰(README、文档、测试),安装说明详细(npx、全局安装),命名稳定(命令和变量),有示例和FAQ(README),已知限制部分提及(如定时任务限制),许可证MIT,版本和变更日志有(package.json版本、发布工作流),维护责任明确(作者和社区)。扣分:已知限制部分不完整,变更日志未直接提供。
证据显示:输出可用(代码作为文件发送),边际价值高(远程监控、定时任务),成本效益合理(免费开源)。扣分:未提供性能或资源消耗数据。
证据显示:README中的功能描述与代码和测试一致,测试覆盖部分功能,事实与推断分离(README区分计划功能)。扣分:跨来源验证不足,仅依赖单一仓库。
- 依赖安全未提供漏洞扫描或审计证据,建议检查依赖版本和已知漏洞。
- 外部影响范围未明确限制网络,确保本地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 等)、消息队列和上下文压缩。
- 需要在外出时通过手机向本地 OpenCode 实例发送编码任务的开发者。
- 希望为 OpenCode 设置定时任务,例如夜间自动运行代码审查或维护脚本的用户。
- 希望在 Telegram 中实时跟踪多个 OpenCode 会话并接收后台通知的团队。
- 需要快速切换模型或代理模式,而无需在本地打开 TUI 的高级用户。
- 希望利用语音输入快速记录编码想法,并通过 TTS 接收语音回复的移动端用户。
- 需要管理多个 git worktree 并通过 Telegram 在它们之间切换的开发者。
这个 Agent 有哪些优点和局限?
- 无需开放端口或暴露 API,仅通过出站 Telegram 连接,安全性高。
- 支持定时任务,可作为轻量级 OpenClaw 替代品,适合自动化编码流程。
- 丰富的远程控制功能:模型切换、会话管理、自定义命令、技能、worktree 切换等。
- 支持语音输入和 TTS 音频回复,增强移动端使用体验。
- 严格依赖 OpenCode 生态,仅适用于 OpenCode CLI,不能用于其他编码代理。
- 需要用户手动运行本地 OpenCode 服务器,且默认端口固定为 4096,配置略显繁琐。
- 定时任务使用固定代理模式(build),不支持自定义其他代理模式。
- 语音转写依赖外部 Whisper API,需要额外配置 API 密钥。
如何安装或部署这个 Agent?
- 在 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 4096 或 opencode serve --port 4096。对于定时任务,使用 /task 创建,/tasklist 管理。可以在 /settings 中调整消息队列、语音回复等运行时设置。