Gå til innhold

KI-assistent

En assistent inne i redigereren som styrer den KI-agenten på kommandolinjen du allerede har installert — forklar, omstrukturer, rett, skriv tester, sammenfatt, oversett og samtal, med hver foreslåtte endring vist som en forskjell du kan gå gjennom og ta i bruk med vilje.

Ta med din egen agent

Assistenten ber deg ikke om en API-nøkkel og logger deg ikke inn noe sted. Den kjører i stedet en lokalt installert KI-agent på kommandolinjen som en hjelper og strømmer utdataene dens inn i redigereren. Pålogging, abonnementet ditt og valget av modell hører alt sammen til det verktøyet.

  • I dag: Claude Code (claude) og Codex CLI (codex). Installer én av dem, og logg inn én gang (så claude eller codex virker fra en terminal); redigereren finner den av seg selv. Gemini tilbys også, men integrasjonen mot kommandolinjen dens er ennå ikke bekreftet.
  • Letingen skjer av seg selv og stopper ingenting. Redigereren leter etter agenten i bakgrunnen rett etter oppstart — vinduet venter aldri på den. Mens letingen pågår, er Vis → KI-samtale kort slått av med hjelpetipset Leter etter KI-motoren…; noen sekunder senere blir den enten slått på (agenten ble funnet) eller stående nedtonet med et hint som sier hva du må installere.

Agenten er et eget program du installerer

Redigereren leverer eller henter ikke noen KI-agent, og den sender ikke teksten din noe sted selv — det er kommandolinjeagenten du installerte, som sender forespørselen med sin egen konto og sin egen nettforbindelse. Er agenten ikke installert eller ikke pålogget, blir KI-funksjonene ganske enkelt stående av, og ingenting annet i redigereren påvirkes.

Krav

Assistenten har ett ufravikelig krav: en støttet KI-agent på kommandolinjen som er installert og pålogget i systemets PATH.

  • Installer en støttet agent. I dag er det Claude Code (claude) eller Codex CLI (codex).
  • Logg inn én gang. Kjør agenten fra en terminal, og fullfør dens egen innlogging, så den virker uten et grensesnitt etterpå. Redigereren ber aldri om og lagrer aldri en API-nøkkel — abonnementet og innloggingen din ligger helt og holdent i det verktøyet.
  • Se til at den ligger i PATH. Kan redigereren ikke kjøre den, er Vis → KI-samtale nedtonet med et hjelpetips som forklarer hvorfor.

KI-samtale-panelet

Det finnes ingen egen KI-meny på øverste nivå — alt ligger i ett panel nederst, som slås av og på fra Vis → KI-samtale. Var panelet åpent da du sist lukket redigereren, åpnes det igjen ved neste oppstart (så snart motoren er funnet).

Fra øverst til nederst viser panelet:

  • en Motor-rulleliste (valget ditt huskes mellom øktene) og avkrysningsboksen Tillat filendringer (se nedenfor);
  • en statuslinje — motoren og versjonen som ble funnet, en merknad om leting eller framdrift, eller hintet om å «installere og logge inn». Etter det første svaret navngir den også den modellen agenten faktisk brukte, for eksempel Motor: Claude (2.1.200) · claude-sonnet-5 — verdt et blikk, siden modellen avgjør hva kjøringen koster deg (se Å velge modell);
  • en tynn opptattlinje med en Stopp-knapp mens agenten arbeider;
  • konsollen — hele samtalen i én visning;
  • en hintlinje som viser de tilgjengelige kommandoene som klikkbare lenker.

Konsollen

