AIコーディングエージェントをスマホから24時間管理!Codeman で Claude Code を自律稼働させる
AIコーディングエージェントをスマホから24時間管理!Codeman で Claude Code を自律稼働させる
ひとことでいうと
Codeman(コードマン)は、Claude Code・OpenCode・Codex といった AI コーディングエージェントを、Web ブラウザ画面ひとつで一元管理できるコントロールパネルです。エージェントが処理を終えても自動で次の指示を出して作業を継続させる「自律継続機能」があり、夜間や外出中もコードを書き続けてくれます。スマートフォンのブラウザからも操作できるため、外出先でもエージェントの進捗確認や追加指示が行えます。最大 20 個のエージェントを同時に動かせる、Node.js 22 以上と TypeScript 5.9 で作られた Web アプリケーションです。プログラマーが「AI に仕事を任せて寝る」を実現するための、いわば AI エージェントの「管制室」です。
このソフトで何ができる?
Codeman が提供する主な機能は大きく 5 つあります。
マルチセッションダッシュボードでは、最大 20 個の AI エージェントセッションをタブで切り替えながら管理できます。各セッションの画面はブラウザ上のターミナルエミュレータ(端末画面を再現する仕組み)で 60fps リアルタイム表示されます。消費トークン数・コスト・作業サマリーも各タブで確認できます。
**Respawn コントローラー(自律継続実行)**は、AI エージェントがアイドル状態(待機状態)になったことを自動検知し、続行プロンプト(「次を続けて」という指示)を送って再起動します。/clear → /init → continue というサイクルを 24 時間以上、無人で回し続けることができます。「overnight-autonomous(夜間自律)」「solo-work(単独作業)」などのプリセットが用意されています。
スマートフォン最適化 UI では、入力した文字がサーバーの返答を待たずに即座に画面に表示される「ローカルエコー」機能により、モバイル回線の遅延を感じさせない操作感を実現しています。QR コードをスキャンするだけでログインでき、スワイプでセッションを切り替えられます。
サブエージェント可視化では、Claude Code がバックグラウンドで動かしている補助エージェントをフローティングウィンドウとアニメーション接続線でリアルタイム表示します。各エージェントが今何をしているか(ファイル読み書き・コマンド実行など)がひと目でわかります。Haiku / Sonnet / Opus のモデルバッジや、active / idle / completed のステータス色分けも備えています。
Orchestrator ループは、「認証機能を追加する」といった大きなゴールを受け取り、複数のフェーズ(段階)に自動分割して複数エージェントに振り分ける機能です。各フェーズの完了確認と、失敗時の自動再計画も行います。
こんな人におすすめ
夜間・長時間タスクを無人で走らせたいエンジニア
大規模なリファクタリング(コードの整理)や長い調査タスクを、エージェントに任せたまま離席したい方に向いています。Respawn コントローラーが自動でセッションを再起動するため、朝起きたら作業が進んでいる環境を作れます。コンテキスト(作業の文脈)が長くなってきたら自動でコンパクト化・クリアも行うため、コスト管理も手軽です。
外出先のスマホからエージェントを監視・指示したい方
リモートワーク中や移動中に、スマートフォンのブラウザからエージェントの進捗を確認したり、追加の指示を送ったりしたい方に最適です。QR コードをスキャンするだけでログインでき、パスワード入力が不要です。ローカルエコー機能のおかげで、モバイル回線でも快適なタイピング体験が得られます。
複数エージェントを並列で動かして大きなタスクを分割したいチーム
Orchestrator の計画承認フローを使えば、「何をどの順番でどのエージェントにやらせるか」をビジュアルで確認してから実行できます。Claude Code の実験的なチーム機能(CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1)にも正式対応しており、複数エージェントの協調作業を安全に管理できます。
インストール・使い方
前提として必要なもの
- Node.js 22 以上(インストールスクリプトが自動で導入)
- tmux(ターミナルセッションを維持するツール。同上で自動導入)
- Claude Code / OpenCode / Codex のいずれか 1 つ以上
Step 1: ワンライナーでインストールする
ターミナル(文字で命令を送る画面)を開いて、以下のコマンドをコピー&ペーストして実行するだけです。~/.codeman/app にファイルが自動でダウンロードされ、ビルド(プログラムを動かせる形に変換する作業)まで完了します。
curl -fsSL https://raw.githubusercontent.com/Ark0N/Codeman/master/install.sh | bash
Windows をお使いの方は、WSL(Windows 上で Linux を動かす仕組み)のターミナルで同じコマンドを実行します。
Step 2: Web サーバーを起動する
インストールが終わったら、以下のコマンドを実行します。Codeman が起動し、デフォルトでは http://localhost:3000 でブラウザからアクセスできます。
codeman web
スマートフォンなど別のデバイスからアクセスしたい場合は --https オプションを追加します。自宅 LAN 内であれば以下のコマンドで、スマホブラウザから接続できます。
codeman web --https
# スマホのブラウザで https://<your-ip>:3000 を開く
Tailscale(プライベート VPN サービス)経由の場合は、--https なしの HTTP でも安全にアクセスできます。
Step 3: Respawn コントローラーを有効にする
WebUI でセッションタブを開き、Respawn パネルからプリセットを選んでオンにするだけです。コマンドラインから API 経由で設定したい場合は以下のように呼び出します。<SESSION_ID> の部分は WebUI に表示されているセッションの ID に置き換えてください。
curl -X POST http://localhost:3000/api/sessions/<SESSION_ID>/respawn/enable \
-H "Content-Type: application/json" \
-d '{"preset": "overnight-autonomous"}'
Step 4: (任意)自動起動サービスに登録する
サーバーを再起動したあとも Codeman が自動で立ち上がるようにしたい場合は、systemd(Linux のサービス管理ツール)へのサービス登録が便利です。README の「Run as a background service」の手順に従って設定ファイルを配置し、以下のコマンドで有効化します。
systemctl --user enable --now codeman-web
これ以降、OS を再起動しても Codeman が自動で起動するようになります。
動かしてみた
リポジトリの構成を確認すると、TypeScript 製のソースコード群、テストスクリプト、そして豊富なドキュメント(docs/ フォルダ)が整然と配置されていました。Node.js の設定ファイル(.nvmrc・package.json・tsconfig.json)がきちんと整備されており、npm install && npm run build でプロダクションビルド(本番用のプログラム)が生成できる構造になっています。
主なファイル構成は以下のとおりです。
./package.json # Node.js 22+ / TypeScript 5.9 / Fastify 5.x
./tsconfig.json # TypeScript コンパイル設定
./scripts/tmux-manager.sh # tmux セッション管理スクリプト
./docs/qr-auth-plan.md # QR 認証の詳細設計書
./docs/orchestrator-loop-architecture.md # Orchestrator 設計書
./docs/security-architecture.md # セキュリティ設計書
テストは合計 2,861 件が用意されており、ルートハンドラのテストは app.inject() 経由で実行できる構造です。Python 3.12 も利用可能な環境であることも確認しました。QR 認証・Orchestrator・セキュリティなど、主要機能がそれぞれ独立したドキュメントで丁寧に説明されている点も好印象です。
ブラウザで試す
Respawn コントローラーのプリセット設定の比較表や、Codeman REST API の curl コマンドジェネレーターをブラウザ上で試せるページが用意されています。インストールする前に機能のイメージをつかみたい方は、まずこちらを確認してみるとよいでしょう。
実践のコツ:はじめの一歩でやっておきたいこと
すぐに試せるポイントをまとめました。
- QR コード認証を使う — デスクトップ画面に表示される QR コードをスマホカメラで読み取るだけでログインが完了します。パスワード入力が不要で、コードは 60 秒ごとに自動更新されます。
- overnight-autonomous プリセットから始める — 初めて Respawn を使う場合、このプリセットが夜間の自律稼働に最もバランスよく対応しています。
- トークン上限の設定を事前に確認する — デフォルトでは 110,000 トークンで自動
/compact(文脈の圧縮)、140,000 トークンで自動/clear(文脈のリセット)が実行されます。長いタスクで予期しない中断を防ぐため、事前に把握しておきましょう。 - Tailscale を使うと外出先からのアクセスが安心 — 自宅サーバーに Tailscale を入れておけば、暗号化されたプライベートネットワーク越しにスマホから安全にアクセスできます。
- サブエージェント可視化パネルを開いておく — 大きなタスクを走らせているときは可視化パネルを開いておくと、各エージェントの状態が一覧で確認できます。Circuit Breaker(連続失敗を検知して自動停止する安全装置)が動いたときにもすぐ気づけます。
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1を試す — Claude Code のチーム機能(実験的機能)を有効にすることで、Codeman との連携がより強力になります。
活用例
夜間バッチ開発
大規模なリファクタリングタスクを Claude Code に依頼し、overnight-autonomous プリセットで Respawn をオンにします。翌朝、Codeman のタブでトークン消費量と作業タイムラインを確認し、未完了の部分だけ追加指示するだけです。コンテキスト管理も自動で完結します。
外出先からのコードレビュー依頼
スマートフォンのブラウザで QR 認証を使って Claude Code に接続します。モバイル向けのキーボードアクセサリバー(/init・/clear・/compact ボタン)でセッションを管理しながら、プルリクエストのレビューコメント生成や差分の説明を依頼できます。ローカルエコー機能で、遠隔地でも快適に操作できます。
マルチエージェント並列開発 Orchestrator に「認証機能の追加」という大きなゴールを渡します。自動生成されたフェーズ計画を WebUI 上で確認・承認後、複数エージェントがフェーズを分担して並列実行します。サブエージェント可視化パネルで状況をリアルタイム監視し、Circuit Breaker が問題を検知した時点で介入できます。
学習・実験環境の構築 複数の AI エージェントに同じ課題を異なるアプローチで解かせ、結果を比較できます。タブごとに独立したセッションがあるため試行錯誤の記録が残り、学習の振り返りに役立ちます。
小規模チームの開発補助 Orchestrator の計画承認フローを使うことで、「このフェーズ計画で進めてよいか」をチームメンバーが確認してから実行できます。意図しない変更を防ぎながら、複数エージェントの協調作業を進められます。
用語とポイント解説
tmux(ティーマックス)
ターミナルのセッション(作業単位)を複数持ち続けられるツールです。サーバーを再起動してもセッションが消えず、後から接続し直せます。かんたんに言うと「PC を再起動しても消えない作業画面をいくつも開いておける仕組み」です。Codeman はこの tmux をバックエンドとして利用することで、エージェントの作業を永続化しています。
Respawn コントローラー
AI エージェントのアイドル状態を検知して、自動で次の指示を送り再起動するモジュールです。「overnight-autonomous」「solo-work」などのプリセットが用意されており、目的に合わせて選べます。かんたんに言うと「エージェントが手を止めたら自動で『続けて』と声をかける係」です。コンテキストの自動圧縮・クリアも担います。
Circuit Breaker(サーキットブレーカー)
連続して失敗が起きたときに、自動でリスポーン(再起動)を一時停止する安全装置です。CLOSED(通常稼働)→ OPEN(停止)→ HALF_OPEN(様子見)という 3 つの状態を持ちます。かんたんに言うと「同じ失敗を繰り返さないようにいったん止める、電気のブレーカーと同じ仕組み」です。問題が解消されると自動的に通常稼働に戻ります。
xterm.js(エックスタームジェイエス)
ブラウザ上で動くターミナルエミュレータ(端末画面を模倣するライブラリ)です。60fps のリアルタイム表示を実現し、色付き文字や特殊文字にも対応しています。かんたんに言うと「ブラウザの中に本物そっくりのターミナル画面を表示するパーツ」です。Codeman のセッション画面はこのライブラリを使って描画されています。
ローカルエコー
キー入力した文字を、サーバーからの返答を待たずに即座に画面に表示する技術です。もともとは Mosh(モバイル向け SSH クライアント)で使われていた手法です。かんたんに言うと「打った文字がすぐ画面に出るので、スマホでも快適に文字入力できる仕組み」です。モバイル回線の 200〜300ms 程度の遅延を感じさせない操作感を実現しています。
Orchestrator(オーケストレーター)
「認証機能を追加する」のような大きなゴールを受け取り、複数のフェーズに自動分割して複数エージェントに振り分ける状態機械(ステートマシン)です。各フェーズの検証が失敗した場合は自動で再計画を行います。かんたんに言うと「大きな仕事を細かく分けてチームに割り振る、プロジェクトマネージャー役の機能」です。計画承認フローが付いているため、意図しない作業の開始を防げます。
SSE(Server-Sent Events)
サーバーからブラウザへリアルタイムにデータを送り続ける HTTP 技術です。WebSocket(双方向通信)とは異なり、サーバーからブラウザへの一方向プッシュに特化しています。かんたんに言うと「更新があるたびにサーバーがブラウザへ自動で知らせ続ける仕組み」です。Codeman では、セッション画面の更新やステータス変化の通知にこの技術を利用しています。
QR コード認証
デスクトップ画面に表示された QR コードをスマホカメラで読み取るだけでログインが完了する認証方式です。コードは 60 秒ごとに自動更新され、1 度読み取ると無効になるため使い回しができません。かんたんに言うと「スマホで QR を読むだけで、パスワード入力なしにログインできる仕組み」です。設計書(docs/qr-auth-plan.md)によれば、セキュリティ研究で指摘された QR 認証の 6 つの脆弱なパターンをすべてカバーする設計になっています。
Codeman は AI コーディングエージェントの「管制室」として、複数のエージェントを安全・効率的に管理するためのオープンソースインフラです。MIT ライセンスで公開されており、個人開発から小規模チームまで幅広く利用できます。2,861 件のテストと 7 フェーズにわたるリファクタリングの実績が示すように、実用性と信頼性を重視した開発が続けられています。ぜひ夜間の自律開発やスマートフォンからのリモート管制などに活用してみてはいかがでしょうか。