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åclaudeellercodexvirker 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
.order 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.