Gå til indholdet

AI-assistent

En assistent i editoren, der styrer den AI-kommandolinjeagent, du allerede har installeret — forklar, omstrukturér, ret, skriv tests, opsummér, oversæt og chat, hvor hver foreslået ændring vises som en diff, du kan gennemse og anvende med vilje.

Tag din egen agent med

Assistenten beder dig ikke om en API-nøgle og logger dig ikke ind nogen steder. I stedet kører den en lokalt installeret AI-CLI-agent som hjælper og lader dens uddata strømme ind i editoren. Godkendelse, dit abonnement og modelvalget hører alle til det værktøj.

  • I dag: Claude Code (claude) og Codex CLI (codex). Installér en af dem, og log ind én gang (så claude eller codex virker fra en terminal); editoren opfanger den automatisk. Gemini tilbydes også, men dens kommandolinjeintegration er endnu ikke bekræftet.
  • Genkendelsen sker automatisk og blokerer intet. Editoren leder efter agenten i baggrunden lige efter start — vinduet venter aldrig på den. Mens søgningen kører, er Vis → AI-chat kortvarigt slået fra med værktøjstippet Genkender AI-motor…; få sekunder senere slås den til (agenten fundet) eller forbliver nedtonet med et hint om, hvad du skal installere.

Agenten er et separat program, du installerer

Editoren leverer ingen AI-agent og henter ingen, og den sender ikke selv din tekst nogen steder hen — den CLI-agent, du installerede, foretager anmodningen med sin egen konto og sin egen netværksforbindelse. Er agenten ikke installeret eller ikke logget ind, forbliver AI-funktionerne blot slået fra, og intet andet i editoren påvirkes.

Krav

Assistenten har ét hårdt krav: en understøttet AI-CLI-agent, der er installeret og logget ind i systemets PATH.

  • Installér en understøttet agent. I dag er det Claude Code (claude) eller Codex CLI (codex).
  • Log ind én gang. Kør agenten fra en terminal, og gennemfør dens egen indlogning, så den virker uden skærm bagefter. Editoren beder aldrig om og gemmer aldrig en API-nøgle — dit abonnement og din indlogning bor helt i det værktøj.
  • Sørg for, at den er i din PATH. Kan editoren ikke køre den, er Vis → AI-chat nedtonet med et forklarende værktøjstip.

Panelet AI-chat

Der er ingen AI-menu i toppen — alt bor i ét bundpanel, der slås til fra Vis → AI-chat. Var panelet åbent, sidst du lukkede editoren, åbner det igen ved næste start (når motoren er genkendt).

Oppefra og ned viser panelet:

  • en rulleliste Motor (dit valg huskes mellem sessioner) og afkrydsningsfeltet Tillad filændringer (se nedenfor);
  • en statuslinje — den genkendte motor og version, en note om søgning eller fremdrift, eller hintet «installér og log ind». Efter det første svar navngiver den også den model, agenten faktisk brugte, for eksempel Engine: Claude (2.1.200) · claude-sonnet-5 — værd et blik, for modellen afgør, hvad kørslen koster dig (se At vælge model);
  • en smal optaget-bjælke med en knap Stop, mens agenten arbejder;
  • konsollen — hele samtalen i én visning;
  • en hintlinje, der viser de tilgængelige kommandoer som klikbare links.

Konsollen

