Clowld Space Docs

デーモンとランタイム

Clowld Space がどのようにコンピュータを接続し、AI コーディングツールを検出して作業を実行するかを説明します。

Clowld Space は作業の記録と調整を担い、接続されたコンピュータが実行を担います。コンピュータ上のデーモン(daemon)が作業を取得し、そのマシンにインストールされた AI コーディングツールを呼び出します。

デーモンとランタイムの違い

  • デーモンは、1 台のコンピュータで動く Clowld Space のバックグラウンドプロセスです。サーバーへの接続、ローカルツールの検出、作業の取得、結果の報告を担当します。
  • ランタイムは、ワークスペースが利用できる 1 つの具体的な実行環境を表します。1 台のコンピュータと、そのコンピュータ上の 1 つの AI コーディングツール(またはカスタムランタイムプロファイル)の組み合わせに対応します。

たとえば、Claude Code と Codex の両方をインストールした 1 台のコンピュータが、2 つのワークスペースに接続しているとします。デーモンはそれぞれのワークスペースに Claude Code と Codex のランタイムを登録します。デーモンを再起動すると既存のレコードが更新されるだけで、同じ組み合わせに対して新しいランタイムが増え続けることはありません。

実行場所とデータ境界

ローカルランタイムが呼び出す AI コーディングツール、それらのツール自身のログイン認証情報、ローカルのコードディレクトリは、いずれも接続されたコンピュータに残ります。Clowld Space サーバーがローカルツールの代わりにコマンドを実行することはなく、作業ディレクトリ全体を自動でアップロードすることもありません。

チームが協働できるように、サーバーはタスク、コメント、エージェント設定、実行のコンテキスト、実行記録、エージェントが書き戻した結果を保存します。これらには、エージェントが自ら読み取って返信に含めたコードスニペットやその他のプロジェクトコンテキストが含まれることがあります。

エージェントのカスタム環境変数はサーバー側に保存され、実行時にランタイムへ送られます。「ローカル実行」を「すべてのシークレットがこのマシンにしか存在しない」と読み替えないでください。カスタム環境変数と MCP 設定はサーバー側にあり、その表示は機密値のルールによって制限されます。

デーモンの起動

Clowld Space Desktop を使う場合、アプリがデーモンを自動的に起動するため、追加のコマンドは不要です。

Desktop をインストールすると、デフォルトの公式 CLI の daemon status/start/stop/restart も Desktop に委任されるため、デフォルト環境ではデーモンは 1 つだけです。名前付きプロファイルは独立したままです。

Web、リモートのコンピュータ、ヘッドレス環境では、先に Clowld Space CLI をインストールしてから実行します。

clowld daemon start

デーモンはデフォルトでバックグラウンドで動きます。よく使うコマンド:

コマンド役割
clowld daemon statusデーモンと接続の状態を表示する
clowld daemon logs -fログを追跡表示する
clowld daemon restartデーモンを再起動し、ローカルツールを再検出する
clowld daemon stopデーモンを停止する
clowld daemon start --foregroundデバッグ用に現在のターミナルで実行する

作業の作業ディレクトリを別のディスクに置くには、clowld config set workspaces_root <path> で現在のプロファイルにルートを保存するか、daemon start または daemon restart に --workspaces-root <path> を渡します。フラグは CLOWLD_WORKSPACES_ROOT より優先され、環境変数はプロファイル設定より優先されます。ルートを変更しても既存の作業ディレクトリは移動されません。

起動時、デーモンは PATH 上の対応する AI コーディングツールを検出し、あなたが接続を許可されているワークスペースにランタイムを登録します。ツールをインストールまたはログインした直後の場合は、デーモンを再起動すると再検出されます。

デーモンは、組み込みで対応している AI コーディングツールを少なくとも 1 つ検出できないと起動しません。インストール方法と実行コマンド名は AI コーディングツールのインストールを参照してください。

ディスパッチとオンライン状態

登録されたランタイムは接続を維持し続けます。新しい実行がキューに入ると、サーバーは対応するデーモンに通知します。デーモン側も定期的にポーリングし、接続断のあとの補完として機能します。そのため、ランタイムがオンラインで空き容量があれば、実行は通常すぐに開始されます。

デーモンは 15 秒ごとにハートビートを送ります。サーバーはハートビートと接続状態を組み合わせてランタイムのオンラインを判定し、デーモンが予期せず終了した場合、通常は遅くとも約 3 分以内にオフラインと表示されます。

オンラインのコンピュータ 1 台のランタイム詳細: 同じデーモンが 7 個のランタイムを登録し、検出された AI コーディングツールごとに 1 行、いずれもオンライン状態と CLI バージョンを表示している

