メインコンテンツへスキップ
アプリがインストールした Dure CLI を使います。Settings → Agent tooling で設定を確認でき、dure --help でインストール済みバージョンのコマンドを読めます。

プロジェクトフォルダーから開始する

専用 worktree がタスクのファイルを分離します。実行ホストにインストールされ、ログイン済みのプロバイダーを選んでください。--project や --path を省略すると、バックエンドが現在の作業ディレクトリを解決します。 Dure のペインとして識別されたターミナル内で --space を省略すると、現在の Space に新しいペインが開きます。その文脈がない通常のターミナルや CI では、画面なしで実行されます。画面なしの実行は、実行ホストにプロバイダーのチャットランタイムがあればそれを使うため、そのホストに Dure アプリは不要です。実行が表示する agentId を使い、dure transcript <agent-id> で読めます。同じマシンで接続中のアプリが実行を引き継いだ場合は、ターミナルセッションのままです。明示的な配置先が必要なら、接続済み Space の正確な名前か ID を --space で指定します。

追加の入力前に状態を確認する

dure read はセッション画面、dure transcript は利用可能な会話記録を読みます。一覧で返されたセッションとワークスペースの識別子で対象を選んでください。起動や入力配信の成功応答だけでは、タスクの完了を意味しません。 SSH バックエンドも使っている場合、dure ls --all-backends で設定済みのすべてのバックエンドのセッションを、BACKEND 列のある 1 つの表で確認できます。接続できないバックエンドはエラーとともに報告され、他のバックエンドの結果は隠れません。--json では各セッションに backendProfileId が含まれます。

起動したエージェントを待つ

エージェントが自分の Dure ターミナルペインから dure run を実行すると、新しい Run はそのエージェントを親として記録します。呼び出したエージェントは、子を 1 つずつポーリングせずにまとめて待てます。
子は、ターンを終えてアイドルになったとき、入力や承認を待っているとき、終了したとき、または起動に失敗したときに落ち着いたとみなされます。JSON には各子とその状態が含まれ、終了コード 1 は落ち着いた子に対応が必要なことを示します。dure runs show <agent> で Run の親を確認できます。--no-parent で親を記録せずに起動し、--parent <agent> で同じバックエンド上の別のエージェントに紐づけます。チャットランタイムの子はまだ待てません。dure transcript で読み取ってください。 親は待たなくても結果を受け取れます。ターミナルの子がターンを終えたとき、入力や承認を求めたとき、終了したとき、または停止されたときに、Dure は親の受信箱にメッセージを 1 件送り、親を起こします。ターンの終了や終了時のメッセージには、子の最終的な応答と、その中の GitHub プルリクエストのリンクが含まれます。各結果は Dure が再起動しても 1 回だけ送られます。親自身のセッションが終了している場合は送られません。

ターミナルからエージェントを切り替える

dure tui は、すべての Space のエージェントを状態、アカウント、プロジェクトとともに一覧表示します。アプリがなくても SSH 経由で使えます。エージェントを選択して Enter を押すと接続します。Ctrl-\ に続けて d を押すと接続を解除して一覧に戻り、エージェントは動作を続けます。そのマシンにアプリがない場合、アカウントは unknown と表示され、プロジェクトにはエージェントの作業フォルダー名が表示されます。 SSH バックエンドも使っている場合、dure tui --all-backends で設定済みのすべてのバックエンドのエージェントを、BACKEND 列のある 1 つの一覧で確認できます。Enter を押すと、そのエージェントのバックエンドを通じて接続します。接続できないバックエンドは一覧の下に表示され、他のバックエンドのエージェントは隠れません。

担当する作業を宣言する

複数のエージェントやボットが一つのリポジトリで作業するときは、それぞれが担当する作業を宣言しておくと、ほかの参加者が作業を始める前に重なりを確認できます。
Dure のターミナルペイン内では、そのセッションが担当者になり、ブランチとワークツリーも記録されます。ペインの外では担当者名を指定します: dure claim engine-2 --issue 2 --paths 'Sources/Engine/**'。dure claim は同じリポジトリで Issue、ブランチ、ワークツリーが同じ宣言や、同じファイルを指しうるパスを持つ宣言を表示し、一つでもあれば終了コード 3 を返します。--check は宣言を記録せずに重なりだけを確認するので、ボットが作業前に検査できます。宣言は参考情報で何もロックせず、解除するまで残ります。シェルがパスのパターンを展開しないよう、引用符で囲んでください。

繰り返すタスクを設定する

プロジェクトフォルダーで実行します。
作成すると、指定タイムゾーンの平日 09:00 の実行が有効になります。保存だけして定期実行を有効にしない場合は --disabled を追加します。スケジュール実行は独立した Git worktree を使います。スケジュールで起動したエージェントは、アイドル状態が 30 分確認されると休止します。会話は保持され、再開できます。エージェントの停止後、未コミットや未追跡の変更がなく、すべてのコミットがデフォルトブランチに含まれている場合にのみ worktree を削除し、それ以外は保持します。返された実行キーで dure schedule inspect を呼ぶと、保存された報告を読めます。Dure アプリがあるマシンでは、スケジュール実行はターミナルセッションです。サーバーや VM のように Dure CLI だけがあるホストでは、プロバイダーにそこでのチャットランタイムがあれば、画面なしの実行と同じくチャットランタイムで開始し、dure schedule runs がその dure runs show コマンドを表示します。アイドル時の休止と worktree の削除は、ターミナルセッションにだけ適用されます。プロバイダーがそのホストでサインインしていない場合、実行は Start blocked と表示されます。そのホストでプロバイダーの CLI からサインインし、もう一度実行してください。 履歴を失わずに後で一時停止するには、dure schedule show が示すリビジョンで dure schedule set daily-review --disabled --expected-revision N を実行します。--enabled で再開します。同じコマンドで --cron、--timezone、--name、--prompt も変更できます。 実行サービスとマシンが利用可能である必要があります。アプリ画面を閉じることとサービスを止めることは異なり、スリープ中や電源が切れたマシンでは通常どおり実行できません。

リモートバックエンドを選ぶ

SSH 実行では --backend に設定済みのバックエンド ID を渡します。そのバックエンドがプロジェクトパスを解決し、プロバイダー設定も必要です。権限の明示指定は dure run --help で確認し、タスクに合わせて選びます。 構造化されたメッセージと判断はエージェントの連携を参照してください。