HN 日本語サマリー

← 一覧へ戻る
オープンソース

コンテキストの所有権を与えるClaudeプロジェクトのオープンソース版

The open source version of Claude Project that gives you the context ownershp (github.com)

5 pointsby 10keane0 コメント

要約

Orbitalは、AIエージェントが生成するコンテキスト(プロジェクトの状態、決定事項、教訓など)をセッションごとに閉じ込めるのではなく、ローカルフォルダに保存するオープンソースプロジェクトです。これにより、異なるAIエージェント間でのコンテキストの引き継ぎが容易になり、開発者はコンテキストの再説明やファイルの探し直しに時間を費やす必要がなくなります。プロジェクト単位での管理を可能にし、開発効率の向上を目指します。

全文翻訳

Orbital

English · 简体中文

Codexがタスクの途中で使用制限に達しました。Claude Codeが同じ会話で引き継ぎます。

[画像: あるOrbitalの会話でCodexが使用制限エラーで停止し、ユーザーがエージェントピッカーを開くと、Codexの制限到達とClaude Codeの残り91%が表示され、Claude Codeに切り替えるとプロジェクトのコンテキストファイルを読み込み、元の質問に回答します]

Codexが使用制限で停止。ピッカーで1回切り替えるだけで、Claude Codeがプロジェクトのコンテキストから回答を続行します。

[画像: Orbital]

プロジェクトエージェント

各エージェントはセッションを所有します。Orbitalはプロジェクトを所有します。

Orbitalはエージェントのためのコンテキストスチュワードです。プロジェクトのコンテキストを維持するため、すべてのエージェントが同じコンテキストで作業できます。エージェントが生成または学習したものはすべて、Orbitalが他のすべてが再利用できるように保持します。エージェントは同じプロジェクトで共に進化します。

コンテキストはあなたのものです。エージェントは交換可能です。

[画像: Windowsインストーラー(.exe)をダウンロード]    [画像: macOSインストーラー(.dmg)をダウンロード]

5分以内にセットアップ完了。PythonやNodeは不要です。独自のAPIキーを使用してください。新規ですか?ユーザーガイドをお読みください。

1分デモ:1つのタスク、2つのエージェント、何も再説明なし

demo-en-web.mp4[動画]

[画像: ライセンス: GPL-3.0] [画像: プラットフォーム: Windows] [画像: プラットフォーム: macOS]


なぜプロジェクトエージェントなのか?

あなたのコンテキストは本当にあなたのものですか?

Claude Codeとのデザインディスカッションで3ラウンド進んだところで、「使用クレジットを使い切りました」と停止します。Codexのクォータはすぐそこにありますが、Codexはこのプロジェクトについて何も知りません。目標、あなたがちょうど下した2つの決定、半分編集されたファイルなどです。すべてをもう一度説明する必要があります。

[画像: Orbitalチャットのエージェントピッカー:各エージェントの使用ウィンドウの残り quota を表示(Claude Codeは週の67%、Codexは84%)、別のエージェントに切り替えると同じ会話が続行されます]

各エージェントの残り quota がピッカーに表示されます。別のエージェントを選択すると、同じプロジェクトコンテキストから続行されます。

これは使用制限だけではありません。人々はすでに職場でいくつかの有能なエージェントを使用しています。最新モデルのため、残りの quota のため、または特定のツールがその仕事により適しているためです。しかし、Claude Codeで合意したプラン、Codexが半分編集したまま残したファイル、Cursorで決定したトレードオフ:それぞれが独自のセッション内にロックされています。セッションを閉じたり、ツールを切り替えたりすると、そのコンテキストはアクセス不能になります。

そのため、あなたはそれらの間でプロジェクトを運びます。目標の再述、以前の決定の説明、成果物の検索、未完了のものの確認などです。

あなたはエージェントのインターンです。コピー&ペースト、コンテキストの運搬、奇妙なファイルの場所の記憶などを行い、エージェントは思考を行います。

Orbitalはコンテキストをセッションから取り出し、ローカルフォルダに戻し、作業単位をセッションからプロジェクトに変更します。

プロジェクトエージェントは、プロジェクトに対する各エージェントの進捗を記録するため、次エージェントは完全なコンテキストでタスクを引き継ぎます。いずれかのエージェントが生成または学習したものはすべて、他のすべてのエージェントが参照および再利用できるように保持されます。車輪の再発明はありません。すべてのエージェントは同じプロジェクトで共に進化します。

個々のエージェントがタスクを完了します。Orbitalはプロジェクト全体を前進させます。


プロジェクトを所有することの意味

Orbitalは、通常エージェントセッション間で消失または断片化する5つのものを維持します。すべてがプロジェクトフォルダ内のプレーンファイルとして保存されます。

  • 状態 — プロジェクトについて現在真実であること (PROJECT_STATE.md)
  • 決定 — 何が決定され、なぜそうされたか (DECISIONS.md)
  • 学習 — プロジェクトが何を学んだか (LESSONS.md)
  • 作業 — 何が実行中、完了、またはブロックされているか (queue.json)。キューに入れられた各タスクは完了またはブロックで終了します。証拠なしで停止したエージェントは再プロンプトされ、その後理由とともに強制的にブロックされます。何も静かに消えていくことはありません。
  • 成果物 — エージェントが調査、作成、または構築したもの(ワークスペース自体、およびorbital/output/)

