summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/it
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/it
parent971bd30516fb2b245f87bdf79e36bb64e72265bc (diff)
downloadopencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.tar.gz
opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.zip
chore(docs): i18n sync (#15417)
Diffstat (limited to 'packages/web/src/content/docs/it')
-rw-r--r--packages/web/src/content/docs/it/cli.mdx1
-rw-r--r--packages/web/src/content/docs/it/config.mdx59
-rw-r--r--packages/web/src/content/docs/it/custom-tools.mdx26
-rw-r--r--packages/web/src/content/docs/it/formatters.mdx55
-rw-r--r--packages/web/src/content/docs/it/keybinds.mdx12
-rw-r--r--packages/web/src/content/docs/it/lsp.mdx1
-rw-r--r--packages/web/src/content/docs/it/plugins.mdx16
-rw-r--r--packages/web/src/content/docs/it/providers.mdx35
-rw-r--r--packages/web/src/content/docs/it/sdk.mdx116
-rw-r--r--packages/web/src/content/docs/it/themes.mdx18
-rw-r--r--packages/web/src/content/docs/it/troubleshooting.mdx10
-rw-r--r--packages/web/src/content/docs/it/tui.mdx52
-rw-r--r--packages/web/src/content/docs/it/zen.mdx44
13 files changed, 301 insertions, 144 deletions
diff --git a/packages/web/src/content/docs/it/cli.mdx b/packages/web/src/content/docs/it/cli.mdx
index a97bbde1c..b35292a0a 100644
--- a/packages/web/src/content/docs/it/cli.mdx
+++ b/packages/web/src/content/docs/it/cli.mdx
@@ -558,6 +558,7 @@ OpenCode può essere configurato tramite variabili d'ambiente.
| `OPENCODE_AUTO_SHARE` | boolean | Condivide automaticamente le sessioni |
| `OPENCODE_GIT_BASH_PATH` | string | Percorso all'eseguibile Git Bash su Windows |
| `OPENCODE_CONFIG` | string | Percorso al file di configurazione |
+| `OPENCODE_TUI_CONFIG` | string | Percorso al file di configurazione TUI |
| `OPENCODE_CONFIG_DIR` | string | Percorso alla directory di configurazione |
| `OPENCODE_CONFIG_CONTENT` | string | Contenuto JSON di config inline |
| `OPENCODE_DISABLE_AUTOUPDATE` | boolean | Disabilita i controlli automatici di aggiornamento |
diff --git a/packages/web/src/content/docs/it/config.mdx b/packages/web/src/content/docs/it/config.mdx
index c94cc59a9..05741e172 100644
--- a/packages/web/src/content/docs/it/config.mdx
+++ b/packages/web/src/content/docs/it/config.mdx
@@ -14,10 +14,11 @@ OpenCode supporta sia **JSON** sia **JSONC** (JSON con commenti).
```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,
+ },
}
```
@@ -33,7 +34,7 @@ I file di configurazione vengono **uniti (merge)**, non sostituiti.
I file di configurazione vengono uniti (merge), non sostituiti. Le impostazioni provenienti dalle posizioni qui sotto vengono combinate. Le configurazioni caricate dopo sovrascrivono quelle precedenti solo per le chiavi in conflitto. Le impostazioni non in conflitto vengono preservate.
-Per esempio, se la tua configurazione globale imposta `theme: "opencode"` e `autoupdate: true`, e la configurazione del progetto imposta `model: "anthropic/claude-sonnet-4-5"`, la configurazione finale includera tutte e tre le impostazioni.
+Per esempio, se la tua configurazione globale imposta `autoupdate: true` e la configurazione del progetto imposta `model: "anthropic/claude-sonnet-4-5"`, la configurazione finale includera entrambe le impostazioni.
---
@@ -94,7 +95,9 @@ Puoi abilitare server specifici nella tua configurazione locale:
### Configurazione globale
-Metti la configurazione globale di OpenCode in `~/.config/opencode/opencode.json`. Usa la configurazione globale per preferenze valide per l'utente (ad es. temi, provider o keybind).
+Metti la configurazione globale di OpenCode in `~/.config/opencode/opencode.json`. Usa la configurazione globale per preferenze server/runtime valide per l'utente come provider, modelli e permessi.
+
+Per le impostazioni specifiche della TUI, usa `~/.config/opencode/tui.json`.
La configurazione globale sovrascrive i default remoti dell'organizzazione.
@@ -104,6 +107,8 @@ La configurazione globale sovrascrive i default remoti dell'organizzazione.
Aggiungi `opencode.json` nella root del progetto. La configurazione di progetto ha la precedenza piu alta tra i file standard: sovrascrive sia la configurazione globale sia quella remota.
+Per le impostazioni TUI specifiche del progetto, aggiungi `tui.json` nella stessa posizione.
+
:::tip
Metti la configurazione specifica del progetto nella root del progetto.
:::
@@ -144,34 +149,32 @@ La directory personalizzata viene caricata dopo la configurazione globale e le d
Il file di configurazione ha uno schema definito in [**`opencode.ai/config.json`**](https://opencode.ai/config.json).
+La configurazione TUI usa [**`opencode.ai/tui.json`**](https://opencode.ai/tui.json).
+
Il tuo editor dovrebbe poter validare e suggerire l'autocompletamento in base allo schema.
---
### TUI
-Puoi configurare impostazioni specifiche della TUI tramite l'opzione `tui`.
+Usa un file dedicato `tui.json` (o `tui.jsonc`) per le impostazioni specifiche della 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"
}
```
-Opzioni disponibili:
+Usa `OPENCODE_TUI_CONFIG` per puntare a un file di configurazione TUI personalizzato.
-- `scroll_acceleration.enabled` - Abilita l'accelerazione di scorrimento in stile macOS. **Ha precedenza su `scroll_speed`.**
-- `scroll_speed` - Moltiplicatore personalizzato della velocita di scorrimento (predefinito: `3`, minimo: `1`). Ignorato se `scroll_acceleration.enabled` e `true`.
-- `diff_style` - Controlla la resa delle diff. `"auto"` si adatta alla larghezza del terminale, `"stacked"` mostra sempre una singola colonna.
+Le chiavi legacy `theme`, `keybinds` e `tui` in `opencode.json` sono deprecate e vengono migrate automaticamente quando possibile.
-[Scopri di piu sull'uso della TUI](/docs/tui).
+[Scopri di piu sulla configurazione TUI](/docs/tui#configure).
---
@@ -297,12 +300,12 @@ I bearer token (`AWS_BEARER_TOKEN_BEDROCK` o `/connect`) hanno precedenza sull'a
### Temi
-Puoi configurare il tema da usare in OpenCode tramite l'opzione `theme`.
+Imposta il tuo tema UI in `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"
}
```
@@ -402,11 +405,11 @@ Puoi anche definire comandi usando file markdown in `~/.config/opencode/commands
### Scorciatoie
-Puoi personalizzare i keybind tramite l'opzione `keybinds`.
+Personalizza i keybind in `tui.json`.
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}
```
@@ -486,13 +489,15 @@ Puoi controllare il comportamento di compattazione del contesto tramite l'opzion
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
- "prune": true
+ "prune": true,
+ "reserved": 10000
}
}
```
- `auto` - Compatta automaticamente la sessione quando il contesto e pieno (predefinito: `true`).
- `prune` - Rimuove output vecchi degli strumenti per risparmiare token (predefinito: `true`).
+- `reserved` - Token buffer per la compattazione. Lascia abbastanza margine per evitare overflow durante la compattazione
---
diff --git a/packages/web/src/content/docs/it/custom-tools.mdx b/packages/web/src/content/docs/it/custom-tools.mdx
index 43f69c43c..a0ef1c46c 100644
--- a/packages/web/src/content/docs/it/custom-tools.mdx
+++ b/packages/web/src/content/docs/it/custom-tools.mdx
@@ -79,6 +79,32 @@ Questo crea due strumenti: `math_add` e `math_multiply`.
---
+#### Collisioni di nomi con strumenti integrati
+
+Gli strumenti personalizzati sono indicizzati per nome. Se uno strumento personalizzato usa lo stesso nome di uno strumento integrato, quello personalizzato ha la precedenza.
+
+Per esempio, questo file sostituisce lo strumento `bash` integrato:
+
+```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
+Preferisci nomi univoci a meno che tu non voglia intenzionalmente sostituire uno strumento integrato. Se vuoi disabilitare uno strumento integrato ma non sovrascriverlo, usa i [permessi](/docs/permissions).
+:::
+
+---
+
### Argomenti
Puoi usare `tool.schema`, che e semplicemente [Zod](https://zod.dev), per definire i tipi degli argomenti.
diff --git a/packages/web/src/content/docs/it/formatters.mdx b/packages/web/src/content/docs/it/formatters.mdx
index c264da3f4..58e4c60ed 100644
--- a/packages/web/src/content/docs/it/formatters.mdx
+++ b/packages/web/src/content/docs/it/formatters.mdx
@@ -11,33 +11,34 @@ OpenCode formatta automaticamente i file dopo che vengono scritti o modificati u
OpenCode include diversi formattatori integrati per linguaggi e framework popolari. Qui sotto trovi la lista dei formattatori, delle estensioni supportate e dei comandi o opzioni di config richiesti.
-| Formattatore | Estensioni | Requisiti |
-| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
-| gofmt | .go | `gofmt` command available |
-| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | `mix` command available |
-| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | `prettier` dependency in `package.json` |
-| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | `biome.json(c)` config file |
-| zig | .zig, .zon | `zig` command available |
-| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | `.clang-format` config file |
-| ktlint | .kt, .kts | `ktlint` command available |
-| ruff | .py, .pyi | `ruff` command available with config |
-| rustfmt | .rs | `rustfmt` command available |
-| cargofmt | .rs | `cargo fmt` command available |
-| uv | .py, .pyi | `uv` command available |
-| rubocop | .rb, .rake, .gemspec, .ru | `rubocop` command available |
-| standardrb | .rb, .rake, .gemspec, .ru | `standardrb` command available |
-| htmlbeautifier | .erb, .html.erb | `htmlbeautifier` command available |
-| air | .R | `air` command available |
-| dart | .dart | `dart` command available |
-| dfmt | .d | `dfmt` command available |
-| ocamlformat | .ml, .mli | `ocamlformat` command available and `.ocamlformat` config file |
-| terraform | .tf, .tfvars | `terraform` command available |
-| gleam | .gleam | `gleam` command available |
-| nixfmt | .nix | `nixfmt` command available |
-| shfmt | .sh, .bash | `shfmt` command available |
-| pint | .php | `laravel/pint` dependency in `composer.json` |
-| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | `oxfmt` dependency in `package.json` and an [experimental env variable flag](/docs/cli/#experimental) |
-| ormolu | .hs | `ormolu` command available |
+| Formattatore | Estensioni | Requisiti |
+| -------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
+| air | .R | comando `air` disponibile |
+| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://biomejs.dev/) | file di configurazione `biome.json(c)` |
+| cargofmt | .rs | comando `cargo fmt` disponibile |
+| clang-format | .c, .cpp, .h, .hpp, .ino, and [more](https://clang.llvm.org/docs/ClangFormat.html) | file di configurazione `.clang-format` |
+| cljfmt | .clj, .cljs, .cljc, .edn | comando `cljfmt` disponibile |
+| dart | .dart | comando `dart` disponibile |
+| dfmt | .d | comando `dfmt` disponibile |
+| gleam | .gleam | comando `gleam` disponibile |
+| gofmt | .go | comando `gofmt` disponibile |
+| htmlbeautifier | .erb, .html.erb | comando `htmlbeautifier` disponibile |
+| ktlint | .kt, .kts | comando `ktlint` disponibile |
+| mix | .ex, .exs, .eex, .heex, .leex, .neex, .sface | comando `mix` disponibile |
+| nixfmt | .nix | comando `nixfmt` disponibile |
+| ocamlformat | .ml, .mli | comando `ocamlformat` disponibile e file di configurazione `.ocamlformat` |
+| ormolu | .hs | comando `ormolu` disponibile |
+| oxfmt (Experimental) | .js, .jsx, .ts, .tsx | dipendenza `oxfmt` in `package.json` e una [flag variabile d'ambiente sperimentale](/docs/cli/#experimental) |
+| pint | .php | dipendenza `laravel/pint` in `composer.json` |
+| prettier | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, and [more](https://prettier.io/docs/en/index.html) | dipendenza `prettier` in `package.json` |
+| rubocop | .rb, .rake, .gemspec, .ru | comando `rubocop` disponibile |
+| ruff | .py, .pyi | comando `ruff` disponibile con config |
+| rustfmt | .rs | comando `rustfmt` disponibile |
+| shfmt | .sh, .bash | comando `shfmt` disponibile |
+| standardrb | .rb, .rake, .gemspec, .ru | comando `standardrb` disponibile |
+| terraform | .tf, .tfvars | comando `terraform` disponibile |
+| uv | .py, .pyi | comando `uv` disponibile |
+| zig | .zig, .zon | comando `zig` disponibile |
Quindi, se il progetto ha `prettier` in `package.json`, OpenCode lo usera automaticamente.
diff --git a/packages/web/src/content/docs/it/keybinds.mdx b/packages/web/src/content/docs/it/keybinds.mdx
index eb08c2c28..548805e6b 100644
--- a/packages/web/src/content/docs/it/keybinds.mdx
+++ b/packages/web/src/content/docs/it/keybinds.mdx
@@ -3,11 +3,11 @@ title: Scorciatoie
description: Personalizza le scorciatoie da tastiera.
---
-OpenCode ha una lista di scorciatoie che puoi personalizzare tramite la configurazione di OpenCode.
+OpenCode ha una lista di scorciatoie che puoi personalizzare tramite `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",
@@ -117,11 +117,11 @@ Non sei obbligato a usare un tasto leader per le scorciatoie, ma lo consigliamo.
## Disabilitare una scorciatoia
-Puoi disabilitare una scorciatoia aggiungendo la chiave nella configurazione con valore "none".
+Puoi disabilitare una scorciatoia aggiungendo la chiave in `tui.json` con valore "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/it/lsp.mdx b/packages/web/src/content/docs/it/lsp.mdx
index 765475dba..a21133b14 100644
--- a/packages/web/src/content/docs/it/lsp.mdx
+++ b/packages/web/src/content/docs/it/lsp.mdx
@@ -27,6 +27,7 @@ OpenCode include diversi server LSP integrati per linguaggi popolari:
| gopls | .go | comando `go` disponibile |
| hls | .hs, .lhs | comando `haskell-language-server-wrapper` disponibile |
| jdtls | .java | `Java SDK (version 21+)` installato |
+| julials | .jl | `julia` e `LanguageServer.jl` installati |
| kotlin-ls | .kt, .kts | Installazione automatica per progetti Kotlin |
| lua-ls | .lua | Installazione automatica per progetti Lua |
| nixd | .nix | comando `nixd` disponibile |
diff --git a/packages/web/src/content/docs/it/plugins.mdx b/packages/web/src/content/docs/it/plugins.mdx
index ea73f40ff..3fc22a78c 100644
--- a/packages/web/src/content/docs/it/plugins.mdx
+++ b/packages/web/src/content/docs/it/plugins.mdx
@@ -3,7 +3,7 @@ title: Plugin
description: Scrivi plugin per estendere OpenCode.
---
-I plugin ti permettono di estendere OpenCode agganciandoti a vari eventi e personalizzando il comportamento. Puoi creare plugin per aggiungere nuove funzionalita', integrare servizi esterni o modificare il comportamento predefinito di OpenCode.
+I plugin ti permettono di estendere OpenCode agganciandoti a vari eventi e personalizzando il comportamento. Puoi creare plugin per aggiungere nuove funzionalità, integrare servizi esterni o modificare il comportamento predefinito di OpenCode.
Per esempi, dai un'occhiata ai [plugin](/docs/ecosystem#plugins) creati dalla community.
@@ -53,7 +53,7 @@ I **plugin locali** vengono caricati direttamente dalla directory dei plugin. Pe
### Ordine di caricamento
-I plugin vengono caricati da tutte le sorgenti e tutti gli hook vengono eseguiti in sequenza. L'ordine di caricamento e':
+I plugin vengono caricati da tutte le sorgenti e tutti gli hook vengono eseguiti in sequenza. L'ordine di caricamento è:
1. Config globale (`~/.config/opencode/opencode.json`)
2. Config di progetto (`opencode.json`)
@@ -66,7 +66,7 @@ I pacchetti npm duplicati con lo stesso nome e versione vengono caricati una sol
## Creare un plugin
-Un plugin e' un **modulo JavaScript/TypeScript** che esporta una o piu' funzioni di plugin. Ogni funzione riceve un oggetto di contesto e restituisce un oggetto di hook.
+Un plugin è un **modulo JavaScript/TypeScript** che esporta una o più funzioni di plugin. Ogni funzione riceve un oggetto di contesto e restituisce un oggetto di hook.
---
@@ -234,7 +234,7 @@ export const NotificationPlugin = async ({ project, client, $, directory, worktr
Stiamo usando `osascript` per eseguire AppleScript su macOS. Qui lo usiamo per inviare notifiche.
:::note
-Se usi l'app desktop di OpenCode, puo' inviare automaticamente notifiche di sistema quando una risposta e' pronta o quando una sessione va in errore.
+Se usi l'app desktop di OpenCode, può inviare automaticamente notifiche di sistema quando una risposta è pronta o quando una sessione va in errore.
:::
---
@@ -299,7 +299,7 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
}
```
-L'helper `tool` crea uno strumento personalizzato che opencode puo' chiamare. Accetta una funzione di schema Zod e restituisce una definizione di tool con:
+L'helper `tool` crea uno strumento personalizzato che opencode può chiamare. Accetta una funzione di schema Zod e restituisce una definizione di tool con:
- `description`: cosa fa lo strumento
- `args`: schema Zod per gli argomenti dello strumento
@@ -307,6 +307,10 @@ L'helper `tool` crea uno strumento personalizzato che opencode puo' chiamare. Ac
I tuoi strumenti personalizzati saranno disponibili in opencode insieme agli strumenti integrati.
+:::note
+Se uno strumento di un plugin usa lo stesso nome di uno strumento integrato, lo strumento del plugin ha la precedenza.
+:::
+
---
### Logging
@@ -381,4 +385,4 @@ Format as a structured prompt that a new agent can use to resume work.
}
```
-Quando `output.prompt` e' impostato, sostituisce completamente il prompt di compaction predefinito. In questo caso l'array `output.context` viene ignorato.
+Quando `output.prompt` è impostato, sostituisce completamente il prompt di compaction predefinito. In questo caso l'array `output.context` viene ignorato.
diff --git a/packages/web/src/content/docs/it/providers.mdx b/packages/web/src/content/docs/it/providers.mdx
index 9b4c07b66..c0c5489d0 100644
--- a/packages/web/src/content/docs/it/providers.mdx
+++ b/packages/web/src/content/docs/it/providers.mdx
@@ -818,7 +818,7 @@ Alcuni modelli devono essere abilitati manualmente nelle tue [impostazioni GitHu
│ Enter code: 8F43-6FCF
- └ Waiting for authorization...
+ │ └ Waiting for authorization...
```
3. Ora esegui il comando `/models` per selezionare il modello che vuoi.
@@ -1488,6 +1488,39 @@ SAP AI Core fornisce accesso a oltre 40 modelli di OpenAI, Anthropic, Google, Am
---
+### STACKIT
+
+STACKIT AI Model Serving fornisce un ambiente di hosting completamente gestito e sovrano per modelli AI, concentrandosi su LLM come Llama, Mistral e Qwen, con la massima sovranità dei dati su infrastruttura europea.
+
+1. Vai al [Portale STACKIT](https://portal.stackit.cloud), naviga in **AI Model Serving** e crea un token di autenticazione per il tuo progetto.
+
+ :::tip
+ Devi avere un account cliente STACKIT, un account utente e un progetto prima di creare token di autenticazione.
+ :::
+
+2. Esegui il comando `/connect` e cerca **STACKIT**.
+
+ ```txt
+ /connect
+ ```
+
+3. Inserisci il tuo token di autenticazione STACKIT AI Model Serving.
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. Esegui il comando `/models` per selezionare tra i modelli disponibili come _Qwen3-VL 235B_ o _Llama 3.3 70B_.
+
+ ```txt
+ /models
+ ```
+
+---
+
### OVHcloud AI Endpoints
1. Vai al [pannello OVHcloud](https://ovh.com/manager). Naviga nella sezione `Public Cloud`, `AI & Machine Learning` > `AI Endpoints` e nella scheda `API Keys`, clicca **Create a new API key**.
diff --git a/packages/web/src/content/docs/it/sdk.mdx b/packages/web/src/content/docs/it/sdk.mdx
index 9cf7e4eae..d7cfd8489 100644
--- a/packages/web/src/content/docs/it/sdk.mdx
+++ b/packages/web/src/content/docs/it/sdk.mdx
@@ -3,7 +3,7 @@ title: SDK
description: Client JS type-safe per il server opencode.
---
-import config from "../../../../config.mjs"
+import config from "../../../config.mjs"
export const typesUrl = `${config.github}/blob/dev/packages/sdk/js/src/gen/types.gen.ts`
L'SDK JS/TS di opencode fornisce un client type-safe per interagire con il server.
@@ -117,6 +117,78 @@ try {
---
+## Output Strutturato
+
+Puoi richiedere un output JSON strutturato dal modello specificando un `format` con uno schema JSON. Il modello usera un tool `StructuredOutput` per restituire JSON validato che corrisponde al tuo schema.
+
+### Uso Base
+
+```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"] }
+```
+
+### Tipi di Formato Output
+
+| Tipo | Descrizione |
+| ------------- | ------------------------------------------------------------------- |
+| `text` | Predefinito. Risposta di testo standard (nessun output strutturato) |
+| `json_schema` | Restituisce JSON validato che corrisponde allo schema fornito |
+
+### Formato Schema JSON
+
+Quando usi `type: 'json_schema'`, fornisci:
+
+| Campo | Tipo | Descrizione |
+| ------------ | --------------- | --------------------------------------------------------------------- |
+| `type` | `'json_schema'` | Richiesto. Specifica la modalita schema JSON |
+| `schema` | `object` | Richiesto. Oggetto JSON Schema che definisce la struttura dell'output |
+| `retryCount` | `number` | Opzionale. Numero di tentativi di validazione (default: 2) |
+
+### Gestione Errori
+
+Se il modello non riesce a produrre un output strutturato valido dopo tutti i tentativi, la risposta includera un `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)
+}
+```
+
+### Best Practices
+
+1. **Fornisci descrizioni chiare** nelle proprieta del tuo schema per aiutare il modello a capire quali dati estrarre
+2. **Usa `required`** per specificare quali campi devono essere presenti
+3. **Mantieni gli schemi focalizzati** - schemi annidati complessi potrebbero essere piu difficili da compilare correttamente per il modello
+4. **Imposta un `retryCount` appropriato** - aumenta per schemi complessi, diminuisci per quelli semplici
+
+---
+
## API
L'SDK espone tutte le API del server tramite un client type-safe.
@@ -226,27 +298,27 @@ const { providers, default: defaults } = await client.config.providers()
### Sessioni
-| Metodo | Descrizione | Note |
-| ---------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `session.list()` | Elenca le sessioni | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `session.get({ path })` | Ottieni una sessione | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.children({ path })` | Elenca sessioni figlie | Returns <a href={typesUrl}><code>Session[]</code></a> |
-| `session.create({ body })` | Crea una sessione | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.delete({ path })` | Elimina una sessione | Returns `boolean` |
-| `session.update({ path, body })` | Aggiorna proprieta della sessione | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.init({ path, body })` | Analizza app e crea `AGENTS.md` | Returns `boolean` |
-| `session.abort({ path })` | Interrompe una sessione in corso | Returns `boolean` |
-| `session.share({ path })` | Condivide la sessione | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.unshare({ path })` | Rimuove la condivisione | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.summarize({ path, body })` | Riassume la sessione | Returns `boolean` |
-| `session.messages({ path })` | Elenca i messaggi della sessione | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
-| `session.message({ path })` | Ottieni dettagli di un messaggio | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.prompt({ path, body })` | Invia un prompt | `body.noReply: true` returns UserMessage (solo contesto). Di default ritorna <a href={typesUrl}><code>AssistantMessage</code></a> con risposta AI |
-| `session.command({ path, body })` | Invia un comando alla sessione | Returns `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
-| `session.shell({ path, body })` | Esegue un comando shell | Returns <a href={typesUrl}><code>AssistantMessage</code></a> |
-| `session.revert({ path, body })` | Ripristina un messaggio | Returns <a href={typesUrl}><code>Session</code></a> |
-| `session.unrevert({ path })` | Ripristina messaggi revertiti | Returns <a href={typesUrl}><code>Session</code></a> |
-| `postSessionByIdPermissionsByPermissionId({ path, body })` | Risponde a una richiesta permessi | Returns `boolean` |
+| Metodo | Descrizione | Note |
+| ---------------------------------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `session.list()` | Elenca le sessioni | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `session.get({ path })` | Ottieni una sessione | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.children({ path })` | Elenca sessioni figlie | Returns <a href={typesUrl}><code>Session[]</code></a> |
+| `session.create({ body })` | Crea una sessione | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.delete({ path })` | Elimina una sessione | Returns `boolean` |
+| `session.update({ path, body })` | Aggiorna proprieta della sessione | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.init({ path, body })` | Analizza app e crea `AGENTS.md` | Returns `boolean` |
+| `session.abort({ path })` | Interrompe una sessione in corso | Returns `boolean` |
+| `session.share({ path })` | Condivide la sessione | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.unshare({ path })` | Rimuove la condivisione | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.summarize({ path, body })` | Riassume la sessione | Returns `boolean` |
+| `session.messages({ path })` | Elenca i messaggi della sessione | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}[]` |
+| `session.message({ path })` | Ottieni dettagli di un messaggio | Returns `{ info: `<a href={typesUrl}><code>Message</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.prompt({ path, body })` | Invia un prompt | `body.noReply: true` returns UserMessage (solo contesto). Di default ritorna <a href={typesUrl}><code>AssistantMessage</code></a> con risposta AI. Supporta `body.outputFormat` per [output strutturato](#output-strutturato) |
+| `session.command({ path, body })` | Invia un comando alla sessione | Returns `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>Part[]</code></a>`}` |
+| `session.shell({ path, body })` | Esegue un comando shell | Returns <a href={typesUrl}><code>AssistantMessage</code></a> |
+| `session.revert({ path, body })` | Ripristina un messaggio | Returns <a href={typesUrl}><code>Session</code></a> |
+| `session.unrevert({ path })` | Ripristina messaggi revertiti | Returns <a href={typesUrl}><code>Session</code></a> |
+| `postSessionByIdPermissionsByPermissionId({ path, body })` | Risponde a una richiesta permessi | Returns `boolean` |
---
diff --git a/packages/web/src/content/docs/it/themes.mdx b/packages/web/src/content/docs/it/themes.mdx
index 6752470e0..055e10872 100644
--- a/packages/web/src/content/docs/it/themes.mdx
+++ b/packages/web/src/content/docs/it/themes.mdx
@@ -45,13 +45,13 @@ E altri ancora: aggiungiamo costantemente nuovi temi.
## Tema di sistema
-Il tema `system` e progettato per adattarsi automaticamente allo schema colori del tuo terminale. A differenza dei temi tradizionali con colori fissi, il tema _system_:
+Il tema `system` è progettato per adattarsi automaticamente allo schema colori del tuo terminale. A differenza dei temi tradizionali con colori fissi, il tema _system_:
- **Genera una scala di grigi**: crea una scala di grigi personalizzata in base al colore di sfondo del terminale, garantendo un contrasto ottimale.
- **Usa colori ANSI**: sfrutta i colori ANSI standard (0-15) per evidenziazione della sintassi ed elementi UI, rispettando la palette del terminale.
- **Preserva i default del terminale**: usa `none` per testo e sfondo per mantenere l'aspetto nativo del terminale.
-Il tema di sistema e pensato per chi:
+Il tema di sistema è pensato per chi:
- Vuole che OpenCode corrisponda all'aspetto del terminale
- Usa schemi colori personalizzati del terminale
@@ -61,11 +61,11 @@ Il tema di sistema e pensato per chi:
## Usare un tema
-Puoi selezionare un tema aprendo la selezione temi con il comando `/theme`. In alternativa, puoi specificarlo nella tua [configurazione](/docs/config).
+Puoi selezionare un tema aprendo la selezione temi con il comando `/theme`. In alternativa, puoi specificarlo in `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"
}
```
@@ -80,14 +80,14 @@ OpenCode supporta un sistema di temi flessibile basato su JSON che permette di c
### Gerarchia
-I temi vengono caricati da piu directory nel seguente ordine, dove le directory successive sovrascrivono le precedenti:
+I temi vengono caricati da più directory nel seguente ordine, dove le directory successive sovrascrivono le precedenti:
1. **Temi integrati** - incorporati nel binario
2. **Directory di configurazione utente** - in `~/.config/opencode/themes/*.json` o `$XDG_CONFIG_HOME/opencode/themes/*.json`
3. **Directory root del progetto** - in `<project-root>/.opencode/themes/*.json`
4. **Directory di lavoro corrente** - in `./.opencode/themes/*.json`
-Se piu directory contengono un tema con lo stesso nome, verra usato il tema della directory con priorita piu alta.
+Se più directory contengono un tema con lo stesso nome, verrà usato il tema della directory con priorità più alta.
---
@@ -125,13 +125,13 @@ I temi usano un formato JSON flessibile che supporta:
### Definizioni dei colori
-La sezione `defs` e opzionale e ti permette di definire colori riutilizzabili che possono essere referenziati nel tema.
+La sezione `defs` è opzionale e ti permette di definire colori riutilizzabili che possono essere referenziati nel tema.
---
### Valori predefiniti del terminale
-Il valore speciale `"none"` puo essere usato per qualunque colore per ereditare il colore predefinito del terminale. E particolarmente utile per creare temi che si fondono con lo schema colori del terminale:
+Il valore speciale `"none"` può essere usato per qualunque colore per ereditare il colore predefinito del terminale. È particolarmente utile per creare temi che si fondono con lo schema colori del terminale:
- `"text": "none"` - usa il colore del testo predefinito del terminale
- `"background": "none"` - usa il colore di sfondo predefinito del terminale
diff --git a/packages/web/src/content/docs/it/troubleshooting.mdx b/packages/web/src/content/docs/it/troubleshooting.mdx
index 514057150..7c168979d 100644
--- a/packages/web/src/content/docs/it/troubleshooting.mdx
+++ b/packages/web/src/content/docs/it/troubleshooting.mdx
@@ -57,8 +57,8 @@ Se l'app desktop va in crash all'avvio, si blocca o si comporta in modo strano,
Apri il tuo file di configurazione globale e cerca la chiave `plugin`.
-- **macOS/Linux**: `~/.config/opencode/opencode.jsonc` (or `~/.config/opencode/opencode.json`)
-- **macOS/Linux** (older installs): `~/.local/share/opencode/opencode.jsonc`
+- **macOS/Linux**: `~/.config/opencode/opencode.jsonc` (o `~/.config/opencode/opencode.json`)
+- **macOS/Linux** (installazioni vecchie): `~/.local/share/opencode/opencode.jsonc`
- **Windows**: premi `WIN+R` e incolla `%USERPROFILE%\.config\opencode\opencode.jsonc`
Se hai plugin configurati, disabilitali temporaneamente rimuovendo la chiave o impostandola a un array vuoto:
@@ -88,14 +88,14 @@ Se l'app ricomincia a funzionare, riabilita i plugin uno alla volta per capire q
Se disabilitare i plugin non aiuta (o l'installazione di un plugin e bloccata), svuota la cache in modo che OpenCode possa ricostruirla.
-1. Quit OpenCode Desktop completely.
+1. Chiudi completamente OpenCode Desktop.
2. Elimina la directory della cache:
- **macOS**: Finder -> `Cmd+Shift+G` -> paste `~/.cache/opencode`
- **Linux**: elimina `~/.cache/opencode` (oppure esegui `rm -rf ~/.cache/opencode`)
- **Windows**: premi `WIN+R` e incolla `%USERPROFILE%\.cache\opencode`
-3. Restart OpenCode Desktop.
+3. Riavvia OpenCode Desktop.
---
@@ -155,7 +155,7 @@ OpenCode Desktop mostra le notifiche di sistema solo quando:
Se l'app non si avvia e non riesci a ripulire le impostazioni dall'interfaccia, reimposta lo stato salvato dell'app desktop.
-1. Quit OpenCode Desktop.
+1. Chiudi OpenCode Desktop.
2. Trova ed elimina questi file (si trovano nella directory dati dell'app OpenCode Desktop):
- `opencode.settings.dat` (desktop default server URL)
diff --git a/packages/web/src/content/docs/it/tui.mdx b/packages/web/src/content/docs/it/tui.mdx
index 8a09c97a3..2e4efa260 100644
--- a/packages/web/src/content/docs/it/tui.mdx
+++ b/packages/web/src/content/docs/it/tui.mdx
@@ -63,7 +63,7 @@ Quando usi la TUI di OpenCode, puoi digitare `/` seguito dal nome di un comando
/help
```
-Molti comandi hanno anche una scorciatoia da tastiera che usa `ctrl+x` come tasto leader (predefinito). [Scopri di piu](/docs/keybinds).
+Molti comandi hanno anche una scorciatoia da tastiera che usa `ctrl+x` come tasto leader (predefinito). [Scopri di più](/docs/keybinds).
Ecco tutti i comandi slash disponibili:
@@ -105,7 +105,7 @@ Attiva/disattiva i dettagli di esecuzione degli strumenti.
### editor
-Apre un editor esterno per comporre messaggi. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di piu](#editor-setup).
+Apre un editor esterno per comporre messaggi. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di più](#editor-setup).
```bash frame="none"
/editor
@@ -129,7 +129,7 @@ Esce da OpenCode. _Alias_: `/quit`, `/q`
### esporta
-Esporta la conversazione corrente in Markdown e la apre nell'editor predefinito. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di piu](#editor-setup).
+Esporta la conversazione corrente in Markdown e la apre nell'editor predefinito. Usa l'editor impostato nella variabile d'ambiente `EDITOR`. [Scopri di più](#editor-setup).
```bash frame="none"
/export
@@ -153,7 +153,7 @@ Mostra la finestra di aiuto.
### inizializza
-Crea o aggiorna il file `AGENTS.md`. [Scopri di piu](/docs/rules).
+Crea o aggiorna il file `AGENTS.md`. [Scopri di più](/docs/rules).
```bash frame="none"
/init
@@ -219,7 +219,7 @@ Elenca e passa tra le sessioni. _Alias_: `/resume`, `/continue`
### condividi
-Condivide la sessione corrente. [Scopri di piu](/docs/share).
+Condivide la sessione corrente. [Scopri di più](/docs/share).
```bash frame="none"
/share
@@ -234,7 +234,7 @@ Condivide la sessione corrente. [Scopri di piu](/docs/share).
Elenca i temi disponibili.
```bash frame="none"
-/theme
+/themes
```
**Scorciatoia:** `ctrl+x t`
@@ -243,10 +243,10 @@ Elenca i temi disponibili.
### ragionamento
-Attiva/disattiva la visibilita dei blocchi thinking/reasoning nella conversazione. Quando abilitato, puoi vedere il ragionamento del modello per i modelli che supportano extended thinking.
+Attiva/disattiva la visibilità dei blocchi thinking/reasoning nella conversazione. Quando abilitato, puoi vedere il ragionamento del modello per i modelli che supportano extended thinking.
:::note
-Questo comando controlla solo se i blocchi di thinking vengono **mostrati**: non abilita o disabilita le capacita di ragionamento del modello. Per cambiare le capacita di ragionamento effettive, usa `ctrl+t` per ciclare tra le varianti del modello.
+Questo comando controlla solo se i blocchi di thinking vengono **mostrati**: non abilita o disabilita le capacità di ragionamento del modello. Per cambiare le capacità di ragionamento effettive, usa `ctrl+t` per ciclare tra le varianti del modello.
:::
```bash frame="none"
@@ -275,7 +275,7 @@ Internamente usa Git per gestire le modifiche ai file. Quindi il progetto **deve
### annulla condivisione
-Annulla la condivisione della sessione corrente. [Scopri di piu](/docs/share#un-sharing).
+Annulla la condivisione della sessione corrente. [Scopri di più](/docs/share#un-sharing).
```bash frame="none"
/unshare
@@ -346,30 +346,40 @@ Opzioni comuni per l'editor includono:
Alcuni editor come VS Code devono essere avviati con il flag `--wait`.
:::
-Alcuni editor richiedono argomenti da riga di comando per funzionare in modalita bloccante. Il flag `--wait` fa si che il processo dell'editor resti in attesa finche non viene chiuso.
+Alcuni editor richiedono argomenti da riga di comando per funzionare in modalità bloccante. Il flag `--wait` fa sì che il processo dell'editor resti in attesa finché non viene chiuso.
---
## Configurazione
-Puoi personalizzare il comportamento della TUI tramite il file di config di OpenCode.
+Puoi personalizzare il comportamento della TUI tramite `tui.json` (o `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"
}
```
+Questo è separato da `opencode.json`, che configura il comportamento di server/runtime.
+
### Opzioni
-- `scroll_acceleration` - Abilita l'accelerazione di scroll in stile macOS per uno scorrimento fluido e naturale. Quando abilitata, la velocita aumenta con gesture rapide e resta precisa con movimenti lenti. **Questa impostazione ha precedenza su `scroll_speed` e lo sovrascrive quando attiva.**
-- `scroll_speed` - Controlla la velocita di scorrimento della TUI quando usi i comandi di scroll (minimo: `1`). Default: `3`. **Nota: viene ignorata se `scroll_acceleration.enabled` e impostato a `true`.**
+- `theme` - Imposta il tema della UI. [Scopri di più](/docs/themes).
+- `keybinds` - Personalizza le scorciatoie da tastiera. [Scopri di più](/docs/keybinds).
+- `scroll_acceleration.enabled` - Abilita l'accelerazione di scroll in stile macOS per uno scorrimento fluido e naturale. Quando abilitata, la velocità aumenta con gesture rapide e resta precisa con movimenti lenti. **Questa impostazione ha precedenza su `scroll_speed` e lo sovrascrive quando attiva.**
+- `scroll_speed` - Controlla la velocità di scorrimento della TUI quando usi i comandi di scroll (minimo: `0.001`, supporta valori decimali). Default: `3`. **Nota: viene ignorata se `scroll_acceleration.enabled` è impostato a `true`.**
+- `diff_style` - Controlla il rendering delle diff. `"auto"` si adatta alla larghezza del terminale, `"stacked"` mostra sempre un layout a colonna singola.
+
+Usa `OPENCODE_TUI_CONFIG` per caricare un path di configurazione TUI personalizzato.
---
diff --git a/packages/web/src/content/docs/it/zen.mdx b/packages/web/src/content/docs/it/zen.mdx
index 8ea628aee..95170fc54 100644
--- a/packages/web/src/content/docs/it/zen.mdx
+++ b/packages/web/src/content/docs/it/zen.mdx
@@ -3,7 +3,7 @@ title: Zen
description: Lista curata di modelli fornita da 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 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API.
| Modello | ID modello | Endpoint | Pacchetto AI SDK |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
+| 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 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API.
| 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 @@ Supportiamo un modello pay-as-you-go. Qui sotto trovi i prezzi **per 1M token**.
| Modello | Input | Output | Lettura in cache | Scrittura in cache |
| --------------------------------- | ------ | ------ | ---------------- | ------------------ |
| Big Pickle | Gratis | Gratis | Gratis | - |
-| MiniMax M2.1 Free | Gratis | Gratis | Gratis | - |
+| MiniMax M2.5 Free | Gratis | Gratis | Gratis | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
-| GLM 4.7 Free | Gratis | Gratis | Gratis | - |
+| 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 | Gratis | Gratis | Gratis | - |
| 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,9 +155,7 @@ Le commissioni della carta di credito vengono ribaltate al costo (4.4% + $0.30 p
I modelli gratuiti:
-- GLM 4.7 Free e disponibile su OpenCode per un periodo limitato. Il team usa questo tempo per raccogliere feedback e migliorare il modello.
-- Kimi K2.5 Free e disponibile su OpenCode per un periodo limitato. Il team usa questo tempo per raccogliere feedback e migliorare il modello.
-- MiniMax M2.1 Free e disponibile su OpenCode per un periodo limitato. Il team usa questo tempo per raccogliere feedback e migliorare il modello.
+- MiniMax M2.5 Free e disponibile su OpenCode per un periodo limitato. Il team usa questo tempo per raccogliere feedback e migliorare il modello.
- Big Pickle e un modello stealth gratuito su OpenCode per un periodo limitato. Il team usa questo tempo per raccogliere feedback e migliorare il modello.
<a href={email}>Contattaci</a> se hai domande.
@@ -177,9 +183,7 @@ Per esempio, se imposti un limite mensile a $20, Zen non usera piu di $20 in un
Tutti i nostri modelli sono ospitati negli US. I nostri provider seguono una policy di zero-retention e non usano i tuoi dati per training dei modelli, con le seguenti eccezioni:
- Big Pickle: durante il periodo gratuito, i dati raccolti potrebbero essere usati per migliorare il modello.
-- GLM 4.7 Free: durante il periodo gratuito, i dati raccolti potrebbero essere usati per migliorare il modello.
-- Kimi K2.5 Free: durante il periodo gratuito, i dati raccolti potrebbero essere usati per migliorare il modello.
-- MiniMax M2.1 Free: durante il periodo gratuito, i dati raccolti potrebbero essere usati per migliorare il modello.
+- MiniMax M2.5 Free: durante il periodo gratuito, i dati raccolti potrebbero essere usati per migliorare il modello.
- OpenAI APIs: le richieste vengono conservate per 30 giorni in conformita alle [OpenAI's Data Policies](https://platform.openai.com/docs/guides/your-data).
- Anthropic APIs: le richieste vengono conservate per 30 giorni in conformita alle [Anthropic's Data Policies](https://docs.anthropic.com/en/docs/claude-code/data-usage).