How vjk-2k5/argus works
Argus is a stateful multi-agent debate application. A user configures providers and models, submits a problem, reviews and approves its generated frame, then starts a debate that streams agent messages and ultimately produces a report. Sessions can be paused, resumed, or cancelled, and their state persists. The graph reflects the documented framing, debate, compaction, and provider-management capabilities; some route and event wiring is inferred only where excerpts or documentation establish it, so uncertain links are omitted.
Main entry points: index.ts HTTP and SSE API · orchestrator.ts Debate orchestrator · App.tsx App and sessions · providers.ts Model providers
Components 18
Web client
- App and sessions
packages/web/src/App.tsx - Provider settings
packages/web/src/ProviderSettings.tsx - Model picker
packages/web/src/ModelPicker.tsx - API client
packages/web/src/api.ts - Session stream hooks
packages/web/src/hooks.ts
Debate server
- HTTP and SSE API
packages/server/src/index.ts - Debate orchestrator
packages/server/src/orchestrator.ts - Agent prompts
packages/server/src/prompts.ts - Session events
packages/server/src/events.ts
State and providers
- Session database
packages/server/src/db.ts - Model providers
packages/server/src/providers.ts - Credential store
packages/server/src/credential-store.ts
Shared contracts
- Session schemas
packages/shared/src/session.ts - Event schemas
packages/shared/src/events.ts - Frame schemas
packages/shared/src/frame.ts - Observer controls
packages/shared/src/observer.ts
Other components
- User
- Model APIs
Connections 25
- User → App and sessions: configures and reviews
- App and sessions → API client: requests sessions
- App and sessions → Provider settings: manages providers
- App and sessions → Model picker: selects models
- App and sessions → Session stream hooks: tracks live debate
- API client → HTTP and SSE API: calls API
- Session stream hooks → HTTP and SSE API: receives stream
- HTTP and SSE API → Session database: reads and writes
- HTTP and SSE API → Debate orchestrator: starts and controls
- HTTP and SSE API → Session events: streams session events
- HTTP and SSE API → Model providers: discovers and verifies
- HTTP and SSE API → Credential store: stores credentials
- Debate orchestrator → Session database: loads and saves
- Debate orchestrator → Agent prompts: builds agent prompts
- Debate orchestrator → Model providers: resolves models
- Debate orchestrator → Session events: publishes progress
- Debate orchestrator → Frame schemas: validates frames
- Debate orchestrator → Observer controls: validates controls
- Model providers → Credential store: reads credentials
- Model providers → Model APIs: discovers models
- Debate orchestrator → Model APIs: generates debate
- HTTP and SSE API → Session schemas: validates session input
- HTTP and SSE API → Frame schemas: validates frame approval
- Session events → Event schemas: uses event shapes
- App and sessions → Session schemas: uses session types