これらはローカルプロジェクトに残り、将来の作業のコンテキストとなります。コールドスタート時、Orbitalはこれらを独自のシステムプロンプトに組み立ててから動作します。

Orbitalが委任する際、ワーカーはその同じファイルに向けられ、それらが権威あるものであると指示されます。そのブリーフィングは、貼り付けたものではなく、各ディスパッチで新たにレンダリングされます。各ワーカーはプロジェクト内に独自のメモリファイルも保持するため、ディスパッチを重ねるごとに経験を蓄積します。タスクが完了すると、Orbitalはその結果を読み取り、重要なものをプロジェクトに記録します。

ワーカーは変更できます。プロジェクトは継続します。


[画像: Orbital Discordに参加]

[画像: WeChat QRコード:著者を友達追加してOrbitalユーザーグループに招待]
WeChat:スキャンして友達追加してください。ユーザーグループに招待します

クイックスタート

4ステップのウォークスルー(スクリーンショット付き)を展開

スクリーンショット付きのステップバイステップバージョンをご希望ですか?Orbitalユーザーガイドをご覧ください:APIキー、プロジェクト、エージェントの切り替え、タスクキュー、自動化、プロジェクト設定。

  1. Orbitalを起動 — セットアップウィザードが2つのステップでガイドします。

    ステップ1 — LLMプロバイダー: 中国本土では、「TokenDanceでサインイン」をタップし、承認して無料トークンで開始します。それ以外の場合は、プリセットカードからプロバイダーを選択し、キーコンソールリンクをたどってAPIキーを取得し、貼り付けます。DeepSeek、Anthropic、OpenAI、Moonshotなど、多数のプロバイダーをサポートしています。

    [画像: セットアップウィザードステップ1:プリセットカードからLLMプロバイダーを選択し、APIキーを入力]

    ステップ2 — アカウントの接続: APIコネクタ(Googleカレンダー、ドライブ)をリンクし、エージェントが必要とするサイト(Google、GitHubなど)にサインインして、CAPTCHAでブロックされずにブラウズできるようにします。ここでのすべてはオプションであり、後で設定で実行できます。

    [画像: セットアップウィザードステップ2:アカウント接続 — APIコネクタとエージェントブラウザサインイン]

  2. プロジェクトを作成 — 名前を付け、ワークスペースディレクトリを選択し、自律レベルを設定します。

    [画像: 新規プロジェクトダイアログ:プロジェクト名とフォルダ、新規または既存のフォルダを指定可能]

  3. チャット — チャットバーにタスクを入力すると、プロジェクトエージェントが処理します。

  4. 離席 — 次のタスクをキューに入れ、完了した各タスクは次のタスクが構築するためのコンテキストになります。


プロジェクトが一人のマネージャーの下に留まる様子を見る

[画像: orbital/メモリファイル(PROJECT_STATE.md, DECISIONS.md, LESSONS.md, INDEX.md, ASKS.md)、エージェントによって維持され、各セッションで読み戻される]

プロジェクトエージェントは、セッションをまたいでプロジェクトの状態、決定、学習を最新の状態に保ちます。

[画像: プロジェクトエージェントがバグを報告し、Claude Codeをディスパッチします。Claude Codeは同じプロジェクトコンテキストに対して9分間調査し、根本原因と仕様をワークスペースに報告します]

Claude Code、Codex、またはGemini CLIに同じプロジェクトコンテキストで委任し、結果を記録します。


Orbitalの比較

メモリ、スケジューリング、サブエージェントは現在標準装備です。以下のすべてのツールがこれらを持っています。答えがまだ異なるのは、次の3つの質問です。

2026年7月OrbitalClaude CodeCodexHermesOpenClaw
別のエージェントが次のタスクを引き継げますか?✅ Claude Code、Codex、Gemini CLI、Cursor、任意のCLI❌ Claudeワーカー❌ Codexワーカー❌ Hermesワーカー部分的(ACP経由の外部ハーネス)
キューに入れられたタスクが漂流するのを防ぐものは?✅ 強制的な完了/ブロック終了❌❌❌❌
予算、承認、監査証跡を所有するのは誰ですか?✅ プロジェクト部分的(権限+実行履歴)部分的(承認+エンタープライズ監査)部分的(コマンド承認)部分的(承認+ログ)

短いバージョン: 違いは単一の機能ではありません。状態、ワーカー、ガバナンスを所有する単位はセッションではなくプロジェクトです。


機能ディープダイブ

Orbitalは~である / ~ではない

Orbital ISOrbital IS NOT
あなたとあなたのエージェントが同じファイル、履歴、コンテキストを共有するプロジェクトワークスペースクラウドサービス — すべてがあなたのマシンで実行されます
サブエージェントコーディネーター:SDK経由のClaude Code、アプリサーバー経由のCodex、PTY/ACP経由のGemini CLI、Cursor、またはその他のワーカーOpenClawのフォーク — カスタムエージェントループ、ゼロから構築
リモート監視:アクションの承認、ワークスペースファイルの閲覧、電話からのアップロードチャットラッパー — エージェントはcronとファイルウォッチャー経由で継続的に実行されます
予算管理、自律プリセット、資格情報管理(OSキーチェーン)完全自律ゴッドモード(まだ) — 現在はスケジューラードリブン、完全自律はロードマップにあり
プロジェクトが一人のマネージャーの下に留まる方法

プロジェクトとワークスペースモデル

各プロジェクトはワークスペースディレクトリにマッピングされ、独自のセッション、キュー、トリガー、設定を維持します。

