Referanse
Hva Copilot CLI, opencode og pi kan når nav-pilot starter dem, og hva som mangler. Søk på siden med Ctrl+F.
En klient er programmet nav-pilot starter. Standard er Copilot CLI. Velg klient for én økt med --client opencode, eller for godt med nav-pilot config set client opencode.
| Klient | Status | Hva du får |
|---|---|---|
copilot | Standard | GitHub Copilot CLI, i sandkassen cplt når den er installert. Agentpakka virker også i VS Code, JetBrains og på github.com. |
opencode | Støttet | opencode med Copilot-abonnementet ditt. Den eneste klienten der hovedagenten kan kjøre i skyen og sende jobber til en lokal modell. |
pi | Eksperimentell | pi i cplt, med skills, persona og AGENTS.md lagt inn ved oppstart. Mangler blant annet hooks. |
Tabellen viser status fra paritetsarbeidet i #1022, som skal gjøre opencode like trygg som Copilot CLI.
| Funksjon | Copilot CLI | opencode | pi | Merknad |
|---|---|---|---|---|
| Maskering av hemmeligheter og fødselsnumre | Ja | Ja | Nei | Feiler maskeringen i opencode, holder nav-pilot verktøyresultatet tilbake. Med --pure kjører ingen hooks. |
| Løkkevakt | Ja | Ja | Nei | |
| Gates du har installert, også agentpakke-hooks | Ja | Ja | Nei | Gates fra repoet kjører i opencode uten at du først har godtatt mappa, slik Copilot CLI krever. |
tools: i agentene | Ja | Ja, som permission per agent | Nei | nav-pilot oversetter ikke MCP-verktøy og task. |
| Navs MCP-register | Ja, GitHub håndhever | Ja, nav-pilot håndhever | Nei | nav-pilot slår av servere utenfor registeret og avviser verktøyene deres. |
| Deling slått av, oppdateringer som varsel | Ikke aktuelt | Ja, i hver økt | Ikke aktuelt | |
Uten cplt (--no-sandbox, CI) | Ja | Ja | Nei | Tier 2 krever fortsatt cplt. |
Skyorkestrator med local-worker | Nei | Ja | Nei | Copilot CLI kjører en økt helt lokalt eller helt i skyen, aldri blandet. |
Stopper hovedagenten som redigerer selv (local_dispatch balanced og aggressive) | Nei | Ja | Nei | |
Egen server (local_endpoint) | Ja, hele økten | Ja | Nei | |
autopilot, context_tier, ask_user | Ja | Nei | Nei | nav-pilot advarer ved oppstart, én advarsel per innstilling. |
| Utvidelser (extensions) for Copilot CLI | Ja | Nei | Nei |
En økt uten nav-pilots hooks har verken løkkevakt eller maskering av hemmeligheter og fødselsnumre. Det gjelder alltid pi, og opencode når du starter den med --pure eller uten nav-pilot.
MCP-servere gir agenten verktøy utenfor klienten, for eksempel Playwright eller GitHub. Nav tillater bare servere som står i Navs MCP-register, lista over godkjente servere (se verktøykatalogen). Copilot CLI spør GitHub om policyen og kjører bare serverne registeret lister. opencode har ingen slik sjekk, så nav-pilot gjør den når den starter opencode:
~/.config/opencode/, fila OPENCODE_CONFIG peker på, opencode.json og .opencode/opencode.json fra roten av repoet ned til katalogen du står i, ~/.opencode/, OPENCODE_CONFIG_DIR og OPENCODE_CONFIG_CONTENT.gh api /copilot/mcp_registry) hvilket register policyen peker på, og henter lista derfra."enabled": false. En ekstern server må ha samme URL som i registeret. En lokal server må starte en pakke registeret lister, for eksempel npx @playwright/mcp./mcp i økten, blir verktøyene dens avvist likevel. Det gjør hooks-pluginen, så med --pure kan serveren kobles til og brukes. nav-pilot advarer om det ved oppstart.MCP-oppføringene i opencode.json rører nav-pilot ikke, og opencode du starter uten nav-pilot, blir ikke berørt. Ved oppstart ser du hvilke servere som ble slått av:
⚠ 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
nav-pilot doctor viser det samme før du starter. Har du ingen MCP-servere, gjør nav-pilot ingen nettkall. Mangler gh, eller svarer ikke GitHub eller registeret, slår nav-pilot ingenting av. Da får du en advarsel, og serverne kjører som du har satt dem opp.
Godkjente servere står i verktøykatalogen. Mangler serveren du trenger, legger du den til i apps/mcp-registry/allowlist.json i navikt/copilot og lager en pull request. Den må gjennom en sikkerhetsgjennomgang. Hvordan du skriver oppføringen, står i README for MCP-registeret.
cplt er sandkassen som holder agenten unna SSH-nøkler, skytilganger og andre hemmeligheter. Hvorfor den er påkrevd på Nav-utstyr, står i Sandkassen. Mangler cplt:
--no-sandbox starter den uten å spørre, med én advarsel. Uten terminal, for eksempel i CI, starter den bare med --no-sandbox.~/.config/opencode/ og oppdaterer dem ved hver oppstart. Endrer du en av filene selv, lar nav-pilot den være. ~/.config/opencode/.nav-pilot-state.json holder rede på hva som er installert.github-copilot/ foran.nav-pilot export opencode skriver agentpakka til .opencode/ i repoet. Du trenger det ikke for å bruke opencode.nav-pilot er testet mot opencode >=1.18.20,<1.19. Er versjonen din utenfor, skriver nav-pilot en advarsel og starter likevel. Hooks, utsendingsstoppet og innstillingene nav-pilot setter per økt, virker da kanskje ikke som beskrevet her. nav-pilot doctor viser versjonen og om den er testet.
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. Oppdateringer kommer som varsel, så du ikke får en versjon utenfor det testede området midt i en økt. I tillegg setter nav-pilot "share": "disabled" i ~/.config/opencode/opencode.json når fila ikke sier noe om deling, så det gjelder også når du starter opencode selv. Det skjer når nav-pilot starter en agentpakke i Tier 1 og i oppsettet, ikke med Tier 2, som ikke rører opencode.json. Står det "auto" der, får du en advarsel.
Bare i opencode kan hovedagenten kjøre i skyen og sende avgrensede jobber til local-worker, en underagent på den lokale modellen. Hvor mye som sendes, styrer du med local_dispatch. På balanced og aggressive stopper nav-pilot hovedagenten når den redigerer for mange filer selv. Se Styr utsendingen.
mode = autopilot, context_tier, ask_user og utvidelser (extensions) finnes bare i Copilot CLI. Har du satt en av de tre innstillingene og bruker opencode, skriver nav-pilot én advarsel per innstilling. For utvidelser kommer ingen advarsel. I Copilot CLI tar en lokal modell hele økten, uten utsending, se Lokal modell på Mac.
For Copilot CLI henter nav-pilot 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 bestemmer hvilke kilder som slipper gjennom: env_only stopper oppstarten uten token i miljøet, og gh_only fjerner token-variablene.
Installer pi med npm i -g @earendil-works/pi-coding-agent. nav-pilot legger agentpakka i ~/.nav-pilot/pi/ og gir skills og AGENTS.md til pi som flagg. Dette mangler:
--agent: pi kan ikke bytte agent. Personaen blir en del av systemprompten, og tools: gjelder ikke.local-worker, ingen local_dispatch og ingen local_endpoint.mode, reasoning_effort, context_tier, allow_all_tools, ask_user og log_level.Hookene kjører i opencode 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..well-known/opencode-adresse eller en organisasjon du har logget inn i, og administrerte innstillinger på macOS.Resten, blant annet kodemodus og hva terminalen viser, står i opencode-hooks.md.