Samtalen virker som en terminal: historikken over, og du skriver på slutten, etter ›-ledeteksten.

  • Enter sender; Shift+Enter setter inn et linjeskift, så forespørsler over flere linjer virker.
  • Klikker eller skriver du hvor som helst i historikken, flyttes markøren tilbake til ledeteksten — historikken kan merkes og kopieres, men aldri redigeres.
  • Esc avbryter den forespørselen som kjører; kjører ingenting, tømmer den det du har skrevet etter ›. Esc virker med fokus hvor som helst i panelet.
  • Ctrl+A merker bare det spørsmålet du holder på å skrive, så det du skriver videre, erstatter det; har du ikke skrevet noe, merkes hele samtaleutskriften i stedet, klar til å kopieres.
  • Pil opp og Pil ned henter fram det du har spurt om før, slik et skall gjør. Pil opp på den første linjen av det du skriver, går bakover gjennom de tidligere spørsmålene dine; Pil ned går framover igjen, og går du forbi det nyeste, får du tilbake den halvskrevne linjen du begynte med. Inne i en forespørsel over flere linjer flytter de deg ganske enkelt mellom linjene, og så snart du endrer et framhentet spørsmål, blir det ditt nye utkast. Historikken gjelder per panel og beholdes ikke mellom øktene.
  • Mens et svar strømmer inn, følger visningen med hvis du er nederst; ruller du opp for å lese, blir den stående. Når svaret er ferdig, plasserer visningen det med omtanke: et kort svar rulles til bunnen, så du ser det og ledeteksten under det, mens et langt svar stiller Assistent-overskriften sin på linje med toppen av panelet, så du kan lese fra begynnelsen.
  • Hvert svars Markdown gjengis for seg, så nummererte lister begynner på 1 hver gang i stedet for å fortsette nummereringen fra det forrige svaret.

Kommandoer

Skriv en kommando ved ledeteksten, eller klikk på den i hintlinjen (kommandoer som tar et argument, får et mellomrom på slutten og venter på at du gjør linjen ferdig):

Kommando Hva den gjør Resultat
.explain Forklar den merkede koden svar i samtalen
.summarize Sammenfatt den merkede teksten svar i samtalen
.refactor <how> Omstrukturer slik du sier (for eksempel .refactor extract a helper) en endring du kan gå gjennom
.fix Rett den merkede koden en endring du kan gå gjennom
.tests Skriv enhetstester for merkingen en endring du kan gå gjennom
.translate <language> Oversett merkingen (for eksempel .translate German) en endring du kan gå gjennom
.model <id> Fest den modellen denne redigereren ber om (se Å velge modell) besvares med det samme, uten at agenten kjøres

Alt annet du skriver, håndteres naturlig:

  • Ren tekst er et fritt formulert spørsmål til agenten, sendt sammen med det du har på skjermen (se nedenfor).
  • En linje som begynner med /, er en av agentens egne kommandoer (som Claudes /help) og sendes videre nøyaktig som du skrev den — ingenting fra redigereren legges til, og det trengs ikke noe samtykke, for ingenting av ditt sendes. Det gjelder motorer der kommandosettet er bekreftet — i dag Claude; på de andre behandles en /-linje som et alminnelig spørsmål.
  • Et .ord som ikke gjenkjennes, er ikke en feil; det sendes videre som en forespørsel.

Ikke hver kommandolinjekommando betyr det samme her som i agentens egen terminal: noen krever en samtale med et grensesnitt som redigererens kjøringer ikke har, noen gjelder samtaler redigereren allerede styrer selv, og noen — som /model — kan ganske enkelt ikke overleve én enkelt forespørsel. Sender du en av dem, sender redigereren den videre likevel og legger til en kort merknad om hvorfor den kanskje ikke gjør det du venter. Du ser hver merknad én gang per økt.

Agentens egen /model kan ikke bli sittende — bruk .model

Hvert spørsmål kjører agenten på nytt, og en ny kjøring begynner alltid med den modellen kommandolinjeverktøyet ditt er satt opp med. /model … svarer «Modellen er satt til … bare for denne økten», men den økten er over i det øyeblikket svaret er det: det neste spørsmålet — selv et som fortsetter den samme samtalen — er tilbake på den oppsatte modellen. Bruk .model <id> i stedet; det er redigererens egen kommando og fester modellen for hvert senere spørsmål. Se Å velge modell.

Matchingen skiller ikke mellom store og små bokstaver, og hintlinjen snevres inn mens du skriver (.r → .refactor …).

Merking eller hele dokumentet