[画像: エージェントの累積出力とorbital/メモリファイルを含むワークスペースのファイルツリー]

各プロジェクトのワークスペース内のファイルを閲覧、プレビュー、アップロードし、エージェントの出力が累積する様子を確認できます

{workspace}/
+-- AGENTS.md                           # 外部エージェントのためのオンボーディングサインポスト(作成時にシードされ、ユーザーが所有)
+-- orbital/                            # 運用メタデータ
    +-- sessions/
    |   +-- {session_id}.jsonl          # 追記専用セッションログ
    +-- instructions/
    |   +-- project_goals.md
    |   +-- user_directives.md
    +-- skills/                         # プロジェクトスキル
    +-- sub_agents/                     # サブエージェントトランスクリプト + ワーカーごとのMEMORY.md
    +-- tool-results/                   # ツール出力成果物
    +-- output/                         # エージェント作業成果物
    |   +-- screenshots/                # ブラウザスクリーンショット
    |   +-- pdfs/                       # 保存されたPDF
    |   +-- shell-output/               # シェルコマンド出力
    +-- queue.json                      # タスクキュー(キューイング中 / 実行中 / 完了 / ブロック)
    +-- PROJECT_STATE.md                # 現在の状態スクラッチパッド(上書き)
    +-- DECISIONS.md                    # 永続的な決定+理由
    +-- LESSONS.md                      # 永続的なヒューリスティクス/プレイブック
    +-- INDEX.md                        # ナビゲーションマップ:ファイルツリー+ファイルごとの1行
    +-- DECISIONS_ARCHIVE.md            # Demoted decisions (read-on-demand)
    +-- LESSONS_ARCHIVE.md              # Demoted lessons (read-on-demand)

~/orbital/                              # ホームグローバル(デーモンインフラストラクチャ)
+-- daemon.pid                          # シングルインスタンス強制
+-- device.json                         # デバイスID
+-- browser-profile/                    # 共有ブラウザプロファイル
+-- credential-meta.json                # 資格情報メタデータ

セッションフォーマット: メッセージごとに1つのJSON行(ロール、ソース、コンテンツ、タイムスタンプ、ツール呼び出し)。ファイルロック付きの追記専用。圧縮中以外は変更されません。

コンテキスト管理と圧縮

これはプロジェクトエージェントがセッション間でコンテキストを利用可能に保つ方法です。エージェント管理のレイヤー1ファイルは各ターンに挿入され(ファイルごとに制限あり)、セッション境界で統合されます。

ファイル目的制限
PROJECT_STATE.md現在の状態スクラッチパッド — 現在何が真実か(上書き、変更ログではない)トークンキャップ → 最古をトリム
DECISIONS.md永続的な決定+理由(マージ&置き換え、矛盾しない)トークンキャップ → 最古のコールドをアーカイブに降格
LESSONS.md永続的なヒューリスティクス/テクニカルプレイブック(そのまま保持、単語トリムなし)トークンキャップ → 最古のコールドをアーカイブに降格
INDEX.mdナビゲーションマップのみ:ファイルツリー+ファイルごとの1文1文フォーマット+トークンキャップ
DECISIONS_ARCHIVE.md, LESSONS_ARCHIVE.mdDemoted durable entries, read-on-demand (INDEXから参照)無制限

各エントリはシステム管理メタデータ(id / created / touched / tag)を運び、重複排除が最新順で行われるようにします。ターンごとの挿入は、アクティブモデルのコンテキストウィンドウから派生した予算に各ファイルを制限します。セッション終了時に決定論的なサイズバックストップ(降格/トリム、LLM呼び出しなし)と、矛盾を修正するベストエフォートLLM重複排除/マージが実行されます。(SESSION_LOG.mdは廃止されました。レイヤー1ファイルはターンごとに挿入されるため、個別のセッション履歴は冗長です)。

コールド再開: セッション開始時に、これらのファイルがシステムプロンプトに組み立てられるため、エージェントは動作前に再オリエンテーションできます。

[画像: DECISIONS.md — 理由付きのエージェントの決定ログ、セッションをまたいで維持]

[画像: LESSONS.md — エージェントが作業中に学習したパターンと落とし穴、各タスクの前に読み戻される]

DECISIONS.mdとLESSONS.md — エージェントが作業中に作成し、将来のすべてのセッションに引き継がれます

圧縮(コンテキスト使用量が80%を超えた場合):メモリフラッシュ、古いメッセージのLLMによる要約、最近のメッセージはそのまま保持、圧縮後のプロジェクト目標と現在の状態での再オリエンテーション。

プレフィックスキャッシュ(v0.4.2):システムプロンプトは、静的、半安定、真に動的なセクションに分割されるため、フォローアップターンでは入力トークンの最大約95%がプロバイダーのプレフィックスキャッシュにヒットします。ベンチマーク番号については、v0.4.2リリースノートを参照してください。

サブエージェント委任

Orbitalは単一のAIツールに縛られません。プロジェクトエージェントが計画と委任を行い、専門化されたワーカーが実行します。それぞれが同じ累積プロジェクトコンテキストを読み取ります。CLIベースのエージェントはマニフェストファイル経由で登録でき、Claude Code、Codex、Cursor、Gemini CLI、Aider、Cline、Goose、Copilot CLI、Continueはそれぞれ1つ同梱されています。

