TinyClaw — 軽量マルチチャネルAIアシスタント
概要
TinyClawは、Claude Codeを利用する最小限のラッパー実装で、WhatsAppをはじめとするチャットチャネルと結びつけてAIアシスタント機能を提供します。設計上のキーポイントは「ファイルベースのキュー」による逐次処理で、複数メッセージの同時処理で発生する競合(race conditions)を回避しつつ会話コンテキストを維持する点です。tmuxで常時稼働させる運用を想定し、heartbeatスクリプト等で安定稼働を補助します。軽量で改造しやすく、将来的なマルチチャネル拡張に適した構成です。
リポジトリの統計情報
- スター数: 111
- フォーク数: 18
- ウォッチャー数: 111
- コミット数: 3
- ファイル数: 9
- メインの言語: Shell
主な特徴
- WhatsApp連携(QRコードでのログインを想定)
- ファイルベースのキューで逐次処理・競合回避
- 会話コンテキストの保持と連続対話対応
- tmux常駐運用/heartbeatスクリプトによる稼働監視
技術的なポイント
TinyClawの核は「シンプルさ」と「安定した逐次処理」です。多くのチャットボットが並列処理や非同期処理でスループットを追求する一方、本プロジェクトはファイルシステムをキューとして使い、メッセージを順番に処理することでレースコンディションや状態破壊を根本的に避ける設計を取っています。これは小規模〜中規模のユースケースで非常に有効で、実装と運用が容易になります。
WhatsApp連携はQRコード認証を用いるワークフローをサポートしており、セッション管理や再接続の仕組みを外部ツールや軽量スクリプトで補う前提になっています。常時稼働のためにtmuxでプロセスを保持し、heartbeat-cron.sh のようなスクリプトで生存確認・再起動を自動化している点も実用的です。
一方で、ファイルベースのキューは単純で信頼性が高い反面、スケーラビリティや高負荷時のスループットでは制約があり、複数ノードに水平分散するにはRedisやRabbitMQのような専用キューとの置換が必要になります。会話コンテキストの保存場所やフォーマットは軽量なファイル格納が想定され、プライバシーやバックアップ方針を明確にすることが運用上重要です。
拡張性という観点では、Telegramなど別チャネルのハンドラを追加してメッセージを同じファイルキューに注入することで、最小限の変更でマルチチャネル対応が可能です。デプロイは軽量なので小型VPSやローカルサーバーでの運用に向き、まずはPoC〜小規模運用で試すのに適した設計です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .claude: dir
- .gitignore: file
- .tinyclaw: dir
- README.md: file
- heartbeat-cron.sh: file
…他 4 ファイル
まとめ
シンプルなファイルキューとtmux常駐で即運用可能な、実用性重視の軽量AIアシスタント実装。
リポジトリ情報:
- 名前: tinyclaw
- 説明: 説明なし
- スター数: 111
- 言語: Shell
- URL: https://github.com/jlia0/tinyclaw
- オーナー: jlia0
- アバター: https://avatars.githubusercontent.com/u/24471281?v=4
READMEの抜粋:
TinyClaw 🦞
Minimal multi-channel AI assistant with WhatsApp integration and queue-based architecture.
🎯 What is TinyClaw?
TinyClaw is a lightweight wrapper around Claude Code that:
- ✅ Connects WhatsApp (via QR code)
- ✅ Processes messages sequentially (no race conditions)
- ✅ Maintains conversation context
- ✅ Runs 24/7 in tmux
- ✅ Ready for multi-channel (Telegram, etc.)
Key innovation: File-based queue system prevents race conditions and enabl…