Coding
Getting Started
The Kimchi coding harness is an autonomous AI agent that writes, reads, edits, and reasons about your code — with built-in multi-model orchestration, phase tracking, and cost attribution.
Quick Start
Get up and running in 3 steps. Come back to the rest of the doc when you're ready.
1. Install
curl -fsSL https://github.com/getkimchi/kimchi/releases/latest/download/install.sh | bash2. Get your API key
Go to https://app.kimchi.dev/settings and generate an API key.
3. Pick your path
"I want to try the Kimchi coding agent"
kimchi
# You'll be prompted for your API key on first run.
# Then just describe a task: "add tests for the auth module""I already use Claude Code / Cursor / OpenCode / Cline — just point it at Kimchi"
kimchi setup
# Interactive wizard detects your tools and configures them automatically.That's it. Read on if you want to understand what's happening under the hood.
What Is a Coding Harness?
A coding harness is an AI agent that can write, read, edit, and reason about your code autonomously. You describe a task in plain English — "add error handling to the API routes", "refactor this module to use async/await", "write tests for the auth service" — and the agent executes it: reading files, writing code, running commands, checking its own output.
This is different from AI code completion (Copilot-style inline suggestions). A harness handles multi-step tasks with minimal hand-holding. You don't autocomplete one line at a time — you hand over a job and the agent does it.
Why Kimchi Instead of Claude Code or Others?
| Claude Code / Cursor | Other API providers | Kimchi | |
|---|---|---|---|
| Rate limits | Yes — sessions cut off mid-task | Varies | No rate limits |
| Cost | $100–200/month subscriptions | Pay-per-token, no routing intelligence | Pay-per-token, smart routing cuts costs |
| Model lock-in | Anthropic-only | Single model per request | Automatically picks the right model per task |
| Data residency | Anthropic's / provider's infra | Provider's infra | Your cluster (self-hosted) or Kimchi's GPUs |
| Claude models | Direct from Anthropic | Not available | Via Kimchi proxy — same models, no lock-in |
The key differentiator: orchestrated multi-model routing.
Kimchi doesn't just swap one model for another. The harness runs an orchestrator that classifies your task, breaks it into phases, and assigns each subtask to the right model from its roster. A planning step gets a reasoning-capable model; a bulk code-generation step gets a fast, high-throughput executor. You don't pick the model — the harness does.
Two Ways to Use Kimchi
Mode 1: The Kimchi Harness (kimchi)
Run the full Kimchi coding harness:
kimchiThis launches kimchi — a terminal-based coding agent with:
- Multi-model orchestration (on by default): the agent classifies your task, assigns phases, delegates subtasks to specialised subagents
- Phase tracking: work is tagged as explore → plan → build → review → research for analytics and cost attribution
- Cost tagging: every request is tagged by model and phase; add custom tags for project/team attribution
- Session persistence: sessions (including subagent runs) are saved to disk and fully recoverable
When to use: New tasks, complex tasks, anything where you want the full autonomous experience.
Mode 2: Configure Your Existing Tool (kimchi setup)
Already using Claude Code, Cursor, OpenCode, Cline, or another tool? Keep your workflow and just swap the backend:
kimchi setupThe interactive wizard will:
- Ask for your API key and validate it
- Detect installed AI tools on your machine
- Let you pick which tools to configure
- Ask if the config should apply globally or per-project
- Write the config files
When to use: You're happy with your current tool's UX and just want it to run on Kimchi's models instead of Anthropic/OpenAI. You're mainly using AI for code autocompletion and need the UI.
Supported tools:
| Tool | Config written |
|---|---|
| Claude Code | ~/.claude/settings.json |
| OpenCode | ~/.config/opencode/opencode.json |
| Codex CLI | ~/.codex/.env |
| Cursor | state.vscdb (SQLite) |
| Windsurf | globalStorage/storage.json |
| Zed | ~/.zed/settings.json |
| Cline | ~/.cline/data/globalState.json |
| OpenClaw | ~/.openclaw/openclaw.json |
kimchi setup preserves your existing tool configuration — it adds the Kimchi provider without overwriting anything. You can undo by removing the kimchi provider block from the relevant config file.Using the Harness: Key Features
Multi-Model Orchestration
By default, kimchi runs in multi-model mode: a main orchestrator agent classifies each task and delegates subtasks to the best-fit model from the roster. This happens automatically — you just describe the task.
To turn orchestration off (single model, no delegation):
kimchi --multi-model=falseOr toggle it during a session with alt+tab (shown in footer: multi-model: on / off).
When to turn it off: Simple one-shot tasks where you want direct, fast output without orchestration overhead.
Phase Tracking
The harness tracks which phase of work it's in and tags every LLM request accordingly. This is automatic — the orchestrator sets the phase as it works.
| Phase | Description |
|---|---|
| explore | Reading files, understanding structure |
| plan | Designing, breaking down tasks, writing specs |
| build | Writing, modifying, or refactoring code |
| review | Verifying correctness, analysing output |
| research | Investigating issues, reading docs |
Phases appear in the footer (e.g. ↳ build) and are included in every request tag for cost reporting.
Model Switching
To manually switch models mid-session:
/modelThis is an escape hatch — in normal orchestration mode, the harness routes automatically. You can also toggle it during a session with ctrl+p.
When working in multi-model mode the selected model is responsible for the orchestration of the prompt. For best experience we recommend using kimi-* family models.
Quick Reference
# Install
curl -fsSL https://github.com/getkimchi/kimchi/releases/latest/download/install.sh | bash
# Launch the harness
kimchi
# Configure an existing tool
kimchi setup
# Update to latest
kimchi update
# Show version
kimchi version
# Debug mode
kimchi --debugWhen to Use Which Mode
| Situation | Recommended |
|---|---|
| You want to just try it | kimchi (harness, default) |
| You have a complex multi-step coding task | kimchi with multi-model on |
| You want fast, direct code output | kimchi --multi-model=false |
| You want to run the harness in dangerous mode with all permissions granted | kimchi --yolo |
| You live in Claude Code and don't want to change your workflow | kimchi setup → configure Claude Code |
| You use Cursor / Windsurf / Cline | kimchi setup → configure your tool |
| You need to update the harness or the installer | kimchi update → updates both the harness and the installer |
Feedback & Issues
File issues at github.com/getkimchi/kimchi or ping the team on Discord here.
Don't forget that Kimchi Code is an open source project so feel free to help us extend it if you have any ideas.