各ディスパッチは、ワーカーをPROJECT_STATE.md、DECISIONS.md、LESSONS.md、INDEX.md、プロジェクトの指示、およびそのスキルに向け、それらを権威あるものとし、書き込み禁止と宣言する新しい継承プロンプトをレンダリングします。ワーカーは、貼り付けられたコピーを受け取るのではなく、オンデマンドでそれらを読み取るため、ブリーフィングは古くなりません。

[画像: サブエージェントメモリパネル — 各サブエージェントは、プロジェクトごとにキュレーションされた独自の長期メモリを保持し、各ディスパッチで読み取ります]

各サブエージェントは、ディスパッチを重ねて独自の長期メモリを保持します — それが記憶するものをキュレーションしてください…

[画像: プロジェクトエージェントがバグ調査をClaude Codeサブエージェントに委任し、50回のツール呼び出しを実行して根本原因と仕様をワークスペースに報告します]

…次にタスクをClaude Codeに委任し、結果を確認してプロジェクトに書き戻します

トランスポートタイプ:

トランスポート使用例
Codexアプリサーバー標準入出力、構造化されたライフサイクルと承認を備えたネイティブCodex JSON-RPC
パイプ標準入出力サブプロセス、JSONストリーミング
PTY対話型エージェント(Gemini CLI、Aider、Cline、Goose、Copilot CLI、Continue)用の疑似端末
SDK直接Claude SDK統合
ACPエージェント通信プロトコル — Cursor、公式ACPサーバー経由

注意: CodexはPTYやACPではなく、ネイティブアプリサーバーパスを使用します。Orbitalはcodex app-serverを起動し、直接JSON-RPCで通信します。ACPはACP準拠のワーカーで利用可能で、PTYは他の対話型CLIエージェントのデフォルトです。

タスクキュー

各プロジェクトには、プロジェクトとともにorbital/queue.jsonに保存されるキューがあります。タスクを追加し、緊急のものを先頭にピン留めすると、エージェントは監視なしで、一度に1つずつ、順番に処理します。

エージェントは、各項目に対して結果を宣言する必要があります。サイレントに次の項目に進むことはできません。

結果何が起こるか
完了エージェントが短い要約を報告し、項目は完了に移動してキューが進みます。
ブロックエージェントが理由(資格情報不足、曖昧な要件など)を述べます。項目は要対応に移動し、キューは進みます。準備ができたら解除します。

操作のために一時停止。 チャットを自由に行うためにキューを一時停止します — あなたの明確化は同じセッションに記録されるため、エージェントは再開時にそれらを見ることができます。

設計による継続性。 各完了項目の成果物は、次の項目が開始されるときにすでにプロジェクト内に存在するため、エージェントは後続タスクの監視中にそれらを使用できます。プロジェクトのトリガー(スケジュールとファイルウォッチャー)は、タスクとともにキューの自動化セクションにリストされています。

[画像: 一時停止中のキュー:現在実行中は空、1つのブロックされた項目が「要対応」の下にエージェントの理由とともに表示され、2つのキューに入れられたタスク、および完了した項目とその要約]

タスクをキューに入れて離席してください — 完了した各タスクは、次のタスクが構築するためのコンテキストになります

ワークベンチ — あなただけが決定できること(ベータ版)

エージェントがあなたのために完全に完了できないこと:支出の決定、あなたのアカウントから送信する必要があるメッセージ、すでに調査した3つのオプション間の判断。エージェントが作業するにつれて、それらをプロジェクトの状態ファイルにフラグ付けし、ワークベンチがそれらをすべてのプロジェクトから1つのリストに収集します。

各カードにはその出所が記載されているため、あなたは裸の指示に基づいて行動するように求められることはありません。なぜこれが信じられるのかを展開すると、エージェントが記録した証拠と、それが来たセッションが表示されます。カードは期限切れ順、次に古い順にソートされ、各カードは1回のタップで終了します — 完了(処理した場合)、削除(重要でなくなった場合)。カード自体をタップすると、そのプロジェクトのチャットが開き、決定が事前入力されているため、回答はコンテキストの検索ではなく1つのメッセージになります。

上部の今日ストリップには、その日の自動化スロットが表示され、すでに実行されたものも含まれています。これにより、あなたが必要とするものと、あなたなしで実行されたものの両方を一目で確認できます。

[画像: ワークベンチ:すべてのプロジェクトでフラグ付けされた決定とアクション、それぞれに出所プロジェクト、待機時間、完了/削除の終了オプション付き]

すべてのプロジェクトの未解決の決定を1つのリストに — それぞれの背後にある証拠はクリックするだけで表示できます

カレンダー(ベータ版)

数ヶ月前に設定した自動化が、見えないように実行されるべきではありません。有効化された各スケジュールトリガーは、今後の実行を週次グリッドに投影するため、プロジェクトのリズムは記憶するものではなく、見えるものになります。エージェントがプロジェクト状態で記録した日付付きのコミットメントは、同じグリッドに表示され、解決されると消えます。Googleカレンダーを接続すると、それらのイベントが同じビューに取り込まれます。

プロジェクトエージェントもこのカレンダーを読むことができるため、「すでにスケジュールされているもの」は、あなたが再述する必要があるものではなく、計画のコンテキストとなります。

[画像: カレンダー週表示:プロジェクトの定期的な自動化を表示:毎日の問題チェック、月曜日のバックログトリアージ、火曜日のリリースノートドラフト]

来週、あなたの自動化が実際に実行される様子

クイックタスク

