Melso Docs

デーモンとランタイム

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

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

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

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

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

実行場所とデータ境界

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

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

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

デーモンの起動

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

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

melso daemon start

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

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

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

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

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

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

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

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

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

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

  • キュー済みのタスクは、最長 2 時間、ランタイムの復帰を待ちます。
  • 実行中だったタスクは失敗します。条件を満たすイシューまたはチャットのタスクは自動リトライできます。
  • デーモンが再起動すると、ランタイムを再登録し、前回正常に終了しなかったタスクを回収します。
  • 7 日を超えてオフラインで、(アーカイブ済みを含め)どのエージェントにも紐づいていないランタイムは、自動的にクリーンアップされます。

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

同時実行の上限

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

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

プライベートと公開

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

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

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

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

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

プロファイルの作成

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

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

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

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

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

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

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

melso runtime profile unset-path <profile-id>

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

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

次の順に確認します。

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

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

次のステップ