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