amplifierd is a localhost HTTP daemon that exposes amplifier-core and amplifier-foundation capabilities over REST and SSE. It lets you drive Amplifier sessions from any language or framework that can make HTTP calls.
Under the hood, amplifierd is a thin HTTP layer on top of two libraries:
- amplifier-core — the agent runtime: sessions, LLM providers, tool execution, hooks, and the event system. amplifierd wires core events (content deltas, tool calls, approval requests) into its SSE transport and uses
HookResultfor tool-approval gates. - amplifier-foundation — higher-level orchestration: bundle loading/preparation, child-session spawning, session forking, and working-directory management. amplifierd delegates bundle lifecycle to
BundleRegistryand agent delegation tocreate_child_session.
amplifierd itself adds HTTP routing, the SessionManager/EventBus state layer, plugin discovery, and streaming transport — but all agent logic lives in the libraries.
Install amplifierd as a tool:
uv tool install git+https://github.com/microsoft/amplifierd
amplifierd serveThe daemon starts on http://127.0.0.1:8410. Verify with:
curl http://127.0.0.1:8410/healthInteractive API docs are at http://127.0.0.1:8410/docs (Swagger UI) or /redoc. The raw OpenAPI 3.1 schema is at /openapi.json.
If you're working on amplifierd itself, use uv run from a local checkout:
cd amplifierd
uv sync --extra dev
uv run amplifierd serveTo run the test suite:
uv run pytestSettings resolve in priority order: CLI flags > environment variables > ~/.amplifierd/settings.json.
| Setting | Env var | Default | Description |
|---|---|---|---|
host |
AMPLIFIERD_HOST |
127.0.0.1 |
Bind address |
port |
AMPLIFIERD_PORT |
8410 |
Bind port |
log_level |
AMPLIFIERD_LOG_LEVEL |
info |
Logging level |
default_working_dir |
AMPLIFIERD_DEFAULT_WORKING_DIR |
None |
Default CWD for new sessions |
disabled_plugins |
AMPLIFIERD_DISABLED_PLUGINS |
[] |
Plugin names to skip |
CLI flags override everything:
amplifierd serve --host 0.0.0.0 --port 9000 --log-level debugPlugins add custom endpoints to the daemon. See docs/plugins.md for the full guide on writing, installing, and configuring plugins.
See docs/api-usage.md for the full guide on driving amplifierd over HTTP and SSE, including usage patterns, a Python client wrapper, and the endpoint reference.