Gå til indhold
Anvendt AI, produktudvikling og noter fra arbejdetLæs mere
Khadim

Khadim: En open source, local-first coding-agent

Khadim er vores fungerende open source coding-agent. Den kører lokalt, leveres som CLI i dag, og understøtter 19+ providers. Her er hvad den er, hvad den gør i dag, og hvad der stadig er undervejs.

Hanan Choudhary Hadayat
#Khadim#openSource#localFirst#codingAgent#UnravelAI

Khadim er vores coding-agent. Den er open source under AGPL-3.0, den kører lokalt, og CLI’en er fungerende software i dag. Dette opslag er en faktisk opdatering på, hvor Khadim står, hvad den gør, og hvad der stadig er undervejs.

Hvad Khadim er

Khadim er en local-first terminal coding-agent. Du peger den på en opgave på almindeligt sprog, så planlægger den arbejdet, redigerer filer og kører projektets egne checks for at bekræfte resultatet. Den kører på din maskine mod din checkout; værktøjer kører lokalt, medmindre du vælger en remote runner. Der er intet kontokrav og ingen telemetri hjem.

Navnet kommer af det arabiske ord for “tjener” eller “assistent.” Det afspejler, hvordan vi tænker på agenter: de skal tjene ingeniøren og kodebasen, ikke omvendt. Kilden ligger på github.com/unravelaidk/khadim, og dokumentationen på unravelaidk.github.io/khadim.

Hvad den gør i dag

CLI coding-agenten er det stabile indgangspunkt i dag. Den understøtter:

  • Interaktiv terminal og headless exec. En streaming terminal-UI med slash-kommandoer, gemte sessions og provider/model-skift. Eller kør én opgave headless med --prompt og exec, og stream JSON-events med --json til scripts og CI.
  • Typed SDK og et normaliseret JSON-event-stream. Indlejr Khadim i Node.js-apps med runAgentStream. Det samme event-stream — text_delta, step_start, step_update, step_complete, question, done, error — driver CLI, desktop og web.
  • 19+ providers, inklusive lokale. OpenAI, Anthropic, Gemini, Groq, xAI, OpenRouter, Mistral, Cerebras, Copilot, Codex og local-kompatible muligheder. Credentials læses fra miljøvariabler eller det interaktive settings-panel.
  • WASM-plugin-sandbox. Plugins er sandboxede WebAssembly-moduler, der eksponerer værktøjer for agenten. Et manifest anmoder om fs, http, store og desktop UI-capabilities. Værktøjer kører lokalt på din maskine.

Det er ikke en chatbot, der taler om kode. Det er en agent, der ændrer kode og derefter beviser, at ændringen virker.

Local-first, af design

Vi valgte local-first af en grund, der ikke er æstetisk. Det mest nyttige sted for en coding-agent at køre er på den samme maskine som det repository, den redigerer, fordi det er der, build, tests og editor allerede lever. At køre lokalt betyder:

  • Ingen kilde forlader din maskine, medmindre du pusher. Khadim læser og skriver filer på disk som ethvert andet værktøj, og værktøjskald er inspicerbare.
  • Din eksisterende toolchain er sandheden. Den kører deno task build, npm test, cargo build — hvad dit projekt allerede bruger — i stedet for at opfinde sin egen korrekthedsbegreb.
  • Ingen konto, ingen telemetri. Der er intet login og ingen brugsdata sendt til os. Agenten er noget du installerer og kører, ikke noget du tilmelder dig.

Det er den samme model som de editorer, linters og build-værktøjer, du allerede stoler på. Khadim passer ind ved siden af dem frem for at erstatte dem.

Hvordan vi bruger verificering

Verificering er den del, der gør en coding-agent værd at køre. En agent, der kun producerer redigeringer, er en hurtig måde at skabe regressioner på. Khadim behandler din build og dine tests som tjekket på sit eget arbejde:

  1. Den læser opgaven og den relevante kode.
  2. Den foretager det mindst mulige sæt redigeringer.
  3. Den kører projektets egen build- eller testkommando.
  4. Hvis checken fejler, læser den outputtet og retter enten redigeringen eller rapporterer fejlen.

Dette loop er forskellen mellem “agenten skrev noget” og “agenten ændrede kodebasen, og build er stadig grøn.” Vi leverer ikke redigeringer, som projektets egne checks afviser.

Hvad der stadig er undervejs

Vi er eksplicitte om, hvad der ikke er leveret, så påstandene forbliver ærlige:

  • CLI coding-agent, agent-engine og providers, dokumentation — leveret. Disse er arbejdshesten i dag.
  • Desktop — Agents (Alpha). En Electron-desktopprototype til agent-runs og lokale projekter. Aktivt under udvikling.
  • Desktop — Studio (Beta). Et artifact-workspace til dokumenter, React-sites og canvases i desktopprototypen.

Én fælles agent-engine og event-stream driver overfladerne. CLI’en er den stabile indgang; desktop-overfladerne følges som Alpha og Beta, ikke som færdige produkter.

Hvor Khadim passer sammen med Blop

Khadim redigerer kode. Blop, vores anden agent, driver en rigtig browser for at verificere det produkt, koden bygger. De besvarer forskellige spørgsmål: Khadim spørger “virker koden”, Blop spørger “virker den kørende app for en bruger.” Vi bruger dem sammen — Khadim laver ændringen, Blop gennemgår den kørende UI for at bekræfte den bruger-synlige adfærd. Læs Blop-opslaget for det fulde billede.

Aktuel status

Khadim er tilgængelig og fungerende som CLI. Den er open source under AGPL-3.0 og kører lokalt. Installer npm-pakken eller brug installer-scriptet; desktop og web kommer trinvist. Se Khadim-produktsiden for den fulde status-tabel.

Hvis du vil læse koden, køre den mod et repository eller se verificerings-loopet i aktion, er kilden det rigtige sted at starte. Kontakt os, hvis du vil have hjælp til at komme i gang.


Vi holder opdateringer faktiske og korte. Dette opslag vil blive redigeret til at afspejle Khadims aktuelle tilstand frem for at blive genannonceret fra bunden.