Referanse
Klienter
Hva Copilot CLI, opencode og pi kan når nav-pilot starter dem, og hva som mangler.
Klientene
| Klient | Status | Hva du får |
|---|---|---|
opencode | Standard | opencode med Copilot-abonnementet ditt. Den eneste klienten der hovedagenten kan kjøre i skyen og delegere jobber til en lokal modell. |
copilot | Støttet | GitHub Copilot CLI, i sandkassen cplt. Agentpakka virker også i VS Code, JetBrains og på github.com. |
pi | Eksperimentell | pi i cplt, med skills, persona og AGENTS.md lagt inn ved oppstart. Mangler blant annet hooks. |
- Nye installasjoner får opencode: første gang spør nav-pilot hvilken klient du vil ha, med opencode forhåndsvalgt. Har du brukt nav-pilot før, beholder du klienten din.
- Bytt for én økt med
--client copilot, permanent mednav-pilot config set client copilot. - I CI og uten terminal starter nav-pilot Copilot CLI når
config.tomlmangler. Bruk--client opencodefor opencode. - Kjører du lokal modell i Copilot CLI og har opencode installert, sier nav-pilot fra én gang at bare opencode kan delegere til den lokale modellen. Meldingen følger
surveys-innstillingen:nav-pilot config set surveys falseslår den av.
Mangler opencode, tilbyr nav-pilot å installere en testet versjon med en av kommandoene under. Sier du nei, får du Copilot CLI.
# macOS brew install anomalyco/tap/opencode
# Linux og WSL curl -fsSL https://opencode.ai/install | bash -s -- --version 1.18.32
Hva hver klient kan
✓ betyr ja, – nei og i.a. ikke aktuelt.
| Funksjon | Copilot CLI | opencode | pi |
|---|---|---|---|
| Maskering av hemmeligheter og fnr. 1 | Ja | Ja | Nei |
| Merknad om prompt-injeksjon | Ja | Ja | Nei |
| Loop guard i skyøkter 2 | Ja | Ja | Nei |
| Gates og agentpakke-hooks 3 | Ja | Ja | Nei |
tools: i agentene 4 | Ja | Ja | Nei |
| Navs MCP-register 5 | Ja | Ja | Nei |
| Testet klientversjon 6 | Ikke aktuelt | Ja | Nei |
| Deling slått av, oppdatering som varsel | Ikke aktuelt | Ja | Ikke aktuelt |
| WSL2 på Windows | Ja | Ja | Nei |
Sky + local-worker 7 | Nei | Ja | Nei |
| Delegeringssperre 8 | Nei | Ja | Nei |
Egen LLM-server (local_endpoint) 9 | Ja | Ja | Nei |
autopilot, context_tier, ask_user 10 | Ja | Nei | Nei |
| Utvidelser (extensions) | Ja | Nei | Nei |
- Maskering av hemmeligheter og fnr.: Feiler maskeringen i opencode, holder nav-pilot verktøyresultatet tilbake.
- Loop guard i skyøkter: Stopper agenten når den gjentar seg.
- Gates og agentpakke-hooks: Gates fra repoet kjører i opencode uten at du har godtatt mappa først, slik Copilot CLI krever.
tools:i agentene: opencode får dem som permission per agent. MCP-verktøy ogtaskoversettes ikke.- Navs MCP-register: GitHub håndhever det i Copilot CLI, nav-pilot i opencode.
- Testet klientversjon: opencode
>=1.18.20,<1.19og>=2.0.24,<2.1. Utenfor dette advarer nav-pilot ved oppstart og inav-pilot doctor. - Sky +
local-worker: Copilot CLI kjører en økt helt lokalt eller helt i skyen, aldri blandet. - Delegeringssperre: Med
local_dispatchbalanced eller aggressive stopper nav-pilot hovedagenten når den redigerer for mye selv. - Egen LLM-server (
local_endpoint): I Copilot CLI tar serveren hele økten. autopilot,context_tier,ask_user: nav-pilot advarer ved oppstart i opencode.
Uten nav-pilots hooks er det verken loop guard (stopper agenten når den gjentar seg) eller maskering. Det gjelder alltid pi, og opencode 1 med --pure og opencode uten nav-pilot. Se Kjente mangler i opencode.
Navs MCP-register
Nav tillater bare MCP-servere som står i Navs MCP-register (se verktøykatalogen). Copilot CLI spør GitHub og kjører bare de godkjente. opencode har ingen slik sjekk, så nav-pilot gjør den ved oppstart:
- Servere i opencode-konfigen din som ikke står i registeret, slås av for økten. En ekstern server må ha samme URL som i registeret, en lokal må starte en pakke registeret lister.
- Kobler du til en avslått server med
/mcpi økten, avviser hooks-pluginen verktøyene dens. Med--purei opencode 1 kjører ingen hooks, så da virker ikke dette. - Konfigen din endres ikke, og opencode du starter uten nav-pilot, berøres ikke.
- Mangler
gh, eller svarer ikke GitHub, slår nav-pilot ingenting av. Du får en advarsel.
Ved oppstart ser du hva som ble slått av. nav-pilot doctor viser det samme på forhånd.
⚠ MCP servers turned off for this session (not in Nav's MCP registry): <navn>. See https://ki-utvikling.nav.no/verktoy (approved servers); to add one: https://github.com/navikt/copilot/blob/main/apps/mcp-registry/README.md#adding-servers
Slå på en server fra registeret med nav-pilot mcp enable <navn>, av med nav-pilot mcp disable <navn>. nav-pilot mcp list viser hva som hindrer en server, og kommandoen som retter det. I cplt spør nav-pilot om sandkassen skal slippe gjennom hostene serverne trenger. Enter betyr nei, og nav-pilot config set mcp_hosts off slår spørsmålet av. Se Når en MCP-server ikke virker. Hvilke konfigfiler nav-pilot leser, står i opencode-hooks.md.
Få en server inn i registeret
Legg den til i apps/mcp-registry/allowlist.json i navikt/copilot og lag en pull request. Den må gjennom en sikkerhetsgjennomgang. Hvordan du skriver oppføringen, står i README for MCP-registeret.
Uten cplt
cplt er sandkassen som holder agenten unna SSH-nøkler, skytilganger og andre hemmeligheter (se Sandkassen). Uten cplt starter ingen klient. --no-sandbox finnes ikke lenger. nav-pilot avslutter med en feilmelding som viser hvordan du installerer cplt.
opencode
- nav-pilot legger AGENTS.md, skills, kommandoer og agenter i
~/.config/opencode/og oppdaterer dem ved hver oppstart. Filer du har endret selv, lar den være. - Oppstarten venter ikke på GitHub. nav-pilot bruker kopien av agentpakka i
~/.nav-pilot/sources/og henter ny i bakgrunnen, høyst én gang i timen. Bare første oppstart venter på nedlastingen. - Velger du ikke modell selv, bruker nav-pilot standarden agentpakka oppgir. For agentpakka nav-pilot er det GPT-6 Sol.
nav-pilot export opencodeskriver agentpakka til.opencode/i repoet. Du trenger det ikke for å bruke opencode.- nav-pilot setter opp OpenTelemetry for opencode, med mindre du har slått av telemetri.
Testet versjon
nav-pilot er testet mot opencode >=1.18.20,<1.19 og >=2.0.24,<2.1. Utenfor dette advarer nav-pilot og starter likevel, men hooks og delegeringssperre er ikke testet. nav-pilot doctor viser versjonen din. opencode 3 starter ikke før vi har testet den.
opencode 2 krever:
- macOS med cplt fra 8. oktober 2026 eller nyere.
cplt --versionviser datoen først i versjonen. - Linux med cplt fra 8. oktober 2026 eller nyere (
cplt --versionminst2026.10.08-092800) og bubblewrap (bwrap) installert. - Med Linux-kjerne eldre enn 6.7 kan ikke cplt stenge portene til økten. Da beskytter bare passordet til tjenesten den.
- Går du fra opencode 1 til 2, må du kjøre
opencode auth importén gang. Innloggingen følger ikke med automatisk.
Deling og oppdatering
Hver økt nav-pilot starter, får "share": "disabled" og "autoupdate": "notify", uansett hva opencode.json sier. Deling ville lastet opp økten til opencode.ai, og en oppdatering midt i en økt kunne gitt deg en versjon utenfor det testede området. nav-pilot setter også "share": "disabled" i ~/.config/opencode/opencode.json når fila ikke sier noe om deling. Står det "auto" der, får du en advarsel.
Økter nav-pilot starter, får lese filene i ~/.config/opencode/ uten å spørre om external_directory, men ikke endre dem. Har du satt external_directory til "deny", legger nav-pilot ikke til noe. Detaljene står i opencode-hooks.md.
Lokal delegering
Bare i opencode kan hovedagenten kjøre i skyen og delegere avgrensede jobber til local-worker, en subagent på den lokale modellen. local_dispatch styrer hvor mye som delegeres. Se Styr delegeringen.
Copilot CLI
mode = autopilot, context_tier, ask_user og utvidelser (extensions) finnes bare i Copilot CLI. I cplt kjører Copilot CLI kommandoer på egen hånd og spør når den trenger det, med mindre du har satt nav-pilot config set autonomy conservative. En lokal modell tar hele økten, uten delegering, se Lokal modell på Mac.
nav-pilot henter ikke GitHub-tokenet selv. Er gh-vakta i cplt på, henter cplt det fra GH_TOKEN, GITHUB_TOKEN, COPILOT_GITHUB_TOKEN eller gh auth token. copilot_auth_mode begrenser kildene: env_only krever token i miljøet, gh_only fjerner token-variablene.
pi eksperimentell
Installer pi med npm i -g @earendil-works/pi-coding-agent. nav-pilot legger agentpakka i ~/.nav-pilot/pi/ og gir pi skills og AGENTS.md som flagg. Dette mangler:
- Hooks: ingen maskering, ingen loop guard og ingen gates.
--agent: pi kan ikke bytte agent. Personaen blir en del av systemprompten, ogtools:gjelder ikke.- Lokal modell: ingen
local-worker,local_dispatchellerlocal_endpoint. - Sjekk mot Navs MCP-register.
- Innstillingene
mode,reasoning_effort,context_tier,allow_all_tools,ask_useroglog_level. nav-pilot advarer om dem.
Kjente mangler i opencode
Hookene kjører som en plugin nav-pilot legger inn ved oppstart. Dette dekker de ikke:
--pure: opencode laster ingen plugins, så ingen hooks kjører. nav-pilot sier fra ved oppstart.- Vedlegg som bilder og PDF-er går til modellen uten maskering. Maskeringen virker på tekst.
- Sjekken mot MCP-registeret dekker ikke servere du legger til midt i økten, konfig fra
.well-known/opencodeeller en organisasjon du er logget inn i, eller administrerte innstillinger på macOS. - Plugins i repoet (
.opencode/pluginogplugini repoetsopencode.json) er kode som kjører med agentens rettigheter, i sandkassen. I opencode 2 kan en slik plugin også slå av nav-pilots hooks. Stoler du ikke på repoet, start medOPENCODE_DISABLE_PROJECT_CONFIG=1. Da laster opencode verken plugins, MCP-servere eller konfig fra repoet.
Resten, blant annet kodemodus og hva terminalen viser, står i opencode-hooks.md.