summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/bs
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-28 15:27:11 -0600
committerGitHub <[email protected]>2026-02-28 15:27:11 -0600
commite1e18c7abdb1025d7be63acee1f188b94d16eb9b (patch)
treead14a08aba4752d3ab03452209520c94bb0df59e /packages/web/src/content/docs/bs
parent971bd30516fb2b245f87bdf79e36bb64e72265bc (diff)
downloadopencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.tar.gz
opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.zip
chore(docs): i18n sync (#15417)
Diffstat (limited to 'packages/web/src/content/docs/bs')
-rw-r--r--packages/web/src/content/docs/bs/cli.mdx1
-rw-r--r--packages/web/src/content/docs/bs/config.mdx114
-rw-r--r--packages/web/src/content/docs/bs/custom-tools.mdx28
-rw-r--r--packages/web/src/content/docs/bs/index.mdx7
-rw-r--r--packages/web/src/content/docs/bs/keybinds.mdx14
-rw-r--r--packages/web/src/content/docs/bs/lsp.mdx87
-rw-r--r--packages/web/src/content/docs/bs/plugins.mdx2
-rw-r--r--packages/web/src/content/docs/bs/providers.mdx68
-rw-r--r--packages/web/src/content/docs/bs/sdk.mdx114
-rw-r--r--packages/web/src/content/docs/bs/server.mdx202
-rw-r--r--packages/web/src/content/docs/bs/themes.mdx6
-rw-r--r--packages/web/src/content/docs/bs/tui.mdx34
-rw-r--r--packages/web/src/content/docs/bs/zen.mdx50
13 files changed, 471 insertions, 256 deletions
diff --git a/packages/web/src/content/docs/bs/cli.mdx b/packages/web/src/content/docs/bs/cli.mdx
index 049b43497..7fc594e6c 100644
--- a/packages/web/src/content/docs/bs/cli.mdx
+++ b/packages/web/src/content/docs/bs/cli.mdx
@@ -555,6 +555,7 @@ OpenCode se može konfigurirati pomoću varijabli okruženja.
| `OPENCODE_AUTO_SHARE` | boolean | Automatski dijeli sesije |
| `OPENCODE_GIT_BASH_PATH` | string | Putanja do Git Bash izvršne datoteke na Windows-u |
| `OPENCODE_CONFIG` | string | Putanja do konfiguracijskog fajla |
+| `OPENCODE_TUI_CONFIG` | string | Putanja do TUI konfiguracijskog fajla |
| `OPENCODE_CONFIG_DIR` | string | Putanja do konfiguracijskog direktorija |
| `OPENCODE_CONFIG_CONTENT` | string | Inline json konfiguracijski sadržaj |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Onemogući automatske provjere ažuriranja |
diff --git a/packages/web/src/content/docs/bs/config.mdx b/packages/web/src/content/docs/bs/config.mdx
index 3e20f1890..3183a2f92 100644
--- a/packages/web/src/content/docs/bs/config.mdx
+++ b/packages/web/src/content/docs/bs/config.mdx
@@ -14,10 +14,11 @@ OpenCode podržava i **JSON** i **JSONC** (JSON sa komentarima) formate.
```jsonc title="opencode.jsonc"
{
"$schema": "https://opencode.ai/config.json",
- // Theme configuration
- "theme": "opencode",
"model": "anthropic/claude-sonnet-4-5",
"autoupdate": true,
+ "server": {
+ "port": 4096,
+ },
}
```
@@ -30,8 +31,10 @@ Možete postaviti svoju konfiguraciju na nekoliko različitih lokacija i one ima
:::note
Konfiguracijski fajlovi se **spajaju**, ne zamjenjuju.
:::
+
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.
+
+Na primjer, ako vaša globalna konfiguracija postavlja `autoupdate: true`, a vaša projektna konfiguracija postavlja `model: "anthropic/claude-sonnet-4-5"`, konačna konfiguracija će uključivati ​​obje postavke.
---
@@ -40,23 +43,26 @@ Na primjer, ako vaša globalna konfiguracija postavlja `theme: "opencode"` i `au
Izvori konfiguracije se učitavaju ovim redoslijedom (kasniji izvori poništavaju ranije):
1. **Udaljena konfiguracija** (od `.well-known/opencode`) - organizacijske postavke
-2. **Globalna konfiguracija** (`~/.config/opencode/opencode.json`) - korisničke postavke
+2. **Globalna konfiguracija** (`~/.config/opencode/opencode.json`) - korisničke preferencije
3. **Prilagođena konfiguracija** (`OPENCODE_CONFIG` env var) - prilagođena preinačenja
4. **Konfiguracija projekta** (`opencode.json` u projektu) - postavke specifične za projekat
5. **`.opencode` direktoriji** - agenti, komande, dodaci
6. **Inline konfiguracija** (`OPENCODE_CONFIG_CONTENT` env var) - runtime preinačenja
- To znači da konfiguracije projekta mogu nadjačati globalne zadane postavke, a globalne konfiguracije mogu nadjačati postavke udaljene organizacije.
- :::note
- 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.
- :::
+To znači da konfiguracije projekta mogu nadjačati globalne zadane postavke, a globalne konfiguracije mogu nadjačati postavke udaljene organizacije.
+
+:::note
+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.
+:::
---
### Udaljeno (Remote)
Organizacije mogu pružiti zadanu konfiguraciju preko `.well-known/opencode` krajnje tač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"
@@ -89,7 +95,10 @@ Možete omogućiti određene servere u vašoj lokalnoj konfiguraciji:
### Globalno
-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.
+Postavite svoju globalnu OpenCode konfiguraciju u `~/.config/opencode/opencode.json`. Koristite globalnu konfiguraciju za korisničke preferencije kao što su provajderi, modeli i dozvole.
+
+Za postavke specifične za TUI, koristite `~/.config/opencode/tui.json`.
+
Globalna konfiguracija poništava zadane postavke udaljene organizacije.
---
@@ -97,10 +106,15 @@ Globalna konfiguracija poništava zadane postavke udaljene organizacije.
### Projekt
Dodajte `opencode.json` u korijen projekta. Konfiguracija projekta ima najveći prioritet među standardnim konfiguracijskim datotekama - ona nadjačava globalne i udaljene konfiguracije.
+
+Za TUI postavke specifične za projekat, dodajte `tui.json` pored njega.
+
:::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.
---
@@ -134,33 +148,33 @@ Prilagođeni direktorij se učitava nakon direktorija globalne konfiguracije i `
## Šema
Konfiguracijski fajl ima šemu koja je definirana u [**`opencode.ai/config.json`**](https://opencode.ai/config.json).
+
+TUI konfiguracija koristi [**`opencode.ai/tui.json`**](https://opencode.ai/tui.json).
+
Vaš editor bi trebao biti u mogućnosti da validira i autodovršava na osnovu šeme.
---
### TUI
-Možete konfigurirati postavke specifične za TUI putem opcije `tui`.
+Koristite namjenski `tui.json` (ili `tui.jsonc`) fajl za postavke specifične za TUI.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "tui": {
- "scroll_speed": 3,
- "scroll_acceleration": {
- "enabled": true
- },
- "diff_style": "auto"
- }
+ "$schema": "https://opencode.ai/tui.json",
+ "scroll_speed": 3,
+ "scroll_acceleration": {
+ "enabled": true
+ },
+ "diff_style": "auto"
}
```
-Dostupne opcije:
+Koristite `OPENCODE_TUI_CONFIG` da pokažete na prilagođeni TUI konfiguracijski fajl.
+
+Stari `theme`, `keybinds`, i `tui` ključevi u `opencode.json` su zastarjeli i automatski će se migrirati kada je to moguće.
-- `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.
- [Saznajte više o korištenju TUI](/docs/tui) ovdje.
+[Saznajte više o korištenju TUI ovdje](/docs/tui#configure).
---
@@ -188,7 +202,8 @@ Dostupne opcije:
- `mdns` - Omogući mDNS otkrivanje servisa. Ovo omogućava drugim uređajima na mreži da otkriju vaš OpenCode server.
- `mdnsDomain` - Prilagođeno ime domene za mDNS servis. Zadano je `opencode.local`. Korisno za pokretanje više instanci na istoj mreži.
- `cors` - Dodatni origini koji omogućavaju CORS kada koristite HTTP server iz klijenta baziranog na pretraživaču. Vrijednosti moraju biti puni origin (shema + host + opcijski port), npr. `https://app.example.com`.
- [Saznajte više o serveru](/docs/server) ovdje.
+
+[Saznajte više o serveru ovdje](/docs/server).
---
@@ -206,7 +221,7 @@ Možete upravljati alatima koje LLM može koristiti putem opcije `tools`.
}
```
-[Saznajte više o alatima](/docs/tools) ovdje.
+[Saznajte više o alatima ovdje](/docs/tools).
---
@@ -224,6 +239,7 @@ Možete konfigurirati dobavljače i modele koje želite koristiti u svojoj OpenC
```
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"
@@ -242,7 +258,8 @@ Opcije provajdera mogu uključivati ​​`timeout` i `setCacheKey`:
- `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 [lokalne modele](/docs/models#local). [Saznajte više](/docs/models).
+
+Također možete konfigurirati [lokalne modele](/docs/models#local). [Saznajte više](/docs/models).
---
@@ -272,21 +289,23 @@ Amazon Bedrock podržava konfiguraciju specifičnu za AWS:
- `region` - AWS regija za Bedrock (zadano na `AWS_REGION` env var ili `us-east-1`)
- `profile` - AWS imenovani profil iz `~/.aws/credentials` (zadano na `AWS_PROFILE` env var)
- `endpoint` - URL prilagođene krajnje tačke za VPC krajnje tačke. Ovo je alias za generičku opciju `baseURL` koristeći terminologiju specifičnu za AWS. Ako su oba navedena, `endpoint` ima prednost.
- :::note
- 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).
+
+:::note
+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).
---
-### Tema
+### Teme
-Možete konfigurirati temu koju želite koristiti u svojoj OpenCode konfiguraciji putem opcije `theme`.
+Postavite vašu UI temu u `tui.json`.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "theme": ""
+ "$schema": "https://opencode.ai/tui.json",
+ "theme": "tokyonight"
}
```
@@ -332,6 +351,7 @@ Možete postaviti zadanog agenta koristeći opciju `default_agent`. Ovo određuj
```
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 podagent, 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.
---
@@ -352,7 +372,8 @@ Ovo prihvata:
- `"manual"` - Dozvoli ručno dijeljenje putem naredbi (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`.
+
+Podrazumevano, dijeljenje je postavljeno na ručni način rada gdje trebate eksplicitno dijeliti razgovore pomoću naredbe `/share`.
---
@@ -384,11 +405,11 @@ Također možete definirati naredbe koristeći markdown fajlove u `~/.config/ope
### Prečice tipki
-Možete prilagoditi svoje veze tipki putem opcije `keybinds`.
+Prilagodite prečice tipki u `tui.json`.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}
```
@@ -442,6 +463,7 @@ Možete konfigurirati formatere koda putem opcije `formatter`.
### 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"
@@ -467,13 +489,15 @@ Možete kontrolirati ponašanje sažimanja konteksta putem opcije `compaction`.
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
- "prune": true
+ "prune": true,
+ "reserved": 10000
}
}
```
- `auto` - Automatski sažimanje sesije kada je kontekst pun (podrazumevano: `true`).
- `prune` - Uklonite stare izlaze alata da sačuvate tokene (podrazumevano: `true`).
+- `reserved` - Token buffer za sažimanje. Ostavlja dovoljno prostora da se izbjegne prelijevanje tokom sažimanja
---
@@ -512,6 +536,7 @@ Možete konfigurirati MCP servere koje želite koristiti putem opcije `mcp`.
### Dodaci
[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"
@@ -554,6 +579,7 @@ Možete onemogućiti dobavljače koji se automatski učitavaju preko opcije `dis
:::note
`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.
@@ -574,9 +600,11 @@ Možete odrediti listu dozvoljenih dobavljača putem opcije `enabled_providers`.
```
Ovo je korisno kada želite da ograničite OpenCode da koristi samo određene provajdere umjesto da ih onemogućavate jednog po jednog.
+
:::note
`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.
---
@@ -649,7 +677,9 @@ Putanja fajla mogu biti:
- U odnosu na direktorij konfiguracijskih datoteka
- Ili apsolutne staze koje počinju sa `/` ili `~`
- Ovo je korisno za:
+
+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.
diff --git a/packages/web/src/content/docs/bs/custom-tools.mdx b/packages/web/src/content/docs/bs/custom-tools.mdx
index e452ce6a5..e933c7cb1 100644
--- a/packages/web/src/content/docs/bs/custom-tools.mdx
+++ b/packages/web/src/content/docs/bs/custom-tools.mdx
@@ -79,6 +79,32 @@ Ovo stvara dva alata: `math_add` i `math_multiply`.
---
+#### Sukob imena s ugrađenim alatima
+
+Prilagođeni alati su prepoznati po imenu. Ako prilagođeni alat koristi isto ime kao ugrađeni alat, prilagođeni alat ima prednost.
+
+Na primjer, ova datoteka zamjenjuje ugrađeni `bash` alat:
+
+```ts title=".opencode/tools/bash.ts"
+import { tool } from "@opencode-ai/plugin"
+
+export default tool({
+ description: "Restricted bash wrapper",
+ args: {
+ command: tool.schema.string(),
+ },
+ async execute(args) {
+ return `blocked: ${args.command}`
+ },
+})
+```
+
+:::note
+Preferirajte jedinstvena imena osim ako namjerno ne želite zamijeniti ugrađeni alat. Ako želite onemogućiti ugrađeni alat, ali ne i nadjačati ga, koristite [dozvole](/docs/permissions).
+:::
+
+---
+
### Argumenti
Možete koristiti `tool.schema`, što je samo [Zod](https://zod.dev), da definirate tipove argumenata.
@@ -166,4 +192,4 @@ export default tool({
})
```
-Ovdje koristimo [`Bun.$`\_](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
+Ovdje koristimo [`Bun.$`](https://bun.com/docs/runtime/shell) uslužni program za pokretanje Python skripte.
diff --git a/packages/web/src/content/docs/bs/index.mdx b/packages/web/src/content/docs/bs/index.mdx
index 5d21e994f..4af699485 100644
--- a/packages/web/src/content/docs/bs/index.mdx
+++ b/packages/web/src/content/docs/bs/index.mdx
@@ -80,9 +80,10 @@ Također ga možete instalirati pomoću sljedećih naredbi:
- **Korištenje Parua na Arch Linuxu**
-```bash
- paru -S opencode-bin
-```
+ ```bash
+ sudo pacman -S opencode # Arch Linux (Stable)
+ paru -S opencode-bin # Arch Linux (Latest from AUR)
+ ```
#### Windows
diff --git a/packages/web/src/content/docs/bs/keybinds.mdx b/packages/web/src/content/docs/bs/keybinds.mdx
index f35dd3852..a7a6d34a0 100644
--- a/packages/web/src/content/docs/bs/keybinds.mdx
+++ b/packages/web/src/content/docs/bs/keybinds.mdx
@@ -3,11 +3,11 @@ title: Prečice tipki
description: Prilagodite svoje veze tipki.
---
-OpenCode ima listu veza tipki koje možete prilagoditi preko OpenCode konfiguracije.
+OpenCode ima listu veza tipki koje možete prilagoditi putem `tui.json`.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {
"leader": "ctrl+x",
"app_exit": "ctrl+c,ctrl+d,<leader>q",
@@ -108,18 +108,20 @@ OpenCode ima listu veza tipki koje možete prilagoditi preko OpenCode konfigurac
## Leader tipka
OpenCode koristi `leader` (vodeću) tipku za većinu povezivanja tipki. Ovo izbjegava sukobe u vašem terminalu.
+
Prema zadanim postavkama, `ctrl+x` je vodeća tipka i većina radnji zahtijeva da prvo pritisnete vodeću tipku, a zatim i prečicu. Na primjer, da biste započeli novu sesiju, prvo pritisnite `ctrl+x`, a zatim pritisnite `n`.
+
Ne morate koristiti vodeću tipku za svoje veze tipki, ali preporučujemo da to učinite.
---
## Onemogućavanje prečica tipki
-Možete onemogućiti spajanje tipki dodavanjem ključa u svoju konfiguraciju s vrijednošću "none".
+Možete onemogućiti spajanje tipki dodavanjem ključa u `tui.json` s vrijednošću "none".
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {
"session_compact": "none"
}
diff --git a/packages/web/src/content/docs/bs/lsp.mdx b/packages/web/src/content/docs/bs/lsp.mdx
index 463d9a0ad..8f52f3bf6 100644
--- a/packages/web/src/content/docs/bs/lsp.mdx
+++ b/packages/web/src/content/docs/bs/lsp.mdx
@@ -8,40 +8,43 @@ OpenCode se integriše sa vašim Language Server Protocol (LSP) serverima kako b
## Ugrađeni
OpenCode dolazi sa nekoliko ugrađenih LSP servera za popularne jezike:
-| LSP server | Ekstenzije | Zahtjevi
-|------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------ |
-| astro | .astro | Automatske instalacije za Astro projekte |
-| bash | .sh, .bash, .zsh, .ksh | Automatski instalira bash-language-server |
-| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Automatske instalacije za C/C++ projekte |
-| csharp | .cs | `.NET SDK` instaliran |
-| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` komanda dostupna |
-| dart | .dart | `dart` komanda dostupna |
-| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` komanda dostupna (automatski detektuje deno.json/deno.jsonc) |
-| elixir-ls | .ex, .exs | `elixir` komanda dostupna |
-| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` ovisnost u projektu |
-| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instaliran |
-| gleam | .bleam | `gleam` komanda dostupna |
-| gopls | .go | `go` komanda dostupna |
-| hls | .hs, .lhs | `haskell-language-server-wrapper` komanda dostupna |
-| jdtls | .java | `Java SDK (version 21+)` instaliran |
-| kotlin-ls | .kt, .kts | Automatske instalacije za Kotlin projekte |
-| lua-ls | .lua | Automatske instalacije za Lua projekte |
-| nixd | .nix | `nixd` komanda dostupna |
-| ocaml-lsp | .ml, .mli | `ocamllsp` komanda dostupna |
-| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` zavisnost u projektu |
-| php intelephense | .php | Automatske instalacije za PHP projekte |
-| prisma | .prisma | `prisma` komanda dostupna |
-| pyright | .py, .pyi | `pyright` ovisnost instalirana |
-| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` i `gem` komande dostupne |
-| rust | .rs | `rust-analyzer` komanda dostupna |
-| sourcekit-lsp | .swift, .objc, .objcpp | `swift` instaliran (`xcode` na macOS-u) |
-| svelte | .svelte | Automatske instalacije za Svelte projekte |
-| terraform | .tf, .tfvars | Automatske instalacije iz GitHub izdanja |
-| tinymist | .typ, .typc | Automatske instalacije iz GitHub izdanja |
-| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` zavisnost u projektu |
-| vue | .vue | Automatske instalacije za Vue projekte |
-| yaml-ls | .yaml, .yml | Automatski instalira Red Hat yaml-language-server |
-| zls | .zig, .zon | `zig` komanda dostupna |
+
+| LSP server | Ekstenzije | Zahtjevi |
+| ------------------ | ------------------------------------------------------------------- | -------------------------------------------------------- |
+| astro | .astro | Automatske instalacije za Astro projekte |
+| bash | .sh, .bash, .zsh, .ksh | Automatski instalira bash-language-server |
+| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Automatske instalacije za C/C++ projekte |
+| csharp | .cs | `.NET SDK` instaliran |
+| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` komanda dostupna |
+| dart | .dart | `dart` komanda dostupna |
+| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` komanda dostupna (automatski detektuje deno.json) |
+| elixir-ls | .ex, .exs | `elixir` komanda dostupna |
+| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` ovisnost u projektu |
+| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` instaliran |
+| gleam | .gleam | `gleam` komanda dostupna |
+| gopls | .go | `go` komanda dostupna |
+| hls | .hs, .lhs | `haskell-language-server-wrapper` komanda dostupna |
+| jdtls | .java | `Java SDK (version 21+)` instaliran |
+| julials | .jl | `julia` i `LanguageServer.jl` instalirani |
+| kotlin-ls | .kt, .kts | Automatske instalacije za Kotlin projekte |
+| lua-ls | .lua | Automatske instalacije za Lua projekte |
+| nixd | .nix | `nixd` komanda dostupna |
+| ocaml-lsp | .ml, .mli | `ocamllsp` komanda dostupna |
+| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` zavisnost u projektu |
+| php intelephense | .php | Automatske instalacije za PHP projekte |
+| prisma | .prisma | `prisma` komanda dostupna |
+| pyright | .py, .pyi | `pyright` ovisnost instalirana |
+| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` i `gem` komande dostupne |
+| rust | .rs | `rust-analyzer` komanda dostupna |
+| sourcekit-lsp | .swift, .objc, .objcpp | `swift` instaliran (`xcode` na macOS-u) |
+| svelte | .svelte | Automatske instalacije za Svelte projekte |
+| terraform | .tf, .tfvars | Automatske instalacije iz GitHub izdanja |
+| tinymist | .typ, .typc | Automatske instalacije iz GitHub izdanja |
+| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` zavisnost u projektu |
+| vue | .vue | Automatske instalacije za Vue projekte |
+| yaml-ls | .yaml, .yml | Automatski instalira Red Hat yaml-language-server |
+| zls | .zig, .zon | `zig` komanda dostupna |
+
LSP serveri su automatski omogućeni kada se otkrije jedna od gore navedenih ekstenzija datoteke i zahtjevi su ispunjeni.
:::note
Možete onemogućiti automatska preuzimanja LSP servera tako što ćete postaviti varijablu okruženja `OPENCODE_DISABLE_LSP_DOWNLOAD` na `true`.
@@ -70,13 +73,15 @@ Možete prilagoditi LSP servere kroz `lsp` odjeljak u vašoj opencode konfigurac
```
Svaki LSP server podržava sljedeće:
-| Svojstvo | Vrsta | Opis
-|---------------- | -------- | ------------------------------------------------- |
-| `disabled` | boolean | Postavite ovo na `true` da onemogućite LSP server |
-| `command` | string[] | Naredba za pokretanje LSP servera |
-| `extensions` | string[] | Ekstenzije datoteka koje ovaj LSP server treba da rukuje |
-| `env` | objekt | Varijable okruženja koje treba postaviti prilikom pokretanja servera |
-| `initialization` | objekt | Opcije inicijalizacije za slanje na LSP server |
+
+| Svojstvo | Vrsta | Opis |
+| ---------------- | -------- | -------------------------------------------------------------------- |
+| `disabled` | boolean | Postavite ovo na `true` da onemogućite LSP server |
+| `command` | string[] | Naredba za pokretanje LSP servera |
+| `extensions` | string[] | Ekstenzije datoteka koje ovaj LSP server treba da rukuje |
+| `env` | objekt | Varijable okruženja koje treba postaviti prilikom pokretanja servera |
+| `initialization` | objekt | Opcije inicijalizacije za slanje na LSP server |
+
Pogledajmo neke primjere.
---
diff --git a/packages/web/src/content/docs/bs/plugins.mdx b/packages/web/src/content/docs/bs/plugins.mdx
index 9b7e9f12b..7e046cb83 100644
--- a/packages/web/src/content/docs/bs/plugins.mdx
+++ b/packages/web/src/content/docs/bs/plugins.mdx
@@ -225,7 +225,7 @@ export const NotificationPlugin = async ({ project, client, $, directory, worktr
Koristimo `osascript` za pokretanje AppleScript-a na macOS-u. Ovdje ga koristimo za slanje obavještenja.
:::note
-Ako koristite desktop aplikaciju OpenCode, ona može automatski slati sistemske obavijesti kada je odgovor spreman ili kada dođe do greške u sesiji.
+Ako alat dodatka koristi isto ime kao ugrađeni alat, alat dodatka ima prednost.
:::
---
diff --git a/packages/web/src/content/docs/bs/providers.mdx b/packages/web/src/content/docs/bs/providers.mdx
index 2415cda27..6bdcf4577 100644
--- a/packages/web/src/content/docs/bs/providers.mdx
+++ b/packages/web/src/content/docs/bs/providers.mdx
@@ -84,6 +84,37 @@ Radi kao i svaki drugi provajder u OpenCode i potpuno je opcionalan za korišten
---
+## OpenCode Go
+
+OpenCode Go je jeftin plan pretplate koji pruža pouzdan pristup popularnim modelima otvorenog kodiranja koje pruža OpenCode tim i koji su testirani i verificirani da dobro rade s OpenCode-om.
+
+1. Pokrenite naredbu `/connect` u TUI-u, odaberite `OpenCode Go` i idite na [opencode.ai/auth](https://opencode.ai/zen).
+
+ ```txt
+ /connect
+ ```
+
+2. Prijavite se, dodajte svoje detalje naplate i kopirajte svoj API ključ.
+
+3. Zalijepite svoj API ključ.
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. Pokrenite naredbu `/models` u TUI da vidite listu modela koje preporučujemo.
+
+ ```txt
+ /models
+ ```
+
+Radi kao i svaki drugi provajder u OpenCode i potpuno je opcionalan za korištenje.
+
+---
+
## Direktorij
Pogledajmo neke od provajdera detaljno. Ako želite dodati provajdera na
@@ -1479,9 +1510,42 @@ Ove postavke su opcione i treba ih konfigurirati u skladu s vašim SAP AI Core p
5. Pokrenite naredbu `/models` da odaberete između 40+ dostupnih modela.
-```txt
+ ```txt
/models
-```
+ ```
+
+---
+
+### STACKIT
+
+STACKIT AI Model Serving pruža potpuno upravljano suvereno hosting okruženje za AI modele, fokusirajući se na LLM-ove kao što su Llama, Mistral i Qwen, uz maksimalan suverenitet podataka na evropskoj infrastrukturi.
+
+1. Idite na [STACKIT Portal](https://portal.stackit.cloud), idite na **AI Model Serving** i kreirajte token za autentifikaciju za svoj projekat.
+
+ :::tip
+ Potreban vam je STACKIT korisnički račun, korisnički nalog i projekat prije kreiranja tokena za autentifikaciju.
+ :::
+
+2. Pokrenite naredbu `/connect` i potražite **STACKIT**.
+
+ ```txt
+ /connect
+ ```
+
+3. Unesite svoj STACKIT AI Model Serving token za autentifikaciju.
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. Pokrenite naredbu `/models` da odaberete dostupne modele kao što su _Qwen3-VL 235B_ ili _Llama 3.3 70B_.
+
+ ```txt
+ /models
+ ```
---
diff --git a/packages/web/src/content/docs/bs/sdk.mdx b/packages/web/src/content/docs/bs/sdk.mdx
index fe6ab4ef1..cc9c2b3bf 100644
--- a/packages/web/src/content/docs/bs/sdk.mdx
+++ b/packages/web/src/content/docs/bs/sdk.mdx
@@ -117,6 +117,78 @@ try {
---
+## Strukturirani izlaz
+
+Možete zatražiti strukturirani JSON izlaz od modela specificiranjem `format` sa JSON šemom. Model će koristiti `StructuredOutput` alat da vrati validirani JSON koji odgovara vašoj šemi.
+
+### Osnovna upotreba
+
+```typescript
+const result = await client.session.prompt({
+ path: { id: sessionId },
+ body: {
+ parts: [{ type: "text", text: "Research Anthropic and provide company info" }],
+ format: {
+ type: "json_schema",
+ schema: {
+ type: "object",
+ properties: {
+ company: { type: "string", description: "Company name" },
+ founded: { type: "number", description: "Year founded" },
+ products: {
+ type: "array",
+ items: { type: "string" },
+ description: "Main products",
+ },
+ },
+ required: ["company", "founded"],
+ },
+ },
+ },
+})
+
+// Access the structured output
+console.log(result.data.info.structured_output)
+// { company: "Anthropic", founded: 2021, products: ["Claude", "Claude API"] }
+```
+
+### Tipovi formata izlaza
+
+| Tip | Opis |
+| ------------- | ------------------------------------------------------------------- |
+| `text` | Default. Standardni tekstualni odgovor (nema strukturiranog izlaza) |
+| `json_schema` | Vraća validirani JSON koji odgovara pruženoj šemi |
+
+### Format JSON šeme
+
+Kada koristite `type: 'json_schema'`, navedite:
+
+| Polje | Tip | Opis |
+| ------------ | --------------- | ----------------------------------------------------------- |
+| `type` | `'json_schema'` | Obavezno. Određuje JSON schema način rada |
+| `schema` | `object` | Obavezno. JSON Schema objekt koji definira strukturu izlaza |
+| `retryCount` | `number` | Opcionalno. Broj ponovnih pokušaja validacije (default: 2) |
+
+### Rukovanje greškama
+
+Ako model ne uspije proizvesti validan strukturirani izlaz nakon svih ponovnih pokušaja, odgovor će uključivati `StructuredOutputError`:
+
+```typescript
+if (result.data.info.error?.name === "StructuredOutputError") {
+ console.error("Failed to produce structured output:", result.data.info.error.message)
+ console.error("Attempts:", result.data.info.error.retries)
+}
+```
+
+### Najbolje prakse
+
+1. **Navedite jasne opise** u svojstvima vaše šeme kako biste pomogli modelu da razumije koje podatke treba izdvojiti
+2. **Koristite `required`** da odredite koja polja moraju biti prisutna
+3. **Držite šeme fokusiranim** - složene ugniježđene šeme modelu mogu biti teže za ispravno popunjavanje
+4. **Postavite odgovarajući `retryCount`** - povećajte za složene šeme, smanjite za jednostavne
+
+---
+
## API-ji
SDK izlaže sve server API-je kroz type-safe klijent.
@@ -226,27 +298,27 @@ const { providers, default: defaults } = await client.config.providers()
### Sesije
-| Metoda | Opis | Napomene |
-| ---------------------------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| `session.list()` | List sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `session.get({ path })` | Get session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.children({ path })` | List child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `session.create({ body })` | Create session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.delete({ path })` | Delete session | Returns `boolean` |
-| `session.update({ path, body })` | Update session properties | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` |
-| `session.abort({ path })` | Abort a running session | Returns `boolean` |
-| `session.share({ path })` | Share session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.unshare({ path })` | Unshare session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.summarize({ path, body })` | Summarize session | Returns `boolean` |
-| `session.messages({ path })` | List messages in a session | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
-| `session.message({ path })` | Get message details | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.prompt({ path, body })` | Send prompt message | `body.noReply: true` returns UserMessage (context only). Default returns <a href={typesUrl}><code>AssistantMessage</code></a> with AI response |
-| `session.command({ path, body })` | Send command to session | Returns `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.shell({ path, body })` | Run a shell command | Returns <a href={typesUrl}><code>AssistantMessage</code></a> |
-| `session.revert({ path, body })` | Revert a message | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.unrevert({ path })` | Restore reverted messages | Returns <a href={typesUrl}><code>Session</code></a> |
-| `postSessionByIdPermissionsByPermissionId({ path, body })` | Respond to a permission request | Returns `boolean` |
+| Metoda | Opis | Napomene |
+| ---------------------------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `session.list()` | List sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `session.get({ path })` | Get session | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.children({ path })` | List child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `session.create({ body })` | Create session | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.delete({ path })` | Delete session | Returns `boolean` |
+| `session.update({ path, body })` | Update session properties | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.init({ path, body })` | Analyze app and create `AGENTS.md` | Returns `boolean` |
+| `session.abort({ path })` | Abort a running session | Returns `boolean` |
+| `session.share({ path })` | Share session | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.unshare({ path })` | Unshare session | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.summarize({ path, body })` | Summarize session | Returns `boolean` |
+| `session.messages({ path })` | List messages in a session | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
+| `session.message({ path })` | Get message details | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.prompt({ path, body })` | Send prompt message | `body.noReply: true` returns UserMessage (context only). Default returns <a href={typesUrl}><code>AssistantMessage</code></a> with AI response. Supports `body.outputFormat` for [structured output](#strukturirani-izlaz) |
+| `session.command({ path, body })` | Send command to session | Returns `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.shell({ path, body })` | Run a shell command | Returns <a href={typesUrl}><code>AssistantMessage</code></a> |
+| `session.revert({ path, body })` | Revert a message | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.unrevert({ path })` | Restore reverted messages | Returns <a href={typesUrl}><code>Session</code></a> |
+| `postSessionByIdPermissionsByPermissionId({ path, body })` | Respond to a permission request | Returns `boolean` |
---
diff --git a/packages/web/src/content/docs/bs/server.mdx b/packages/web/src/content/docs/bs/server.mdx
index 7d270fb4a..5237873d5 100644
--- a/packages/web/src/content/docs/bs/server.mdx
+++ b/packages/web/src/content/docs/bs/server.mdx
@@ -86,116 +86,116 @@ opencode server izlaže sljedece API-je.
### Globalno
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ---------------- | ------------------------------ | ------------------------------------ |
-| `GET` | `/global/health` | Get server health and version | `{ healthy: true, version: string }` |
-| `GET` | `/global/event` | Get global events (SSE stream) | Event stream |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ---------------- | ----------------------------------- | ------------------------------------ |
+| `GET` | `/global/health` | Dohvati zdravlje i verziju servera | `{ healthy: true, version: string }` |
+| `GET` | `/global/event` | Dohvati globalne događaje (SSE tok) | Event stream |
---
### Projekt
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------------------ | ----------------------- | --------------------------------------------- |
-| `GET` | `/project` | List all projects | <a href={typesUrl}><code>Project[]</code></a> |
-| `GET` | `/project/current` | Get the current project | <a href={typesUrl}><code>Project</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------------------ | ------------------------ | --------------------------------------------- |
+| `GET` | `/project` | Izlistaj sve projekte | <a href={typesUrl}><code>Project[]</code></a> |
+| `GET` | `/project/current` | Dohvati trenutni projekt | <a href={typesUrl}><code>Project</code></a> |
---
### Putanja i VCS
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------- | ------------------------------------ | ------------------------------------------- |
-| `GET` | `/path` | Get the current path | <a href={typesUrl}><code>Path</code></a> |
-| `GET` | `/vcs` | Get VCS info for the current project | <a href={typesUrl}><code>VcsInfo</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------- | ------------------------------------------- | ------------------------------------------- |
+| `GET` | `/path` | Dohvati trenutnu putanju | <a href={typesUrl}><code>Path</code></a> |
+| `GET` | `/vcs` | Dohvati VCS informacije za trenutni projekt | <a href={typesUrl}><code>VcsInfo</code></a> |
---
### Instanca
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------------------- | ---------------------------- | --------- |
-| `POST` | `/instance/dispose` | Dispose the current instance | `boolean` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------------------- | ----------------------- | --------- |
+| `POST` | `/instance/dispose` | Ugasi trenutnu instancu | `boolean` |
---
### Konfiguracija
-| Metoda | Putanja | Opis | Odgovor |
-| ------- | ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
-| `GET` | `/config` | Get config info | <a href={typesUrl}><code>Config</code></a> |
-| `PATCH` | `/config` | Update config | <a href={typesUrl}><code>Config</code></a> |
-| `GET` | `/config/providers` | List providers and default models | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------- | ------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------- |
+| `GET` | `/config` | Dohvati informacije o konfiguraciji | <a href={typesUrl}><code>Config</code></a> |
+| `PATCH` | `/config` | Ažuriraj konfiguraciju | <a href={typesUrl}><code>Config</code></a> |
+| `GET` | `/config/providers` | Izlistaj provajdere i zadane modele | `{ providers: `<a href={typesUrl}>Provider[]</a>`, default: { [key: string]: string } }` |
---
### Provajder
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | -------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------- |
-| `GET` | `/provider` | List all providers | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
-| `GET` | `/provider/auth` | Get provider authentication methods | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
-| `POST` | `/provider/{id}/oauth/authorize` | Authorize a provider using OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
-| `POST` | `/provider/{id}/oauth/callback` | Handle OAuth callback for a provider | `boolean` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | -------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------------- |
+| `GET` | `/provider` | Izlistaj sve provajdere | `{ all: `<a href={typesUrl}>Provider[]</a>`, default: {...}, connected: string[] }` |
+| `GET` | `/provider/auth` | Dohvati metode autentifikacije provajdera | `{ [providerID: string]: `<a href={typesUrl}>ProviderAuthMethod[]</a>` }` |
+| `POST` | `/provider/{id}/oauth/authorize` | Autoriziraj provajdera koristeći OAuth | <a href={typesUrl}><code>ProviderAuthAuthorization</code></a> |
+| `POST` | `/provider/{id}/oauth/callback` | Obradi OAuth povratni poziv za provajdera | `boolean` |
---
### Sesije
-| Metoda | Putanja | Opis | Napomene |
-| -------- | ---------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------- |
-| `GET` | `/session` | List all sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `POST` | `/session` | Create a new session | body: `{ parentID?, title? }`, returns <a href={typesUrl}><code>Session</code></a> |
-| `GET` | `/session/status` | Get session status for all sessions | Returns `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
-| `GET` | `/session/:id` | Get session details | Returns <a href={typesUrl}><code>Session</code></a> |
-| `DELETE` | `/session/:id` | Delete a session and all its data | Returns `boolean` |
-| `PATCH` | `/session/:id` | Update session properties | body: `{ title? }`, returns <a href={typesUrl}><code>Session</code></a> |
-| `GET` | `/session/:id/children` | Get a session's child sessions | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `GET` | `/session/:id/todo` | Get the todo list for a session | Returns <a href={typesUrl}><code>Todo[]</code></a> |
-| `POST` | `/session/:id/init` | Analyze app and create `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
-| `POST` | `/session/:id/fork` | Fork an existing session at a message | body: `{ messageID? }`, returns <a href={typesUrl}><code>Session</code></a> |
-| `POST` | `/session/:id/abort` | Abort a running session | Returns `boolean` |
-| `POST` | `/session/:id/share` | Share a session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `DELETE` | `/session/:id/share` | Unshare a session | Returns <a href={typesUrl}><code>Session</code></a> |
-| `GET` | `/session/:id/diff` | Get the diff for this session | query: `messageID?`, returns <a href={typesUrl}><code>FileDiff[]</code></a> |
-| `POST` | `/session/:id/summarize` | Summarize the session | body: `{ providerID, modelID }`, returns `boolean` |
-| `POST` | `/session/:id/revert` | Revert a message | body: `{ messageID, partID? }`, returns `boolean` |
-| `POST` | `/session/:id/unrevert` | Restore all reverted messages | Returns `boolean` |
-| `POST` | `/session/:id/permissions/:permissionID` | Respond to a permission request | body: `{ response, remember? }`, returns `boolean` |
+| Metoda | Putanja | Opis | Napomene |
+| -------- | ---------------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------- |
+| `GET` | `/session` | Izlistaj sve sesije | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `POST` | `/session` | Kreiraj novu sesiju | body: `{ parentID?, title? }`, returns <a href={typesUrl}><code>Session</code></a> |
+| `GET` | `/session/status` | Dohvati status sesije za sve sesije | Returns `{ [sessionID: string]: `<a href={typesUrl}>SessionStatus</a>` }` |
+| `GET` | `/session/:id` | Dohvati detalje sesije | Returns <a href={typesUrl}><code>Session</code></a> |
+| `DELETE` | `/session/:id` | Obriši sesiju i sve njene podatke | Returns `boolean` |
+| `PATCH` | `/session/:id` | Ažuriraj svojstva sesije | body: `{ title? }`, returns <a href={typesUrl}><code>Session</code></a> |
+| `GET` | `/session/:id/children` | Dohvati pod-sesije sesije | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `GET` | `/session/:id/todo` | Dohvati listu zadataka za sesiju | Returns <a href={typesUrl}><code>Todo[]</code></a> |
+| `POST` | `/session/:id/init` | Analiziraj aplikaciju i kreiraj `AGENTS.md` | body: `{ messageID, providerID, modelID }`, returns `boolean` |
+| `POST` | `/session/:id/fork` | Granaj postojeću sesiju na poruci | body: `{ messageID? }`, returns <a href={typesUrl}><code>Session</code></a> |
+| `POST` | `/session/:id/abort` | Prekini sesiju u toku | Returns `boolean` |
+| `POST` | `/session/:id/share` | Podijeli sesiju | Returns <a href={typesUrl}><code>Session</code></a> |
+| `DELETE` | `/session/:id/share` | Prestani dijeliti sesiju | Returns <a href={typesUrl}><code>Session</code></a> |
+| `GET` | `/session/:id/diff` | Dohvati razlike za ovu sesiju | query: `messageID?`, returns <a href={typesUrl}><code>FileDiff[]</code></a> |
+| `POST` | `/session/:id/summarize` | Rezimiraj sesiju | body: `{ providerID, modelID }`, returns `boolean` |
+| `POST` | `/session/:id/revert` | Vrati poruku | body: `{ messageID, partID? }`, returns `boolean` |
+| `POST` | `/session/:id/unrevert` | Vrati sve vraćene poruke | Returns `boolean` |
+| `POST` | `/session/:id/permissions/:permissionID` | Odgovori na zahtjev za dozvolu | body: `{ response, remember? }`, returns `boolean` |
---
### Poruke
-| Metoda | Putanja | Opis | Napomene |
-| ------ | --------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `GET` | `/session/:id/message` | List messages in a session | query: `limit?`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
-| `POST` | `/session/:id/message` | Send a message and wait for response | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
-| `GET` | `/session/:id/message/:messageID` | Get message details | Returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
-| `POST` | `/session/:id/prompt_async` | Send a message asynchronously (no wait) | body: same as `/session/:id/message`, returns `204 No Content` |
-| `POST` | `/session/:id/command` | Execute a slash command | body: `{ messageID?, agent?, model?, command, arguments }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
-| `POST` | `/session/:id/shell` | Run a shell command | body: `{ agent, model?, command }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
+| Metoda | Putanja | Opis | Napomene |
+| ------ | --------------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `GET` | `/session/:id/message` | Izlistaj poruke u sesiji | query: `limit?`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}[]` |
+| `POST` | `/session/:id/message` | Pošalji poruku i čekaj odgovor | body: `{ messageID?, model?, agent?, noReply?, system?, tools?, parts }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
+| `GET` | `/session/:id/message/:messageID` | Dohvati detalje poruke | Returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
+| `POST` | `/session/:id/prompt_async` | Pošalji poruku asinkrono (bez čekanja) | body: same as `/session/:id/message`, returns `204 No Content` |
+| `POST` | `/session/:id/command` | Izvrši slash naredbu | body: `{ messageID?, agent?, model?, command, arguments }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
+| `POST` | `/session/:id/shell` | Pokreni shell naredbu | body: `{ agent, model?, command }`, returns `{ info: `<a href={typesUrl}>Message</a>`, parts: `<a href={typesUrl}>Part[]</a>`}` |
---
### Naredbe
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ---------- | ----------------- | --------------------------------------------- |
-| `GET` | `/command` | List all commands | <a href={typesUrl}><code>Command[]</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ---------- | -------------------- | --------------------------------------------- |
+| `GET` | `/command` | Izlistaj sve naredbe | <a href={typesUrl}><code>Command[]</code></a> |
---
### Datoteke
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------------------------ | ---------------------------------- | ------------------------------------------------------------------------------------------- |
-| `GET` | `/find?pattern=<pat>` | Search for text in files | Array of match objects with `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
-| `GET` | `/find/file?query=<q>` | Find files and directories by name | `string[]` (paths) |
-| `GET` | `/find/symbol?query=<q>` | Find workspace symbols | <a href={typesUrl}><code>Symbol[]</code></a> |
-| `GET` | `/file?path=<path>` | List files and directories | <a href={typesUrl}><code>FileNode[]</code></a> |
-| `GET` | `/file/content?path=<p>` | Read a file | <a href={typesUrl}><code>FileContent</code></a> |
-| `GET` | `/file/status` | Get status for tracked files | <a href={typesUrl}><code>File[]</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------------------------ | --------------------------------------- | ------------------------------------------------------------------------------------------- |
+| `GET` | `/find?pattern=<pat>` | Traži tekst u datotekama | Array of match objects with `path`, `lines`, `line_number`, `absolute_offset`, `submatches` |
+| `GET` | `/find/file?query=<q>` | Pronađi datoteke i direktorije po imenu | `string[]` (paths) |
+| `GET` | `/find/symbol?query=<q>` | Pronađi simbole radnog prostora | <a href={typesUrl}><code>Symbol[]</code></a> |
+| `GET` | `/file?path=<path>` | Izlistaj datoteke i direktorije | <a href={typesUrl}><code>FileNode[]</code></a> |
+| `GET` | `/file/content?path=<p>` | Pročitaj datoteku | <a href={typesUrl}><code>FileContent</code></a> |
+| `GET` | `/file/status` | Dohvati status za praćene datoteke | <a href={typesUrl}><code>File[]</code></a> |
#### `/find/file` parametri upita
@@ -209,10 +209,10 @@ opencode server izlaže sljedece API-je.
### Alati (Eksperimentalno)
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
-| `GET` | `/experimental/tool/ids` | List all tool IDs | <a href={typesUrl}><code>ToolIDs</code></a> |
-| `GET` | `/experimental/tool?provider=<p>&model=<m>` | List tools with JSON schemas for a model | <a href={typesUrl}><code>ToolList</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------------------------------------------- | -------------------------------------- | -------------------------------------------- |
+| `GET` | `/experimental/tool/ids` | Izlistaj sve ID-ove alata | <a href={typesUrl}><code>ToolIDs</code></a> |
+| `GET` | `/experimental/tool?provider=<p>&model=<m>` | Izlistaj alate sa JSON šemama za model | <a href={typesUrl}><code>ToolList</code></a> |
---
@@ -220,65 +220,65 @@ opencode server izlaže sljedece API-je.
| Metoda | Putanja | Opis | Odgovor |
| ------ | ------------ | -------------------------- | -------------------------------------------------------- |
-| `GET` | `/lsp` | Get LSP server status | <a href={typesUrl}><code>LSPStatus[]</code></a> |
-| `GET` | `/formatter` | Get formatter status | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
-| `GET` | `/mcp` | Get MCP server status | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
-| `POST` | `/mcp` | Add MCP server dynamically | body: `{ name, config }`, returns MCP status object |
+| `GET` | `/lsp` | Dohvati status LSP servera | <a href={typesUrl}><code>LSPStatus[]</code></a> |
+| `GET` | `/formatter` | Dohvati status formatera | <a href={typesUrl}><code>FormatterStatus[]</code></a> |
+| `GET` | `/mcp` | Dohvati status MCP servera | `{ [name: string]: `<a href={typesUrl}>MCPStatus</a>` }` |
+| `POST` | `/mcp` | Dodaj MCP server dinamički | body: `{ name, config }`, returns MCP status object |
---
### Agenti
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | -------- | ------------------------- | ------------------------------------------- |
-| `GET` | `/agent` | List all available agents | <a href={typesUrl}><code>Agent[]</code></a> |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | -------- | ---------------------------- | ------------------------------------------- |
+| `GET` | `/agent` | Izlistaj sve dostupne agente | <a href={typesUrl}><code>Agent[]</code></a> |
---
### Bilježenje
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------- | ------------------------------------------------------------ | --------- |
-| `POST` | `/log` | Write log entry. Body: `{ service, level, message, extra? }` | `boolean` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------- | ------------------------------------------------------------------- | --------- |
+| `POST` | `/log` | Upiši zapis dnevnika. Tijelo: `{ service, level, message, extra? }` | `boolean` |
---
### TUI
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ----------------------- | ------------------------------------------- | ---------------------- |
-| `POST` | `/tui/append-prompt` | Append text to the prompt | `boolean` |
-| `POST` | `/tui/open-help` | Open the help dialog | `boolean` |
-| `POST` | `/tui/open-sessions` | Open the session selector | `boolean` |
-| `POST` | `/tui/open-themes` | Open the theme selector | `boolean` |
-| `POST` | `/tui/open-models` | Open the model selector | `boolean` |
-| `POST` | `/tui/submit-prompt` | Submit the current prompt | `boolean` |
-| `POST` | `/tui/clear-prompt` | Clear the prompt | `boolean` |
-| `POST` | `/tui/execute-command` | Execute a command (`{ command }`) | `boolean` |
-| `POST` | `/tui/show-toast` | Show toast (`{ title?, message, variant }`) | `boolean` |
-| `GET` | `/tui/control/next` | Wait for the next control request | Control request object |
-| `POST` | `/tui/control/response` | Respond to a control request (`{ body }`) | `boolean` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ----------------------- | -------------------------------------------------------- | ---------------------- |
+| `POST` | `/tui/append-prompt` | Dodaj tekst na prompt | `boolean` |
+| `POST` | `/tui/open-help` | Otvori dijalog za pomoć | `boolean` |
+| `POST` | `/tui/open-sessions` | Otvori selektor sesija | `boolean` |
+| `POST` | `/tui/open-themes` | Otvori selektor tema | `boolean` |
+| `POST` | `/tui/open-models` | Otvori selektor modela | `boolean` |
+| `POST` | `/tui/submit-prompt` | Pošalji trenutni prompt | `boolean` |
+| `POST` | `/tui/clear-prompt` | Očisti prompt | `boolean` |
+| `POST` | `/tui/execute-command` | Izvrši naredbu (`{ command }`) | `boolean` |
+| `POST` | `/tui/show-toast` | Prikaži toast obavijest (`{ title?, message, variant }`) | `boolean` |
+| `GET` | `/tui/control/next` | Čekaj sljedeći kontrolni zahtjev | Control request object |
+| `POST` | `/tui/control/response` | Odgovori na kontrolni zahtjev (`{ body }`) | `boolean` |
---
### Autentifikacija
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ----------- | --------------------------------------------------------------- | --------- |
-| `PUT` | `/auth/:id` | Set authentication credentials. Body must match provider schema | `boolean` |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ----------- | ------------------------------------------------------------------------------- | --------- |
+| `PUT` | `/auth/:id` | Postavi autentifikacijske vjerodajnice. Tijelo mora odgovarati shemi provajdera | `boolean` |
---
### Događaji
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | -------- | ----------------------------------------------------------------------------- | ------------------------- |
-| `GET` | `/event` | Server-sent events stream. First event is `server.connected`, then bus events | Server-sent events stream |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | -------- | -------------------------------------------------------------------------------------- | ------------------------- |
+| `GET` | `/event` | Tok događaja koje šalje server. Prvi događaj je `server.connected`, zatim bus događaji | Server-sent events stream |
---
### Dokumentacija
-| Metoda | Putanja | Opis | Odgovor |
-| ------ | ------- | ------------------------- | --------------------------- |
-| `GET` | `/doc` | OpenAPI 3.1 specification | HTML page with OpenAPI spec |
+| Metoda | Putanja | Opis | Odgovor |
+| ------ | ------- | ------------------------- | --------------------------------------- |
+| `GET` | `/doc` | OpenAPI 3.1 specifikacija | HTML stranica sa OpenAPI specifikacijom |
diff --git a/packages/web/src/content/docs/bs/themes.mdx b/packages/web/src/content/docs/bs/themes.mdx
index a513e5a20..edb17e6fa 100644
--- a/packages/web/src/content/docs/bs/themes.mdx
+++ b/packages/web/src/content/docs/bs/themes.mdx
@@ -61,11 +61,11 @@ System tema je za korisnike koji:
## Korištenje teme
-Temu mozete izabrati preko selektora tema komandom `/theme`. Mozete je navesti i u [configu](/docs/config).
+Temu mozete izabrati preko selektora tema komandom `/theme`. Ili je možete navesti u `tui.json`.
-```json title="opencode.json" {3}
+```json title="tui.json" {3}
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"theme": "tokyonight"
}
```
diff --git a/packages/web/src/content/docs/bs/tui.mdx b/packages/web/src/content/docs/bs/tui.mdx
index 96b075aa1..ef09a4caa 100644
--- a/packages/web/src/content/docs/bs/tui.mdx
+++ b/packages/web/src/content/docs/bs/tui.mdx
@@ -235,7 +235,7 @@ Podijelite trenutnu sesiju. [Saznajte više](/docs/share).
Navedite dostupne teme.
```bash frame="none"
-/theme
+/themes
```
**Tastatura:** `ctrl+x t`
@@ -358,24 +358,34 @@ Nekim uređivačima su potrebni argumenti komandne linije da bi se pokrenuli u n
## Konfiguracija
-Možete prilagoditi TUI ponašanje putem vašeg OpenCode konfiguracionog fajla.
+Možete prilagoditi TUI ponašanje putem `tui.json` (ili `tui.jsonc`).
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
- "tui": {
- "scroll_speed": 3,
- "scroll_acceleration": {
- "enabled": true
- }
- }
+ "$schema": "https://opencode.ai/tui.json",
+ "theme": "opencode",
+ "keybinds": {
+ "leader": "ctrl+x"
+ },
+ "scroll_speed": 3,
+ "scroll_acceleration": {
+ "enabled": true
+ },
+ "diff_style": "auto"
}
```
+Ovo je odvojeno od `opencode.json`, koji konfiguriše ponašanje servera/izvršavanja.
+
### Opcije
-- `scroll_acceleration` - ​​Omogućite ubrzanje pomicanja u macOS stilu za glatko, prirodno pomicanje. Kada je omogućeno, brzina pomicanja se povećava brzim pokretima pomicanja i ostaje precizna za sporije pokrete. **Ova postavka ima prednost nad `scroll_speed` i nadjačava je kada je omogućena.**
-- `scroll_speed` - ​​Kontrolira koliko brzo TUI skroluje kada se koriste komande za pomeranje (minimalno: `1`). Podrazumevano je `3`. **Napomena: Ovo se zanemaruje ako je `scroll_acceleration.enabled` postavljeno na `true`.**
+- `theme` - Postavlja vašu UI temu. [Saznajte više](/docs/themes).
+- `keybinds` - Prilagođava prečice na tastaturi. [Saznajte više](/docs/keybinds).
+- `scroll_acceleration.enabled` - ​​Omogućite ubrzanje pomicanja u macOS stilu za glatko, prirodno pomicanje. Kada je omogućeno, brzina pomicanja se povećava brzim pokretima pomicanja i ostaje precizna za sporije pokrete. **Ova postavka ima prednost nad `scroll_speed` i nadjačava je kada je omogućena.**
+- `scroll_speed` - ​​Kontrolira koliko brzo TUI skroluje kada se koriste komande za pomeranje (minimum: `0.001`, podržava decimalne vrijednosti). Podrazumevano je `3`. **Napomena: Ovo se zanemaruje ako je `scroll_acceleration.enabled` postavljeno na `true`.**
+- `diff_style` - Kontrolira prikazivanje razlike. `"auto"` se prilagođava širini terminala, `"stacked"` uvijek prikazuje raspored u jednoj koloni.
+
+Koristite `OPENCODE_TUI_CONFIG` da učitate prilagođenu putanju TUI konfiguracije.
---
diff --git a/packages/web/src/content/docs/bs/zen.mdx b/packages/web/src/content/docs/bs/zen.mdx
index f97333708..c7aeab0c7 100644
--- a/packages/web/src/content/docs/bs/zen.mdx
+++ b/packages/web/src/content/docs/bs/zen.mdx
@@ -3,7 +3,7 @@ title: Zen
description: Kurirana lista modela koje nudi OpenCode.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const console = config.console
export const email = `mailto:${config.email}`
@@ -55,6 +55,7 @@ Nasim modelima mozete pristupiti i preko sljedecih API endpointa.
| Model | Model ID | Endpoint | AI SDK Package |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
+| GPT 5.3 Codex | gpt-5.3-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 | gpt-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.2 Codex | gpt-5.2-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
@@ -64,22 +65,24 @@ Nasim modelima mozete pristupiti i preko sljedecih API endpointa.
| GPT 5 | gpt-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Codex | gpt-5-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5 Nano | gpt-5-nano | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
+| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Pro | gemini-3-pro | `https://opencode.ai/zen/v1/models/gemini-3-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
+| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M2.5 Free | minimax-m2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.1 | minimax-m2.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| MiniMax M2.1 Free | minimax-m2.1-free | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.7 | glm-4.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
-| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 Thinking | kimi-k2-thinking | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2 | kimi-k2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Qwen3 Coder 480B | qwen3-coder | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -106,29 +109,34 @@ Podrzavamo pay-as-you-go model. Ispod su cijene **po 1M tokena**.
| Model | Input | Output | Cached Read | Cached Write |
| --------------------------------- | ------ | ------ | ----------- | ------------ |
| Big Pickle | Free | Free | Free | - |
-| MiniMax M2.1 Free | Free | Free | Free | - |
+| MiniMax M2.5 Free | Free | Free | Free | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
-| GLM 4.7 Free | Free | Free | Free | - |
+| GLM 5 | $1.00 | $3.20 | $0.20 | - |
| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
-| Kimi K2.5 Free | Free | Free | Free | - |
| Kimi K2.5 | $0.60 | $3.00 | $0.08 | - |
| Kimi K2 Thinking | $0.40 | $2.50 | - | - |
| Kimi K2 | $0.40 | $2.50 | - | - |
| Qwen3 Coder 480B | $0.45 | $1.50 | - | - |
+| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
+| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
+| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
+| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 4.6 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
+| Claude Sonnet 4.6 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Claude Haiku 3.5 | $0.80 | $4.00 | $0.08 | $1.00 |
-| Claude Opus 4.6 (≤ 200K tokens) | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.6 (> 200K tokens) | $10.00 | $37.50 | $1.00 | $12.50 |
-| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
+| Gemini 3.1 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
| Gemini 3 Pro (> 200K tokens) | $4.00 | $18.00 | $0.40 | - |
| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
+| GPT 5.3 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 | $1.75 | $14.00 | $0.175 | - |
| GPT 5.2 Codex | $1.75 | $14.00 | $0.175 | - |
| GPT 5.1 | $1.07 | $8.50 | $0.107 | - |
@@ -147,10 +155,8 @@ Naknade kartica se prenose po stvarnom trosku (4.4% + $0.30 po transakciji) i ne
Besplatni modeli:
-- GLM 4.7 Free je dostupan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje feedbacka i unapredenje modela.
-- Kimi K2.5 Free je dostupan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje feedbacka i unapredenje modela.
-- MiniMax M2.1 Free je dostupan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje feedbacka i unapredenje modela.
-- Big Pickle je stealth model koji je besplatan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje feedbacka i unapredenje modela.
+- MiniMax M2.5 Free je dostupan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje povratnih informacija i poboljsanje modela.
+- Big Pickle je stealth model koji je besplatan na OpenCode ograniceno vrijeme. Tim koristi taj period za prikupljanje povratnih informacija i poboljsanje modela.
Ako imate pitanja, <a href={email}>kontaktirajte nas</a>.
@@ -177,11 +183,9 @@ Na primjer, ako postavite mjesecni limit na $20, Zen nece potrositi vise od $20
Svi nasi modeli su hostovani u SAD-u. Provajderi prate zero-retention politiku i ne koriste vase podatke za treniranje modela, uz sljedece izuzetke:
- Big Pickle: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljsanje modela.
-- GLM 4.7 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljsanje modela.
-- Kimi K2.5 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljsanje modela.
-- MiniMax M2.1 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljsanje modela.
-- OpenAI API-ji: Zahtjevi se cuvaju 30 dana prema [OpenAI Data Policies](https://platform.openai.com/docs/guides/your-data).
-- Anthropic API-ji: Zahtjevi se cuvaju 30 dana prema [Anthropic Data Policies](https://docs.anthropic.com/en/docs/claude-code/data-usage).
+- MiniMax M2.5 Free: Tokom besplatnog perioda, prikupljeni podaci mogu se koristiti za poboljsanje modela.
+- OpenAI API-ji: Zahtjevi se cuvaju 30 dana prema [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data).
+- Anthropic API-ji: Zahtjevi se cuvaju 30 dana prema [Anthropic's Data Policies](https://docs.anthropic.com/en/docs/claude-code/data-usage).
---