Hobbes is a private, local-first key-running AI assistant built in Rust and Dioxus, designed to master context composition.
Unlike standard web chats that lose the thread after a few turns, Hobbes treats context as a composed product. It combines a "Safe Agent" philosophy with advanced memory architecture to keep your AI useful, grounded, and secure all day long.
- Context Composition: Hobbes doesn't just "remember." It actively composes a "Memory Object" using a background Summary Model, allowing you to maintain a coherent workspace all day without hitting "New Chat."
- Local & Private: All data is stored locally on your machine. We use Google's Generative API (or your provider of choice) only for inference. You own the prompt lifecycle.
- Native MCP & Composio: Seamlessly integrates Model Context Protocol (MCP) tools. Connect to hundreds of apps (GitHub, Slack, etc.) via our custom Composio integration without exposing keys to third-party wrappers.
- Advanced Reasoning: Native support for Gemini 2.5/3.0 "Thinking" models with "The Baton Pattern" for maintaining thought signatures across turns.
Hobbes is built with Dioxus 0.6 and Rust.
- Rust toolchain
- Dioxus CLI (
dx)
For UI development and standard testing:
dx serve --platform desktopNote: Some macOS-specific features (like Biometric TouchID) may be disabled in this mode.
To build the full release version:
dx build --releaseThe app will be located at target/dx/Hobbes/release/macos/Hobbes.app.
(For signing and distribution workflows, see scripts/build_release.sh)
Hobbes creates a robust feedback loop between the User, the LLM, and external Tools:
graph TD
subgraph "External Context"
A[ConPort/Graphiti] -- "Strategic Memory" --> L;
B[Composio] -- "Auth & Tools" --> L;
end
subgraph "Core Loop"
G[ChatWindow] -->|Msg| F[SessionState];
F -->|Context| H[PromptBuilder];
H -->|Prompt| I[LlmConnector];
I -->|Stream| K[StreamManager];
K -->|Tool Call| L[McpManager];
L -->|Result| K;
K -->|Update| F;
K -->|Render| G;
end
style K fill:#2d3748,stroke:#a0aec0,color:#fff
style L fill:#2b6cb0,stroke:#90cdf4,color:#fff
See ARCHITECTURE.md for a deep dive.
- Context Composition: Hobbes maintains a "Memory Object" that actively summarizes conversation threads. Chat all day in a single session without the AI forgetting the first message.
- Strategic vs. Active Memory: Distinct layers for long-term knowledge (Graphiti/ConPort integration) and short-term session context.
- "The Baton" Pattern: Preserves AI "Thinking" signatures across turns, allowing the model to self-correct and maintain complex reasoning chains.
- Native Composio Support: Connect to 100+ apps (GitHub, Slack, Google Calendar) via OAuth. Hobbes auto-discovers and manages these tools locally.
- BYOA (Bring Your Own App): Security-first approach to credentials. Your API keys are stored in the macOS Keychain, not on our servers.
- McpManager: A robust local orchestra for the Model Context Protocol. Run any standard MCP server as a child process.
- Dynamic Tool Selection: Automatically identifies and loads the most relevant tools for the current context to optimize token usage.
- Desktop Native: Built with Rust and Dioxus 0.6 for 60fps performance and low memory footprint.
- "Thinking" UI: First-class support for Gemini 2.5/3.0 reasoning models. Watch the model "think" in real-time with collapsible thought blocks.
- Skill System: Extend Hobbes with simple Markdown files. Define new "Skills" (sets of instructions and tools) that the agent can dynamically adopt.
- Local-First: Conversations and vector indices live on your SSD.
- Unified Permission Lifecycle: Every tool call and external request requires your explicit verification (unless you white-list it).
- Audit Trails: Clear logs of exactly what data was sent to the LLM and what tools were executed.
Hobbes started as an experiment in Context Composition: How do we make an AI that doesn't get dumber as the conversation gets longer?
Hobbes was built using an AI-Augmented workflow. We treat modern LLMs (Gemini, Claude) as "Pair Programmers" rather than magic wands. This allows us to:
- Accelerate Learning: Rapidly adopt new stacks like Dioxus and Rust.
- Enforce Architecture: Use AI to rigidly check against our
ARCHITECTURE.mdbefore every commit. - Maintain Quality: Ensure every line of code is reviewed and understood by the human in the loop.
We believe this "Human-in-the-Loop" model is the future of software engineering—using AI to amplify capability, not replace understanding.
Hobbes is released under the Functional Source License (FSL 1.1).
- Free for personal and non-competing business use.
- Converts to Apache 2.0 on 2028-01-20.
We believe in open source sustainability. This model protects the project's ability to fund itself in the short term while guaranteeing a fully open future.
Hobbes is an experimental, local-first software tool developed and incorporated in the State of Washington, USA. It operates on a "Bring Your Own Key" (BYOK) architecture and functions purely as a local user interface and memory manager.
By downloading, installing, or using Hobbes, you acknowledge and agree that:
- You are acting as the sole Deployer of any AI models you choose to connect to this software.
- Hobbes is not intended for use within the European Union (EU) or by EU citizens. We do not actively market, distribute, or support this software within the EU market.
- If you access or use Hobbes from within the EU, you do so entirely at your own risk and assume full responsibility for compliance with all local laws, including the EU AI Act (Regulation (EU) 2024/1689), GDPR, and any downstream provider liabilities.
- We expressly disclaim any liability for the outputs, data processing, or regulatory compliance of third-party API models connected to this software by the user.
Please see CONTRIBUTING.md for details on how to contribute.
Authored by @dustmoo & The Clear Mirror Team
