DEV Community

Cover image for AnyModelBot: an open-source, local-first personal AI assistant that keeps its memory in Markdown on your disk
Matthew @ AnyModelBot
Matthew @ AnyModelBot

Posted on Originally published at anymodel.bot

AnyModelBot: an open-source, local-first personal AI assistant that keeps its memory in Markdown on your disk

Personal AI assistants are moving past "a chat box you open when you need it." The newer kind is always on: a bot with a persona, long-term memory, and the ability to keep working in the background. Grok Bot, OpenAI dots, and Claude Duet all go in this direction.

Those products run in the vendor's cloud. Your conversations, your bot's memory, and the files it works on live on someone else's servers, and you use whichever model that vendor sells.

AnyModelBot does the same job, but differently. It's an open-source (MIT), local-first personal AI assistant that runs on your own Windows, macOS, or Linux machine, or on your Docker host. It is not affiliated with any of the products above. The app is free forever. You pick models with one Modelflare API key, which gives you 70+ models on pay-per-use pricing with no subscription.

This post covers the design choices behind it.

AnyModelBot — local-first personal AI assistant

1. Local-first personal bots

AnyModelBot personas

In AnyModelBot, "bot" means a persistent persona rather than a single chat thread. You can run several of them. One might be a research assistant, another might handle writing, and a third might take care of routine chores. Each one has its own persona and its own memory, and each can run background tasks while you do something else.

"Local-first" means the bot's state lives on your machine: chats, memory, and the files it touches. The model calls still go to a hosted provider through your API key, so this is not an offline tool. The data that makes your bot yours stays with you.

That has a few practical effects:

  • Ownership. You can back up, move, or delete the bot by handling a folder.
  • Inspectability. You can see what the bot knows.
  • No lock-in. Switching models doesn't mean leaving your history behind.

2. Memory as Markdown on disk

Many assistants store long-term memory in an opaque database or a vendor-side vector store. AnyModelBot keeps long-term memory as Markdown files on disk.

Plain text was a deliberate choice:

  • You can read it. Open the memory in any editor and you see what the bot has learned about you and your projects.
  • You can edit it. If a fact is wrong, fix the line. If something shouldn't be remembered, delete it.
  • It works with your tools. Put it under git and you get a diff of what changed in your bot's head. Grep it, sync it, or back it up like any other notes.
  • It outlives the app. Markdown will still open in 20 years.

If you already keep notes in Markdown (Obsidian, plain folders, a docs repo), your bot's memory fits into the same workflow.

3. Computer use you control

An always-on assistant is most useful when it can act: read and write files, run steps, and work through a task while you're away. It also needs guardrails, because that's where things go wrong.

AnyModelBot's computer use has two main controls:

  • Workspace limits. You decide where the bot can operate. It works inside the boundaries you set, not across your whole machine.
  • Confirmations. You can require explicit approval for an action before it runs.

Chats and files stay local throughout. You get an agent that does real work on your machine, and you choose how much it can do.

More AnyModelBot personas

4. One bot, three surfaces: desktop, Docker, local web UI

People run assistants in different places, so AnyModelBot ships several surfaces for the same bot with the same memory:

  • Desktop app for Windows, macOS, and Linux. Install it and talk to your bots.
  • Docker for running it on a home server, NAS, or always-on box, so background tasks keep going when your laptop is closed.
  • Local web UI for reaching your bot from a browser.

The bot isn't tied to one window. Run it in Docker on a small server and its memory and personas stay consistent whichever surface you use.

A note on messaging integrations: the site documents WeChat and Feishu connections, aimed mainly at users in China. For an overseas audience, the supported paths to focus on today are desktop, Docker, and the local web UI. Please don't assume other chat-app integrations are available.

5. Any model, one key

Model quality changes month to month. GPT, Claude, Gemini, Grok, DeepSeek, and others each have strengths, and the best choice for coding may not be the best for writing or cheap background tasks.

AnyModelBot connects through one Modelflare API key with access to 70+ models:

  • Switch models per bot or per task without managing a separate account and key for every provider.
  • Pay per use. You pay for what your bots consume, and there's no subscription.
  • The app itself is free. There's no paid tier gating features.

Because memory is plain Markdown and the app is MIT-licensed, nothing about your setup depends on staying with one model vendor.

Who it's for

  • Developers who want an always-on assistant but don't want their memory in someone else's cloud
  • Self-hosters with a home server or Docker host
  • People who want to choose their model instead of accepting a default
  • Anyone who wants to read and edit what their AI remembers

What it isn't

To set expectations:

  • It's not an offline/local-model product. Models are reached through your Modelflare key.
  • It's not affiliated with Grok Bot, OpenAI dots, or Claude Duet. It covers a similar job, local-first and open source.

Try it

Issues, PRs, and design feedback are welcome. We're especially interested in how you'd want Markdown memory structured and what guardrails you'd expect from computer use.

Top comments (0)