Hi, I'm Malachi, a co-developer of AnyModelBot. This is a design story, not a launch checklist. In late 2026 the "always-on personal agent" became a product category: xAI's Grok Bot, OpenAI's dots, Anthropic's Claude Duet. We wanted the same job — work in the background, check in when a decision is yours — but we refused three defaults those products inherit.
- The agent runs on someone else's computer.
- The models are locked to one vendor.
- You pay a subscription for the agent shell itself.
AnyModelBot is MIT-licensed, runs on your Windows / macOS / Linux box or a Docker host you control, talks to 70+ models through Modelflare or your own official API keys, and has no app subscription. Models are pay-per-token. Conversations, Markdown memory, workspaces and keys stay on disk.
- Website: https://anymodel.bot/
- Source: https://github.com/modelflare-ai/AnyModelBot
I will only repeat what the public README comparison already says. No homemade benchmarks.
The job we kept, the assumptions we dropped
An always-on agent is useful when it can:
- keep a persona, a workspace and a memory that survive across chats;
- run background work and scheduled rules without you staring at a tab;
- surface approvals and questions in one place ("Needs you");
- reach you on the chat apps you already open.
We kept that job. We dropped the assumption that the runtime must live in a vendor cloud. If the agent can move files, run commands and (optionally) look at your screen, I want the process next to those files — not next to a multi-tenant VM I cannot inspect.
That choice has a cost: if your laptop sleeps, rules do not run. The README says so. When people want something closer to 24/7, we point them at Docker on a NAS or home server, not at "trust our cloud."
What the public comparison table actually claims
From the README (vendor details as of October 2026 public reports; check each vendor yourself):
| AnyModelBot | Grok Bot / dots / Claude Duet (summary) | |
|---|---|---|
| License | MIT | Closed products |
| Where the agent runs | Your computer or server | Vendor cloud computers |
| Models | GPT, Claude, Gemini, Grok, DeepSeek, Kimi, GLM and 70+ more (Modelflare or official APIs) | Mainly that vendor's stack |
| Cost | Free app; models billed per token | Subscriptions |
| Reach | Desktop, Docker, WeChat, Feishu, Telegram, Slack, Discord | Their own apps / ecosystems |
We are not affiliated with those products. Availability and features change; the table is a snapshot of public positioning, not a bake-off.
Data boundary: what stays, what leaves
Local-first is not "nothing ever leaves." The privacy doc is blunt:
| Stays on your device | Leaves your device |
|---|---|
| Conversations (SQLite), memory (Markdown), workspaces, keys, settings | Whatever the selected model needs to answer |
Local console on 127.0.0.1 (desktop mints a fresh UI token each launch) |
Screenshots, if you enable computer use and ask it to look |
| Chat-channel messages (WeChat / Feishu / Telegram / Slack / Discord) |
With Modelflare, requests go through Modelflare to the provider you pick, and Modelflare keeps request logs (see their Trust Center). With your own official API keys, those model calls go straight to the provider and not through Modelflare. Image and video generation is Modelflare-only today.
That honesty is part of the product: we would rather say "the prompt left" than market a false sense of offline magic. We do not run local LLMs. Network is required for model calls.
Why Markdown memory and visible approvals
Two design choices reinforce the "you can distrust us" stance:
-
Long-term memory is plain Markdown under the data directory (
memory/bots,memory/groups,memory/team, plusjournal.jsonl). You cangrepit, edit it, back it up. Secret-looking strings are rejected before write — the folder is notes, not a vault. - Permission presets are Read-only / Workspace (default) / Full access. Out-of-bounds file work stops for approval. Computer use can be set to ask before every click; on macOS it is Beta.
An agent that can tidy a folder without a visible step list is a liability. Ours shows the steps.
Channels without a mobile app
There is no standalone mobile app. Phone access today means WeChat (QR), Feishu (direct messages only for channel chat), Telegram, Slack or Discord talking to a bot that is already running on a desktop or Docker host. Telegram / Slack / Discord channel chats are also DMs-only for now. That is a roadmap item, not a hidden feature.
WeChat and Feishu matter for people who live in those apps; for overseas readers the lead story is still: multi-model, local runtime, open source. Those messengers are secondary entry points.
What "pay per use" means in practice
- Sign in once to Modelflare (desktop opens a browser; Docker: sign in anywhere, paste the landing link back into the app), or paste an official provider key.
- The model picker shows context length, capability tags and reference prices.
- Balance, low-balance reminders, daily usage and per-bot budget keys live in the app.
- Background chores (memory tidying, context hand-offs) can use a cheaper model than the one you chat with. Per-conversation
/modelis separate from the per-bot default.
I already wrote a step-by-step of that switching path in One Modelflare sign-in, 70+ models. This post is about why the runtime stays local, not how to click the picker.
We publish no "we are X% cheaper than Y" claims here. Compare Modelflare's public price list with official rates yourself before you choose a model.
Who this is for (and who it is not)
For: developers and power users who want an always-on agent they can inspect, fork and host; people who switch models by task; people who care where memory files live.
Not for: anyone who needs a polished phone-native agent today; anyone who wants fully offline local models; anyone who expects rules to fire while the only host is a sleeping laptop.
Closing
Cloud always-on agents optimize for convenience and a single vendor story. We optimized for inspectability: MIT code, process on your machine, Markdown you can open, approvals you can deny, models you can swap.
If that trade-off matches how you work, try a desktop build or the Docker one-liner in the README. If it does not, that is fine — the category is big enough for both approaches.
— Malachi, co-developer of AnyModelBot
Top comments (0)