YW

yanchun2530/was-webagentswarm

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

22 stars 2 forks 품질 69 트렌드 18MIT

브라우저 확장을 통해 여러 ChatGPT 웹 에이전트를 조정하는 Local-first Web Agent Swarm, MCP, 공유 상태 및 이벤트 인식 관현.

개요

ChatGPT 웹을 위한 로컬 최초의 브라우저 호스팅 멀티 시그니처 툴킷. 그것은 작은 브라우저 확장, 로컬 호스트 브리지, 튼튼한 공유 작업 / 통계 저장소, 옵션 MCP 서버 및 작업자 상태 변경 될 때 메인 웹 에이전트를 깨질 수있는 이벤트 인식 워커를 제공합니다. WAS는 탄력 있는 실행 능력으로 브라우저 탭을, 튼튼한 작업 상태. 각 시계는 그러므로 두 가늠자 밖으로 실행합니다: - 노동자는 주장 / leased 튼튼한 일 동안만 열려. - Blocked, 검증-wait, Human-wait, 또는 다른 중단 작업은 메인 오케스트라와 핸들링됩니다. - 노동자가 0 내구성 실행 압력, 활성 임대 / 슈퍼 스텝이 없으며 ChatGPT 페이지는 생성되지 않습니다. WAS는 suspend (..., close tab=True)를 호출하고 실제로 Edge 탭을 닫습니다. - 새로운 대화로 주요/작업자를 재조합하여 은퇴한 대화를 기록합니다. inactive, idle, 비-generating 은퇴 탭은 자동으로 쓰레기 수집됩니다.

개요(AI 번역)

ChatGPT 웹을 위한 로컬 최초의 브라우저 호스팅 멀티 시그니처 툴킷.

그것은 작은 브라우저 확장을 제공합니다, localhost 다리, 튼튼한 공유 작업/status 저장, 옵션 MCP 서버, 그리고 메인 웹 에이전트를 깨어날 수있는 이벤트 aware watcher worker 상태가 변경될 때.

브라우저 라이프 사이클 / 가장자리 탭 GC

WAS는 탄력 있는 실행 능력으로 브라우저 탭을, 튼튼한 작업 상태. 모든 워커 틱은 스케일 아웃 ** 및 스케일 인**을 모두 수행합니다.

  • 노동자는 주장 / leased 튼튼한 일 동안만 열려.
  • Blocked, Verified-wait, Human-wait, 또는 다른 중단 작업은 메인 오케스트라에 의해 처리되고 ** 노동자 가장자리 탭을 열지 마십시오 **.
  • 노동자가 0 내구성 실행 압력, 활성 임대 / 슈퍼 스텝이 없을 때, ChatGPT 페이지는 생성되지 않습니다, WAS 호출 suspend(..., close_tab=True)] 실제로 Edge 탭을 닫습니다.
  • 새로운 대화로 주요/작업자를 재조합하여 은퇴한 대화를 기록합니다. inactive, idle, 비-generating 은퇴 탭은 자동으로 쓰레기 수집됩니다.
  • Active 탭, 생성 탭, 현재 바인딩, 및 탭으로 실시간 내구성 소유권이 보호됩니다.

이 페이지는 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_role as a scheduling preference, not exclusive ownership; required_capabilities plus 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; detect discarded/frozen/unresponsive tabs 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.
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →