TUI
Bruke opencode-terminalbrukergrensesnittet.
OpenCode gir et interaktivt terminalgrensesnitt (TUI) for å jobbe med prosjektene dine med en LLM.
Å kjøre OpenCode starter TUI for gjeldende katalog.
opencodeEller du kan starte den for en spesifikk arbeidskatalog.
opencode /path/to/projectNår du er i TUI, kan du stille den spørsmål med en prompt.
Give me a quick summary of the codebase.Filreferanser
Du kan referere til filer i meldingene dine ved å bruke @. Dette gjør et fuzzy-filsøk i gjeldende arbeidskatalog.
How is auth handled in @packages/functions/src/api/index.ts?Innholdet i filen legges automatisk til samtalen.
Bash-kommandoer
Start en melding med ! for å kjøre en skallkommando.
!ls -laUtdataene fra kommandoen legges til samtalen som et verktøyresultat.
Kommandoer
Når du bruker OpenCode TUI, kan du skrive / etterfulgt av et kommandonavn for raskt å utføre handlinger. For eksempel:
/helpDe fleste kommandoer har også tastebinding som bruker ctrl+x som leader-tast, der ctrl+x er standard leader-tast. Finn ut mer.
Her er alle tilgjengelige slash-kommandoer:
connect
Legg til en leverandør til OpenCode. Lar deg velge fra tilgjengelige leverandører og legge til deres API-nøkler.
/connectcompact
Komprimer gjeldende økt. Alias: /summarize
/compactNøkkelbinding: ctrl+x c
details
Veksle visning av verktøydetaljer.
/detailsNøkkelbinding: ctrl+x d
editor
Åpne eksternt tekstredigeringsprogram for å skrive meldinger. Bruker redigeringssettet i miljøvariabelen EDITOR. Finn ut mer.
/editorNøkkelbinding: ctrl+x e
exit
Avslutt OpenCode. Aliaser: /quit, /q
/exitNøkkelbinding: ctrl+x q
export
Eksporter gjeldende samtale til Markdown og åpne i standardredigeringsprogrammet. Bruker redigeringssettet i miljøvariabelen EDITOR. Finn ut mer.
/exportNøkkelbinding: ctrl+x x
help
Vis hjelpedialogen.
/helpNøkkelbinding: ctrl+x h
init
Opprett eller oppdater AGENTS.md-fil. Finn ut mer.
/initNøkkelbinding: ctrl+x i
models
Liste over tilgjengelige modeller.
/modelsNøkkelbinding: ctrl+x m
new
Start en ny økt. Alias: /clear
/newNøkkelbinding: ctrl+x n
redo
Gjenta en tidligere angret melding. Kun tilgjengelig etter bruk av /undo.
Internt bruker dette Git til å administrere filendringene. Så ditt prosjekt må være et Git-repo.
/redoNøkkelbinding: ctrl+x r
sessions
List opp og bytt mellom økter. Aliaser: /resume, /continue
/sessionsNøkkelbinding: ctrl+x l
share
Del gjeldende økt. Finn ut mer.
/shareNøkkelbinding: ctrl+x s
themes
Liste over tilgjengelige temaer.
/themesNøkkelbinding: ctrl+x t
thinking
Veksle mellom synligheten av tenke-/resonneringsblokker i samtalen. Når den er aktivert, kan du se modellens resonneringsprosess for modeller som støtter utvidet tenkning.
/thinkingundo
Angre siste melding i samtalen. Fjerner den siste brukermeldingen, alle påfølgende svar og eventuelle filendringer.
Internt bruker dette Git til å administrere filendringene. Så ditt prosjekt må være et Git-repo.
/undoNøkkelbinding: ctrl+x u
unshare
Opphev deling av gjeldende økt. Finn ut mer.
/unshareOppsett av editor
Både kommandoene /editor og /export bruker editoren som er spesifisert i miljøvariabelen EDITOR.
# Example for nano or vimexport EDITOR=nanoexport EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitexport EDITOR="code --wait"For å gjøre det permanent, legg dette til i shell-profilen din;
~/.bashrc, ~/.zshrc osv.
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitset EDITOR=code --waitFor å gjøre det permanent, bruk Systemegenskaper > Miljø Variabler.
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --wait$env:EDITOR = "code --wait"For å gjøre det permanent, legg dette til i PowerShell-profilen din.
Populære editor-alternativer inkluderer:
code- Visual Studio Codecursor- Cursorwindsurf- Windsurfnvim- Neovim-editorvim- Vim editornano- Nano-editornotepad- Windows Notisblokksubl- Sublime Text
Noen editorer trenger kommandolinjeargumenter for å kjøre i blokkeringsmodus. --wait-flagget gjør at editor-prosessen blokkeres til den lukkes.
Konfigurasjon
Du kan tilpasse TUI-oppførselen gjennom tui.json (eller tui.jsonc).
{ "$schema": "https://opencode.ai/tui.json", "theme": "opencode", "leader_timeout": 2000, "keybinds": { "leader": "ctrl+x", "command_list": "ctrl+p" }, "scroll_speed": 3, "scroll_acceleration": { "enabled": false }, "diff_style": "auto", "mouse": true, "attention": { "enabled": true, "notifications": true, "sound": true, "volume": 0.4, "sound_pack": "opencode.default", "sounds": { "error": "./sounds/error.mp3" } }}Dette er atskilt fra opencode.json, som konfigurerer server-/kjøretidsoppførsel.
keybinds slås sammen med de innebygde standardverdiene, så du trenger bare å konfigurere snarveiene du vil endre.
Alternativer
theme- Angir UI-temaet ditt. Finn ut mer.keybinds- Tilpasser hurtigtaster. Finn ut mer.leader_timeout- Styrer hvor lenge OpenCode venter etter leader key. Standard er2000.scroll_acceleration.enabled- Aktiver rulleakselerasjon i macOS-stil for jevn, naturlig rulling. Når aktivert, øker rullehastigheten med raske rullebevegelser og forblir presis for langsommere bevegelser. Denne innstillingen har forrang overscroll_speedog overstyrer den når den er aktivert.scroll_speed- Styrer hvor raskt TUI ruller når du bruker rullekommandoer (minimum:0.001, støtter desimalverdier). Standard er3. Merk: Dette ignoreres hvisscroll_acceleration.enableder satt tiltrue.diff_style- Kontrollerer diff-gjengivelse."auto"tilpasser seg terminalbredden,"stacked"viser alltid en enkeltkolonneoppsett.mouse- Aktiverer eller deaktiverer musefangst i TUI (standard:true). Når dette er deaktivert, bevares terminalens opprinnelige oppførsel for musemarkering og rulling.attention- Konfigurerer skrivebordsvarsler og lyder for TUI. Deaktivert som standard.
Bruk OPENCODE_TUI_CONFIG for å laste en egendefinert TUI-konfigurasjonsbane.
Attention
Attention lar TUI varsle deg når OpenCode venter på et svar, trenger godkjenning av en tillatelse, rapporterer en øktfeil eller har fullført en økt. Aktiver dette med attention.enabled; innebygde hendelser spiller av en lyd når de skjer. Skrivebordsvarsler sendes bare når terminalvinduet ikke er i fokus, og brukes ikke for subagent-hendelser.
enabled- Aktiverer alle varsler og lyder for Attention. Standard erfalse.notifications- Når Attention er aktivert, lar dette TUI sende skrivebordsvarsler via terminalen. Standard ertrue.sound- Når Attention er aktivert, tillater dette varslingslyder. Standard ertrue.volume- Standard volum for varslingslyder fra0til1. Standard er0.4.sound_pack- Sound pack-ID som skal brukes. Standard eropencode.default.sounds- Angir egendefinerte lydfiler fordefault,question,permission,error,doneellersubagent_done. Stier kan være absolutte,file://URL-er eller relative tiltui.json.
Tilpasning
Du kan tilpasse ulike aspekter av TUI-visningen ved å bruke kommandopaletten (ctrl+x h eller /help). Disse innstillingene vedvarer ved omstarter.
Visning av brukernavn
Veksle om brukernavnet ditt vises i chat-meldinger. Få tilgang til dette gjennom:
- Kommandopalett: Søk etter “brukernavn” eller “skjul brukernavn”
- Innstillingen vedvarer automatisk og vil bli husket over TUI økter