Quick Start
Prerequisites
Section titled “Prerequisites”- Docker and Docker Compose
- A Telegram bot token (from @BotFather)
- At least one model provider configured (OpenAI Codex, Ollama, or any OpenAI-compatible endpoint)
-
Clone the repo
Terminal window git clone https://github.com/q15co/q15.gitcd q15 -
Initialize local secrets
Terminal window make compose-secrets-initThis copies
.exampletemplates into local files. Edit the copies, not the templates. -
Configure your secrets Edit the files under
deploy/compose/secrets/:q15_telegram_token— your Telegram bot tokengithub_token— a GitHub personal access token (if using GitHub)moonshot_api_key— Moonshot API key (if using Moonshot models)
-
Set up auth Edit
deploy/compose/auth/auth.jsonwith your provider credentials, or useq15-authto generate it:Terminal window ./bin/q15-auth login --auth-path ./deploy/compose/auth/auth.json -
Edit agent config Edit
deploy/compose/agent-config.yamlto set your providers, models, and Telegram policy. See Agent Config for the full schema. -
Edit proxy policy Edit
deploy/compose/proxy-policy.yamlto set egress rules and secret aliases. See Proxy Policy for the full schema. -
Bring up the stack
Terminal window make compose-up -
Verify it’s running
Terminal window make compose-psmake compose-logs SERVICE=q15-agent -
Send a message Send a message to your Telegram bot. The agent should respond.
Useful commands
Section titled “Useful commands”make compose-down # stop the stackmake compose-logs SERVICE=q15-agent # tail logsmake compose-ps # show running servicesDevelopment setup (without Docker)
Section titled “Development setup (without Docker)”If you want to build and run from source:
make project-setupmake verifymake buildThis installs the pinned toolchain under ./.tools, runs checks, and builds the four binaries (q15-agent, q15-auth, q15-exec, q15-proxy) into ./bin.