How jasonkneen/agensis works
agensis is a collaborative workspace where people and AI agents share conversations, tasks, memory, documents, files, and a canvas. The principal workflow is working in a workspace conversation, assigning or triggering agent work, and receiving responses and updates; tasks, automations, and external bridges extend that workflow. The README documents these capabilities and the two-backend deployment, while sampled source confirms task persistence/realtime subscriptions, inference relaying, and desktop runtime features. Many feature-specific route implementations were not sampled, so their internal wiring is left unspecified.
Main entry points: index.cjs Node API and WS · backendClient.ts Backend client · useTasks.ts Task state · backend.mjs Serverless HTTP
Components 22
Workspace client
- Workspace app
src/App.tsx - Tasks UI
src/components/windows/TasksWindowContent.tsx - Task state
src/hooks/useTasks.ts - Backend client
src/lib/backendClient.ts - Realtime manager
src/lib/realtimeManager.ts
Backend services
- Node API and WS
server/index.cjs - Serverless HTTP
netlify/functions/backend.mjs - Shared backend rules
shared/backend-core.cjs
Agent runtime
- Agent endpoints
server/agents-routes.cjs - Agent jobs
server/agent-jobs.cjs - Task dispatch
server/task-dispatch.cjs - Shared-model inference
server/inference-routes.cjs
Collaboration features
- Conversation and channels
server/ai-chat-routes.cjs - Automations
server/automations.cjs - Channel bridges
server/channel-bridges.cjs - Voice huddles
server/huddles.cjs
Desktop runtime
- Electron shell
electron/main.cjs - Local runtime supervisor
electron/local-runtime/supervisor.cjs - Stream capture engine
electron/broadcast/engine.cjs
Other components
- Workspace user
- Postgres
- Linked agent daemon
Connections 24
- Workspace user → Workspace app: uses
- Workspace app → Backend client: requests
- Tasks UI → Task state: manages tasks
- Task state → Backend client: reads and writes
- Task state → Realtime manager: subscribes
- Realtime manager → Backend client: creates channels
- Backend client → Node API and WS: API and realtime
- Backend client → Serverless HTTP: HTTP requests
- Node API and WS → Shared backend rules: uses rules
- Serverless HTTP → Shared backend rules: uses rules
- Node API and WS → Postgres: reads and writes
- Serverless HTTP → Postgres: reads and writes
- Linked agent daemon → Node API and WS: opens WebSocket
- Node API and WS → Agent endpoints: mounts endpoints
- Node API and WS → Agent jobs: mounts endpoints
- Node API and WS → Task dispatch: dispatches work
- Node API and WS → Shared-model inference: mounts routes
- Shared-model inference → Linked agent daemon: relays inference
- Node API and WS → Conversation and channels: mounts routes
- Node API and WS → Automations: loads automation
- Node API and WS → Channel bridges: loads bridges
- Node API and WS → Voice huddles: loads huddles
- Electron shell → Local runtime supervisor: supervises agents
- Electron shell → Stream capture engine: controls streaming