Skip to main content

madpod-nanobot

A fork of HKUDS/nanobot customized for Madpod — a task-centric AI agent hosting platform.

What changed

  • Removed all upstream messaging channels (Telegram, Discord, Slack, WhatsApp, Email, Feishu, DingTalk, QQ, Matrix)
  • Added MadpodChannel — persistent WebSocket client connecting agents to the Madpod control plane
  • Added hooks (activity_logger, intervention_detector) bundled in the package
  • Renamed package to madpod-nanobot

Install

uv add madpod-nanobot

Usage

madpod-nanobot gateway --config /path/to/config.json --workspace /path/to/workspace

Local testing with Madpod dev stack

  1. Generate the workspace-root local dev launcher and sync the managed URLs:
cd api
uv run python -m src.scripts.sync_local_dev
cd ..
  1. Start the local dependencies, apply DB migrations, and seed a dedicated local task/agent pair:
docker compose -f docker-compose.dev.yml up -d postgres temporal api temporal-worker
cd /Users/achraf/Desktop/madpod/api
uv run alembic upgrade head
uv run python -m src.scripts.bootstrap_local_nanobot
  1. Start the local nanobot container with an OpenRouter key:
OPENROUTER_API_KEY=your-key-here docker compose -f docker-compose.dev.yml --profile nanobot up nanobot-dev

The bootstrap script resets and recreates a fixed local task and agent so the nanobot-dev service can authenticate against the FastAPI websocket and immediately receive a test assignment.

Environment variables

Variable Description Default
MADPOD_AGENT_ID Agent identifier (required)
MADPOD_GATEWAY_TOKEN Bearer token for WS auth (required)
MADPOD_CONTROL_PLANE_WS_URL Control plane WebSocket URL wss://api.madpodai.com
MODEL Primary runtime model openrouter/minimax/minimax-m2.5 in Madpod runtime
PLANNER_MODEL Optional planner override unset
EXECUTOR_MODEL Optional executor override unset
SUMMARIZER_MODEL Optional summarizer override unset
BROWSER_BACKEND Browser backend (playwright or playwright_mcp) playwright
BROWSER_HEADLESS Force headless browser mode auto

License

MIT — see LICENSE.

Metadata

Release files for madpod-agent 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for madpod-agent 0.3.7
File Size Uploaded Provenance
madpod_agent-0.3.7.tar.gz 197.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for madpod-agent 0.3.7
File Interpreter ABI Platform
madpod_agent-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size: 448.5 kB

Release files / madpod_agent-0.3.7.tar.gz

Download URL madpod_agent-0.3.7.tar.gz
Size 197.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6230fb9c4c9c1c76f3234502469f8e1ce981a6290ee9f53e3275c5b1a2ce642a
BLAKE2b-256 checksum
How to use checksums
4d26103e236117e91f5ab9a961d37b29d59485db909a9ac70b66512b0ba92b54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / madpod_agent-0.3.7-py3-none-any.whl

Download URL madpod_agent-0.3.7-py3-none-any.whl
Size 251.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
095b068a5416c301697944f3dff69b937d1707b188febb43f86e6d70669e17dd
BLAKE2b-256 checksum
How to use checksums
0071ad77ba825ee61a5d4be4dc74f5b5d1a392280bc24a86e884ed6fd19796e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for madpod-agent 0.3.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page