Oyster Bot:スマホからClaude Codeを操作できる超軽量Telegramボット

お知らせ

Claude Codeをスマートフォンから手軽に操作したいと思ったことはありませんか?多くのエージェント型ボット統合ツールは機能過多でセットアップが複雑だったり、セキュリティ面で不安を感じることがあります。そんな悩みを解決するのが「Oyster Bot」です。Claude Code CLIをTelegramから操作できる超軽量なボットで、シンプルながらも実用的な機能を備えています。開発者のdatashown氏が、自身のニーズから生まれたこのツールをオープンソースで公開しました。

この記事のポイント

  • Claude Code CLIをTelegramから操作できる軽量ボット
  • セッション管理、リアルタイムストリーミング、セキュリティ制御を搭載
  • カスタムプラグインで機能拡張が可能
  • Node.js 18以上とClaude Code CLIがあれば簡単にセットアップ可能

Oyster Botとは何か

Oyster Botは、Claude Code CLIをTelegramメッセージングアプリでラップした軽量なボットです。従来のエージェント型統合ツールとは異なり、ゲートウェイやネイティブアプリケーションを必要とせず、シンプルな構成で動作します。開発者が「他のツールは重すぎる」「セキュリティが心配」という課題感から開発したもので、必要最小限の機能に絞りつつも実用的な設計になっています。

特筆すべきは、単なるチャットボット以上の機能を持っていることです。Claude Codeの持つファイル操作、Web検索、コマンド実行といった強力な機能を、スマートフォンから安全に利用できるよう設計されています。外出先でもコードレビューを依頼したり、ファイルの内容を確認したり、簡単なスクリプトを実行したりといった作業が可能になります。

主要機能の詳細

会話セッションの永続化

Oyster Botは各チャットごとにセッションを管理し、会話の履歴を保持します。これにより、前回の会話内容を踏まえた応答が可能となり、一連の作業を中断しても後から再開できます。/sessionコマンドで現在のセッションIDを確認でき、/resetコマンドで会話履歴をクリアすることもできます。

リアルタイムストリーミング

Claudeの思考プロセスやツール使用状況をリアルタイムで確認できます。これは単に最終結果を待つだけでなく、Claudeがどのようにタスクを処理しているかを理解するのに役立ちます。長時間かかる処理でも、進捗状況を把握できるため安心して待つことができます。

柔軟なツール設定

Claudeがアクセスできる機能を細かく制御できます。利用可能なツールには以下が含まれます:
– ファイルの読み取り・編集
– globパターンによるファイル検索
– grep検索
– Web検索・URL取得
– Bashコマンド実行(パターン制限付き)
– サブエージェントのタスク生成

設定でCLAUDE_ALLOWED_TOOLSを指定することで、必要な機能だけを有効にできます。これにより、意図しないファイル操作やコマンド実行を防ぐことができます。

セキュリティ設計

Oyster Botが他のツールと差別化される最大のポイントは、セキュリティへの配慮です。開発者自身が既存ツールのセキュリティに懸念を感じていたことから、以下のような機能が実装されています。

ユーザーホワイトリスト: ALLOWED_USER_IDS設定により、特定のTelegramユーザーのみがボットを使用できるよう制限できます。不正アクセスを防ぎ、許可されたユーザーだけがClaudeの機能にアクセスできます。

フォルダアクセス制御: Claudeがアクセスできるディレクトリを制限することで、機密性の高いファイルやシステムファイルへの意図しないアクセスを防止します。

リクエスト単位の予算上限: CLAUDE_MAX_BUDGET_USD設定により、1回のリクエストあたりの使用料金に上限を設けることができます。予期しない高額請求を防ぐための安全装置として機能します。

プラグインシステム

Oyster Botはカスタムプラグインによる機能拡張をサポートしています。プラグインコマンドは.(ドット)プレフィックスを使用します。例えば.quote.weather.foodといったコマンドを作成できます。このプレフィックス規則により、Claudeの標準スラッシュコマンドとの競合を避けています。

さらに、cron式を使用したスケジュールタスクもサポートしており、定期的な処理の自動化が可能です。これにより、毎日のレポート生成や定期的なファイルチェックなど、繰り返し作業を自動化できます。

セットアップに必要なもの

Oyster Botを利用するには、以下の環境が必要です:

  • Node.js 18以上: ボットのランタイム環境
  • Claude Code CLI: Anthropicの公式CLIツール(ProまたはMaxサブスクリプション、もしくはAPIキーで認証済み)
  • Telegram Botトークン: @BotFatherから取得

設定に必要な主な環境変数は以下の通りです:
TELEGRAM_BOT_TOKEN: Telegramボットの認証トークン
ALLOWED_USER_IDS: アクセスを許可するユーザーID
CLAUDE_ALLOWED_TOOLS: Claudeが使用できるツールの定義
CLAUDE_MAX_BUDGET_USD: リクエストあたりの予算上限

今後の展望

Oyster Botはチャネル非依存のアーキテクチャを採用しており、現在はTelegramをサポートしていますが、将来的にはDiscordやSlackへの対応も計画されています。異なるプラットフォームへのメッセージルーティングが可能な設計となっているため、拡張性が高いのが特徴です。

知っておくと便利なTips

  • ボット使用前にALLOWED_USER_IDSを必ず設定し、不正アクセスを防止しましょう
  • 最初は必要最小限のツールだけを有効にし、徐々に機能を追加していくのが安全です
  • セッションが長くなりすぎたら/resetでリセットすると、レスポンスが改善することがあります
  • プラグインを作成する際は、既存のスラッシュコマンドとの競合を避けるため.プレフィックスを使用してください

まとめ

Oyster Botは、Claude Codeをモバイルから手軽に利用したいユーザーのために設計された軽量ツールです。複雑なセットアップや重たいインフラを必要とせず、セキュリティを重視した設計が魅力です。特にユーザーホワイトリスト、フォルダアクセス制御、予算上限といった機能により、安心して利用できます。Claude Code CLIとTelegramアカウントがあれば、すぐに始められるのも大きなメリットです。外出先でもAIアシスタントの力を借りたい開発者にとって、検討する価値のあるツールと言えるでしょう。GitHubでオープンソースとして公開されているので、カスタマイズも自由に行えます。


📎 元記事: https://www.reddit.com/r/ClaudeAI/comments/1qsbnxn/oyster_bot_ultralightweight_claude_code_mobile_bot/

コメント

タイトルとURLをコピーしました