From 705abff7a332caf52df409ef8a4e903968292a87 Mon Sep 17 00:00:00 2001
From: yanalialiuk
Date: Tue, 19 May 2026 14:49:04 +0300
Subject: [PATCH 1/3] Document local setup for NanoBot with Atomic Chat
Added instructions for running NanoBot locally using Atomic Chat.
---
README.md | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 99c5ea2c4..ec8c5c3ac 100644
--- a/README.md
+++ b/README.md
@@ -188,7 +188,35 @@ Configure these **two parts** in your config (other options have defaults). Add
}
}
```
+*Run NanoBot Locally* (No Cloud)
+Use a local model instead of a hosted API provider.
+
+| Step | What to do |
+|---|---|
+| 1 | Install [Atomic Chat](https://atomic.chat/) on your machine. |
+| 2 | Open Atomic Chat, download a model, and keep the app running (the local API is enabled by default). |
+| 3 | In Atomic Chat, copy the model ID exposed by the local API. For example, the model ID for `Qwen 3 32B` might be `qwen3-32b`. |
+| 4 | Open `~/.nanobot/config.json` and add the Atomic Chat provider settings shown below. Replace the example model ID with the one from Step 3. Merge this into your existing config instead of replacing the whole file. |
+
+Example:
+
+```json
+{
+ "providers": {
+ "atomic_chat": {
+ "apiKey": null,
+ "apiBase": "http://127.0.0.1:1337/v1"
+ }
+ },
+ "agents": {
+ "defaults": {
+ "provider": "atomic_chat",
+ "model": "qwen3-32b"
+ }
+ }
+}
+```
**3. Chat**
```bash
@@ -316,4 +344,4 @@ This project was started by [Xubin Ren](https://github.com/re-bin) as a personal
Thanks for visiting ✨ nanobot!
-
\ No newline at end of file
+
From 6a8a17a3808125c58ed5da7c270bbf0d4da24b93 Mon Sep 17 00:00:00 2001
From: Xubin Ren <52506698+Re-bin@users.noreply.github.com>
Date: Tue, 19 May 2026 22:11:10 +0800
Subject: [PATCH 2/3] Refine local setup README entry
---
README.md | 29 +----------------------------
1 file changed, 1 insertion(+), 28 deletions(-)
diff --git a/README.md b/README.md
index ec8c5c3ac..8c4f1a3d6 100644
--- a/README.md
+++ b/README.md
@@ -188,35 +188,7 @@ Configure these **two parts** in your config (other options have defaults). Add
}
}
```
-*Run NanoBot Locally* (No Cloud)
-Use a local model instead of a hosted API provider.
-
-| Step | What to do |
-|---|---|
-| 1 | Install [Atomic Chat](https://atomic.chat/) on your machine. |
-| 2 | Open Atomic Chat, download a model, and keep the app running (the local API is enabled by default). |
-| 3 | In Atomic Chat, copy the model ID exposed by the local API. For example, the model ID for `Qwen 3 32B` might be `qwen3-32b`. |
-| 4 | Open `~/.nanobot/config.json` and add the Atomic Chat provider settings shown below. Replace the example model ID with the one from Step 3. Merge this into your existing config instead of replacing the whole file. |
-
-Example:
-
-```json
-{
- "providers": {
- "atomic_chat": {
- "apiKey": null,
- "apiBase": "http://127.0.0.1:1337/v1"
- }
- },
- "agents": {
- "defaults": {
- "provider": "atomic_chat",
- "model": "qwen3-32b"
- }
- }
-}
-```
**3. Chat**
```bash
@@ -225,6 +197,7 @@ nanobot agent
- Want different LLM providers, web search, MCP, security settings, or more config options? See [Configuration](./docs/configuration.md)
+- Want to run locally? Use Atomic Chat, Ollama, LM Studio, OpenVINO Model Server, vLLM, or any OpenAI-compatible local server. See [Configuration](./docs/configuration.md)
- Want to run nanobot in chat apps like Telegram, Discord, WeChat or Feishu? See [Chat Apps](./docs/chat-apps.md)
- Want Docker or Linux service deployment? See [Deployment](./docs/deployment.md)
From 15dba8d0803c8d2c5a3fd8c556f7e550385482e9 Mon Sep 17 00:00:00 2001
From: Xubin Ren <52506698+Re-bin@users.noreply.github.com>
Date: Tue, 19 May 2026 22:15:09 +0800
Subject: [PATCH 3/3] Polish local provider docs
---
README.md | 2 +-
docs/configuration.md | 18 ++++++++++++++----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index c025f67fe..b5e4b02c0 100644
--- a/README.md
+++ b/README.md
@@ -212,7 +212,7 @@ nanobot agent
- Want different LLM providers, web search, MCP, security settings, or more config options? See [Configuration](./docs/configuration.md)
-- Want to run locally? Use Atomic Chat, Ollama, LM Studio, OpenVINO Model Server, vLLM, or any OpenAI-compatible local server. See [Configuration](./docs/configuration.md)
+- Want to run locally? Use [Atomic Chat](./docs/configuration.md#atomic-chat-local), [vLLM](./docs/configuration.md#vllm-local-openai-compatible), [Ollama](./docs/configuration.md#ollama-local), and [others](./docs/configuration.md#local-providers).
- Want to run nanobot in chat apps like Telegram, Discord, WeChat or Feishu? See [Chat Apps](./docs/chat-apps.md)
- Want Docker or Linux service deployment? See [Deployment](./docs/deployment.md)
diff --git a/docs/configuration.md b/docs/configuration.md
index bc06588dc..fed07ff2d 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -541,6 +541,8 @@ Some OpenAI-compatible gateways expose request-body extensions such as vLLM guid
+
+
Ollama (local)
@@ -606,12 +608,19 @@ ollama run llama3.2
+
Atomic Chat (local)
-[Atomic Chat](https://atomic.chat/) is a local-first desktop app that exposes an **OpenAI-compatible** HTTP API (default `http://localhost:1337/v1`). Start Atomic Chat and enable the local API server, then point nanobot at it.
+[Atomic Chat](https://atomic.chat/) is a local-first desktop app that exposes an **OpenAI-compatible** HTTP API (default `http://localhost:1337/v1`). Use it when you want to run nanobot against a model on your own machine instead of a hosted API provider.
-**1. Add to config** (partial — merge into `~/.nanobot/config.json`):
+**1. Start Atomic Chat**
+
+- Install [Atomic Chat](https://atomic.chat/) on your machine.
+- Open Atomic Chat, download a model, and keep the app running. The local API is enabled by default.
+- Copy the model ID exposed by the local API. For example, the model ID for `Qwen 3 32B` might be `qwen3-32b`.
+
+**2. Add to config** (partial — merge into `~/.nanobot/config.json`):
```json
{
@@ -624,13 +633,13 @@ ollama run llama3.2
"agents": {
"defaults": {
"provider": "atomic_chat",
- "model": "your-model-id-from-atomic-chat"
+ "model": "qwen3-32b"
}
}
}
```
-> **Note:** Set `apiKey` to `null` if your Atomic Chat server does not require a key. If it does, set `apiKey` (or the `ATOMIC_CHAT_API_KEY` environment variable) to the value Atomic Chat expects. The `model` string must match the model id Atomic Chat exposes on its OpenAI-compatible endpoint.
+> **Note:** Replace `qwen3-32b` with the model ID from Atomic Chat. Set `apiKey` to `null` if your Atomic Chat server does not require a key. If it does, set `apiKey` (or the `ATOMIC_CHAT_API_KEY` environment variable) to the value Atomic Chat expects.
> `provider: "auto"` also works when `providers.atomic_chat.apiBase` is configured, but setting `"provider": "atomic_chat"` is the clearest option.
@@ -711,6 +720,7 @@ docker run -d \
> See the [official OVMS docs](https://docs.openvino.ai/2026/model-server/ovms_docs_llm_quickstart.html) for more details.
+
vLLM (local / OpenAI-compatible)