ランタイムがオフラインのとき:

  • キュー済みの実行はランタイムの復帰を待ちます。失敗するのは、そのランタイムが再接続猶予を超えてハートビートを停止し、かつ実行自身も同じ時間キューで待った場合のみです。したがって単に取り込み中のランタイムは滞留分を保持し続け、すでにオフラインのランタイムに割り当てられた実行にも猶予がまるまる 1 回分残ります。
  • 進行中だった実行は失敗します。条件を満たすタスクまたはチャットの実行は自動リトライできます。
  • デーモンが再起動すると、ランタイムを再登録し、前回正常に終了しなかった実行を回収します。
  • 7 日を超えてオフラインで、(アーカイブ済みを含め)どのエージェントにも紐づいていないランタイムは、自動的にクリーンアップされます。

詳細な状態とリトライのルールは実行を参照してください。

同時実行の上限

1 つのデーモンはデフォルトで最大 20 件の実行を同時に処理します。各エージェントはデフォルトで最大 6 件です。実効的な同時実行数は両者の小さい方になります。

上限に達すると、新しい作業はキューで待ち続けます。個々のエージェントの同時実行数はエージェント設定で、マシン全体の上限は CLOWLD_DAEMON_MAX_CONCURRENT_TASKS で調整できます。並列実行は、マシンの性能、ツールアカウントのクォータ、同じ作業ディレクトリを同時に取り合います。

プライベートと公開

ローカルランタイムはデフォルトでプライベートです。その上にエージェントを作成できるのはランタイムの所有者だけで、ワークスペースの owner・admin も例外ではありません。ランタイムは他のメンバーのコンピュータであり、そこでエージェントを動かすことはそのメンバーのマシンとツール認証情報を消費するためです。

ランタイムを公開に変更できるのは所有者だけです。ワークスペースの管理者はランタイムの名前変更や削除はできますが、共有するかどうかは所有者が決めます。公開すると、ワークスペースの他のメンバーもこのランタイムを選べるようになります。これは基盤の AI コーディングツールのログイン認証情報を共有するものではなく、メンバーがエージェントの実行をこのコンピュータにルーティングできるようになるだけです。

カスタムランタイムプロファイル

チームで社内 wrapper やバージョン固定の実行ファイルを使う場合、あるいは互換ツールに固定引数を追加したい場合は、カスタムランタイムプロファイルを作成できます。

カスタムプロファイルが新しい通信プロトコルを追加することはありません。作成時には、Clowld Space がすでに対応しているプロトコルファミリー(ツールの連携プロトコルの種類。AI コーディングツール対照表を参照)を選ぶ必要があり、コマンド自体がそのプロトコルファミリーと互換でなければなりません。

作業ランタイム環境

デーモンがエージェントの実行を開始すると、実行コンテキストをランタイムプロセスに注入します。これらの値はデーモンが管理するため、エージェントのカスタム環境では CLOWLD_ 変数やタスク用一時ディレクトリ変数を上書きできません。

次の表は、カスタムランタイムが現在利用できる変数を示しています。完全な一覧ではなく、バージョン保証された API でもありません。連携処理では連携契約と記載された 5 つの変数だけを使用してください。それ以外は参考情報であり、今後変更される可能性があります。

変数作業内の値安定性
CLOWLD_TOKEN作業スコープの mat_ API 認証情報連携契約
CLOWLD_TASK_ID実行中の作業の ID連携契約
CLOWLD_AGENT_ID割り当てられたエージェントの ID連携契約
CLOWLD_WORKSPACE_ID作業が属するワークスペースの ID連携契約
CLOWLD_SERVER_URLデーモンが選択した Clowld Space サーバー URL連携契約
CLOWLD_TASK_CONFIG_ROOT作業専用の Clowld Space CLI 設定ルート参考情報
CLOWLD_TASK_WORKSPACES_ROOTデーモンが管理する作業用ワークスペースのルート参考情報
CLOWLD_AGENT_NAME割り当てられたエージェントの表示名参考情報
CLOWLD_DAEMON_PORTclowld repo checkout など作業専用コマンドが使うローカルデーモンのヘルス/API ポート参考情報
CLOWLD_TASK_SLOTデーモン全体の同時実行プール内のスロット。GPU などスロット番号付きリソースに使用可能参考情報
TMPDIR実行中の作業専用の一時ディレクトリ。TMP と TEMP でも提供しますが、Windows では Git Bash の共有 /tmp のため作業はユーザーの一時パスを継承します。Windows の Claude Code は CLAUDE_CODE_TMPDIR の既定値を作業の一時ディレクトリに設定参考情報

CLOWLD_TOKEN を使ったリクエストの作成者はサーバーが決定し、タスクへのコメントなどの書き込みは、割り当てられたエージェントと実行中の作業に帰属します。認証情報の完全な紐付け、権限、帰属、最長 24 時間の有効期間、クリーンアップについては、エージェント実行用の一時トークンを参照してください。

