
yanchun2530/was-webagentswarm
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
ローカルファーストWebエージェントは、ブラウザ拡張、MCP、共有状態、イベントアウェアのオーケストレーションを通じて複数のChatGPT Webエージェントをコーディネートします.
概要
ChatGPT Web 用のローカルファースト、ブラウザホスト型マルチエージェントオーケストレーションツールキット。 小さなブラウザの拡張機能、ローカルホストブリッジ、耐久性のある共有タスク/ステータスストア、オプションのMCPサーバー、およびワーカーの状態が変更されたときにメインWebエージェントを目覚めるイベント・アウェア・ウォッチャーを提供します。 WASは、ブラウザタブを弾性実行容量として扱い、耐久性のあるタスク状態ではありません。 すべての時計師は、したがって、スケールアウトを実行します。 - 労働者は主張可能/leased耐久の仕事がある間だけ開きますとどまります。 - ブロック、検証待ち、ヒューマンウェイト、またはその他の割込みのみのタスクは、メインのオーケストレータおよび。 - ワーカーがゼロで耐久性のある実行圧力、アクティブなリース/スーパーステップ、およびChatGPTページが生成されていない場合、WASはサスペンション(..., close tab=True)を呼び出し、実際にEdgeタブを閉じます。 - メイン/ワーカーを新しい会話にリバインドして、古い会話を元通りに記録します。 不活性、アイドル、未生成の退役タブは自動的に廃棄回収されます.
概要(AI 翻訳)
ChatGPT Web 用のローカルファースト、ブラウザホスト型マルチエージェントオーケストレーションツールキット。
それは小さいブラウザの延長、localhost橋、耐久の分けられた仕事/statusを提供します ストア、オプションの MCP サーバー、メイン Web エージェントを目覚めるイベント ウェア ウォッチャー ワーカーの状態が変更されるとき。
##ブラウザのライフサイクル/エッジタブGC
WASは、ブラウザタブを弾性実行容量として扱い、耐久性のあるタスク状態ではありません。 すべての時計師は、したがって、スケールアウトとスケールインの両方を実行します:
- 労働者は主張可能/leased耐久の仕事がある間だけ開きますとどまります。
- ブロック、検証待ち、ヒューマンウェイト、またはその他の割込みのみのタスクは、メインのオーケストレーターによって処理され、ワーダーエッジタブが開かないようにします。
- ワーカーがゼロで耐久性のある実行圧力、アクティブなリース/スーパーステップ、およびChatGPTページが生成されていない場合、WASは
suspend(..., close_tab=True)を呼び出し、実際にそのEdgeタブを閉じます。 - メイン/ワーカーを新しい会話にリバインドして、古い会話を元通りに記録します。 不活性、アイドル、未生成の退役タブは自動的に廃棄回収されます。
- アクティブなタブ、タブを生成する、現在のバインディング、およびライブ耐久性のある所有権を持つタブが保護されます.
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
Web Agent Swarm
A local-first, browser-hosted multi-agent orchestration toolkit for ChatGPT Web.
It provides a small browser extension, a localhost bridge, a durable shared task/status store, an optional MCP server, and an event-aware watcher that can wake a main Web Agent when worker state changes.
Browser lifecycle / Edge tab GC
WAS treats browser tabs as elastic execution capacity, not durable task state. Every watcher tick therefore performs both scale-out and scale-in:
- A worker stays open only while it has claimable/leased durable work.
- Blocked, verification-wait, human-wait, or other interrupt-only tasks are handled by the main orchestrator and do not keep a worker Edge tab open.
- When a worker has zero durable execution pressure, no active lease/superstep, and its ChatGPT page is not generating, WAS calls
suspend(..., close_tab=True)and actually closes that Edge tab. - Rebinding main/worker to a new conversation durably records the old conversation as retired. An inactive, idle, non-generating retired tab is garbage-collected automatically.
- Active tabs, generating tabs, current bindings, and tabs with live durable ownership are protected. Ordinary user chats are never classified as stale by title/text heuristics.
- An unresponsive bound page is recovered first by refreshing/recreating the same conversation renderer; rollover is only the fallback.
This prevents long-running swarms from accumulating completed/replaced ChatGPT pages while preserving Task/Run/Checkpoint/Handoff ownership independently of browser lifecycle.
What this project does
- Open or reuse multiple ChatGPT Web conversations.
- Start a main orchestrator alone by default, then elastically create/reuse capability-compatible worker slots from durable parallel pressure; explicit worker sets are still supported.
- Treat task
owner/preferred_roleas a scheduling preference, not exclusive ownership;required_capabilitiesplus dependency/resource constraints determine the runnable worker set. - Reserve declared task / before dispatch so obvious write collisions park as ; MVCC remains the final publication boundary.
- Inspect bounded visible UI state: idle/generating, recent visible messages, and browser lifecycle state.
- Protect managed ChatGPT Agent tabs with
autoDiscardable=false; detectdiscarded/frozen/unresponsivetabs and treat them as transport faults rather than completion. - Detect main-conversation length exhaustion, stop ordinary ticks to that tab, open a fresh main conversation in the same connected browser context, rebind main, and resume from durable WAS state before closing the exhausted tab.
- Send an exact message to an exact ChatGPT tab or stable conversation binding.
- Keep a small durable task board and shared status store outside chat history.
- Recommend a worker count/role subset before opening browser tabs.
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →