mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-09 18:29:39 +00:00
332 lines
8.4 KiB
Plaintext
332 lines
8.4 KiB
Plaintext
---
|
|
title: Modi
|
|
description: Ulike moduser for forskjellige brukstilfeller.
|
|
---
|
|
|
|
:::forsiktighet
|
|
Modi er nå konfigurert gjennom alternativet `agent` i opencode-konfigurasjonen. De
|
|
Alternativet `mode` er nå utdatert. [Finn ut mer](/docs/agents).
|
|
:::
|
|
|
|
Moduser i opencode lar deg tilpasse oppførselen, verktøyene og ledetekstene for ulike brukstilfeller.
|
|
|
|
Den kommer med to innebygde moduser: **bygg** og **plan**. Du kan tilpasse
|
|
disse eller konfigurer din egen gjennom opencode-konfigurasjonen.
|
|
|
|
Du kan bytte mellom moduser under en økt eller konfigurere dem i konfigurasjonsfilen.
|
|
|
|
---
|
|
|
|
## Innebygd
|
|
|
|
opencode kommer med to innebygde moduser.
|
|
|
|
---
|
|
|
|
### Bygg
|
|
|
|
Bygg er **standard**-modus med alle verktøy aktivert. Dette er standardmodusen for utviklingsarbeid der du trenger full tilgang til filoperasjoner og systemkommandoer.
|
|
|
|
---
|
|
|
|
### Plan
|
|
|
|
En begrenset modus designet for planlegging og analyse. I planmodus er følgende verktøy deaktivert som standard:
|
|
|
|
- `write` - Kan ikke opprette nye filer
|
|
- `edit` - Kan ikke endre eksisterende filer, bortsett fra filer som ligger på `.opencode/plans/*.md` for å detaljere selve planen
|
|
- `patch` - Kan ikke bruke patcher
|
|
- `bash` - Kan ikke utføre skallkommandoer
|
|
|
|
Denne modusen er nyttig når du vil at AI skal analysere kode, foreslå endringer eller lage planer uten å gjøre noen faktiske endringer i kodebasen.
|
|
|
|
---
|
|
|
|
## Bytte
|
|
|
|
Du kan bytte mellom moduser under en økt ved å bruke _Tab_-tasten. Eller din konfigurerte `switch_mode` nøkkelbinding.
|
|
|
|
Se også: [Formatters](/docs/formatters) for informasjon om konfigurasjon av kodeformatering.
|
|
|
|
---
|
|
|
|
## Konfigurer
|
|
|
|
Du kan tilpasse de innebygde modusene eller lage dine egne gjennom konfigurasjon. Modi kan konfigureres på to måter:
|
|
|
|
### JSON Konfigurasjon
|
|
|
|
Konfigurer moduser i konfigurasjonsfilen `opencode.json`:
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"mode": {
|
|
"build": {
|
|
"model": "anthropic/claude-sonnet-4-20250514",
|
|
"prompt": "{file:./prompts/build.txt}",
|
|
"tools": {
|
|
"write": true,
|
|
"edit": true,
|
|
"bash": true
|
|
}
|
|
},
|
|
"plan": {
|
|
"model": "anthropic/claude-haiku-4-20250514",
|
|
"tools": {
|
|
"write": false,
|
|
"edit": false,
|
|
"bash": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Markdown-konfigurasjon
|
|
|
|
Du kan også definere moduser ved å bruke markdown-filer. Plasser dem i:
|
|
|
|
- Globalt: `~/.config/opencode/modes/`
|
|
- Prosjekt: `.opencode/modes/`
|
|
|
|
```markdown title="~/.config/opencode/modes/review.md"
|
|
---
|
|
model: anthropic/claude-sonnet-4-20250514
|
|
temperature: 0.1
|
|
tools:
|
|
write: false
|
|
edit: false
|
|
bash: false
|
|
---
|
|
|
|
You are in code review mode. Focus on:
|
|
|
|
- Code quality and best practices
|
|
- Potential bugs and edge cases
|
|
- Performance implications
|
|
- Security considerations
|
|
|
|
Provide constructive feedback without making direct changes.
|
|
```
|
|
|
|
Markdown-filnavnet blir modusnavnet (f.eks. `review.md` oppretter en `review`-modus).
|
|
|
|
La oss se på disse konfigurasjonsalternativene i detalj.
|
|
|
|
---
|
|
|
|
### Modell
|
|
|
|
Bruk `model`-konfigurasjonen for å overstyre standardmodellen for denne modusen. Nyttig for bruk av ulike modeller optimalisert for ulike oppgaver. For eksempel en raskere modell for planlegging, en mer kapabel modell for implementering.
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"mode": {
|
|
"plan": {
|
|
"model": "anthropic/claude-haiku-4-20250514"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### Temperatur
|
|
|
|
Kontroller tilfeldigheten og kreativiteten til AIs svar med `temperature`-konfigurasjonen. Lavere verdier gjør svarene mer fokuserte og deterministiske, mens høyere verdier øker kreativiteten og variasjonen.
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"mode": {
|
|
"plan": {
|
|
"temperature": 0.1
|
|
},
|
|
"creative": {
|
|
"temperature": 0.8
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Temperaturverdier varierer vanligvis fra 0,0 til 1,0:
|
|
|
|
- **0.0-0.2**: Veldig fokuserte og deterministiske svar, ideell for kodeanalyse og planlegging
|
|
- **0,3-0,5**: Balanserte svar med litt kreativitet, bra for generelle utviklingsoppgaver
|
|
- **0.6-1.0**: Mer kreative og varierte svar, nyttig for idédugnad og utforskning
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"mode": {
|
|
"analyze": {
|
|
"temperature": 0.1,
|
|
"prompt": "{file:./prompts/analysis.txt}"
|
|
},
|
|
"build": {
|
|
"temperature": 0.3
|
|
},
|
|
"brainstorm": {
|
|
"temperature": 0.7,
|
|
"prompt": "{file:./prompts/creative.txt}"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Hvis ingen temperatur er spesifisert, bruker opencode modellspesifikke standarder (vanligvis 0 for de fleste modeller, 0,55 for Qwen-modeller).
|
|
|
|
---
|
|
|
|
### Spør
|
|
|
|
Spesifiser en tilpasset systemmeldingsfil for denne modusen med `prompt`-konfigurasjonen. Spørrefilen skal inneholde instruksjoner som er spesifikke for modusens formål.
|
|
|
|
```json title="opencode.json"
|
|
{
|
|
"mode": {
|
|
"review": {
|
|
"prompt": "{file:./prompts/code-review.txt}"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Denne banen er i forhold til hvor konfigurasjonsfilen er plassert. Så dette fungerer for
|
|
både den globale opencode-konfigurasjonen og den prosjektspesifikke konfigurasjonen.
|
|
|
|
---
|
|
|
|
### Verktøy
|
|
|
|
Kontroller hvilke verktøy som er tilgjengelige i denne modusen med `tools`-konfigurasjonen. Du kan aktivere eller deaktivere spesifikke verktøy ved å sette dem til `true` eller `false`.
|
|
|
|
```json
|
|
{
|
|
"mode": {
|
|
"readonly": {
|
|
"tools": {
|
|
"write": false,
|
|
"edit": false,
|
|
"bash": false,
|
|
"read": true,
|
|
"grep": true,
|
|
"glob": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Hvis ingen verktøy er spesifisert, er alle verktøy aktivert som standard.
|
|
|
|
---
|
|
|
|
#### Tilgjengelige verktøy
|
|
|
|
Her er alle verktøyene som kan kontrolleres gjennom moduskonfigurasjonen.
|
|
|
|
| Verktøy | Beskrivelse |
|
|
| ----------- | --------------------------- |
|
|
| `bash` | Utfør skallkommandoer |
|
|
| `edit` | Endre eksisterende filer |
|
|
| `write` | Opprett nye filer |
|
|
| `read` | Les filinnhold |
|
|
| `grep` | Søk filinnhold |
|
|
| `glob` | Finn filer etter mønster |
|
|
| `list` | Liste kataloginnhold |
|
|
| `patch` | Bruk patcher på filer |
|
|
| `todowrite` | Administrer gjøremålslister |
|
|
| `todoread` | Les gjøremålslister |
|
|
| `webfetch` | Hent nettinnhold |
|
|
|
|
---
|
|
|
|
## Egendefinerte moduser
|
|
|
|
Du kan lage dine egne tilpassede moduser ved å legge dem til konfigurasjonen. Her er eksempler som bruker begge tilnærmingene:
|
|
|
|
### Bruker JSON konfigurasjon
|
|
|
|
```json title="opencode.json" {4-14}
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"mode": {
|
|
"docs": {
|
|
"prompt": "{file:./prompts/documentation.txt}",
|
|
"tools": {
|
|
"write": true,
|
|
"edit": true,
|
|
"bash": false,
|
|
"read": true,
|
|
"grep": true,
|
|
"glob": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Bruker markdown-filer
|
|
|
|
Lag modusfiler i `.opencode/modes/` for prosjektspesifikke moduser eller `~/.config/opencode/modes/` for globale moduser:
|
|
|
|
```markdown title=".opencode/modes/debug.md"
|
|
---
|
|
temperature: 0.1
|
|
tools:
|
|
bash: true
|
|
read: true
|
|
grep: true
|
|
write: false
|
|
edit: false
|
|
---
|
|
|
|
You are in debug mode. Your primary goal is to help investigate and diagnose issues.
|
|
|
|
Focus on:
|
|
|
|
- Understanding the problem through careful analysis
|
|
- Using bash commands to inspect system state
|
|
- Reading relevant files and logs
|
|
- Searching for patterns and anomalies
|
|
- Providing clear explanations of findings
|
|
|
|
Do not make any changes to files. Only investigate and report.
|
|
```
|
|
|
|
```markdown title="~/.config/opencode/modes/refactor.md"
|
|
---
|
|
model: anthropic/claude-sonnet-4-20250514
|
|
temperature: 0.2
|
|
tools:
|
|
edit: true
|
|
read: true
|
|
grep: true
|
|
glob: true
|
|
---
|
|
|
|
You are in refactoring mode. Focus on improving code quality without changing functionality.
|
|
|
|
Priorities:
|
|
|
|
- Improve code readability and maintainability
|
|
- Apply consistent naming conventions
|
|
- Reduce code duplication
|
|
- Optimize performance where appropriate
|
|
- Ensure all tests continue to pass
|
|
```
|
|
|
|
---
|
|
|
|
### Brukstilfeller
|
|
|
|
Her er noen vanlige brukstilfeller for forskjellige moduser.
|
|
|
|
- **Byggemodus**: Fullt utviklingsarbeid med alle verktøy aktivert
|
|
- **Planmodus**: Analyse og planlegging uten å gjøre endringer
|
|
- **Gjennomgangsmodus**: Kodegjennomgang med skrivebeskyttet tilgang pluss dokumentasjonsverktøy
|
|
- **Feilsøkingsmodus**: Fokusert på etterforskning med bash- og leseverktøy aktivert
|
|
- **Dokumentmodus**: Dokumentasjonsskriving med filoperasjoner, men ingen systemkommandoer
|
|
|
|
Du kan også finne at forskjellige modeller er gode for forskjellige brukstilfeller.
|