Samtalen fungerer som en terminal: historikken ovenfor, og du skriver i slutningen, efter prompten ›.

  • Enter sender; Shift+Enter indsætter et linjeskift, så spørgsmål over flere linjer virker.
  • At klikke eller skrive et sted i historikken flytter markøren tilbage til prompten — historikken er markerbar og kan kopieres, men aldrig redigeres.
  • Esc annullerer den igangværende anmodning; kører der intet, rydder den det, du har skrevet efter ›. Esc virker med fokus hvor som helst i panelet.
  • Ctrl+A markerer kun det spørgsmål, du er ved at formulere, så det, du skriver næste gang, erstatter det; med intet skrevet markerer den i stedet hele udskriften, klar til kopiering.
  • Op og Ned henter det, du spurgte om tidligere, som en skal gør. Op på første linje af det, du skriver, træder tilbage gennem dine tidligere spørgsmål; Ned går fremad igen, og at træde forbi det nyeste giver dig den halvskrevne linje tilbage, du begyndte fra. Inde i et spørgsmål over flere linjer flytter de blot mellem linjerne, og når du redigerer et hentet spørgsmål, bliver det dit nye udkast. Historikken gælder pr. panel og bevares ikke mellem sessioner.
  • Mens et svar strømmer ind, følger visningen med, hvis du er i bunden; rul op for at læse, så bliver den stående. Er svaret færdigt, placerer visningen det med vilje: et kort svar ruller til bunden, så du ser det og prompten under det, mens et langt lægger sin overskrift Assistent på linje med panelets overkant, så du kan læse fra begyndelsen.
  • Hvert svars Markdown gengives for sig, så nummererede lister begynder ved 1 hver gang i stedet for at fortsætte det forrige svars nummerering.

Kommandoer

Skriv en kommando ved prompten, eller klik på den i hintlinjen (kommandoer, der tager et argument, får et efterfølgende mellemrum og venter på, at du afslutter linjen):

Kommando Hvad den gør Resultat
.explain Forklar den markerede kode svar i chatten
.summarize Opsummér den markerede tekst svar i chatten
.refactor <how> Omstrukturér som angivet (f.eks. .refactor extract a helper) ændring til gennemsyn
.fix Ret den markerede kode ændring til gennemsyn
.tests Skriv enhedstests for markeringen ændring til gennemsyn
.translate <language> Oversæt markeringen (f.eks. .translate German) ændring til gennemsyn
.model <id> Fastgør den model, denne editor beder om (se At vælge model) besvares med det samme, ingen agentkørsel

Alt andet, du skriver, håndteres naturligt:

  • Almindelig tekst er et frit spørgsmål til agenten, sendt sammen med det, du har på skærmen (se nedenfor).
  • En linje, der begynder med /, er en af agentens egne kommandoer (som Claudes /help) og videresendes præcis som skrevet — intet af editorens tilføjes, og der kræves intet samtykke, da intet af dit sendes. Dette gælder motorer, hvis kommandosæt er bekræftet — i dag Claude; på de andre behandles en /-linje som et almindeligt spørgsmål.
  • Et ukendt .ord er ingen fejl; det sendes videre som et spørgsmål.

Ikke enhver CLI-kommando betyder det samme her som i agentens egen terminal: nogle kræver en interaktiv session, som editorens kørsler ikke har, nogle vedrører samtaler, editoren allerede selv styrer, og nogle — som /model — kan simpelthen ikke overleve en enkelt anmodning. Sender du en af dem, videresender editoren den alligevel og tilføjer en kort note om, hvorfor den måske ikke gør det, du forventer. Du ser hver note én gang pr. session.

Agentens egen /model kan ikke blive hængende — brug .model

Hvert spørgsmål kører agenten på ny, og en ny kørsel begynder altid med den model, din CLI er konfigureret til at bruge. /model … svarer «Model sat til … kun for denne session», men den session er forbi i samme øjeblik svaret er: næste spørgsmål — selv et, der fortsætter samme samtale — er tilbage på den konfigurerede model. Brug .model <id> i stedet; det er editorens egen kommando og fastgør modellen for hvert senere spørgsmål. Se At vælge model.

Matchningen er uafhængig af store og små bogstaver, og hintlinjen indsnævres, mens du skriver (.r → .refactor …).

Markering eller hele dokumentet

