Skip to main content

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

  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.

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

madpod_agent-0.3.0.tar.gz (113.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

madpod_agent-0.3.0-py3-none-any.whl (145.1 kB view details)

Uploaded Python 3

File details

Details for the file madpod_agent-0.3.0.tar.gz.

File metadata

  • Download URL: madpod_agent-0.3.0.tar.gz
  • Upload date:
  • Size: 113.9 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

Hashes for madpod_agent-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ef7d2630cf515bde27b9c5b68c5465bd0a00c852f2d50afc650ea520dc1df989
MD5 1676a786f8894649015d99612405fbfe
BLAKE2b-256 bf2b14d941470d30a5fb4708c0b34627a726eb2dfd7708ecac73b4ed20f2e522

See more details on using hashes here.

File details

Details for the file madpod_agent-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: madpod_agent-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 145.1 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

Hashes for madpod_agent-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4dddc43dca9fae4edc640304573eb098fa08f3ac41687ad6dbe35488d4150220
MD5 26bbcddf9972a2d75196e3770922f604
BLAKE2b-256 34bf665ae8dbf23889dc062f3e6e3e36889b47d518a2124c4c4018c5e403fcb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page