cwcode: Terminalen som äntligen jobbar med dig, inte emot dig
<think> The user wants me to rewrite a blog post about cwcode from scratch in Swedish, keeping the markdown format. I need to:
- Not translate literally - write naturally in Swedish
- Not copy sentence structure
- Keep the markdown format
- Make it sound like it was originally written in Swedish by a Swedish tech blogger
- Keep technical terms in English (domain, hosting, SSL, DNS, VPS)
Let me understand the main points:
- Introduction - AI coding assistants are exhausting with subscriptions and cloud services
- What is cwcode - TUI built with Go/Bubbletea, drives OpenAI-compatible endpoints, locally, no SaaS
- Hash-anchored editing - solves the character-perfect reproduction problem, 30-40% fewer tokens
- Caching - DeepSeek prompt cache, 120x savings, 85%+ hit ratio after 3 turns, ~$0.40/hour
- Safety features - Plan vs Code mode (Shift+Tab), Checkpoint & Rewind, Storm-breaker
- Autonomous mode - /goal command, autonomous loop with safety cap
- No lock-in - JSON config, sessions, SQLite, everything under ~/.cwcode/
- Getting started - installation, configuration
- Final thoughts - respects developer autonomy
Let me write this in natural, flowing Swedish as a tech blog post. I should use short, clear sentences, be conversational, and make it feel authentic. </think>
cwcode: Terminal-kodagenten som låter dig behålla kontrollen
Kom ihåg när "AI-kodningsassistent" betydde en ny prenumeration, uppladdning av din kod till någon annans servrar, och hoppades att villkoren inte ändrades nästa kvartal? Jo, vi också. Det har blivit utmattande.
Här kommer cwcode, ett förfriskande annorlunda sätt att tänka kring terminalbaserad AI-assisterad kodning. Lokalt, prisvärt, och utan att du behöver lämna ifrån dig kontrollen över din utvecklingsmiljö till ännu en molnplattform.
Vad är cwcode egentligen?
cwcode är en Terminal User Interface (TUI) byggd med Go och Bubbletea-ramverket. Den driver OpenAI-kompatibla chat-slutpunkter som en verktygsbaserad kodagent. Tänk på det som en kodningskompis för kommandoraden som lever i din terminal, redigerar riktiga filer, och – viktigast av allt – reparerar sina egna misstag.
Det som gör den intressant: det är ingen SaaS. Inget konto att skapa, ingen telemetri som skickar din sessiondata någonstans mystiskt, och ingen fjärrstyrning som hanterar dina sessioner. Din API-nyckel ligger i ~/.cwcode/config.json. Dina sessioner finns i ~/.cwcode/sessions/. Om nätverket kopplar ner och du kör en lokal modell-slutpunkt fortsätter agenten arbeta. Sådan offline-först-tankegång borde vi kräva av utvecklarverktyg.
Flexibiliteten är genuint imponerande. Medföljande profiler finns för DeepSeek (både Pro och Flash-varianterna), Azure OpenAI, Kimi for Coding, och till och med en lokal profil för att köra Qwen3.6-27B på en hemmaserver via vLLM eller llama.cpp. Byta leverantör mitt i en session? Ett snedstreck-kommando. Du är inte låst till en enda leverantör.
Hash-förankrad redigering – lite magiskt
Här blir det fiffigt. Traditionella AI-kodningsverktyg kämpar ofta med filredigering eftersom de måste återskapa exakt innehåll för att göra ändringar. Missar du ett tecken? Redigeringen misslyckas. Det är frustrerande och slösar tokens.
cwcode tar en annan approach lånad från Can Akays arbete: varje rad som read_file-verktyget läser annoteras med en 3-teckens innehållshash. När du vill redigera tar edit_lines-verktyget ett radnummer, dess hash, och den nya texten – och avvisar hela batchen om någon hash har förskjutits. Modellen behöver aldrig återskapa innehåll tecken-perfekt för att landa en redigering.
Resultatet? Enligt projektet själva sjönk output-tokens per session med 30-40% på DeepSeek V4 Pro. Det är betydande när du kör AI-assisterade kodningssessioner och håller koll på token-kostnaderna.
Caching som faktiskt fungerar
DeepSeek prompt cache erbjuder ungefär 120× kostnadsbesparingar vid cache-träffar jämfört med missar. Det är enormt – men bara om du faktiskt kan träffa cachen konsekvent.
cwcode åstadkommer detta genom noggrann teknisk design: systemprompten är byte-stabil över varv, verktygsdefinitioner serialiseras i deterministisk ordning, och reasoning-innehåll stripas bort från utgående förfrågningar som standard. Resultatet blir en prefix cache-träfffrekvens som rutinmässigt överstiger 85% efter tredje varvet. Deras /cache-kommando visar till och med den kumulativa träfffrekvensen för sessionen så du kan verifiera att det fungerar.
För utvecklare som håller koll på API-kostnader är detta en spelväxlare. En kodagent som kostar ungefär $0.40 per timme samtidigt som den levererar meningsfulla produktivitetsförbättringar? Den typen av effektivitet borde vi fira.
Säkerhetsfunktioner som faktiskt funkar
Två funktioner sticker ut för utvecklare som oroa sig för att AI:n spårar ur:
Plan vs Kod-läge: En enda Shift+Tab växlar mellan skrivskyddad planering (LLM:n ser bara verktyg som inte muterar) och full exekvering. Modellen ser inte ens flaggan – den ser bara ett annat (mindre) verktygsregister. Människan behåller slutlig kontroll om du inte uttryckligen optar in i deras "YOLO-läge." Så här borde det fungera: explicit samtycke för exekvering, inte gömda flaggor begravda i inställningar.
Checkpoint och Återspola: Innan något fil-muterande verktyg körs, tar cwcode en ögonblicksbild av för-state för varje sökväg som verktyget kommer att röra. Ögonblicksbilder är SHA-256-nycklade blobbar, automatiskt deduplicerade. Om något går fel återställer /rewind N filer, trunkerar konversationshistoriken, och förifyller inmatningsrutan med din ursprungliga prompt. Det är som git, men inbyggt i agenten själv.
Det finns också "Storm-breaker": när samma verktyg misslyckas identiskt tre gånger i rad, avbryter inte cwcode tyst. Den syntetiserar en förklaring i vanligt språk, streamar den som ett normalt svar, och lägger till den i historiken så uppföljningar har kontext. Agenten vet när den ska be om hjälp istället för att snurra oändligt.
Autonomt läge för de modiga
Känner du dig djärv? Kommandot /goal lägger till mål i en goals.md-fil, och /goal on startar en autonom loop som kör back-to-back-varv tills varje checkbox är markerad som klar – eller tills den träffar en säkerhetsgräns på 20 konsekutiva cykler. cwcode-teamet nämner att de använder detta för annoterade uppgifter som körs över natten, vilket antingen är genialiskt eller skrämmande, beroende på hur mycket du litar på din test-suite.
Det verkliga värdet: Ingen inlåsning
Kanske den mest underskattade aspekten av cwcode är dess arkitekturfilosofi. Konfiguration är JSON. Sessioner är JSON. Checkpoints är content-addresserade blobbar. Minnesbutiken är en SQLite-fil. Allt lever under ~/.cwcode/.
Om projektet försvann imorgon är dina sessioner fortfarande läsbara. Din data hålls inte som gisslan av en startups finansieringssituation eller ett stort teknikbolags strategiska sväng. Så här borde öppna verktyg byggas – inte bara "öppen källkod" till namnet medan allt hålls i proprietära format du aldrig kommer att äga.
Kom igång
Om du är nyfiken är installationen rak och enkel: ladda ner en färdigbyggd binär för din plattform från deras releases-mapp (just nu v1.11, med macOS arm64/amd64 och Windows amd64 tillgängliga), lägg den någonstans på din PATH, och kör.
Du behöver en OpenAI-kompatibel slutpunkt – DeepSeek API-nyckel, Azure deployment, lokal vLLM, eller vad som helst annat som pratar OpenAI chat-API:t. Konfigurera en profil i ~/.cwcode/config.json, kör sedan cwcode för full TUI-upplevelse, cwcode -p "fix the bug" för one-shot-läge, eller cwcode -plain för en stdout-REPL utan gränssnitt.
Slutord
cwcode representerar något värt att uppmärksamma: AI-assisterade utvecklarverktyg som respekterar utvecklarens autonomi. Kombinationen av kostnadseffektivitet (de tokenbesparingarna är verkliga), lokalt-först-arkitektur (din data stannar din), och genomtänkta säkerhetsfunktioner (checkpoints, planläge, storm-breaker) summerar till något genuint annorlunda från SaaS-alternativen.
Oavsett om du är en ensam utvecklare som håller koll på kostnader, ett team bekymrat över integritet, eller bara någon som föredrar terminal-först-arbetsflöden – cwcode är värt att utforska. Det är en påminnelse om att framtiden med AI-kodning inte behöver betyda att överlämna kontrollen till molnplattformar. Och det är en framtid värt att bygga mot.