Kommandoer virker på den aktuelle markering. Uden markering virker de på hele dokumentet — og fordi det sender hele filen til agenten, spørger editoren først: Send hele dokumentet '…' til Claude? Du bliver spurgt én gang pr. dokument pr. editorsession; at afvise afbryder afsendelsen og bevarer det, du skrev. Spørgsmålet kan slås fra i Indstillinger → AI-assistent med valgmuligheden Spørg, før et helt dokument sendes til AI-motoren; med den slået fra sendes hele dokumentet uden at spørge.

Hvad assistenten ved om dit dokument

Agenten læser filer fra disken. Overladt til sig selv ville den derfor besvare spørgsmål om en fil, du har redigeret, men ikke gemt, ud fra den gamle tekst, og den ville slet ikke se en unavngiven buffer. Et frit spørgsmål fortæller den derfor, hvad du faktisk har åbent:

  • Gemt uden ugemte ændringer — assistenten navngiver blot filen og lader agenten læse den. Intet forlader editoren, så der spørges ikke om noget.
  • Ugemte ændringer eller et dokument, der aldrig er gemt — den aktuelle tekst sendes sammen med dit spørgsmål. Små dokumenter rejser i selve spørgsmålet; større skrives til en midlertidig kopi, som agenten peges mod. Kopien slettes, så snart udvekslingen slutter.
  • Med en mappe åben — hvert andet åbent dokument med ugemte ændringer tages med på samme måde, så agenten ser projektet, som du ser det, snarere end som det sidst blev gemt.

Fordi det sender tekst ud, spørger editoren først — én gang pr. dokument pr. editorsession, og én gang for hele anmodningen, selv når flere dokumenter er involveret: Det aktuelle, ugemte indhold af disse dokumenter sendes til Claude: …. Fortsæt? At afvise opgiver anmodningen og bevarer det, du skrev.

En markering har stadig forrang som det, du peger på: den sendes som Relevant markering ved siden af dokumentet, ikke i stedet for det.

I den skrivebeskyttede standardtilstand får agenten desuden at vide, at den ikke kan ændre dit dokument, og at en ændring bør foreslås gennem kommandoerne .refactor, .fix, .tests og .translate — som viser dig en diff.

At gennemse og anvende ændringer

Ændringskommandoer omskriver aldrig din tekst stille. Når agenten er færdig, åbnes et gennemsynsvindue med én afkrydselig, farvelagt ændringsgruppe pr. ændring — fjernede linjer i rødt, tilføjede linjer i grønt:

  • fjern fluebenet ved de ændringer, du ikke vil have;
  • Anvend erstatter markeringen (eller hele dokumentet, i tilfældet uden markering) med kun de accepterede ændringer;
  • Kassér lader bufferen være præcis, som den var.

Anvendte ændringer er almindelige ændringer, så Ctrl+Z fortryder dem som alt andet. Din fils linjeskiftstil (CRLF/LF) bevares. Afviser agenten at foretage en ændring, vises dens forklaring som et almindeligt chatsvar i stedet for en falsk diff.

Blev du ved med at redigere, mens agenten arbejdede, splejser editoren aldrig en forældet ændring hen over din nyere tekst. Hvad den gør i stedet, afhænger af, hvad den stadig kan afgøre med sikkerhed:

  • din skrivning flyttede målet, men lod det være intakt → ændringen anvendes, hvor teksten står nu;
  • kommandoen omfattede hele dokumentet, og dokumentet har ændret sig siden → forslaget sammenlignes med din aktuelle tekst, og du gennemser den diff, så svaret ikke er spildt;
  • den oprindelige tekst er væk eller optræder nu flere gange → editoren afviser i stedet for at gætte og beder dig køre kommandoen igen.

Diff-farverne følger dit farvetema: temaer kan angive egne farver til Tilføjet tekst i sammenligningen / Fjernet tekst i sammenligningen (kan redigeres i Indstillinger → Syntaksfarvning → Temaer), og uden dem vælger editoren læsbare standardværdier til lyse og mørke brugerflader.

Samtaler

