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

Uploaded Python 3

File details

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

File metadata

  • Download URL: madpod_agent-0.3.6.tar.gz
  • Upload date:
  • Size: 193.5 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.6.tar.gz
Algorithm Hash digest
SHA256 25ebfa74adbf7cd7321aabe30c619e8def926d40011a8a04f64516e2d3c7bf13
MD5 2fe1f8ab74924318e08853ec3cc71c24
BLAKE2b-256 d585a773a055dae7171155dcc8543ec010acc1fb5134b8624d96753e7f7f64c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: madpod_agent-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 247.6 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 25263918265efb2abe1555e8a4e5a02e222969686bd4caab664635b7d4777f82
MD5 bffbeb568fc03a6fac78de54bd9a3fe4
BLAKE2b-256 9b9de8db99424cd0a2aef3832efec7add97a2e14ff7041542a164094d532b13b

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