Kommandoene virker på den gjeldende merkingen. Med ingen merking virker de på hele dokumentet — og fordi det sender hele filen til agenten, spør redigereren først: Sende hele dokumentet «…» til Claude? Du blir spurt én gang per dokument per redigeringsøkt; avslår du, avbrytes sendingen, og det du skrev, blir stående. Spørsmålet kan slås av under Innstillinger → KI-assistent, med valget Spør før et helt dokument sendes til KI-motoren; med det av sendes hele dokumentet uten at det spørres.

Hva assistenten vet om dokumentet ditt

Agenten leser filer fra disken. Overlatt til seg selv ville den derfor svare på spørsmål om en fil du har endret, men ikke lagret, ut fra den gamle teksten, og den ville ikke se en buffer uten navn i det hele tatt. Derfor forteller et fritt formulert spørsmål den hva du faktisk har åpent:

  • Lagret uten ulagrede endringer — assistenten navngir ganske enkelt filen og lar agenten lese den. Ingenting forlater redigereren, så det spørres ikke om noe.
  • Ulagrede endringer, eller et dokument som aldri er lagret — den gjeldende teksten sendes sammen med spørsmålet ditt. Små dokumenter reiser i selve spørsmålet; større skrives til en midlertidig kopi som agenten pekes mot. Kopien slettes så snart utvekslingen er over.
  • Med en mappe åpen — hvert annet åpent dokument med ulagrede endringer tas med på samme måte, så agenten ser prosjektet slik du ser det, og ikke slik det sist ble lagret.

Fordi det sender tekst ut, spør redigereren først — én gang per dokument per redigeringsøkt, og én gang for hele forespørselen selv når flere dokumenter er med: Det gjeldende, ulagrede innholdet i disse dokumentene sendes til Claude: …. Fortsette? Avslår du, forlates forespørselen, og det du skrev, blir stående.

En merking går fortsatt foran som det du peker på: den sendes som Relevant merking ved siden av dokumentet og ikke i stedet for det.

I den skrivebeskyttede standardmodusen får agenten også beskjed om at den ikke kan endre dokumentet ditt, og at en endring bør foreslås gjennom kommandoene .refactor, .fix, .tests og .translate — som viser deg en forskjell.

Å gå gjennom og ta i bruk endringer

Endringskommandoer skriver aldri om teksten din i stillhet. Når agenten er ferdig, åpnes et gjennomgangsvindu med én avkrysselig, farget endringsgruppe per endring — fjernede linjer i rødt, tilføyde linjer i grønt:

  • fjern krysset ved de endringene du ikke vil ha;
  • Bruk erstatter merkingen (eller hele dokumentet, når ingenting var merket) med bare de endringene du har tatt imot;
  • Forkast lar bufferen være nøyaktig som den var.

Endringer som er tatt i bruk, er alminnelige endringer, så Ctrl+Z angrer dem som alt annet. Filens linjeskiftstil (CRLF/LF) beholdes. Nekter agenten å gjøre en endring, kommer forklaringen dens fram som et vanlig svar i samtalen i stedet for som en falsk forskjell.

Fortsatte du å redigere mens agenten arbeidet, skjøter redigereren aldri en foreldet endring over den nyere teksten din. Hva den gjør i stedet, avhenger av hva den fortsatt kan vite sikkert:

  • skrivingen din flyttet målet, men lot det være helt → endringen tas i bruk der teksten er nå;
  • kommandoen dekket hele dokumentet, og dokumentet har siden endret seg → forslaget sammenlignes med den gjeldende teksten din, og du går gjennom den forskjellen, så svaret ikke går til spille;
  • den opprinnelige teksten er borte, eller den finnes nå flere steder → redigereren avslår heller enn å gjette, og ber deg kjøre kommandoen på nytt.

Fargene i forskjellen følger fargetemaet ditt: temaer kan sette egne farger for Tilføyd tekst i forskjell og Fjernet tekst i forskjell (som kan endres under Innstillinger → Syntaksfarging → Temaer), og uten dem velger redigereren lesbare standarder for lyse og mørke grensesnitt.

