How echotrigger/centaeris works
Centaeris is a Rust agent-runtime framework with desktop and terminal hosts. A user starts or selects a session in a host; the host sends protocol requests to the shared runtime, which coordinates model turns, tool execution, events, and durable session state, then returns results for display. Major capabilities also include workspace operations, schedules, extension/skill loading, and MCP integration. The README establishes the shared contracts and adapters; sampled code shows selected UI-to-bridge and runtime internals, so uncertain implementation wiring is omitted.
Main entry points: handlers.rs Request Handlers · agent_runtime.rs Agent Runtime · turn_pipeline.rs Turn Pipeline · model.rs Model Contracts
Components 22
User Hosts
- Desktop Host
packages/desktop/src/main.mjs - Shared UI
packages/ui/src/App.tsx - Terminal Host
packages/tui/src/app.rs
Runtime Orchestration
- Host Protocol
packages/runtime/src/host_protocol.rs - Runtime Server
packages/runtime/src/runtime_server.rs - Request Handlers
packages/runtime/src/handlers.rs - Agent Runtime
packages/runtime/src/agent_runtime.rs
Agent Semantics
- Turn Runtime
packages/core/src/runtime.rs - Turn Pipeline
packages/core/src/runtime/turn_pipeline.rs - Tool Contracts
packages/core/src/tool.rs - Model Contracts
packages/core/src/model.rs - Session Contracts
packages/core/src/session.rs
Adapters and Extensions
- Model Catalog
packages/model-catalog/src/lib.rs - MCP Adapter
packages/mcp/src/lib.rs - Extensions and Skills
packages/core/src/extension.rs
Persistence and Workspaces
- SQLite Adapter
packages/runtime_sqlite/src/lib.rs - Workspace Services
packages/runtime/src/workspaces.rs - Schedules
packages/runtime/src/schedules.rs
Other components
- User
- Model Provider
- MCP Server
- SQLite Store
Connections 23
- User → Shared UI: uses
- User → Terminal Host: uses
- Shared UI → Desktop Host: host bridge
- Desktop Host → Host Protocol: sends requests
- Terminal Host → Host Protocol: sends requests
- Host Protocol → Runtime Server: transports
- Runtime Server → Request Handlers: dispatches
- Request Handlers → Agent Runtime: routes agent requests
- Agent Runtime → Turn Runtime: coordinates turns
- Turn Runtime → Turn Pipeline: runs turns
- Turn Pipeline → Model Contracts: requests generation
- Turn Pipeline → Tool Contracts: executes tool calls
- Model Contracts → Model Provider: sends model requests
- Request Handlers → Session Contracts: handles session operations
- Agent Runtime → Session Contracts: continues sessions
- Agent Runtime → SQLite Adapter: persists runtime state
- SQLite Adapter → SQLite Store: reads and writes
- Request Handlers → Workspace Services: routes workspace requests
- Request Handlers → Schedules: routes schedule requests
- Request Handlers → MCP Adapter: routes MCP operations
- MCP Adapter → MCP Server: communicates
- Agent Runtime → Extensions and Skills: loads extensions
- Model Contracts → Model Catalog: uses catalog