Codeman は何をしますか?
Claude Code と Opencode を Tmux セッションで管理するモダンな WebUI です。
概要
このツールは、ターミナルマルチプレクサ tmux のセッション上で動作する Claude Code や Opencode のインスタンスを、Web ブラウザ上から直感的に管理できるようにします。各エージェントは独立した tmux セッション内で動作するため、並行実行やリソースの分離が容易です。
主な機能
- WebUI でのセッション管理: ブラウザから複数の Claude Code / Opencode セッションを起動・停止・監視できます。
- Tmux との統合: 既存の tmux セッションを認識し、新しいセッションを簡単に作成できます。
- リアルタイム出力: 各エージェントのコンソール出力を WebUI 上でリアルタイムに表示します。
- セッションの永続性: tmux セッションはサーバーが再起動しても保持されるため、作業状態を失いません。
インストール
- リポジトリをクローンします。
git clone https://github.com/Ark0N/codeman.git
cd codeman
- 依存関係をインストールします。
npm install
-
設定ファイル
.envを作成し、必要な環境変数を設定します(例:TMUX_SESSION_PREFIX)。 -
サーバーを起動します。
npm start
- ブラウザで
http://localhost:3000にアクセスします。
使い方
- セッション一覧: WebUI を開くと、現在アクティブな tmux セッション(Claude Code または Opencode を含むもの)が表示されます。
- 新規セッション: 「新しいセッション」ボタンから、エージェントの種類とセッション名を指定して作成できます。
- セッションへの接続: セッションをクリックすると、その出力がリアルタイムで表示されます。必要に応じて入力を送信することも可能です。
- セッションの終了: セッションを選択し、「終了」ボタンで安全に停止できます。
対応プラットフォーム
- Claude Code: Anthropic の CLI ベース AI エージェント。
- Opencode: オープンソースの AI コーディングエージェント。
技術スタック
- バックエンド: Node.js, Express
- フロントエンド: React, xterm.js (ターミナルエミュレーション)
- セッション管理: tmux (Node.js ラッパーライブラリ使用)
設定
環境変数 .env で以下の設定が可能です:
PORT: WebUI のポート(デフォルト: 3000)TMUX_SESSION_PREFIX: 管理対象とする tmux セッションの名前に含まれるプレフィックス(例:codeman-)DEFAULT_AGENT: 新規セッション作成時のデフォルトエージェント種別(claudeまたはopencode)
ライセンス
MIT
貢献
バグ報告や機能リクエストは GitHub Issues までお寄せください。プルリクエストも歓迎します。