Frie spørgsmål danner en fortløbende samtale: agenten husker dine tidligere spørgsmål og svar. Der er én samtale pr. åbnet mappe (eller pr. fil, når ingen mappe er åben), så urelaterede projekter ikke deler sammenhæng. Ændringskommandoer (.refactor, .fix, …) kører med vilje enkeltvis og forurener ikke chattens sammenhæng. Samtaler bevares ikke — at genstarte editoren begynder nye.

Både Claude og Codex fortsætter samtaler. Codex navngiver selv hver samtale og melder navnet, når den begynder; senere spørgsmål tager samtalen op derfra. Slutter en kørsel af Codex, uden at der er meldt et navn, viser chatten [samtalen kunne ikke fortsættes — motoren angav intet sessions-id; den næste besked starter en ny] — svaret, du fik, står ved magt, men dit næste spørgsmål begynder en ny samtale uden den tidligere sammenhæng.

En samtale overlever også det, der går galt. At stoppe et svar bevarer det, så et spørgsmål, du afbrød, blot kan tages op igen — spørg «fortsæt med den seneste opgave», og agenten ved stadig, hvad den var i gang med, selv hvis du stoppede den, inden den nåede at sige et ord. En enkeltstående fejl (en hastighedsgrænse, en afbrudt forbindelse) smider heller ikke historikken væk; først en anden fejl i træk begynder en ny samtale.

At stoppe en kørsel

Mens agenten arbejder, vises en optaget-bjælke med en knap Stop — klik på den (eller tryk på Esc hvor som helst i panelet) for at annullere. Det, der er strømmet ind indtil da, bliver stående i udskriften, kørslen markeres [Annulleret], og ingen ændring anvendes. Samtalen bevares, så dit næste spørgsmål fortsætter den (se Samtaler). At trykke på Enter midt i en kørsel sætter intet i kø; statuslinjen minder dig om, at agenten stadig arbejder.

At lade agenten ændre filer

Som standard er assistenten skrivebeskyttet: hver kørsel starter agenten med dens filredigeringsværktøjer, skaladgang og underagenter slået fra, så ændringer kun når dig som forslag til gennemsyn. For motorer med bekræftede tilladelsesflag er dette en hård spærring, som agenten selv håndhæver, uanset hvordan din CLI er konfigureret:

  • Claude kører med sine filredigeringsværktøjer, sin skaladgang og sine underagenter slået fra.
  • Codex kører i sin skrivebeskyttede sandkasse (-s read-only). Sandkassen virker anderledes: den slår ikke skalkommandoer fra, den spærrer dem inde — Codex må stadig køre kommandoer for at se sig omkring, men de kan ikke skrive noget. Indtil videre beder editoren desuden Codex udtrykkeligt om at forblive skrivebeskyttet.

Skrivebeskyttelse er ikke garanteret for hver motor

Den hårde spærring bygger på motorens egne tilladelsesflag. Gemini har endnu ingen bekræftede flag, så editoren kan kun bede den — som en instruktion efter bedste evne — om at forblive skrivebeskyttet; den kan ikke tvinge den. Betragt skrivebeskyttelsen som ikke garanteret for Gemini: den kan alligevel skrive til disken, og dens adfærd styres i sidste ende af din CLI's egen konfiguration. Hold den slags arbejde i en mappe under versionsstyring, hvis det betyder noget for dig.

Afkrydsningsfeltet Tillad filændringer (ved siden af motorlisten, slået fra som standard, husket mellem sessioner) vælger redigering på agentsiden til:

  • agentens filændringer accepteres automatisk, og den må ændre filer i den åbne mappe under en kørsel;
  • hver skrivning meldes i samtalen som [the agent modified a file: …], og åbne dokumenter opfanger ændringerne gennem editorens normale filovervågning;
  • når kørslen slutter, viser én sammendragslinje hele sættet af berørte filer med et antal, for eksempel [modified files (3): …];
  • Claudes skaladgang og underagenter forbliver spærret, også med valgmuligheden slået til.

