Get started¶
This page takes you from clone to a running gateway in under five minutes.
Prerequisites¶
- Go 1.25+ (build only — release binaries have no runtime Go dependency)
- An Anthropic or OpenAI API key
- Optional: tokens for any channel you want to enable (see Channels)
1. Get the binary¶
Pre-built artifacts for darwin/arm64, linux/amd64, linux/arm64 are produced by make package-all and attached to GitHub Releases:
See Deployment: Docker.
2. Configure¶
Run the interactive setup, which writes ~/.maven/config.json (mode 0600):
Or copy config.example.json to ~/.maven/config.json and edit by hand. The minimal config needs a provider key:
{
"provider": {
"type": "anthropic",
"apiKey": "sk-ant-..."
},
"agent": {
"workspace": "~/.maven/workspace",
"model": "claude-sonnet-4-5-20250929",
"maxTokens": 8192,
"maxToolIterations": 20
}
}
Full schema: Reference: Configuration.
3. Initialize the workspace¶
This creates the default workspace at ~/.maven/workspace with AGENTS.md, SOUL.md, HEARTBEAT.md, an empty memory/MEMORY.md, and a skills/ directory. See Guides: Workspace.
4. Try the CLI¶
One-shot:
Interactive REPL:
5. Start the gateway¶
Run channels, cron, heartbeat, and memory consolidation in one process:
Healthy startup logs look like:
INFO gateway running host=0.0.0.0 port=18790
INFO gateway channels started channels=[web]
INFO cron started jobs=0
INFO heartbeat started interval=30m0s
The default Web UI is reachable at http://localhost:18790 (enable it under channels.web in config).
Next steps¶
- Wire a channel. Pick one and follow its setup guide: Telegram, Feishu, WeCom, Matrix, WhatsApp, Web UI.
- Schedule a job. Use the
cron-scheduleagent tool or/cron-addslash command — see Guides: Cron jobs. - Understand the model. Read Concepts: Architecture and Concepts: Pipeline.
- Run on a server. Deployment: Docker, Deployment: Proxy.