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

Uploaded Python 3

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

Hashes for madpod_agent-0.3.7.tar.gz
Algorithm Hash digest
SHA256 6230fb9c4c9c1c76f3234502469f8e1ce981a6290ee9f53e3275c5b1a2ce642a
MD5 3f06189905eba47a220a6a8f856e5c93
BLAKE2b-256 4d26103e236117e91f5ab9a961d37b29d59485db909a9ac70b66512b0ba92b54

See more details on using hashes here.

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

Hashes for madpod_agent-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 095b068a5416c301697944f3dff69b937d1707b188febb43f86e6d70669e17dd
MD5 dc9029c554e55e31f36f32ea54b10bfc
BLAKE2b-256 0071ad77ba825ee61a5d4be4dc74f5b5d1a392280bc24a86e884ed6fd19796e3

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