Space
ego lite で Agent がウェブタスクを動かす並列ワークスペース。
Space は、ego lite が AI エージェントのために用意する並列ワークスペースです。エージェントは Space の中でページを開き、読み、クリックし、フォームに入力し、ファイルをダウンロードします。あなたは自分のタブで作業を続けます。両者は同じ ego lite ブラウザプロセスを共有しますが、互いに邪魔し合うことはありません。
何であって、何ではないか
Space は:
- 同じ ego lite ブラウザプロセス内にある並列ワークスペース。
- タスクごとに 1 つの独立した BrowserContext。Cookie と storage が分離されています。
Space は:
- 新しいブラウザウィンドウや別の Chrome Profile ではありません。
- ヘッドレス Chrome やオフスクリーンレンダリングではありません。
- クラウドブラウジングセッションでもありません。データはすべて手元のマシンに残ります。
なぜ Space を作ったのか
エージェントに本物のブラウザを操作させたいとき、よく取られる手は、タスクごとに独立した Chromium インスタンスを起動することです(ヘッドレスか、プロファイルをコピーして使う形)。ただし Chrome の user-data-dir は通常 1 プロセスにロックされるので、本物のログイン状態を複数のセッションで使い回そうとすると、ロックの取り合いになるか、プロファイルを一時ディレクトリにコピーするかになります。
Space は別の道を取りました。すべてのエージェントタスクは ego lite のメインプロセスを共有し、それぞれが Cookie と storage 用の独立した BrowserContext を持ちます。一方で、ブラウザのインフラと、あなたが既に持っているログイン環境はそのまま使い回します。
about:blank だけを開く 6 並列の対照実験:
| 方式 | 追加メモリ | 追加プロセス数 | 並列起動の所要時間 |
|---|---|---|---|
| ブラウザインスタンス分離 + プロファイル複製 | 約 15 GB | 約 84 | 約 2.5 秒 |
| ego lite Space | 約 0.9 GB | 約 6 | 約 0.6 秒 |
数字はリソースモデルの違いを示すためのものであり、厳密なベンチマークではありません。実コストはページの複雑さ、拡張機能、サイト側スクリプト、並列数で変わります。
Space に向くタスク
本物のブラウザ、本物のログイン、ファイル操作が必要なら Space を使います:
- ログイン後のダッシュボード、個人のワークスペース、注文ページ、社内ドキュメントなど。
- クリック、入力、ページ送り、フィルタ、アップロード、ダウンロードが必要な処理。
- ego lite に既に入っているログイン状態を使い回し、毎回ログインし直さずに済ませる。
- 終わったあとに「どのページを開き、何をしたか」を見返したいタスク。
完全に公開された情報を調べるだけなら、通常の web search の方が軽量です。
あなたとエージェントの協働
エージェントが Space で作業している間、あなたの現在のページ、マウス、フォーカスは奪われません。そのままブラウズを続けても、いつでも Space に切り替えて進捗を確認しても構いません。
典型的な流れ:
- あなたが Codex / Claude Code / Cursor などのエージェントに、ウェブのタスクを言葉で指示する。
- エージェントが
ego-browserを使ってコードを書き、Space の中で目的のサイトを開く。 - エージェントが Snapshot を読み、操作を実行する。
- 自分でやるべき場面(CAPTCHA、QR コードログイン、決済確認など)に来たら、エージェントは止まってあなたに引き継ぎます。
- あなたが必要な操作を終えたら、エージェントが続きを進めます。
- タスク完了後、Space のタブはそのまま残り、あとから内容を確認できます。
ログイン状態
ego lite で既にログイン済みのサイトなら、エージェントは Space からそのままログイン後のページに到達します。Cookie をあらためてインポートする必要はありません。
ただし、次のような場面ではエージェントは止まり、あなたに任せるべきです:
- SMS / メールの認証コード、QR コードログイン、ハードウェアキー。
- 支払い、注文、振込、返金。
- 公開、削除、アーカイブ、一括変更といった元に戻しにくい操作。
- サードパーティアプリへのアカウントアクセスの認可。
最初から境界を書いておく手もあります。たとえば「読み取り専用、変更禁止」や「送信前に必ず確認させて」などです。
複数タスクを並列で
Space は複数のタスクを同時に抱えられます。それぞれが独立したタブ、Cookie、storage を持ちます。useOrCreateTaskSpace(name) は名前ベースで空間を再利用または作成し、後続のスクリプトはその中で動きます:
ego-browser nodejs <<'EOF'
const task = await useOrCreateTaskSpace('describe your task')
await openOrReuseTab('https://example.com', { wait: true, timeout: 20 })
cliLog(await snapshotText())
await click('button.primary', { label: 'click the submit button' })
EOF
タスクが違えば、ページの ref は共有されません。遷移、フォーム送信、タブ切り替え、動的な再レンダリングのあとは、再度スナップショットを取り直します。詳しくは Snapshot を参照してください。
インストールと有効化
ego lite に同梱されています。クイックスタート を参照してください。
Skills 対応のエージェントを既に使っているなら、Skill 単体でもインストールできます:
npx skills add github:CitroLabs/ego-lite/skills/ego-browser
よくある質問
Space は、今見ているページに影響しますか?
しません。エージェントは Space の中で動いており、あなたのタブ、フォーカス、マウスは影響を受けません。
タスクが終わるとタブは自動で閉じますか?
閉じません。Space は関連タブを残しておくので、エージェントの経路と結果をあとで確認できます。
Space が要らない場面は?
公開情報の検索や、公開ページの要約だけが目的で、ログインや操作が要らないときは、通常の web search の方が向いています。