Madpod Agent — AI agent runtime with Madpod control-plane channel
Project description
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
- Generate the workspace-root local dev launcher and sync the managed URLs:
cd api
uv run python -m src.scripts.sync_local_dev
cd ..
- 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
- 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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file madpod_agent-0.3.7.tar.gz.
File metadata
- Download URL: madpod_agent-0.3.7.tar.gz
- Upload date:
- Size: 197.1 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6230fb9c4c9c1c76f3234502469f8e1ce981a6290ee9f53e3275c5b1a2ce642a
|
|
| MD5 |
3f06189905eba47a220a6a8f856e5c93
|
|
| BLAKE2b-256 |
4d26103e236117e91f5ab9a961d37b29d59485db909a9ac70b66512b0ba92b54
|
File details
Details for the file madpod_agent-0.3.7-py3-none-any.whl.
File metadata
- Download URL: madpod_agent-0.3.7-py3-none-any.whl
- Upload date:
- Size: 251.4 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
095b068a5416c301697944f3dff69b937d1707b188febb43f86e6d70669e17dd
|
|
| MD5 |
dc9029c554e55e31f36f32ea54b10bfc
|
|
| BLAKE2b-256 |
0071ad77ba825ee61a5d4be4dc74f5b5d1a392280bc24a86e884ed6fd19796e3
|