
yanchun2530/was-webagentswarm
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Local-first Web Agent Swarm для координации нескольких веб-агентов ChatGPT через расширение браузера, MCP, совместное состояние и организацию событий.
Обзор
Инструментарий для оркестровки с несколькими агентами для ChatGPT Web. Он обеспечивает небольшое расширение браузера, мост локального хоста, прочный общий магазин задач / статусов, дополнительный сервер MCP и наблюдатель, который может разбудить основного веб-агента, когда состояние рабочего меняется. WAS рассматривает вкладки браузера как эластичную производительность, а не долговечное состояние задачи. Таким образом, каждый наблюдатель выполняет оба масштабирования: Работник остается открытым только в то время, когда у него есть заявляемая / арендуемая длительная работа. - Заблокированные, проверки-ожидание, человек-ожидание или другие задачи только прерывания обрабатываются главным оркестратором и . Когда рабочий имеет нулевое длительное давление исполнения, нет активной аренды / супершага, и его страница ChatGPT не генерирует, WAS вызывает приостановку (..., close tab = True) и фактически закрывает эту вкладку Edge. Привязка основного / рабочего к новому разговору надежно записывает старый разговор на пенсию. Неактивная, праздная, не генерирующая отставная вкладка автоматически собирается мусором.
Обзор (машинный перевод)
Инструментарий для оркестровки с несколькими агентами для ChatGPT Web.
Он обеспечивает небольшое расширение браузера, мост локального хоста, прочную общую задачу / статус. магазин, дополнительный сервер MCP и наблюдатель, который может разбудить основного веб-агента Когда меняется рабочее государство.
Жизненный цикл браузера / Закладка Edge GC
WAS рассматривает вкладки браузера как эластичную производительность, а не долговечное состояние задачи. Поэтому каждый наблюдатель выполняет как масштабирование **, так и масштабирование **:
Работник остается открытым только в то время, когда у него есть заявляемая / арендуемая длительная работа.
Заблокированные, проверочные, человеко-ожидание или другие задачи только для прерывания выполняются главным оркестратором и ** не открывают вкладку рабочего Edge **.
Когда рабочий имеет нулевое долговечное давление исполнения, нет активной аренды / супершага, и его страница ChatGPT не генерирует, WAS вызывает suspend(..., close_tab=True) и фактически закрывает эту вкладку Edge.
Привязка основного / рабочего к новому разговору надежно записывает старый разговор на пенсию. Неактивная, праздная, не генерирующая отставная вкладка автоматически собирается мусором.
Активные вкладки, генерирующие вкладки, текущие привязки и вкладки с живым долговечным владением защищены.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
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 →