サイドバーには、ファイアアンドフォーゲットのやり取りのためのクイックタスクセクションが含まれています。スクラッチプロジェクトは完全なプロジェクト作成フローをスキップします — 専用ワークスペースを必要としない使い捨てタスクに便利です。

[画像: Hacker Newsを閲覧するファイアアンドフォーゲットのクイックタスク(構造化された結果を返す)]

自己改善スキル

エージェントはマルチステップワークフローから再利用可能なスキルを作成し、類似タスクを開始する前に一致するスキルを参照します。スキルはワークスペースのSKILL.mdファイルとして保存され、設定UIを通じて管理されます — プロジェクトが実行時間が長くなるにつれて、より有能になるもう1つの方法です。

[画像: プロジェクト設定のスキルセクション:エージェントの動作を形成する再利用可能な運用パターン — そしてエージェントは独自のスキルを追加します]

効率的な実行、学習キャプチャ、タスク計画などのスキルは、エージェントの動作を形成します — そしてエージェントは独自のスキルを追加します

ツールと実行

組み込みツールスイート

プロジェクトエージェントはこれらのツールカテゴリにアクセスできます。

カテゴリツール説明
シェルshellネットワーク認識検出付きコマンド実行
ファイルread, write, edit, glob, grepワークスペース内のファイル操作と検索
ブラウザPatchright経由の26のアクションナビゲート、クリック、入力、抽出、スクリーンショット、マルチタブ、PDF、ウェブ検索、URL取得
トリガーcreate_trigger, list_triggers, update_trigger, delete_trigger自然言語によるスケジュールとファイル監視トリガー
資格情報request_credentialエージェント開始の資格情報要求 — セキュアなモーダルを開きます
委任agent_messageサブエージェントへのタスクルーティング
アクセスrequest_accessワークスペース外のパスへのサンドボックスポータルを要求

ブラウザ自動化

Patchright(ボット検出対策スクリプトが組み込まれたPlaywrightフォーク)を基盤としています。

  • ステルスモード: すべてのブラウザコンテキストに注入された自動検出スクリプト
  • 共有プロファイル: すべてのプロジェクトで1つのブラウザプロファイル — サービスに一度サインインすれば、すべてのエージェントがCookieを共有します。
  • アクセシビリティファースト: snapshotは、信頼性の高いインタラクションのための[ref=eN]要素参照を持つアクセシビリティツリーを返します。
  • 26のブラウザアクション: ナビゲート、クリック、入力、フィル、プレス、ホバー、選択、ドラッグ、アップロード、スナップショット、スクリーンショット、抽出、検索(ページ)、評価、タブ管理、戻る/進む、リロード、待機、PDFエクスポート、ウェブ検索、URL取得、バッチ。

[画像: Hacker Newsを閲覧するエージェントのモバイルビュー、各ブラウザステップとその推論がチャットで表示される]

Hacker Newsを閲覧するあなたのエージェント、各ステップが電話から見えるようになります

継続的な運用とトリガー

エージェントはトリガーを通じて継続的に実行されます — 手動介入は不要です。チャットで自然言語を通じてトリガーを作成します。

「uploads/フォルダを監視して新しい.jpgファイルを分析してください」
「毎朝6時に調査スキャンを実行してください」

プロジェクトエージェントはこれを適切なタイプとパラメータを持つcreate_triggerツール呼び出しに変換します。

トリガータイプ:

タイプ設定例
スケジュールCron式 + タイムゾーン0 6 * * *(毎日午前6時)
ファイルウォッチパス + グロブパターン + デバウンスuploads/*.jpg, 5秒デバウンス

[画像: ファイルウォッチトリガーエディタ:evidence/inbox/を新しいバグスクリーンショット用に監視し、そのフォルダ、ファイルパターン、デバウンス、実行者、プロンプト]

ファイルウォッチトリガー:evidence/inbox/を新しいバグスクリーンショット用に監視し、到着時にそれぞれをトリアージします

[画像: スケジュールトリガーエディタ:毎週月曜日の午前10時にバックログトリアージ、その頻度、タイムゾーン、実行者、プロンプト]

スケジュールトリガー:毎週月曜日の午前10時にバックログトリアージ

実例:バグレポート受信トレイとファイルウォッチ

[画像: モバイルチャット:エージェントにevidence/bug-reports/を監視するように依頼し、エージェントがファイルウォッチトリガーを作成]   [画像: モバイルチャット:トリガーされた実行がドロップされたバグレポートを読み込み、バックログに記録し、Claude Codeに仕様を書かせる]

左:「evidence/bug-reports/を新しいバグレポート用に監視してください。」右:レポートをドロップすると、エージェントがそれを記録し、仕様を取得します。

LLMプロバイダールーティングとBYOK

14のプロバイダーを標準でサポート:

Anthropic、OpenAI、DeepSeek、Moonshot (Kimi)、Groq、Google Gemini、xAI、Mistral、Together、OpenRouter、Zhipu、Qwen、TokenDance(词元跳动 — 中国本土のモデルルーター)、およびcustomエントリ(Ollama、Azure OpenAI、セルフホストモデルなど、任意のOpenAI互換エンドポイント用)。

  • SDKルーティング: Anthropic SDK(Anthropic用)、OpenAI SDK(OpenAI互換プロバイダー用)
  • モデルごとのメタデータ: 表示名、ティア、コンテキストウィンドウ、最大出力、機能(ビジョン、ツール使用、ストリーミング)、価格設定。
  • フォールバックローテーション: プライマリプロバイダーが失敗した場合、ループはエラー分類(一時的、レート制限、中止)を持つフォールバックプロバイダーにローテーションします。
制御と安全性

自律性と承認システム

3つの自律プリセットが、エージェントが受ける監視の量を制御します。

プリセットシェルファイル書き込みブラウザ説明
ハンズオフ自動自動自動最大限の自律性。request_accessのみ承認が必要。
チェックイン承認承認書き込みのみバランス型。外部エージェントのデフォルト。
監視付き承認承認読み取り以外すべて最大限の監視。

[画像: プロジェクト設定:自律プリセット(ハンズオフ/チェックイン/監視付き)とプロジェクトごとの予算管理]

自律レベルを選択し、プロジェクトごとに予算制限を設定します

承認フロー:

  1. インターセプターが自律ルールに基づいてツール呼び出しをキャッチします。
  2. フロントエンドに、ツール名、引数、コンテキストを含む承認カードが表示されます。
  3. ユーザーは承認、拒否、または10分間自動承認を選択できます。
  4. アクションごとのバイパス:同じツール+引数が60秒間自動承認されます。

[画像: モバイル承認カード:完全なコンテキストで電話からエージェントアクションを承認]

電話からエージェントアクションを承認 — 完全なコンテキストとオプションのガイダンス付き

コスト管理と予算制限

プロジェクトごとの予算制限により、暴走する支出を防ぎます。

設定説明
予算制限(USD)プロジェクトの最大支出額
予算アクションask(一時停止してユーザーにプロンプト)またはstop(エージェントを停止)
使用済みリセットオプション付きの実行合計額

エージェントループは累積トークン使用量を追跡し、プロバイダーレジストリからのモデルごとの価格設定を使用してコストを計算します。予算しきい値に達すると、設定されたアクションがトリガーされます(askはセッションを一時停止し、stopはエージェントを停止します)。現在、予算イベントはプッシュ通知をトリガーしません。

[画像: 予算設定:支出制限、リセット期間、一時停止または停止アクション、ライブモデルごとのコスト内訳、編集可能な価格表]

制限とリセット期間を設定し、ライブのモデルごとの支出とコスト内訳を確認します

モバイルリモートコントロール

ローカルネットワークまたはクラウドリレー経由で、電話からエージェントを制御します。

[画像: モバイルダッシュボード:すべてのプロジェクトを一目で確認]   [画像: モバイル承認後、エージェントが作業を完了]

左:電話でのプロジェクトダッシュボード。右:どこからでも承認した後、あなたのエージェントが調査を完了します。

ローカルネットワーク: 設定内のQRコードをスキャンして、LAN経由で電話でOrbitalを開きます。

[画像: ローカルネットワークでのモバイルアクセス用の設定内のQRコード]

スキャンして電話でOrbitalを開きます — 同じWi-Fiネットワークが必要です

クラウドリレー(オプション): ホームネットワーク外からのアクセス用にリレーサーバーをデプロイします。承認要求とエージェントステータスの変更に対するプッシュ通知。

資格情報管理

[画像: 資格情報ストア:システムキーチェーンに保存されたウェブサイトパスワード、ブラウザサインインとコネクタ付き]

ウェブサイトの資格情報はシステムキーチェーンに保存されます。エージェントはそれらを使用する前に常に許可を求めます。

  • APIキー: OSキーチェーン(keyring)に保存され、API応答でマスクされ、プロジェクトごとにBYOKオーバーライドが可能です。
  • ウェブサイト資格情報: credential-meta.jsonにメタデータ、OSキーチェーンに値。request_credentialツールにより、エージェントはセッション中にセキュアなモーダル経由で資格情報を要求できます — 資格情報はチャット履歴に表示されません。

ループ安全ガード

エージェントループには、暴走実行を防ぐための複数の安全メカニズムが含まれています。

ガードしきい値動作
トークン予算1億トークン(設定可能)累積使用量に対するハードストップ
繰り返し検出5つの同一アクションハッシュ異なるアプローチを強制
ピンポン検出3つの同一連続ペア交替サイクルを中断
サーキットブレーカー2つの連続した同一エラー新しいユーザーメッセージまでツールをブロック
コンテキストオーバーフロー3つの連続したオーバーフロー段階的な削減後のハードストップ

デスクトップアプリとシステムトレイ

OrbitalはPyInstallerでバンドルされたデスクトップアプリケーションとして提供されます。

  • システムトレイ: エージェントアクティビティステータス、クイックアクセスメニュー、ツールチップに表示される実行ポート。
  • ネイティブウィンドウ: pywebview経由でReactフロントエンドを埋め込み — ブラウザ不要。
  • デーモンライフサイクル: デスクトップアプリは起動時にデーモンをスポーンし、ポート割り当てを管理し、終了時にクリーンアップします。
  • スリープ防止: エージェントがアクティブな間、システムスリープをブロックします(Windows SetThreadExecutionState)。アイドル状態になると再許可します。

アーキテクチャ

Orbitalは、チャットセッションではなく、プロジェクトにバインドされた単一の永続エージェントです。プロジェクトのワークスペース、指示、状態、キュー、予算、承認ルールのローカルコントロールプレーンとして機能します。計画、委任、監視、結果の記録を行い、ワーカーエージェントは同じプロジェクトコンテキストに対して実行します。あなたはどこからでも監視できます。

flowchart TB
    UI["<b>Frontend (React SPA)</b><br/>Chat UI · Approval Cards · Settings · Files"]

    subgraph daemon["Daemon (FastAPI + uvicorn)"]
        direction TB
        AM["AgentManager<br/><i>lifecycle</i>"]
        SAM["SubAgentManager<br/><i>delegation</i>"]
        TM["TriggerManager<br/><i>cron · file watch</i>"]
        Loop["Agent Loop<br/><i>streaming · safety guards</i>"]
        TR["Worker Transports<br/>Codex app-server · SDK · PTY · ACP · Pipe"]
        LLM["LLM Provider<br/><i>OpenAI + Anthropic SDK</i>"]
        Tools["Tool Registry<br/><i>shell · file · browser · triggers</i>"]
        Auto["Autonomy Interceptor<br/><i>approve · deny · bypass</i>"]

        AM --> Loop
        SAM --> TR
        TM --> AM
        Loop --> LLM
        Loop --> Tools
        Loop --> Auto
    end

    Platform["<b>Platform Layer</b><br/>Windows sandbox user · macOS Seatbelt · Linux bubblewrap (planned)"]
    Relay["<b>Cloud Relay (Node.js, optional)</b><br/>REST proxy · Event forwarding · Push notifications · Pairing"]
    Phone["Phone"]

    UI <-->|REST + WS| AM
    UI <-->|REST + WS| SAM
    Tools --> Platform
    AM -.WebSocket tunnel.-> Relay
    Relay -.WebSocket.-> Phone

読み込み中

主要な設計上の決定:

  • エージェントがプロジェクトを所有する: 構造化された状態、決定、学習、セッション履歴を維持するため、計画とアカウンタビリティが一箇所に留まります。
  • 分離: OSレベルのサンドボックス(Windowsサンドボックスユーザー、macOS Seatbelt、Linux bubblewrap計画中)。
  • フェイルクローズインターセプター: 承認システムのエラーはすべてDENYとなり、ALLOWとなることはありません。
  • 単一デーモン: PIDファイル強制により、複数のインスタンスを防ぎます。
  • ローカルファースト: あなたのファイルとプロジェクトの状態はあなたのディスク上にあります。クラウドリレー(有効な場合)は、承認とイベントをプロキシします — ファイルではありません。

インストール

Windows
  1. ReleasesからOrbital-Setup-*.exeをダウンロードします(最新のWindowsビルド)。
  2. インストーラーを実行し、プロンプトに従います。
  3. スタートメニューまたはデスクトップショートカットからOrbitalを起動します。

Windows SmartScreen警告

Orbitalはまだコード署名されていないため、Windowsはセキュリティ警告を表示します。

WindowsがPCを保護しました — Microsoft Defender SmartScreenは、認識されないアプリの起動を防ぎました。

「詳細情報」をクリックし、「実行」をクリックします。コード署名は将来のリリースで追加されます。

AgentOS-Workerアカウント

Orbitalは、エージェントコマンドをAgentOS-Workerという名前の別の低権限ローカルWindowsアカウントとして実行するため、エージェントはあなたのユーザープロファイル、ブラウザデータ、または資格情報を読み取ることができません。インストーラーは、ファイルを書き込む前にその旨を伝えます。

  • アカウントはインストール中に作成され、サインイン画面には表示されません。
  • パスワードはランダムであり、誰も知りませんし、知る必要もありません。
  • Orbitalのアンインストールはアカウントを削除します。
  • そのアカウントに開発ツール(npm、cargo、Pythonなどのフォルダ)への読み取りアクセスを付与することは、Orbitalが最初に起動したときにバックグラウンドで行われます。インストールを遅くすることはありません。
  • プロジェクトフォルダ内では、アカウントは.git configまたは.git hooks(これらはサンドボックス外でコードを実行します)に書き込むことができません。そのため、git remote add、git config --local、およびフックの編集はエージェントに対して失敗します。それ以外のすべてのgitコマンド — git status、git log、git add、git commit、git checkout — は機能します。

Computer Management > Local Users and Groups > Usersの下に表示されるAgentOS-Workerは、Orbitalに属していることを示す説明を持っています。

macOS
  1. ReleasesからOrbital-*-macOS.dmgをダウンロードします。
  2. DMGを開き、Orbitalをアプリケーションフォルダにドラッグします。
  3. アプリケーションまたはSpotlightからOrbitalを起動します。

macOS 13 (Ventura) 以降、Apple Silicon (M1以降)が必要です。Intel Macはこのビルドではサポートされていません(バンドルはarm64のみです)。

リリースビルドはDeveloper-ID署名およびAppleによって公証されているため、アプリは初回起動時に通常通り開きます — Gatekeeper警告や「開く」の回避策は不要です。(ソースからOrbitalをビルドした場合やCIブランチアーティファクトを取得した場合は、そのビルドはアドホック署名されており、macOSは右クリック→開くで一度承認するように求めます)。

ソースから
# リポジトリをクローン
git clone https://github.com/zqiren/Orbital.git && cd Orbital

# Python依存関係をインストール (Python 3.11+)
pip install -e ".[desktop]"

# フロントエンド依存関係をインストール (Node.js 18+)
cd web && npm install && cd ..

# デーモンを起動
python -m uvicorn agent_os.api.app:create_app --factory --port 8000

# フロントエンド開発サーバーを起動(別のターミナル)
cd web && npx vite --host 127.0.0.1 --port 5173

ブラウザでhttp://localhost:5173を開きます。セットアップウィザードは初回起動時に実行されます。

スリープ/シャットダウンに関する注意

Orbitalは、エージェントがアクティブに作業している間、システムスリープを防ぎます(WindowsおよびmacOSでのOSレベルのスリープ抑制を介して)。すべてのエージェントがアイドル状態になると、スリープが再許可されます。システムトレイアイコンは現在のエージェントアクティビティステータスを表示します。


開発

バックエンド
# デーモンを起動
python -m uvicorn agent_os.api.app:create_app --factory --port 8000

# 新しいコードで再起動
bash scripts/restart-daemon.sh
フロントエンド
cd web
npm install
npx vite --host 127.0.0.1 --port 5173
主要パス
コンポーネントパス
FastAPIアプリファクトリagent_os/api/app.py
エージェントループagent_os/agent/loop.py
ツール実装agent_os/agent/tools/
自律インターセプターagent_os/daemon_v2/autonomy.py
LLMプロバイダーagent_os/agent/providers/
トリガーマネージャーagent_os/daemon_v2/trigger_manager.py
ブラウザマネージャーagent_os/daemon_v2/browser_manager.py
サブエージェントマニフェストagent_os/agents/manifests/
デスクトップエントリーポイントagent_os/desktop/main.py
システムトレイagent_os/desktop/tray.py
フロントエンドコンポーネントweb/src/components/

テスト

# 単体テスト + プラットフォームテスト
python -m pytest tests/unit/ tests/platform/ -q

# TypeScriptチェック(エラーゼロを期待)
cd web && npx tsc -b

# デーモン統合テスト
bash scripts/restart-daemon.sh
curl http://localhost:8000/api/v2/projects

既知の既存テストノート:

  • test_e2e.py、test_user_stories.py — 実際のLLM APIキーをAGENT_OS_TEST_API_KEY経由で設定する必要があります。

ロードマップ

リリース済み
  • フォールバックローテーション付きマルチプロバイダーLLMルーティング
  • サブエージェントへのカスケードを備えた3つの自律プリセット
  • リアルタイムWebSocketイベントによるストリーミングチャット
  • アンチ検出(Patchright)によるブラウザ自動化
  • スケジュールとファイルウォッチトリガーによる継続的な運用
  • 自然言語トリガー作成
  • プッシュ通知とデバイスペアリングを備えたクラウドリレー
  • プリコンパクションメモリフラッシュによるコンテキスト圧縮
  • プレフィックスキャッシュ最適化プロンプトアセンブリ(v0.4.2)
  • プロジェクトごとの予算制限とコスト追跡
  • 資格情報管理(APIキー+ウェブサイト資格情報)
  • システムトレイとネイティブウィンドウを備えたデスクトップアプリ
  • エージェントループ安全ガード(イテレーションキャップ、繰り返し、ピンポン、サーキットブレーカー)
  • エージェントアクティビティ中のOSレベルスリープ防止
  • @メンションルーティングによるサブエージェント委任
次
  • Webhookトリガー — 着信WebhookでエージェントタスクをトリガーするHTTPエンドポイント
  • パイプライントリガー — プロジェクト出力を他のプロジェクトの入力としてチェーン化
  • ネットワーク分離 — OSレベルで強制されるプロジェクトごとのドメイン許可リスト
  • Linuxサンドボックス — bubblewrap強制
  • コード署名 — WindowsでのSmartScreen警告を排除
  • デーモン再起動時の自動再開 — 進行中のセッションを復元

なぜこれを構築したのか

Claude Projectsは気に入っていました。エージェントにプロジェクトを更新させることができないこと、そしてそれが私のマシンに常駐しないことが嫌でした。

OpenClawは気に入っていました。制御がないこと — 予算がない、サンドボックスがない、席を外したときに電話から監視する方法がないこと — が嫌でした。

Orbitalは私が望んでいたものです。プロジェクト全体に責任を持つ1つのエージェント:計画、決定、キュー、予算、承認。私がデスクにいないときにチェックインするための電話。Claude Code、Codex、Gemini CLIを、プロジェクトのコンテキストを手放すことなく、仕事のために選択できるワーカーとして使用できます。

フルタイムで働きながら、夜と週末に構築しました。まだ非常に初期段階です。フィードバックと問題は大歓迎です。


スポンサー

[画像: Watcha (观猹)]

OrbitalはWatcha (观猹)によって誇りを持ってスポンサーされています — TokenDance (词元跳动)の背後にあるチームであり、Orbitalに組み込まれた中国本土のLLMルーターです。このスポンサーシップのおかげで、中国本土の新規ユーザーはオンボーディング中にワンタップでTokenDanceにサインインし、無料トークンを請求してすぐに作業を開始できます — 手動のAPIキー設定は不要です。


スター履歴

[画像: Orbitalスター履歴チャート]


テレメトリ

Orbitalは1日あたり1つの匿名集計を送信します — カウンター、列挙型、ブール値のみです。プロンプト、ファイル、パス、モデル出力、またはプロジェクト/セッション識別子は一切送信しません。正確な送信JSONは、設定 → データとプライバシーで確認でき、単一のトグルでオフにできます。公開されている完全なスキーマはdocs/TELEMETRY.mdにあります。


ライセンス

OrbitalはGNU General Public License v3.0の下でライセンスされています。

Orbital — Every agent owns a session. Orbital owns the project.
Copyright (C) 2026 Orbital Contributors

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.