Samtaler

Fritt formulerte spørsmål utgjør en fortløpende samtale: agenten husker dine tidligere spørsmål og svar. Det er én samtale per åpnet mappe (eller per fil, når ingen mappe er åpen), så prosjekter som ikke har noe med hverandre å gjøre, deler ikke sammenheng. Endringskommandoer (.refactor, .fix …) kjører med vilje for seg selv og forurenser ikke sammenhengen i samtalen. Samtaler bevares ikke — starter du redigereren på nytt, begynner nye samtaler.

Både Claude og Codex fortsetter samtaler. Codex gir selv hver samtale et navn og melder navnet når den begynner; senere spørsmål tar opp samtalen derfra. Slutter en kjøring av Codex uten at noe navn er meldt, viser samtalepanelet [samtalen kunne ikke fortsettes — motoren oppga ingen økt-ID; neste melding starter en ny] — svaret du fikk, står ved lag, men det neste spørsmålet ditt begynner en ny samtale uten den tidligere sammenhengen.

En samtale overlever også det som går galt. Å stoppe et svar beholder det, så et spørsmål du avbrøt, kan ganske enkelt tas opp igjen — spør «fortsett med den forrige oppgaven», så vet agenten fortsatt hva den holdt på med, selv om du stoppet den før den rakk å si et ord. En enkeltstående feil (en grense for forespørsler, en brutt forbindelse) kaster heller ikke historikken; bare en feil nummer to på rad begynner en ny samtale.

Å stoppe en kjøring

Mens agenten arbeider, kommer en opptattlinje fram med en Stopp-knapp — klikk på den (eller trykk Esc hvor som helst i panelet) for å avbryte. Det som hadde strømmet inn så langt, blir stående i utskriften, kjøringen merkes [Avbrutt], og ingen endring tas i bruk. Samtalen beholdes, så det neste spørsmålet ditt fortsetter den (se Samtaler). Å trykke Enter midt i en kjøring legger ingenting i kø; statuslinjen minner deg om at agenten fortsatt arbeider.

Å la agenten redigere filer

Som standard er assistenten skrivebeskyttet: hver kjøring starter agenten med filredigeringsverktøyene, skalltilgangen og underagentene sperret, så endringer når deg bare som forslag du kan gå gjennom. For motorer med bekreftede tillatelsesflagg er det en hard sperre som agenten selv håndhever, uansett hvordan kommandolinjeverktøyet ditt er satt opp:

  • Claude kjører med filredigeringsverktøyene, skalltilgangen og underagentene slått av.
  • Codex kjører i sin skrivebeskyttede sandkasse (-s read-only). Sandkassen virker annerledes: den slår ikke av skallkommandoer, den stenger dem inne — Codex kan fortsatt kjøre kommandoer for å se seg om, men de kan ikke skrive noe. Inntil videre ber redigereren i tillegg Codex med rene ord om å holde seg skrivebeskyttet.

Skrivebeskyttelse er ikke garantert for hver motor

Den harde sperren bygger på motorens egne tillatelsesflagg. Gemini har ennå ingen bekreftede flagg, så redigereren kan bare be den — som et beste forsøk — om å holde seg skrivebeskyttet; den kan ikke tvinge den. Regn skrivebeskyttelsen som ikke garantert for Gemini: den kan fortsatt skrive til disken, og oppførselen dens styres til sjuende og sist av oppsettet i ditt eget kommandolinjeverktøy. Hold slikt arbeid i en mappe under versjonskontroll om det betyr noe for deg.

Avkrysningsboksen Tillat filendringer (ved siden av motorrullelisten, av som standard, huskes mellom øktene) melder deg på at agenten selv får redigere:

  • agentens filendringer godtas automatisk, og den kan endre filer i den åpnede mappen under en kjøring;
  • hver skriving meldes i samtalen som [agenten endret en fil: …], og åpne dokumenter tar inn endringene gjennom redigererens vanlige filovervåking;
  • når kjøringen er over, viser én enkelt sammendragslinje hele settet av berørte filer med et antall, for eksempel [endrede filer (3): …];
  • Claudes skalltilgang og underagenter forblir sperret også med valget på.