Med Codex skifter valgmuligheden dens sandkasse til -s workspace-write: Codex må så ændre filer, og køre skalkommandoer, inden for den åbne mappe og den midlertidige mappe. Codex melder ikke sine ændringer til editoren, så chatten viser ikke de filer, den har ændret, og der er ingen sammendragslinje; åbne dokumenter opfanger stadig ændringerne gennem filovervågningen. Selve skrivningerne udføres af Codex' egen sandkasse: svarer Codex, at den ikke kunne starte sin kommandokører, virker den sandkasse ikke på din maskine — tjek dens egen diagnostik (codex doctor), ikke editoren.

Samme kontakt findes også i Indstillinger → AI-assistent som Tillad AI-motoren at redigere filer. De er én indstilling, ikke to: at anvende den i Indstillinger sætter eller fjerner fluebenet i panelet med det samme, og det, du indstiller i panelet, er det, Indstillinger viser næste gang, du åbner den.

Dokumenter med ugemte ændringer håndteres for dig. Agenten må ikke ændre filen på disken for et dokument, du har ændret, men ikke gemt — den kopi er forældet, og at skrive til den ville lade filen og din editor være uenige. Agenten får derfor den midlertidige kopi af din aktuelle tekst at ændre i stedet, og når kørslen slutter, fører editoren resultatet tilbage i dit åbne dokument som en almindelig ændring, du kan fortryde. Unavngivne dokumenter virker på samme måde, selv om de slet ingen fil har. Hvis du tilfældigvis selv redigerede dokumentet, mens agenten arbejdede, overskriver editoren dig ikke: den åbner det sædvanlige gennemsynsvindue mod din aktuelle tekst, så du bestemmer ændring for ændring. At lukke dokumentet under kørslen kasserer blot agentens arbejde, med en note i samtalen.

Tillad filændringer kan overskrive eller slette dit arbejde

Med valgmuligheden slået til skriver agenten direkte til disken, og de skrivninger accepteres automatisk — der er intet gennemsynsvindue pr. ændring. Agenten kan overskrive, slette eller ødelægge filer i den åbne mappe, og ændringer i filer, du ikke har åbne, vises ikke for dig som diffs. Slå kun dette til for en mappe under versionsstyring (Git, SVN, …): tjek dit arbejde ind eller læg det til side først, og brug derefter versionsstyringens diff til at gennemse hver ændring og rulle uønsket tilbage — betragt versionsstyringen som din «fortryd» for agentens ændringer. Gemini, hvis tilladelsesflag endnu ikke er bekræftet, ignorerer denne valgmulighed helt, så dens ændringer styres alene af din CLI's egen konfiguration.

At skifte motor

Ved start leder editoren efter hver motor, den kender, og rullelisten Motor viser kun dem, der er installeret på denne maskine. Er den motor, du valgte sidst, der ikke længere, tager den første installerede automatisk dens plads. En motor, du installerer, mens editoren kører, vises efter en genstart. Er der slet ingen motor installeret, viser rullelisten hver motor, editoren kender, og panelet forbliver nedtonet med hintet om at installere og logge ind.

Vælg en anden agent fra rullelisten Motor når som helst (den er slået fra, mens en kørsel er i gang). At skifte annullerer genkendelsen af den forrige motor, leder efter den nye i baggrunden, og begynder nye samtaler — en chat påbegyndt med én motor kan ikke fortsættes af en anden. Skiftet rydder også udskriften, fordi den samtale hørte til den anden motor; det, du havde skrevet i inputfeltet, bevares.

At vælge model

Som standard beder editoren ikke om en model, så hver kørsel bruger den, din CLI-agent er konfigureret til at bruge — for Claude Code er det model i din personlige ~/.claude/settings.json. Det er ofte ikke det, du vil have til editoren: det er en global præference, den kan ændre sig, uden at du bemærker det, og modellen afgør, hvad hver anmodning koster.

