Gasclaw Documentation
Single-container deployment combining Gastown + OpenClaw + KimiGas.
Gasclaw is an autonomous code maintenance system that deploys AI agents to monitor, fix, and improve your codebase. All agents use Kimi K2.5 as their LLM backend via Claude Code's UI — no Anthropic API key required.
What's Inside
| Component | Purpose | Source |
|---|---|---|
| Gastown | Multi-agent workspace (Mayor, Crew, Daemon) | steveyegge/gastown — Go CLI (gt) |
| OpenClaw | Overseer bot — monitors agents, Telegram interface | openclaw/openclaw — Node.js |
| KimiGas | LRU key rotation with rate-limit cooldown | gastown-publish/kimigas |
| AIS | tmux-based AI session manager | gastown-publish/ais |
| Dolt | Version-controlled SQL database for agent state | dolthub/dolt |
| Beads | Git-backed issue tracking used by Gastown | steveyegge/beads — Go CLI (bd) |
How It Works
Agents run Claude Code CLI (claude) with ANTHROPIC_BASE_URL pointed at Kimi's API endpoint. This gives you Kimi K2.5 as the backend while using Claude Code's agentic interface. Permission bypass is configured via Claude's config file — no --dangerously-skip-permissions flag needed.
┌─────────────────────── Docker Container ───────────────────────┐
│ │
│ OpenClaw Gateway (port 18789) — THE OVERSEER │
│ ├── Telegram channel (open DM + group policy) │
│ ├── Kimi K2.5 (own key, separate from Gastown) │
│ └── Skills: health, keys, update, agents, ais-orchestrator │
│ │
│ Gastown HQ (/workspace/gt) │
│ ├── Mayor (Claude Code via KimiGas) │
│ ├── Deacon, Witness, Refinery │
│ ├── Crew (6-8 workers) │
│ ├── Dolt SQL (port 3307) │
│ └── Key rotation pool (separate from OpenClaw) │
│ │
│ /project ← volume mount from host │
└─────────────────────────────────────────────────────────────────┘
Quick Start
git clone git@github.com:gastown-publish/gasclaw.git
cd gasclaw
cp .env.example .env # Edit with your keys
docker compose up -d
Documentation Map
Getting Started
- Installation — Prerequisites and setup
- Quick Start — Bootstrap walkthrough
- Configuration — Environment variables and secrets
Guides
- Architecture — System design and component interaction
- Gastown Integration — Real Gastown CLI (
gt) setup - Kimi Proxy & Key Rotation — KimiGas, Claude env, and key pools
- OpenClaw & Telegram — Bot config, policies, and channels
- Docker Deployment — Container setup, volumes, and networking
Reference
- API: Bootstrap —
bootstrap()andmonitor_loop() - API: Config —
GasclawConfigdataclass - API: Health —
HealthReportand checks - API: Key Pool —
KeyPoolLRU rotation - API: Maintenance — PR merging and issue handling
Operations
- Troubleshooting — Common issues and fixes
- Knowledge Base / FAQ — Lessons learned, Q&A
- Migration — Migrating from openclaw-launcher
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
GASTOWN_KIMI_KEYS |
Yes | — | Colon-separated Kimi keys for Gastown agents |
OPENCLAW_KIMI_KEY |
Yes | — | Kimi key for OpenClaw (separate pool) |
TELEGRAM_BOT_TOKEN |
Yes | — | Telegram bot token from @BotFather |
TELEGRAM_OWNER_ID |
Yes | — | Telegram user ID (numeric) |
GT_RIG_URL |
No | /project |
Git URL or path for rig |
GT_AGENT_COUNT |
No | 6 |
Number of crew workers |
MONITOR_INTERVAL |
No | 300 |
Health check interval (seconds) |
ACTIVITY_DEADLINE |
No | 3600 |
Max seconds between commits |
DOLT_PORT |
No | 3307 |
Dolt SQL server port |
LOG_LEVEL |
No | INFO |
DEBUG, INFO, WARNING, ERROR |