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 は、Telegram チャットから OpenCode AIコーディングアシスタント(ローカルCLIツール)を制御できる Node.js アプリケーションです。OpenCode サーバーと同じマシン上で動作し、Telegram の Bot API と通信するため、インターネットにポートを開放する必要はありません。
主な機能
- リモートプロンプト – テキスト、音声、ファイルをボットに送信すると、OpenCode がコードを生成し、Telegram ファイルとして返します。
- セッション管理 – チャットコマンドから直接、OpenCode セッションの作成、切り替え、中断、切り離しが可能。
- ライブ追跡 – 実行中の OpenCode セッションを追跡し、進捗状況、サブエージェントの活動、モデルの使用状況をリアルタイムで表示します。
- モデルとエージェントの切り替え – お気に入りのモデルを選択したり、Plan モードと Build モードをその場で切り替えたりできます。
- ファイルブラウザ –
/lsを使用してプロジェクトのディレクトリツリーを探索し、ファイルをダウンロードしたり、次のプロンプトに添付したりできます。 - スケジュールタスク – 後で実行したり、定期的に実行するプロンプトを事前に定義できます。
- 音声入力 – オプションの Whisper 互換の音声認識機能。
- セキュリティ – 指定した Telegram ユーザー ID のみがボットと対話できます。
- ローカリゼーション – UI は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ファイル(OS固有のアプリデータフォルダに保存)で、ボットトークン、許可ユーザー ID、プロキシ設定、OpenCode サーバー URL、バージョン、オプションの制限(例:TASK_LIMIT)を指定できます。 <appHome>/local-commands/に配置したローカル JSON コマンドファイルは、ホスト上で任意のシェルコマンドを実行するカスタム/commandショートカットになります。
対象ユーザー
すでに OpenCode を AI 支援コーディングに使用しており、サーバーがローカルで実行されている間に、スマートフォンから便利かつ安全に操作したい開発者向けです。これはスタンドアロンの AI モデルではなく、既存の OpenCode サービスにコマンドを転送するシンクライアントです。
上記の詳細はすべて、リポジトリの README から直接取得しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト