658 lines
19 KiB
Plaintext
658 lines
19 KiB
Plaintext
---
|
||
title: Config
|
||
description: Korištenje OpenCode JSON konfiguracije.
|
||
---
|
||
|
||
Možete konfigurirati OpenCode koristeći JSON konfiguracijski fajl.
|
||
|
||
---
|
||
|
||
## Format
|
||
|
||
OpenCode podržava i **JSON** i **JSONC** (JSON sa komentarima) formate.
|
||
|
||
```jsonc title="opencode.jsonc"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
// Konfiguracija teme
|
||
"tema": "otvoreni kod",
|
||
"model": "antropski/claude-sonnet-4-5",
|
||
"automatsko ažuriranje": istina,}
|
||
```
|
||
|
||
---
|
||
|
||
## Lokacije
|
||
|
||
Možete postaviti svoju konfiguraciju na nekoliko različitih lokacija i one imaju a
|
||
drugačiji redosled prioriteta.
|
||
:::napomena
|
||
Konfiguracijski fajlovi su **spojeni zajedno**, a ne zamijenjeni.
|
||
:::
|
||
Konfiguracijski fajlovi se spajaju, ne zamjenjuju. Kombiniraju se postavke sa sljedećih konfiguracijskih lokacija. Kasnije konfiguracije poništavaju prethodne samo za konfliktne ključeve. Nekonfliktne postavke iz svih konfiguracija su sačuvane.
|
||
Na primjer, ako vaša globalna konfiguracija postavlja `theme: "opencode"` i `autoupdate: true`, a vaša projektna konfiguracija postavlja `model: "anthropic/claude-sonnet-4-5"`, konačna konfiguracija će uključivati sve tri postavke.
|
||
|
||
---
|
||
|
||
### Redoslijed prioriteta
|
||
|
||
Izvori konfiguracije se učitavaju ovim redoslijedom (kasniji izvori poništavaju ranije):
|
||
|
||
1. **Udaljena konfiguracija** (od `.well-known/opencode`) - organizacione postavke
|
||
2. **Globalna konfiguracija** (`~/.config/opencode/opencode.json`) - korisničke postavke
|
||
3. **Prilagođena konfiguracija** (`OPENCODE_CONFIG` env var) - prilagođena zaobilaženja
|
||
4. **Konfiguracija projekta** (`opencode.json` u projektu) - postavke specifične za projekat
|
||
5. **`.opencode` direktoriji** - agenti, komande, dodaci
|
||
6. **Inline config** (`OPENCODE_CONFIG_CONTENT` env var) - runtime nadjačava
|
||
To znači da konfiguracije projekta mogu nadjačati globalne zadane postavke, a globalne konfiguracije mogu nadjačati postavke udaljene organizacije.
|
||
:::napomena
|
||
Direktoriji `.opencode` i `~/.config/opencode` koriste **imena u množini** za poddirektorije: `agents/`, `commands/`, `modes/`, `plugins/`, `skills/`, `tools/` i `themes/`. Pojedinačna imena (npr. `agent/`) su također podržana za kompatibilnost unatrag.
|
||
:::
|
||
|
||
---
|
||
|
||
### Daljinski
|
||
|
||
Organizacije mogu pružiti zadanu konfiguraciju preko `.well-known/opencode` krajnje točke. Ovo se automatski preuzima kada se autentifikujete kod provajdera koji to podržava.
|
||
Prvo se učitava udaljena konfiguracija koja služi kao osnovni sloj. Svi ostali izvori konfiguracije (globalni, projektni) mogu nadjačati ove zadane postavke.
|
||
Na primjer, ako vaša organizacija nudi MCP servere koji su po defaultu onemogućeni:
|
||
|
||
```json title="Remote config from .well-known/opencode"
|
||
{
|
||
"mcp": {
|
||
"jira": {
|
||
"type": "remote",
|
||
"url": "https://jira.example.com/mcp",
|
||
"enabled": false
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Možete omogućiti određene servere u vašoj lokalnoj konfiguraciji:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"mcp": {
|
||
"jira": {
|
||
"tip": "daljinski",
|
||
"url": "https://jira.example.com/mcp",
|
||
"omogućeno": istina }
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### Global
|
||
|
||
Postavite svoju globalnu OpenCode konfiguraciju u `~/.config/opencode/opencode.json`. Koristite globalnu konfiguraciju za korisničke preferencije kao što su teme, provajderi ili veze tipki.
|
||
Globalna konfiguracija poništava zadane postavke udaljene organizacije.
|
||
|
||
---
|
||
|
||
### Nakon projekta
|
||
|
||
Dodajte `opencode.json` u korijen projekta. Konfiguracija projekta ima najveći prioritet među standardnim konfiguracijskim datotekama - ona nadjačava globalne i udaljene konfiguracije.
|
||
::: tip
|
||
Postavite specifičnu konfiguraciju projekta u korijen vašeg projekta.
|
||
:::
|
||
Kada se OpenCode pokrene, traži konfiguracijsku datoteku u trenutnom direktoriju ili prelazi do najbližeg Git direktorija.
|
||
Ovo je također sigurno provjeriti u Git i koristi istu shemu kao globalna.
|
||
|
||
---
|
||
|
||
### Custom track
|
||
|
||
Navedite prilagođenu putanju konfiguracijske datoteke koristeći varijablu okruženja `OPENCODE_CONFIG`.
|
||
|
||
```bash
|
||
export OPENCODE_CONFIG=/path/to/my/custom-config.json
|
||
opencode run "Hello world"
|
||
```
|
||
|
||
Prilagođena konfiguracija se učitava između globalne i projektne konfiguracije po redoslijedu prioriteta.
|
||
|
||
---
|
||
|
||
### Prilagođeni imenik
|
||
|
||
Navedite prilagođeni konfiguracijski direktorij koristeći `OPENCODE_CONFIG_DIR`
|
||
varijabla okruženja. U ovom direktoriju će se tražiti agenti, komande,
|
||
modove i dodatke baš kao standardni `.opencode` direktorij, i trebali bi
|
||
prate istu strukturu.
|
||
|
||
```bash
|
||
export OPENCODE_CONFIG_DIR=/path/to/my/config-directory
|
||
opencode run "Hello world"
|
||
|
||
```
|
||
|
||
Prilagođeni direktorij se učitava nakon direktorija globalne konfiguracije i `.opencode`, tako da **može nadjačati** njihove postavke.
|
||
|
||
---
|
||
|
||
## Shema
|
||
|
||
Konfiguracijski fajl ima šemu koja je definirana u [**`opencode.ai/config.json`**](https://opencode.ai/config.json).
|
||
Vaš uređivač bi trebao biti u mogućnosti da potvrdi i autodovršava na osnovu šeme.
|
||
|
||
---
|
||
|
||
### TUI
|
||
|
||
Možete konfigurirati postavke specifične za TUI putem opcije `tui`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"tui": {
|
||
"scroll_speed": 3,
|
||
"scroll_acceleration": {
|
||
"enabled": true
|
||
},
|
||
"diff_style": "auto"
|
||
}
|
||
}
|
||
```
|
||
|
||
Dostupne opcije:
|
||
|
||
- `scroll_acceleration.enabled` - Omogući ubrzanje skrolovanja u macOS stilu. **Ima prednost nad `scroll_speed`.**
|
||
- `scroll_speed` - Prilagođeni množitelj brzine pomicanja (podrazumevano: `3`, minimalno: `1`). Zanemareno ako je `scroll_acceleration.enabled` `true`.
|
||
- `diff_style` - Kontrola prikaza razlike. `"auto"` se prilagođava širini terminala, `"stacked"` uvijek prikazuje jednu kolonu.
|
||
[Ovdje saznajte više o korištenju TUI](/docs/tui).
|
||
|
||
---
|
||
|
||
### Server
|
||
|
||
Možete konfigurirati postavke servera za komande `opencode serve` i `opencode web` putem opcije `server`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"server": {
|
||
"port": 4096,
|
||
"hostname": "0.0.0.0",
|
||
"mdns": true,
|
||
"mdnsDomain": "myproject.local",
|
||
"cors": ["http://localhost:5173"]
|
||
}
|
||
}
|
||
```
|
||
|
||
Dostupne opcije:
|
||
|
||
- `port` - Port za slušanje.
|
||
- `hostname` - Ime hosta za slušanje. Kada je `mdns` omogućen i nije postavljeno ime hosta, podrazumevano je `0.0.0.0`.
|
||
- `mdns` - Omogući otkrivanje mDNS usluge. Ovo omogućava drugim uređajima na mreži da otkriju vaš OpenCode server.
|
||
- `mdnsDomain` - Prilagođeno ime domene za mDNS uslugu. Zadano je `opencode.local`. Korisno za pokretanje više instanci na istoj mreži.
|
||
- `cors` - Dodatni izvori koji omogućavaju CORS kada koristite HTTP server iz klijenta baziranog na pretraživaču. Vrijednosti moraju biti punog porijekla (šema + host + opcijski port), npr. `https://app.example.com`.
|
||
[Saznajte više o serveru](/docs/server) ovdje.
|
||
|
||
---
|
||
|
||
### Uvijek
|
||
|
||
Možete upravljati alatima koje LLM može koristiti putem opcije `tools`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"tools": {
|
||
"write": false,
|
||
"bash": false
|
||
}
|
||
}
|
||
```
|
||
|
||
[Saznajte više o alatima](/docs/tools) ovdje.
|
||
|
||
---
|
||
|
||
### Model
|
||
|
||
Možete konfigurirati dobavljače i modele koje želite koristiti u svojoj OpenCode konfiguraciji kroz opcije `provider`, `model` i `small_model`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"provider": {},
|
||
"model": "anthropic/claude-sonnet-4-5",
|
||
"small_model": "anthropic/claude-haiku-4-5"
|
||
}
|
||
```
|
||
|
||
Opcija `small_model` konfigurira poseban model za lagane zadatke poput generiranja naslova. Podrazumevano, OpenCode pokušava da koristi jeftiniji model ako je dostupan od vašeg provajdera, inače se vraća na vaš glavni model.
|
||
Opcije provajdera mogu uključivati `timeout` i `setCacheKey`:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"provider": {
|
||
"anthropic": {
|
||
"options": {
|
||
"timeout": 600000,
|
||
"setCacheKey": true
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
- `timeout` - Vrijeme čekanja zahtjeva u milisekundama (podrazumevano: 300000). Postavite na `false` da onemogućite.
|
||
- `setCacheKey` - Osigurajte da je ključ keš memorije uvijek postavljen za određenog provajdera.
|
||
Također možete konfigurirati [lokalni modeli](/docs/models#local). [Saznajte više](/docs/models).
|
||
|
||
---
|
||
|
||
#### Opcije specifične za provajdere
|
||
|
||
Neki provajderi podržavaju dodatne opcije konfiguracije osim generičkih postavki `timeout` i `apiKey`.
|
||
|
||
##### Amazon Bedrock
|
||
|
||
Amazon Bedrock podržava konfiguraciju specifičnu za AWS:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"provider": {
|
||
"amazon-bedrock": {
|
||
"options": {
|
||
"region": "us-east-1",
|
||
"profile": "my-aws-profile",
|
||
"endpoint": "https://bedrock-runtime.us-east-1.vpce-xxxxx.amazonaws.com"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
- `region` - AWS regija za Bedrock (zadano na `AWS_REGION` env var ili `us-east-1`)
|
||
- `profile` - AWS imenovan profil od `~/.aws/credentials` (podrazumevano na `AWS_PROFILE` env var)
|
||
- `endpoint` - URL prilagođene krajnje tačke za VPC krajnje tačke. Ovo je pseudonim za generičku opciju `baseURL` koristeći terminologiju specifičnu za AWS. Ako su oba navedena, `endpoint` ima prednost.
|
||
:::napomena
|
||
Tokeni nosioca (`AWS_BEARER_TOKEN_BEDROCK` ili `/connect`) imaju prednost nad autentifikacijom zasnovanom na profilu. Pogledajte [prednost autentifikacije](/docs/providers#authentication-precedence) za detalje.
|
||
:::
|
||
[Saznajte više o konfiguraciji Amazon Bedrock](/docs/providers#amazon-bedrock).
|
||
|
||
---
|
||
|
||
### Domaći
|
||
|
||
Možete konfigurirati temu koju želite koristiti u svojoj OpenCode konfiguraciji putem opcije `theme`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"theme": ""
|
||
}
|
||
```
|
||
|
||
[Saznajte više ovdje](/docs/themes).
|
||
|
||
---
|
||
|
||
### Agenti
|
||
|
||
Možete konfigurirati specijalizirane agente za određene zadatke putem opcije `agent`.
|
||
|
||
```jsonc title="opencode.jsonc"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"agent": {
|
||
"code-reviewer": {
|
||
"description": "Reviews code for best practices and potential issues",
|
||
"model": "anthropic/claude-sonnet-4-5",
|
||
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
|
||
"tools": {
|
||
// Disable file modification tools for review-only agent
|
||
"write": false,
|
||
"edit": false,
|
||
},
|
||
},
|
||
},
|
||
}
|
||
```
|
||
|
||
Također možete definirati agente koristeći mardown datoteke u `~/.config/opencode/agents/` ili `.opencode/agents/`. [Saznajte više ovdje](/docs/agents).
|
||
|
||
---
|
||
|
||
### Zadani agent
|
||
|
||
Možete postaviti zadanog agenta koristeći opciju `default_agent`. Ovo određuje koji se agent koristi kada nijedan nije eksplicitno specificiran.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"default_agent": "plan"
|
||
}
|
||
```
|
||
|
||
Zadani agent mora biti primarni agent (ne podagent). Ovo može biti ugrađeni agent kao što je `"build"` ili `"plan"`, ili [prilagođeni agent](/docs/agents) koji ste definirali. Ako navedeni agent ne postoji ili je subagent, OpenCode će se vratiti na `"build"` s upozorenjem.
|
||
Ova postavka se primjenjuje na sva sučelja: TUI, CLI (`opencode run`), desktop aplikaciju i GitHub Action.
|
||
|
||
---
|
||
|
||
### Dijeljenje
|
||
|
||
Možete konfigurirati funkciju [share](/docs/share) putem opcije `share`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"share": "manual"
|
||
}
|
||
```
|
||
|
||
Ovo traje:
|
||
|
||
- `"manual"` - Dozvoli ručno dijeljenje putem komandi (podrazumevano)
|
||
- `"auto"` - Automatski dijelite nove razgovore
|
||
- `"disabled"` - Onemogući dijeljenje u potpunosti
|
||
Podrazumevano, dijeljenje je postavljeno na ručni način rada gdje trebate eksplicitno dijeliti razgovore pomoću naredbe `/share`.
|
||
|
||
---
|
||
|
||
### komandante
|
||
|
||
Možete konfigurirati prilagođene komande za ponavljanje zadataka putem opcije `command`.
|
||
|
||
```jsonc title="opencode.jsonc"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"command": {
|
||
"test": {
|
||
"template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.",
|
||
"description": "Run tests with coverage",
|
||
"agent": "build",
|
||
"model": "anthropic/claude-haiku-4-5",
|
||
},
|
||
"component": {
|
||
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
|
||
"description": "Create a new component",
|
||
},
|
||
},
|
||
}
|
||
```
|
||
|
||
Također možete definirati komande koristeći mardown fajlove u `~/.config/opencode/commands/` ili `.opencode/commands/`. [Saznajte više ovdje](/docs/commands).
|
||
|
||
---
|
||
|
||
### Keybinds
|
||
|
||
Možete prilagoditi svoje veze ključeva putem opcije `keybinds`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"keybinds": {}
|
||
}
|
||
```
|
||
|
||
[Saznajte više ovdje](/docs/keybinds).
|
||
|
||
---
|
||
|
||
### Automatsko ažuriranje
|
||
|
||
OpenCode će automatski preuzeti sva nova ažuriranja kada se pokrene. Ovo možete onemogućiti opcijom `autoupdate`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"autoupdate": false
|
||
}
|
||
```
|
||
|
||
Ako ne želite ažuriranja, ali želite biti obaviješteni kada nova verzija bude dostupna, postavite `autoupdate` na `"notify"`.
|
||
Imajte na umu da ovo funkcionira samo ako nije instalirano pomoću upravitelja paketa kao što je Homebrew.
|
||
|
||
---
|
||
|
||
### Trenerke
|
||
|
||
Možete konfigurirati formatere koda putem opcije `formatter`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"formatter": {
|
||
"prettier": {
|
||
"disabled": true
|
||
},
|
||
"custom-prettier": {
|
||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||
"environment": {
|
||
"NODE_ENV": "development"
|
||
},
|
||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
[Saznajte više o formatterima](/docs/formatters) ovdje.
|
||
|
||
---
|
||
|
||
### Dozvole
|
||
|
||
Prema zadanim postavkama, opencode **dopušta sve operacije** bez potrebe za eksplicitnim dopuštenjem. Ovo možete promijeniti koristeći opciju `permission`.
|
||
Na primjer, da osigurate da alati `edit` i `bash` zahtijevaju odobrenje korisnika:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"permission": {
|
||
"edit": "ask",
|
||
"bash": "ask"
|
||
}
|
||
}
|
||
```
|
||
|
||
[Ovdje saznajte više o ](/docs/permissions) dozvolama.
|
||
|
||
---
|
||
|
||
### Compaction
|
||
|
||
Možete kontrolirati ponašanje sažimanja konteksta putem opcije `compaction`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"compaction": {
|
||
"auto": true,
|
||
"prune": true
|
||
}
|
||
}
|
||
```
|
||
|
||
- `auto` - Automatski sažimanje sesije kada je kontekst pun (podrazumevano: `true`).
|
||
- `prune` - Uklonite stare izlaze alata da sačuvate tokene (podrazumevano: `true`).
|
||
|
||
---
|
||
|
||
### Watcher
|
||
|
||
Možete konfigurirati obrasce ignoriranja promatrača datoteka putem opcije `watcher`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"watcher": {
|
||
"ignore": ["node_modules/**", "dist/**", ".git/**"]
|
||
}
|
||
}
|
||
```
|
||
|
||
Obrasci prate glob sintaksu. Koristite ovo da isključite bučne direktorije iz pregleda datoteka.
|
||
|
||
---
|
||
|
||
### MCP serveri
|
||
|
||
Možete konfigurirati MCP servere koje želite koristiti putem opcije `mcp`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"mcp": {}
|
||
}
|
||
```
|
||
|
||
[Saznajte više ovdje](/docs/mcp-servers).
|
||
|
||
---
|
||
|
||
### Extras
|
||
|
||
[Plugins](/docs/plugins) proširuju OpenCode sa prilagođenim alatima, kukicama i integracijama.
|
||
Postavite datoteke dodataka u `.opencode/plugins/` ili `~/.config/opencode/plugins/`. Također možete učitati dodatke iz npm-a preko opcije `plugin`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"plugin": ["opencode-helicone-session", "@my-org/custom-plugin"]
|
||
}
|
||
```
|
||
|
||
[Saznajte više ovdje](/docs/plugins).
|
||
|
||
---
|
||
|
||
### Uputstva
|
||
|
||
Možete konfigurirati upute za model koji koristite putem opcije `instructions`.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"]
|
||
}
|
||
```
|
||
|
||
Ovo uzima niz putanja i uzoraka globusa do datoteka instrukcija. [Saznajte više
|
||
o pravilima ovdje](/docs/rules).
|
||
|
||
---
|
||
|
||
### Onemogućeni provajderi
|
||
|
||
Možete onemogućiti dobavljače koji se automatski učitavaju preko opcije `disabled_providers`. Ovo je korisno kada želite spriječiti učitavanje određenih provajdera čak i ako su njihovi vjerodajnici dostupni.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"disabled_providers": ["openai", "gemini"]
|
||
}
|
||
```
|
||
|
||
:::napomena
|
||
`disabled_providers` ima prioritet nad `enabled_providers`.
|
||
:::
|
||
Opcija `disabled_providers` prihvata niz ID-ova provajdera. Kada je provajder onemogućen:
|
||
|
||
- Neće se učitati čak i ako su varijable okruženja postavljene.
|
||
- Neće se učitati čak i ako su API ključevi konfigurirani putem `/connect` komande.
|
||
- Modeli dobavljača se neće pojaviti na listi za odabir modela.
|
||
|
||
---
|
||
|
||
### Omogućeni provajderi
|
||
|
||
Možete odrediti listu dozvoljenih dobavljača putem opcije `enabled_providers`. Kada se podesi, samo navedeni provajderi će biti omogućeni, a svi ostali će biti zanemareni.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"enabled_providers": ["anthropic", "openai"]
|
||
}
|
||
```
|
||
|
||
Ovo je korisno kada želite da ograničite OpenCode da koristi samo određene provajdere umesto da ih onemogućavate jednog po jednog.
|
||
:::napomena
|
||
`disabled_providers` ima prioritet nad `enabled_providers`.
|
||
:::
|
||
Ako se provajder pojavljuje i u `enabled_providers` i `disabled_providers`, `disabled_providers` ima prioritet za kompatibilnost unatrag.
|
||
|
||
---
|
||
|
||
### Eksperimentalno
|
||
|
||
Ključ `experimental` sadrži opcije koje su u aktivnom razvoju.
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"experimental": {}
|
||
}
|
||
```
|
||
|
||
:::oprez
|
||
Eksperimentalne opcije nisu stabilne. Mogu se promijeniti ili ukloniti bez prethodne najave.
|
||
:::
|
||
|
||
---
|
||
|
||
## Varijable
|
||
|
||
Možete koristiti zamjenu varijabli u vašim konfiguracijskim datotekama da biste referencirali varijable okruženja i sadržaj datoteke.
|
||
|
||
---
|
||
|
||
### Env vars
|
||
|
||
Koristite `{env:VARIABLE_NAME}` za zamjenu varijabli okruženja:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"model": "{env:OPENCODE_MODEL}",
|
||
"provider": {
|
||
"anthropic": {
|
||
"models": {},
|
||
"options": {
|
||
"apiKey": "{env:ANTHROPIC_API_KEY}"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Ako varijabla okruženja nije postavljena, bit će zamijenjena praznim nizom.
|
||
|
||
---
|
||
|
||
### Fajlovi
|
||
|
||
Koristite `{file:path/to/file}` da zamijenite sadržaj fajla:
|
||
|
||
```json title="opencode.json"
|
||
{
|
||
"$schema": "https://opencode.ai/config.json",
|
||
"instructions": ["./custom-instructions.md"],
|
||
"provider": {
|
||
"openai": {
|
||
"options": {
|
||
"apiKey": "{file:~/.secrets/openai-key}"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
Putanja fajla mogu biti:
|
||
|
||
- U odnosu na direktorij konfiguracijskih datoteka
|
||
- Ili apsolutne staze koje počinju sa `/` ili `~`
|
||
Ovo je korisno za:
|
||
- Pohranjivanje osjetljivih podataka poput API ključeva u odvojenim datotekama.
|
||
- Uključujući velike datoteke instrukcija bez zatrpavanja vaše konfiguracije.
|
||
- Dijeljenje zajedničkih isječaka konfiguracije u više konfiguracijskih datoteka.
|