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.
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
--promptog exec, og stream JSON-events med--jsontil 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,storeog 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:
- Den læser opgaven og den relevante kode.
- Den foretager det mindst mulige sæt redigeringer.
- Den kører projektets egen build- eller testkommando.
- 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.