A system you can understand
Follow a request from your interface through the gateway to models, tools and storage.
OwnPilot v0.8.3 · Source-verified guideRun the gateway and database on your infrastructure. External services follow your configuration.
One gateway, several ways in
OwnPilot’s Hono gateway serves HTTP APIs and coordinates agent execution. The web UI uses HTTP, Server-Sent Events and WebSockets. Telegram and WhatsApp are additional channel adapters; MCP clients and servers provide another integration boundary.
The production container bundles the web UI with the gateway at port 8080. During source development, the Vite UI runs on port 8199 and proxies requests to the gateway.
The request pipeline
The documented message pipeline passes through audit, persistence, post-processing, context injection, agent execution and response handling. Context can include relevant persistent memories, agent instructions and tool-discovery information.
The provider router selects a configured model. The agent can discover and invoke tools as needed, subject to tool policies and approvals. Outputs and data mutations can be streamed to the interface.
Tools without an enormous prompt
The meta-tool proxy presents four discovery and execution entry points to the model: search_tools, get_tool_help, use_tool and batch_use_tool. The wider tool catalog remains available through dynamic discovery.
Qualified tool namespaces identify origins: core., custom., plugin., skill. and mcp. Extensions and external MCP servers expand what the assistant can do.
Persistence and events
PostgreSQL stores conversations, personal data, settings, goals, agent state and other application records. Persistent memories support vector search and automatic context injection.
A unified EventBus connects services. WebSocket broadcasts update the UI, while background agents, triggers and workflows coordinate longer-running activity. Optional MQTT support connects registered edge devices.
Hosting boundaries
OwnPilot is the application you self-host. AI inference may happen at a separate cloud API or a local model endpoint. Connected apps and tools contact their configured services. Self-hosting the gateway does not automatically make those external calls local.
Based on the product’s documented behavior. Check the source for your deployed version.
Product README