System context
Eigin at the system level. For platform specifics, see iOS.
The pieces
flowchart LR
User["<b>User</b>"]
subgraph Device["User device"]
Chat["<b>Chat</b><br/>messages, input,<br/>interaction modes"]
Agent["<b>Agent</b><br/>identity, knowledge,<br/>chats, skills, intents"]
Gatekeeper["<b>Gatekeeper</b><br/>per-turn context<br/>+ pre/post-processing"]
Storage["<b>Storage</b><br/>chats, knowledge,<br/>intents, settings"]
Voice["<b>Voice</b><br/>dictation, TTS,<br/>live call"]
OS["<b>OS APIs</b><br/>calendar, reminders,<br/>location, microphone"]
ToolsMCP["<b>Tools & MCP</b><br/>built-in tools<br/>+ MCP clients"]
LocalModel["<b>Local model</b><br/>on-device,<br/>hardware accelerated"]
end
CloudModel["<b>Cloud models</b><br/>Eigin Relay, OpenAI, Anthropic, Google, Mistral, etc."]
Relay["<b>Eigin Relay</b><br/>(optional)"]
MCPServers["<b>MCP servers</b><br/>third-party"]
User --- Chat
Chat --- Voice
Chat --- Agent
Chat --- Storage
Voice -.- OS -.- ToolsMCP
Storage --- Agent
Agent --- ToolsMCP
Agent --- Gatekeeper
Gatekeeper --- LocalModel
Gatekeeper --- CloudModel
ToolsMCP --- Relay
ToolsMCP --- MCPServers
classDef eigin min-width:160px
class Chat,Agent,Gatekeeper,Storage,Voice,ToolsMCP,LocalModel eigin
Chat
Where the user meets the agent: a persistent sequence of messages, typed or dictated. Chats live in storage and can be grouped into spaces. See Conversation.
Agent
A persistent AI personality with its own identity, knowledge, history, and goals. One agent runs per device. See The Agent.
Gatekeeper
Sits between the agent and the provider. Hydrates each turn with dynamic context (skills, intents, interaction mode, space, hints) and is the seam for future input/output safety work. See The gatekeeper.
Storage
Chats, knowledge, intents, settings, and provider config live on the device.
Voice
On-device speech recognition, text-to-speech, and a half-duplex live call mode. See Voice.
Tools and MCP
How the agent acts: built-in tools that integrate with the OS and internet, plus MCP clients for external servers. Both flow through the same permission model. See Tools and MCP servers.
Inference providers
The agent calls one of two provider kinds:
- Cloud: remote inference through Eigin Relay or any OpenAI-compatible API.
- Local: a hardware-accelerated on-device model. No network required.
See Inference providers.
Eigin Relay
Eigin's optional connectivity service and AI inference proxy, for features that need server-side keys the app can't ship. See Eigin Relay.