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

    bash
    curl -fsSL https://github.com/getkimchi/kimchi/releases/latest/download/install.sh | bash

    2. 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"

    bash
    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"

    bash
    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 / CursorOther API providersKimchi
    Rate limitsYes — sessions cut off mid-taskVariesNo rate limits
    Cost$100–200/month subscriptionsPay-per-token, no routing intelligencePay-per-token, smart routing cuts costs
    Model lock-inAnthropic-onlySingle model per requestAutomatically picks the right model per task
    Data residencyAnthropic's / provider's infraProvider's infraYour cluster (self-hosted) or Kimchi's GPUs
    Claude modelsDirect from AnthropicNot availableVia 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:

    bash
    kimchi

    This 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:

    bash
    kimchi setup

    The 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:

    ToolConfig written
    Claude Code~/.claude/settings.json
    OpenCode~/.config/opencode/opencode.json
    Codex CLI~/.codex/.env
    Cursorstate.vscdb (SQLite)
    WindsurfglobalStorage/storage.json
    Zed~/.zed/settings.json
    Cline~/.cline/data/globalState.json
    OpenClaw~/.openclaw/openclaw.json
    📘
    Note: 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):

    bash
    kimchi --multi-model=false

    Or 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.

    PhaseDescription
    exploreReading files, understanding structure
    planDesigning, breaking down tasks, writing specs
    buildWriting, modifying, or refactoring code
    reviewVerifying correctness, analysing output
    researchInvestigating 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:

    bash
    /model

    This 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

    bash
    # 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 --debug

    When to Use Which Mode

    SituationRecommended
    You want to just try itkimchi (harness, default)
    You have a complex multi-step coding taskkimchi with multi-model on
    You want fast, direct code outputkimchi --multi-model=false
    You want to run the harness in dangerous mode with all permissions grantedkimchi --yolo
    You live in Claude Code and don't want to change your workflowkimchi setup → configure Claude Code
    You use Cursor / Windsurf / Clinekimchi setup → configure your tool
    You need to update the harness or the installerkimchi 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.