Med Codex setter valget sandkassen dens til -s workspace-write: Codex kan da redigere filer, og kjøre skallkommandoer, innenfor den åpnede mappen og den midlertidige katalogen. Codex melder ikke endringene sine til redigereren, så samtalen lister ikke filene den har endret, og det kommer ingen sammendragslinje; åpne dokumenter tar likevel inn endringene gjennom filovervåkingen. Selve skrivingen utføres av Codex' egen sandkasse: svarer Codex at den ikke fikk startet kommandokjøreren sin, virker ikke den sandkassen på maskinen din — sjekk dens egen diagnostikk (codex doctor), ikke redigereren.

Den samme bryteren finnes også under Innstillinger → KI-assistent, som Tillat KI-motoren å redigere filer. De er én innstilling og ikke to: tar du den i bruk under Innstillinger, krysses panelets avkrysningsboks av eller ikke med det samme, og det du setter i panelet, er det Innstillinger viser neste gang du åpner det.

Dokumenter med ulagrede endringer håndteres for deg. Agenten må ikke redigere filen på disken for et dokument du har endret, men ikke lagret — den kopien er foreldet, og å skrive til den ville gjøre at filen og redigereren din var uenige. Så agenten får i stedet den midlertidige kopien av den gjeldende teksten din å redigere, og når kjøringen er over, bringer redigereren resultatet tilbake inn i det åpne dokumentet ditt som en alminnelig endring du kan angre. Dokumenter uten navn virker på samme måte, selv om de ikke har noen fil i det hele tatt. Hendte det at du selv redigerte dokumentet mens agenten arbeidet, overskriver redigereren deg ikke: den åpner det vanlige gjennomgangsvinduet mot den gjeldende teksten din, så du bestemmer endring for endring. Å lukke dokumentet under kjøringen forkaster ganske enkelt agentens arbeid, med en merknad i samtalen.

Tillat filendringer kan overskrive eller slette arbeidet ditt

Med valget på skriver agenten rett til disken, og de skrivningene godtas automatisk — det finnes ikke noe gjennomgangsvindu per endring. Agenten kan overskrive, slette eller ødelegge filer i den åpnede mappen, og endringer i filer du ikke har åpne, vises ikke for deg som forskjeller. Slå bare dette på for en mappe under versjonskontroll (Git, SVN …): sjekk inn eller legg arbeidet ditt til side først, og bruk så forskjellen i versjonskontrollen til å se gjennom hver endring og ta tilbake alt du ikke vil ha — regn versjonskontrollen som angrefunksjonen din for agentens endringer. Gemini, der tillatelsesflaggene ennå ikke er bekreftet, ser helt bort fra dette valget, så endringene dens styres bare av oppsettet i ditt eget kommandolinjeverktøy.

Å bytte motor

Ved oppstart leter redigereren etter hver motor den kjenner, og Motor-rullelisten viser bare de som er installert på denne maskinen. Er motoren du valgte sist, ikke lenger der, tar den første installerte automatisk plassen dens. En motor du installerer mens redigereren kjører, dukker opp etter en omstart. Er ingen motor installert i det hele tatt, viser rullelisten hver motor redigereren kjenner, og panelet blir stående nedtonet med hintet om å installere og logge inn.

Velg en annen agent fra Motor-rullelisten når som helst (den er slått av mens en kjøring pågår). Et bytte avbryter letingen etter den forrige motoren, leter etter den nye i bakgrunnen og begynner nye samtaler — en samtale som er begynt med én motor, kan ikke fortsettes av en annen. Byttet tømmer også utskriften, siden den samtalen hørte til den andre motoren; det du hadde skrevet i inndatafeltet, beholdes.

Å velge modell

Som standard ber redigereren ikke om en modell, så hver kjøring bruker det kommandolinjeverktøyet ditt er satt opp med — for Claude Code er det model i din personlige ~/.claude/settings.json. Det er ofte ikke det du vil ha for redigereren: det er et globalt valg, det kan endre seg uten at du merker det, og modellen avgjør hva hver forespørsel koster.

