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.3.tar.gz (118.2 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.3-py3-none-any.whl (149.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: madpod_agent-0.3.3.tar.gz
  • Upload date:
  • Size: 118.2 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.3.tar.gz
Algorithm Hash digest
SHA256 a38153b38a692349b6884aac6a8f4601d1c03cc5158ba7f9797f061cb7de7f20
MD5 29f64f792c0ab1ffaeb01926c4f8451f
BLAKE2b-256 2b9c7a5c9e5a75f148a030cf0c0538694b34555ca43f225fd0c9ac74ca9e4d0e

See more details on using hashes here.

File details

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

File metadata

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

Hashes for madpod_agent-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 41f59eaafb97daf35d055692dac7604f4e4a26f3c042fa949fa4658871656b17
MD5 a28feda31de39811b57e2a286143de30
BLAKE2b-256 0ccabbab12fc3726c0c845d8ebdcc4dffbfe1b157681c276a8cdb5400f90d6c2

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