nanobot
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
Source#
- Repository: HKUDS/nanobot
- Last source update: 2026-08-02
- Last verified: 2026-08-02
Tags#
Integration notes#
Repository is focused on tool/server interoperability; wrap in bounded worker contracts for production use.
worker.md example#
Starter worker.md contract mapped from this registry entry. Copy this file and adapt schemas, constraints, and statuses for your task.
---
id: nanobot-repo-derived-worker
name: nanobot Repo-Derived Worker
version: 1.0.0
source_registry_url: https://worker.md/registry/nanobot/
source_repository: https://github.com/HKUDS/nanobot
repository_default_branch: main
repository_language: Python
repository_license: MIT
repository_updated_at: 2026-08-02
worker_mode: tool-gateway-worker
derivation_method: github_repository_metadata_plus_raw_readme
derivation_confidence: 0.95
derived_on: 2026-08-02
tags:
- agent-framework
- ai-agent
- ai-agents
- chatbot
- chatops
- discord-bot
---
# nanobot Repo-Derived Worker
## Repo-derived summary
- Registry summary: Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
- Repository description: Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
- Stars (snapshot): 46,506
- Primary language: Python
- Worker mode classification: tool-gateway-worker
## Extracted from
- https://github.com/HKUDS/nanobot
- https://github.com/HKUDS/nanobot/blob/main/README.md
- https://nanobot.wiki/docs/latest/getting-started/nanobot-overview
- https://github.com/HKUDS/nanobot/releases/tag/v0.3.0
- https://github.com/HKUDS/nanobot/releases
## Evidence notes (from repository text)
- README summary paragraph: English | 简体中文 | 繁體中文 | Español | Français | Bahasa Indonesia | 日本語 | 한국어 | Русский | Tiếng Việt Discord · X · WeChat / Feishu
- | Configure providers, fallback models, Langfuse, MCP, web tools, or security | [Docs](./docs/README.md) and [Configuration](./docs/configuration.md) |
- nanobot is a self-hosted personal AI agent runtime. It can:
- - use tools such as files, shell, web search, web fetch, MCP, cron, image generation, and subagents
- - keep session history and long-term memory through Dream
- - run long-horizon goals and scheduled automations
## Installation hints found in README
- `pip installs by using an active virtual environment, `uv`, `pipx`, or a managed venv under `~/.nanobot/venv`. It also prints the exact command it used to run nanobot; reuse that full command below if `nanobot` is not on `PATH`.`
- `pip install nanobot-ai`
- `pip install .`
- `pip installed the package.`
## worker.md contract (derived starter)
Purpose: Expose repository-supported tool/server capabilities behind a bounded worker interface.
### Input schema
```json
{
"type": "object",
"additionalProperties": false,
"required": [
"request_id",
"operation",
"payload"
],
"properties": {
"request_id": {
"type": "string"
},
"operation": {
"type": "string"
},
"payload": {
"type": "object"
}
}
}
```
### Output schema
```json
{
"type": "object",
"additionalProperties": false,
"required": [
"request_id",
"status",
"result"
],
"properties": {
"request_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"retryable_error",
"invalid_request",
"invalid_output"
]
},
"result": {
"type": "object"
}
}
}
```
### Constraints
- timeout_seconds: 30
- max_attempts: 2
- idempotency_key: request_id
- status_enum: [ok, retryable_error, invalid_request, invalid_output]
- notes: adapt to concrete APIs/classes documented in this repository before production use
## How this should be used
1. Treat this file as a repo-derived starter profile, not a claim of an official repository API contract.
2. Replace schemas with exact interfaces from code/docs you adopt.
3. Keep execution bounded and auditable using worker protocol constraints.
How to use#
- Save this as a worker spec file (for example:
nanobot-my-task.worker.md). - Replace the input/output schemas and purpose with your real bounded task.
- Enforce schema validation + timeout + retry policy in your runtime before production use.
Citation#
Reference URL: https://worker.md/registry/nanobot/
Source URL: https://github.com/HKUDS/nanobot