Statuslinjen forteller deg hva som faktisk ble brukt, så du kan alltid sjekke. Vil du feste en modell for selve redigereren, skriver du den i samtalen:

Du skriver Hva som skjer
.model claude-sonnet-5 hvert senere spørsmål ber om den modellen
.model melder den festede modellen og den modellen som sist faktisk ble brukt
.model default fjerner festingen; agentens egen standard gjelder igjen

.model håndteres av redigereren — den starter aldri agenten, så den svarer med det samme og koster ingenting. En festing får virkning fra det neste spørsmålet ditt, og statuslinjen bekrefter den når svaret kommer.

Det samme kan settes for hånd, per motor, i OctoEdits innstillingsfil:

Nøkkel Verdi Virkning
ai/model/<engine> en modell-id, for eksempel claude-sonnet-5 hver kjøring bruker den modellen
ai/model/<engine> tom / fraværende (standard) kommandolinjeagentens egen standard

<engine> er motorens id slik den står i rullelisten, med små bokstaver — for eksempel ai/model/claude eller ai/model/codex. Panelets neste forespørsel må starte for at den skal få virkning, og så kan du bekrefte den i statuslinjen. Gemini, der modellflagget ennå ikke er bekreftet, ser bort fra innstillingen.

En beslektet innstilling for erfarne brukere

ai/programPath/<engine> gjør det samme for programfilen: sett den til en absolutt sti når agenten er installert et sted redigererens PATH-søk ikke ser. Begge nøklene er med vilje nødutganger som bare finnes i filen — en gal verdi feiler høylytt i stedet for å bli hoppet over i stillhet.

Når en kjøring mislykkes

Avslutter agenten med en feil, viser samtalen [agent exited with code N fulgt av agentens egne feillinjer og en avsluttende ] — for Codex oppstartsbanneret og ERROR: …-linjene dens, som den 401 Unauthorized du får når du ikke er logget inn. Det er som regel nok til å se hva som gikk galt; å kjøre agenten én gang fra en terminal forteller deg resten.

Redigererens logg (mte.log, se Logging og diagnostikk) fører hver kjøring i linjer som begynner med AI: — hvilke motorer som ble funnet, programmet og argumentene for hver kjøring, avslutningskoden og agentens siste feillinjer når en kjøring mislykkes; starter du redigereren med --log=debug, kommer resten av agentens diagnostikkutdata med. Spørsmålet ditt og svaret vises aldri i feilmeldingen og skrives aldri til loggen: loggen oppgir bare størrelsen på spørsmålet i byte.

Personvern og kostnad

Forespørslene sendes av den kommandolinjeagenten du valgte, med dens egen konto og nettforbindelse — redigereren legger ikke til noen egen telemetri eller noen egne endepunkter. (Codex gjentar hele utvekslingen i diagnostikkutdataene sine; redigereren forkaster den kopien og skriver den aldri til loggen sin.) Hva som sendes (instruksjonen din, merkingen eller dokumentet ditt, og den ulagrede teksten i åpne dokumenter når et spørsmål trenger den), og hva det koster, styres av det abonnementet eller den avtalen agenten har. Ingenting forlater redigereren uten det samtykkespørsmålet som er beskrevet ovenfor, og statuslinjen navngir den modellen hver forespørsel faktisk brukte.

Hva som leveres i dag

Kommandoene virker på den gjeldende merkingen (eller hele dokumentet, med samtykke) og erstatter den når du tar imot. Det finnes to myndighetsnivåer: den skrivebeskyttede flyten ovenfor der det bare foreslås, eller den uttrykkelige påmeldingen Tillat filendringer. Det finnes ingen egen gjennomgang inne i redigereren av agentens egne endringer på disken — med Tillat filendringer på må du stole på versjonskontrollen din i stedet; det ene unntaket er et dokument som er åpent med ulagrede endringer, der endringene kommer tilbake gjennom redigereren.