Overview
Fermix is a personal AI agent that runs on your own computer and reaches you through the chat apps you already use.
You talk to it from Telegram, WhatsApp, Slack, Discord, Signal, or your terminal, and it answers questions, runs tasks, and keeps working in the background. You can send it photos, screenshots, and voice messages (voice is transcribed automatically), and it can reply with generated images and files.
It is private by design: it runs on your machine with your own AI provider key, so your messages and files never pass through a Fermix server. Bring the model you already pay for, and Fermix handles the rest. It is single-user (just you, with optional guests) and open source.
What it is
- Local and yours. It runs on your machine with your own API keys. There is no Fermix cloud; your data, history, and logs stay on your computer (under
~/.fermix), and the setup page is only reachable from your own machine. - Always on. It runs as a background service, so long tasks keep running after you close the chat or the terminal. It can also run scheduled jobs: digests, watchers, reminders, and checks.
- Reaches you where you are. Telegram, WhatsApp, Slack, Discord, Signal, and a local command line all land in the same agent. On macOS, an optional voice companion adds real-time spoken conversation (off by default). See channels.
- Bring your own model. Pick a primary from OpenAI, Codex, Anthropic, SpaceXAI, OpenRouter, Mistral, or a local Ollama, with an automatic fallback chain. See providers and models.
- Batteries included. A full toolset ships built in (shell, files, git, web search, a browser, image generation, memory, and scheduled jobs). Experimental desktop control — the
computer_usetool, which works from screenshots and drives the mouse and keyboard — is available on Apple Silicon Macs and Linux (x86_64); it stays off until you install and enable it from the setup page. Extend it with skills, signed plugins, and MCP servers. See the tool reference. - Connects to your apps. Gmail, Google Calendar, and Google Drive plugins are built in; more — GitHub, Notion, Obsidian, Slack, Discord, X, AgentMail — install from a signed catalog (one click on the setup page, or
fermix plugins install). See plugins. - Careful with your machine. File, shell, and git tools run inside a workspace sandbox: by default it also covers the directory you run Fermix from, as long as that sits inside your home folder. Anything else needs an explicit grant or your approval in chat, and a hardline blocklist denies catastrophic commands in every mode.
What it is not
- Not a hosted service. There is no shared backend in the cloud; everything runs on your own machine.
- Not multi-tenant. There is exactly one operator (you), with optional guests, and no organization or team model.
- Not a cluster of networked services. It is a single program on your computer, not microservices talking to each other over HTTP.
Install in two commands
brew install tezra-io/tap/fermix
fermix setup
fermix setup installs and starts the background service, then opens a local setup page to choose a provider and connect your channels. See installation and setup for the full walkthrough, or jump to the quickstart.
Where to go next
| If you want to | Read |
|---|---|
| Get running fast | Quickstart |
| Install on macOS or Linux | Installation |
| Connect Telegram, Slack, and friends | Channels |
| Choose a model provider | Providers and models |
| Connect Gmail, GitHub, Notion, and more | Plugins |
| See every built-in tool | Tool reference |
| Understand the internals | Architecture |
Under the hood
For readers who want the technical shape: the whole runtime is one Elixir BEAM virtual machine under OTP supervision. The channel adapters, the agent runtime, durable memory, and the web setup page all share that single process and talk to each other by in-process message passing, not HTTP. There are no bridges between components and no shared backend.
Every message you send becomes a bounded agent loop:
channel adapter
→ gateway (authorize, transcribe, dispatch commands, build reply)
→ MainAgent (compose prompt, load history + tools)
→ AgentLoop (call provider, run tools, repeat until done)
→ reply back through the originating channel
The loop calls your provider, runs any tool calls through the capability registry, and continues until the model returns a final answer or hits a bounded stop condition. Read more in agents and the agent loop and architecture.
Fermix is open source and MIT licensed. The code lives at github.com/tezra-io/fermix.