Deploy your own AI agent to the cloud in one click.
- Fork this repo.
- On Railway: New Project → Deploy from GitHub repo → pick your fork.
- Add
LLM_API_KEY- this can be an API key from any provider, including Anthropic, OpenAI, OpenRouter, etc. - Add
TELEGRAM_BOT_TOKEN(see below) - Deploy.
Railway auto-redeploys every time you push to your fork, so editing your agent = editing files on GitHub.
- Open Telegram and message @BotFather.
- Send
/newbot, pick a name and a username. - Copy the token it gives you — that's your
TELEGRAM_BOT_TOKEN.
Telegram enables itself when TELEGRAM_BOT_TOKEN exists. In chat: /reset wipes the bot's memory of that conversation.
| Want to change... | Edit... |
|---|---|
| API endpoints | channels/http_api.py |
| Personality, model, context length | agent.yaml |
| The agent's abilities (tools) | agent/tools.py |
| Channels (add Discord, Slack, ...) | drop a new file in channels/ |
In the GitHub web UI open knowledge/, Add file → Upload files, commit. After the auto-redeploy, ask your agent "what files do you have?"
Plain-text formats work (md, txt, csv, code). PDFs and images are detected but not supported for now.
Telegram / HTTP ──▶ respond(chat_id, text, config) ──▶ Claude API
│ │
SQLite memory ◀──── tool use loop ──┘
Conversation memory is SQLite on disk, mount a volume (DB_PATH) to keep it across redeploys; on Railway, add a volume mounted at /data and set DB_PATH=/data/agent.db.
This repo also ships a benchmark harness where a meta-agent rewrites its own multi-agent pipeline — prompts, tools, topology — to hill-climb on Harbor tasks. See benchmark/ to run an experiment.
MIT — do whatever you want with it. Have fun.
