OpenCode Telegram Bot レビュー:ローカル実行の AI コーディングをスマホから操作する
Telegram 経由の OpenCode モバイル クライアント: すべてがマシン上でローカルに実行されている間に、携帯電話から AI コーディング タスクを実行および監視します。スケジュールされたタスクのサポート。
ひと目でわかる
- これは何?
- OpenCode CLI を Telegram から操作するためのクライアント。ポート開放なしで、ローカルマシン上のエージェントに指示を送り、結果を受け取る。
- 誰に向いている?
- OpenCode を日常的に使い、外出先からタスクを投げたい個人開発者に向く。ポートを開けずに済む設計と、ユーザー ID ホワイトリストによるアクセス制限は、セキュリティを気にする層に合う。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 2 日前です。
- 何の言語で書かれている?
- 主に TypeScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
これは何を解決するのか
OpenCode はターミナルで動く AI コーディングエージェントだ。その操作は基本的に CLI か TUI で行う。つまり、PC の前にいないとタスクを投げられない。このボットは、その制約を Telegram 経由で外す。スマホからプロンプトを送り、OpenCode が生成したコードをファイルとして受け取る。実行自体はローカルマシン上で行われるので、クラウドにコードを送信する必要がない。対象は、OpenCode を導入済みで、かつ Telegram を使っている個人開発者だ。
通信経路とセキュリティの設計
このボットの特徴は、外部にポートを開かないことだ。README には「No open ports, no exposed APIs」と明記されている。ボットはローカルの OpenCode サーバー(デフォルトでは http://localhost:4096)と、Telegram Bot API の2つにしか接続しない。つまり、インターネットから直接アクセスできるエンドポイントは存在しない。アクセス制御は、厳格なユーザー ID ホワイトリストで行う。ボットのトークンを知っていても、許可された Telegram ユーザー ID 以外からのメッセージは受け付けない。この設計は、ngrok などでトンネルを張る方式と比べて、攻撃面が狭い。ただし、ホワイトリストはボットの設定ファイルに依存するので、そのファイルの管理が甘いと意味がない。
セットアップ手順の実際
導入は3ステップだ。まず Telegram の BotFather でボットを作成し、トークンを取得する。次に、自分の Telegram ユーザー ID を確認する。最後に、OpenCode サーバーを起動した状態で、次のコマンドを実行する。
npx @grinev/opencode-telegram-bot@latest
環境変数か .env ファイルで設定を渡さない場合、対話式のウィザードが起動する。言語、ボットトークン、ユーザー ID、OpenCode API の URL、任意でサーバーの認証情報(ユーザー名とパスワード)を順に聞かれる。グローバルインストールする場合は、npm install -g した後に opencode-telegram start で起動する。--daemon フラグを付けるとバックグラウンド実行になるが、systemd や Docker を使う場合は付けずにフォアグラウンドで動かすのが推奨されている。
実行中のセッション追跡と通知
このボットは、起動後に新しく作るセッションだけでなく、既存のセッションも追跡できる。TUI で開いているセッションを、スマホからライブで監視するという使い方が想定されている。さらに、デタッチしたセッションや、現在のプロジェクト以外のセッションがエージェントからの返答や権限要求を行った場合、短い通知を送る機能がある。これは、バックグラウンドで動かしている OpenCode の進捗を、わざわざ PC を開かずに確認したいという需要に応えるものだ。ピン留めしたメッセージに、現在のプロジェクト、モデル、コンテキスト使用量、変更ファイル一覧がリアルタイムで表示される。
スケジュール実行とメッセージキューの扱い
スケジュールタスク機能がある。プロンプトを後で実行したり、定期的に実行したりできる。README では「OpenCode ユーザー向けの軽量な OpenClaw 代替」と表現されている。ただし、この機能の具体的な設定方法、例えば cron 式で指定するのか、それとも独自の構文なのかは、README の記述からは確認できない。同様に、メッセージキュー機能もある。エージェントが処理中に送られたメッセージを保留し、順番に処理する。これは /settings で有効化する。ただし、キューに溜まったメッセージをどう管理するか、キャンセルや優先度変更ができるのかは、この資料からは不明だ。
ファイル操作と音声入力の境界
ファイルの扱いは、画像、PDF、テキストファイルを送信できる。複数ファイルをアルバムとして送ることも可能だ。さらに /ls コマンドでプロジェクト内のファイルを閲覧し、テキストファイルなら「次のプロンプトに添付」をタップして、次回のメッセージと一緒に送信できる。音声入力にも対応しており、Whisper 互換の API で文字起こしする。音声での返答も /settings で有効化できる。ただし、これらはすべて Telegram のメッセージサイズ制限に依存する。大きな PDF や画像を送る場合、Telegram 側の上限に達する可能性がある。その場合の挙動は README に記載がない。
代替手段と比較した立ち位置
似た目的のツールとして、OpenClaw が挙げられている。README はこのボットを「軽量な OpenClaw 代替」と位置付ける。OpenClaw は Telegram 経由で AI エージェントを操作するための、より大規模なプロジェクトだ。違いは、OpenClaw が独自のエージェント実行環境を持つことに対し、このボットはあくまで OpenCode のフロントエンドである点だ。つまり、OpenCode のセッション管理、モデル選択、カスタムコマンド、スキルカタログといった機能は、そのまま Telegram から使える。逆に、OpenClaw が持つような、OpenCode 以外のバックエンドへの対応はない。OpenCode を使い続けるならこのボット、エージェントの実行基盤ごと変えたいなら OpenClaw、という選び方になる。
メンテナンスとライセンスの注意点
ライセンスは MIT で、商用利用や改変に制約は少ない。ただし、これは法的な助言ではない。メンテナンスについては、リポジトリの最終プッシュが 2026年8月で、リリースも v0.24.1 まで出ている。README には、main ブランチの内容が最新の npm リリースより先行している可能性があると明記されている。つまり、ドキュメントに書かれた機能が、実際にインストールしたバージョンでは使えないことがあり得る。導入時に、インストールしたバージョンと README の記述を突き合わせる必要がある。また、Node.js 22.14 以上が必須で、OpenCode サーバーの起動も前提となる。この依存関係の更新に追従するコストは、利用者が負うことになる。
編集部の結論
OpenCode を日常的に使い、外出先からタスクを投げたい個人開発者に向く。ポートを開けずに済む設計と、ユーザー ID ホワイトリストによるアクセス制限は、セキュリティを気にする層に合う。一方、OpenCode 自体を導入していない人や、複数人での共同作業を想定している場合は、このボットは前提条件が満たされず、使う意味が薄い。採用前に確認すべきは、OpenCode のバージョンがボットの要求する API と互換性があるか、そして `/settings` で有効化できるメッセージキューの挙動が自分のワークフローに合うか、の2点だ。
コミュニティノート