Statuslinjen fortæller dig, hvad der faktisk blev brugt, så du altid kan tjekke. For at fastgøre en model til editoren selv skriver du den i chatten:

Du skriver Hvad der sker
.model claude-sonnet-5 hvert senere spørgsmål beder om den model
.model melder den fastgjorte model og den model, der sidst faktisk blev brugt
.model default slipper fastgørelsen; agentens egen standard gælder igen

.model håndteres af editoren — den starter aldrig agenten, så den svarer med det samme og koster intet. En fastgørelse får virkning fra dit næste spørgsmål, og statuslinjen bekræfter den, når svaret kommer.

Det samme kan sættes manuelt, pr. motor, i OctoEdits indstillingsfil:

Nøgle Værdi Virkning
ai/model/<engine> et model-id, f.eks. claude-sonnet-5 hver kørsel bruger den model
ai/model/<engine> tom / mangler (standard) CLI-agentens egen standard

<engine> er motorens id, som det vises i rullelisten, med små bogstaver — for eksempel ai/model/claude eller ai/model/codex. Panelets næste anmodning tager det i brug; bekræft det derefter på statuslinjen. Gemini, hvis modelflag endnu ikke er bekræftet, ignorerer indstillingen.

Beslægtet avanceret indstilling

ai/programPath/<engine> gør det samme for programfilen: sæt den til en absolut sti, når agenten er installeret et sted, hvor editorens PATH-søgning ikke kan se den. Begge nøgler er med vilje nødudgange, der kun findes i filen — en forkert værdi fejler højlydt i stedet for at blive ignoreret stille.

Når en kørsel mislykkes

Afslutter agenten med en fejl, viser chatten [agent exited with code N efterfulgt af agentens egne fejllinjer og en afsluttende ] — for Codex dens startbanner og dens ERROR: …-linjer, såsom det 401 Unauthorized, du får, når du ikke er logget ind. Det er som regel nok til at se, hvad der gik galt; at køre agenten én gang fra en terminal fortæller dig resten.

Editorens log (mte.log, se Logning og diagnostik) registrerer hver kørsel i linjer, der begynder med AI: — hvilke motorer der blev fundet, programmet og argumenterne for hver kørsel, dens afslutningskode og agentens sidste fejllinjer, når en kørsel mislykkes; at starte editoren med --log=debug tilføjer resten af agentens diagnostiske output. Dit spørgsmål og svaret vises aldrig i fejlmeddelelsen og skrives aldrig til loggen: loggen angiver kun spørgsmålets størrelse i byte.

Privatliv og omkostninger

Anmodninger sendes af den CLI-agent, du valgte, med dens egen konto og dens egen netværksforbindelse — editoren tilføjer ingen separat telemetri eller egne endepunkter. (Codex gentager hele udvekslingen i sit diagnostiske output; editoren kasserer den kopi og skriver den aldrig til sin log.) Hvad der sendes (din instruktion, din markering eller dit dokument, og den ugemte tekst i åbne dokumenter, når et spørgsmål kræver det), og hvad det koster, styres af den agents abonnement eller plan. Intet forlader editoren uden det samtykkespørgsmål, der beskrives ovenfor, og statuslinjen navngiver den model, hver anmodning faktisk brugte.

Hvad der leveres i dag

Kommandoer virker på den aktuelle markering (eller hele dokumentet, med samtykke) og erstatter den, når de accepteres. Der er to niveauer af beføjelse: det skrivebeskyttede forløb med kun forslag ovenfor, eller det udtrykkelige valg Tillad filændringer. Der er intet separat gennemsyn i editoren af agentens egne skrivninger til disken — med Tillad filændringer slået til støtter du dig i stedet til din versionsstyring; den ene undtagelse er et dokument, der er åbent med ugemte ændringer, hvis ændringer kommer tilbage gennem editoren.