これらの値はランタイムプロセスの実際の環境に存在します。ランタイムが起動する子プロセスは、CLOWLD_TOKEN を含むすべての値をデフォルトで継承します。子プロセスに認証情報を渡すべきでない場合は、明示的に削除してください。存在しないプロセス分離を前提にしてはいけません。逆に、独自に子プロセス環境をフィルタするツールでは、変数の明示的な許可が必要な場合があります。たとえば Codex の shell ツールは、名前に TOKEN、KEY、SECRET を含む変数を除外するため、デーモンは必要な作業変数を許可する管理対象の shell ポリシーを設定します。トークンはプロセス環境内だけに保持し、prompt、ログ、リポジトリファイル、永続設定には書き込まないでください。子プロセスは親の作業と同じ ID と権限を共有し、独立した新しいスコープ ID は受け取りません。

プロファイルの作成

カスタムランタイムプロファイルを作成・変更・削除できるのは、ワークスペースの owner と admin だけです。

  1. ランタイムを開き、対象のコマンドがインストール済みのコンピュータに移動します。
  2. カスタムランタイムを追加をクリックします。
  3. コマンドが実際に互換のあるプロトコルファミリーを選びます。
  4. 名前、コマンド、固定引数を入力して保存します。

プロファイルはワークスペース内で共有されます。接続済みの各コンピュータが自分でこのコマンドを探し、PATH 上で解決できたコンピュータだけが対応するランタイムを登録します。プロファイルを作成してもコマンドはインストールされず、他のメンバーのツールログインが代行されることもありません。

ここに入力するのは実行ファイルと引数であり、shell スクリプトではありません。通常の引数、引用符、バックスラッシュによるエスケープは使えますが、パイプ、リダイレクト、&&、;、バッククォート、環境変数の展開は使えません。これらの挙動が必要な場合は wrapper script にまとめ、そのスクリプトをコマンドとして指定してください。

Desktop が起動したデーモンが、ターミナルでは実行できるコマンドを見つけられない場合は、現在のコンピュータに絶対パスを設定できます。

clowld runtime profile set-path <profile-id> --path /absolute/path/to/command

パスの上書きを解除するには:

clowld runtime profile unset-path <profile-id>

プロファイルの変更は、それ以降に取得される実行にのみ影響します。プロファイルを削除する前に、対応するランタイムにまだ紐づいているアクティブなエージェントを先に処理してください。あるコンピュータ上のランタイムインスタンスだけを削除してもプロファイルは消えず、実行中のデーモンが再登録します。

ランタイムがオフラインのときの確認手順

次の順に確認します。

  1. clowld daemon status を実行し、デーモンが起動していることを確認する。
  2. clowld daemon logs -f を実行し、ログイン、ネットワーク、ツール検出のエラーを確認する。
  3. 同じ実行環境で command -v <ツールコマンド> を実行し、デーモンがコマンドを見つけられることを確認する。
  4. Clowld Space のランタイムページを開き、対象のコンピュータと対応する AI コーディングツールがオンラインと表示されているか確認する。
  5. ツールのインストール直後、パスの変更直後、プロファイルの更新直後は clowld daemon restart を実行する。

それでも解決しない場合はトラブルシューティングを参照してください。

明示的な自動起動

CLI 1.2.7 以降、独立 daemon のログイン・起動時の自動起動は明示的に有効化します。daemon start は自動起動を登録せず、daemon stop は現在のプロセスのみ停止し登録は削除しません。

clowld daemon autostart status
clowld daemon autostart enable
clowld daemon autostart disable

名前付き profile は clowld --profile <name> daemon autostart status を使い、同じ profile で有効・無効を設定します。Windows はユーザーの Run、macOS は LaunchAgent、Linux は systemd ユーザーサービスを優先し、利用できなければ XDG ログイン自動起動を使います。ログイン前の起動はユーザーサービスと linger にも依存するため、状態の案内を確認してください。

Desktop 管理の既定 daemon は引き続きアプリの起動設定で管理します。Clowld Space が作成していない登録は上書き・削除を拒否します。status の場所と説明を確認してください。パス変更後、daemon start は既存の管理対象登録のみ更新します。macOS/Linux は登録時の PATH を保存しますが、シェルの全環境変数を継承するわけではありません。

1.2.7 はヘルスポート復旧とスリープ後の監視も改善します。Windows の実スリープ・復帰と macOS/Windows のインストール・自動起動は実機未検証です。Linux はコンテナー内 PAM/systemd とオフラインインストール・起動のみで、ホストは再起動していません。検証範囲を参照してください。

次のステップ