Back to Nanobot

nanobot Docs

docs/README.md

0.2.29.0 KB
Original Source

nanobot Docs

For published release documentation, visit nanobot.wiki. The pages in this directory track the current repository and may describe features that have not reached the published site yet.

If you have never used a terminal or edited a config file before, start with start-without-technical-background.md. Otherwise, start with quick-start.md and get one local nanobot agent -m "Hello!" reply working before connecting chat apps, WebUI, Docker, or custom tools.

Most JSON examples in these docs are snippets to merge into ~/.nanobot/config.json, not full replacement files.

Provider examples are concrete walkthroughs, not rankings or endorsements. Use the provider whose key, endpoint, and model ID you actually control.

If you find a docs mistake, outdated command, or confusing step, please open an issue: https://github.com/HKUDS/nanobot/issues.

Pick a Track

You areStart withThen use
New to terminals and config filesstart-without-technical-background.mdtroubleshooting.md if the first reply fails
Comfortable pasting commands and JSONquick-start.mdprovider-cookbook.md for pasteable provider setups
Operating a long-running botconcepts.mdchat-apps.md, webui.md, and deployment.md
Integrating or extending nanobotarchitecture.mdconfiguration.md, openai-api.md, python-sdk.md, development.md, and channel-plugin-guide.md

Start Here

GoalReadOutcome
Start with no technical backgroundstart-without-technical-background.mdOne-command setup, terminal basics, config, API keys, and the first reply
Install and get the first replyquick-start.mdA working CLI agent and a known-good config path
Understand how the pieces fitconcepts.mdMental model for config, workspace, gateway, channels, tools, memory, and sessions
Choose or change a model providerproviders.mdCorrect provider/model pairing without reading the full config reference
Copy a provider setup recipeprovider-cookbook.mdPasteable OpenRouter, OpenAI, Anthropic, local model, fallback, and Langfuse setups
Fix a first-run or runtime problemtroubleshooting.mdA diagnosis order and targeted checks for common failures

After the First Reply Works

Do not configure everything at once. Pick one next surface:

If a local nanobot agent session can already answer normally, you can also ask nanobot to help configure itself: have it read the relevant docs, inspect your current config, make one specific next change, and tell you when to run /restart.

Next goalReadFirst check
Use nanobot in a browserwebui.mdEnable WebSocket, run nanobot gateway, open http://127.0.0.1:8765
Talk through a chat appchat-apps.mdMerge one channel snippet, run nanobot channels status, keep nanobot gateway running
Change provider or add fallbacksprovider-cookbook.mdKeep modelPresets named and set agents.defaults.modelPreset
Call nanobot from Pythonpython-sdk.mdReuse the same config/workspace from code, then run or stream one agent turn
Understand before operating long-termconcepts.mdKnow what config, workspace, gateway, sessions, memory, and tools mean
Diagnose a new failuretroubleshooting.mdStart with nanobot status, then nanobot agent -m "Hello!"

Use nanobot

GoalReadOutcome
Open the bundled browser UIwebui.mdWebUI on port 8765, chat workspace, Apps, Skills, Automations, and settings
Connect Telegram, Discord, WeChat, Slack, and other appschat-apps.mdA gateway-backed chat channel with access control
Use slash commands and periodic taskschat-commands.mdPairing, model presets, heartbeat tasks, and chat-side controls
Generate imagesimage-generation.mdImage provider config, WebUI image mode, and artifact behavior
Run several isolated botsmultiple-instances.mdSeparate configs, workspaces, ports, and sessions
Deploy outside a terminaldeployment.mdDocker, systemd user services, and macOS LaunchAgent setup
Join agent communitiesagent-social-network.mdExternal agent-community setup

Reference

AreaReadBest for
Full configuration schemaconfiguration.mdExact fields, defaults, provider tables, web tools, MCP, security, and runtime options
CLI commandscli-reference.mdCommand names, common flags, and entrypoints
Architecturearchitecture.mdSource-level runtime map for core flow, providers, channels, tools, WebUI, memory, security, and extension points
Developmentdevelopment.mdContributor notes for adding providers and transcription adapters
Memorymemory.mdSession history, Dream consolidation, memory files, and versioning
Observabilityconfiguration.md#langfuse-observabilityLangfuse tracing setup and required environment variables
WebSocket protocolwebsocket.mdCustom clients, token issuance, multiplexed chats, media, and protocol events
OpenAI-compatible APIopenai-api.md/v1/chat/completions, /v1/models, file uploads, and SDK-compatible usage
Python SDKpython-sdk.mdSDK 101, sessions, streaming, model overrides, runtime helpers, and hooks
Runtime self-inspectionmy-tool.mdInspecting and tuning the current agent run

Fast Lookup

NeedJump to
Provider/model resolution orderproviders.md#provider-resolution
Model presets and fallback chainsproviders.md#model-presets and providers.md#fallback-models
Langfuse environment variablesconfiguration.md#langfuse-observability
WebSocket/WebUI protocol detailswebsocket.md
OpenAI-compatible API usageopenai-api.md
Python SDK usagepython-sdk.md
Multiple configs, workspaces, and portsmultiple-instances.md
Security, sandboxing, and SSRF controlsconfiguration.md#security
Channel plugin developmentchannel-plugin-guide.md

Extend nanobot

GoalReadOutcome
Add a provider or transcription adapterdevelopment.mdA registry/schema-aligned implementation path
Add a chat channel pluginchannel-plugin-guide.mdA packaged channel discovered through entry points
Add custom MCP serversconfiguration.md#mcp-model-context-protocolExternal tools exposed to the agent through MCP
Tune tool safetyconfiguration.md#securityShell sandboxing, workspace restriction, and SSRF policy

Reading Strategy

Use the docs in this order when you are unsure where to go:

  1. If terminal commands or config files are new to you, start-without-technical-background.md explains the setup words and uses one concrete provider example so there is only one decision at a time.
  2. quick-start.md proves installation, config loading, and provider access.
  3. concepts.md explains the runtime model so later pages are easier to scan.
  4. provider-cookbook.md gives pasteable provider, fallback, local model, and Langfuse recipes.
  5. A task guide, such as chat-apps.md, image-generation.md, or deployment.md, gets one workflow working.
  6. configuration.md is the source of truth when you need a specific field, default value, or advanced option.
  7. troubleshooting.md helps isolate whether a failure is install, config, provider, gateway, channel, or tool related.