grinev/opencode-telegram-bot

OpenCode mobile client via Telegram: run and monitor AI coding tasks from your phone while everything runs locally on your machine. OpenCode V2 support.

OpenCode Telegram Bot – 简介

OpenCode Telegram Bot 是一个 Node.js 应用程序,可让您通过 Telegram 聊天控制 OpenCode AI 编码助手(本地 CLI 工具)。它与 OpenCode 服务器在同一台机器上运行,并与 Telegram 的 Bot API 通信,因此无需向互联网开放端口。

核心功能

  • 远程提示 – 向机器人发送文本、语音或文件,让 OpenCode 生成代码,并以 Telegram 文件的形式返回。
  • 会话管理 – 直接通过聊天命令创建、切换、中止或分离 OpenCode 会话。
  • 实时跟踪 – 机器人跟踪正在运行的 OpenCode 会话,实时显示进度、子代理活动和模型使用情况。
  • 模型与代理切换 – 选择喜欢的模型,或随时在 Plan 和 Build 代理模式之间切换。
  • 文件浏览 – 使用 /ls 浏览项目的目录树、下载文件或将其附加到下一个提示。
  • 计划任务 – 预定义稍后运行或按固定间隔运行的提示。
  • 语音输入 – 可选 Whisper 兼容的语音转文本功能。
  • 安全性 – 只有您指定的 Telegram 用户 ID 才能与机器人交互。
  • 本地化 – 界面支持 12 种语言。
  • Docker 支持 – 可在容器内运行,而 OpenCode 服务器保留在主机上。

如何运行

  1. 创建 Telegram 机器人 通过 @BotFather 并记下令牌。
  2. 安装 OpenCode(AI 编码 CLI)并启动其服务器(opencode serve)。
  3. 安装机器人 通过 npm(npx @grinev/opencode-telegram-bot@latest 或全局安装)并运行交互式向导,向导会询问机器人令牌、您的 Telegram 用户 ID、OpenCode 版本(V1 或 V2)、API URL 和凭据。
  4. 与机器人聊天 – 除非有阻塞交互(例如菜单)处于活动状态,否则任何纯文本消息都会成为提示。

主要 Telegram 命令(选列)

命令 功能
/status 显示机器人版本、服务器健康状态、当前项目、会话和模型
/new 启动新的 OpenCode 会话
/abort 取消当前任务
/sessions 浏览并切换最近的会话
/ls 交互式文件浏览器
/settings 调整运行时偏好
/task / /tasklist 创建和管理计划提示
/opencode_start / /opencode_stop 从 Telegram 控制本地 OpenCode 服务器

配置

  • 环境变量或 .env 文件(存储在操作系统特定的应用数据文件夹中)提供机器人令牌、允许的用户 ID、代理设置、OpenCode 服务器 URL、版本和可选限制(例如 TASK_LIMIT)。
  • 放置在 <appHome>/local-commands/ 中的本地 JSON 命令文件会成为自定义 /command 快捷方式,可在主机上运行任意 shell 命令。

适用人群

已经使用 OpenCode 进行 AI 辅助编码的开发者,希望服务器在本地运行时,能方便且安全地从手机上进行交互。它不是独立的 AI 模型;它是一个薄客户端,将命令转发给现有的 OpenCode 服务。


以上所有细节均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目