How outsourc-e/hermes-workspace works
Hermes Workspace is a self-hosted AI-agent command center: a user works through a browser or desktop workspace, which exposes chat, sessions, files, memory, skills and operational controls over a local API to Hermes services. Chat is the central interaction; separate screens support agent orchestration, swarm dispatch, task tracking, dashboards, MCP and terminal work. The README documents these product capabilities and the gateway/dashboard split. The sampled excerpts show task and MCP-source interactions, but not most route handlers or service wiring, so uncertain internal links are omitted.
Main entry points: chat-screen.tsx Chat workspace · hermes-tasks.ts Task endpoints · conductor.tsx Conductor missions · swarm-dispatch.ts Swarm endpoints
Components 25
Workspace UI
- Chat workspace
src/screens/chat/chat-screen.tsx - Files browser
src/screens/files/files-screen.tsx - Memory browser
src/screens/memory/memory-browser-screen.tsx - Skills manager
src/routes/skills.tsx - Terminal workspace
src/components/terminal/terminal-workspace.tsx - Usage dashboard
src/screens/dashboard/dashboard-screen.tsx - MCP manager
src/screens/mcp/mcp-screen.tsx - Task board
src/screens/tasks/tasks-screen.tsx
Workspace API
- Chat endpoints
src/routes/api/send-stream.ts - Session endpoints
src/routes/api/sessions.ts - Memory endpoints
src/routes/api/memory.ts - File endpoints
src/routes/api/files.ts - Task endpoints
src/routes/api/hermes-tasks.ts - Swarm endpoints
src/routes/api/swarm-dispatch.ts
Agent Operations
- Conductor missions
src/screens/gateway/conductor.tsx - Swarm control
src/routes/swarm.tsx - Agent operations
src/screens/agents/operations-screen.tsx - Jobs manager
src/screens/jobs/jobs-screen.tsx
Agent Services
- Gateway client
src/lib/gateway-api.ts - Hermes gateway
- Hermes dashboard
- Task store
src/routes/api/hermes-tasks.$taskId.ts - Desktop shell
electron/main.cjs
Workspace State
- Task API client
src/lib/tasks-api.ts
Other components
- Workspace user
Connections 29
- Workspace user → Chat workspace: starts chat
- Workspace user → Files browser: browses files
- Workspace user → Memory browser: browses memory
- Workspace user → Skills manager: manages skills
- Workspace user → Terminal workspace: opens terminal
- Workspace user → Usage dashboard: reviews usage
- Workspace user → MCP manager: manages MCP
- Workspace user → Task board: tracks tasks
- Workspace user → Conductor missions: dispatches missions
- Chat workspace → Chat endpoints: sends messages
- Chat workspace → Session endpoints: manages sessions
- Chat endpoints → Gateway client: forwards requests
- Gateway client → Hermes gateway: calls gateway
- Memory browser → Memory endpoints: reads and edits
- Files browser → File endpoints: browses files
- Task board → Task API client: loads and updates
- Task API client → Task endpoints: selects backend
- Task endpoints → Task store: reads and writes
- Task endpoints → Hermes dashboard: loads linked history
- Conductor missions → Swarm endpoints: dispatches missions
- Conductor missions → Hermes dashboard: uses mission API
- Swarm control → Swarm endpoints: controls workers
- Swarm endpoints → Hermes gateway: dispatches agents
- Agent operations → Hermes gateway: controls agents
- Jobs manager → Hermes gateway: manages jobs
- Usage dashboard → Hermes dashboard: loads analytics
- MCP manager → Hermes gateway: manages servers
- Desktop shell → Hermes gateway: checks gateway
- Desktop shell → Hermes dashboard: checks dashboard