AI Worker worker.md

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

Tool registry 46,506 stars Python MIT Worker-compatible

Source#

  • Repository: HKUDS/nanobot
  • Last source update: 2026-08-02
  • Last verified: 2026-08-02

Tags#

agent-frameworkai-agentai-agentschatbotchatopsdiscord-bot

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