summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/th
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/th
parent971bd30516fb2b245f87bdf79e36bb64e72265bc (diff)
downloadopencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.tar.gz
opencode-e1e18c7abdb1025d7be63acee1f188b94d16eb9b.zip
chore(docs): i18n sync (#15417)
Diffstat (limited to 'packages/web/src/content/docs/th')
-rw-r--r--packages/web/src/content/docs/th/cli.mdx1
-rw-r--r--packages/web/src/content/docs/th/config.mdx59
-rw-r--r--packages/web/src/content/docs/th/custom-tools.mdx26
-rw-r--r--packages/web/src/content/docs/th/keybinds.mdx12
-rw-r--r--packages/web/src/content/docs/th/lsp.mdx69
-rw-r--r--packages/web/src/content/docs/th/plugins.mdx4
-rw-r--r--packages/web/src/content/docs/th/providers.mdx608
-rw-r--r--packages/web/src/content/docs/th/sdk.mdx114
-rw-r--r--packages/web/src/content/docs/th/themes.mdx6
-rw-r--r--packages/web/src/content/docs/th/tui.mdx34
-rw-r--r--packages/web/src/content/docs/th/zen.mdx106
11 files changed, 885 insertions, 154 deletions
diff --git a/packages/web/src/content/docs/th/cli.mdx b/packages/web/src/content/docs/th/cli.mdx
index 60e3fac76..875f517fc 100644
--- a/packages/web/src/content/docs/th/cli.mdx
+++ b/packages/web/src/content/docs/th/cli.mdx
@@ -559,6 +559,7 @@ OpenCode สามารถกำหนดค่าโดยใช้ตัว�
| `OPENCODE_AUTO_SHARE` | Boolean | แชร์เซสชันอัตโนมัติเมื่อสร้าง |
| `OPENCODE_GIT_BASH_PATH` | String | เส้นทางไปยัง Git Bash บน Windows |
| `OPENCODE_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า |
+| `OPENCODE_TUI_CONFIG` | String | เส้นทางไปยังไฟล์การกำหนดค่า TUI |
| `OPENCODE_CONFIG_DIR` | String | เส้นทางไปยังไดเร็กทอรีการกำหนดค่า |
| `OPENCODE_CONFIG_CONTENT` | String | เนื้อหาการกำหนดค่าแบบ inline JSON |
| `OPENCODE_DISABLE_AUTOUPDATE` | Boolean | ปิดใช้งานการอัปเดตอัตโนมัติ |
diff --git a/packages/web/src/content/docs/th/config.mdx b/packages/web/src/content/docs/th/config.mdx
index 06836aca3..c58469c77 100644
--- a/packages/web/src/content/docs/th/config.mdx
+++ b/packages/web/src/content/docs/th/config.mdx
@@ -14,10 +14,11 @@ OpenCode รองรับทั้งรูปแบบ **JSON** และ **J
```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,
+ },
}
```
@@ -34,7 +35,7 @@ OpenCode รองรับทั้งรูปแบบ **JSON** และ **J
ไฟล์การกำหนดค่าจะถูกรวมเข้าด้วยกัน โดยไม่มีการแทนที่ การตั้งค่าจากตำแหน่งการกำหนดค่าต่อไปนี้จะรวมกัน การกำหนดค่าในภายหลังจะแทนที่การกำหนดค่าก่อนหน้าสำหรับคีย์ที่ขัดแย้งกันเท่านั้น การตั้งค่าที่ไม่ขัดแย้งจากการกำหนดค่าทั้งหมดจะยังคงอยู่
-ตัวอย่างเช่น หากการกำหนดค่าส่วนกลางของคุณตั้งค่า `theme: "opencode"` และ `autoupdate: true` และการกำหนดค่าโปรเจ็กต์ของคุณตั้งค่า `model: "anthropic/claude-sonnet-4-5"` การกำหนดค่าสุดท้ายจะรวมการตั้งค่าทั้งสามรายการไว้ด้วย
+ตัวอย่างเช่น หากการกำหนดค่าส่วนกลางของคุณตั้งค่า `autoupdate: true` และการกำหนดค่าโปรเจ็กต์ของคุณตั้งค่า `model: "anthropic/claude-sonnet-4-5"` การกำหนดค่าสุดท้ายจะรวมการตั้งค่าทั้งสองรายการไว้ด้วย
---
@@ -95,7 +96,9 @@ OpenCode รองรับทั้งรูปแบบ **JSON** และ **J
### ทั่วโลก
-วางการกำหนดค่า OpenCode ส่วนกลางของคุณใน `~/.config/opencode/opencode.json` ใช้การกำหนดค่าส่วนกลางสำหรับการตั้งค่าทั้งผู้ใช้ เช่น ธีม ผู้ให้บริการ หรือปุ่มลัด
+วางการกำหนดค่า OpenCode ส่วนกลางของคุณใน `~/.config/opencode/opencode.json` ใช้การกำหนดค่าส่วนกลางสำหรับการตั้งค่าทั้งผู้ใช้ เช่น ผู้ให้บริการ รุ่น และสิทธิ์
+
+สำหรับการตั้งค่าเฉพาะ TUI ให้ใช้ `~/.config/opencode/tui.json`
การกำหนดค่าส่วนกลางจะแทนที่ค่าเริ่มต้นขององค์กรระยะไกล
@@ -105,6 +108,8 @@ OpenCode รองรับทั้งรูปแบบ **JSON** และ **J
เพิ่ม `opencode.json` ในรูทโปรเจ็กต์ของคุณ การกำหนดค่าโปรเจ็กต์มีความสำคัญสูงสุดในบรรดาไฟล์กำหนดค่ามาตรฐาน โดยจะแทนที่การกำหนดค่าทั้งส่วนกลางและระยะไกล
+สำหรับการตั้งค่า TUI เฉพาะโครงการ ให้เพิ่ม `tui.json` ควบคู่ไปกับมัน
+
:::tip
วางการกำหนดค่าเฉพาะโปรเจ็กต์ไว้ที่รากของโปรเจ็กต์ของคุณ
:::
@@ -148,34 +153,32 @@ opencode run "Hello world"
ไฟล์กำหนดค่ามีสคีมาที่กำหนดไว้ใน [**`opencode.ai/config.json`**](https://opencode.ai/config.json)
+การกำหนดค่า TUI ใช้ [**`opencode.ai/tui.json`**](https://opencode.ai/tui.json)
+
ผู้แก้ไขของคุณควรสามารถตรวจสอบและเติมข้อความอัตโนมัติตามสคีมาได้
---
### TUI
-คุณสามารถกำหนดการตั้งค่าเฉพาะ TUI ผ่านตัวเลือก `tui`
+ใช้ไฟล์ `tui.json` (หรือ `tui.jsonc`) เฉพาะสำหรับการตั้งค่าเฉพาะ 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"
}
```
-ตัวเลือกที่มี:
+ใช้ `OPENCODE_TUI_CONFIG` เพื่อชี้ไปยังไฟล์กำหนดค่า TUI ที่กำหนดเอง
-- `scroll_acceleration.enabled` - ​​เปิดใช้งานการเร่งความเร็วการเลื่อนแบบ macOS **มีลำดับความสำคัญมากกว่า `scroll_speed`.**
-- `scroll_speed` - ​​ตัวคูณความเร็วการเลื่อนแบบกำหนดเอง (ค่าเริ่มต้น: `3` ขั้นต่ำ: `1`) ไม่สนใจหาก `scroll_acceleration.enabled` คือ `true`
-- `diff_style` - ​​ควบคุมการเรนเดอร์ต่าง `"auto"` ปรับให้เข้ากับความกว้างของ terminal `"stacked"` จะแสดงคอลัมน์เดียวเสมอ
+คีย์ `theme`, `keybinds` และ `tui` แบบเดิมใน `opencode.json` เลิกใช้แล้วและจะถูกย้ายโดยอัตโนมัติเมื่อเป็นไปได้
-[เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ TUI ที่นี่](/docs/tui)
+[เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ TUI ที่นี่](/docs/tui#configure)
---
@@ -301,12 +304,12 @@ Bearer Token (`AWS_BEARER_TOKEN_BEDROCK` หรือ `/connect`) มีคว�
### Themes
-คุณสามารถกำหนดค่าธีมที่คุณต้องการใช้ในการกำหนดค่า OpenCode ของคุณได้ผ่านตัวเลือก `theme`
+ตั้งค่าธีม UI ของคุณใน `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"
}
```
@@ -406,11 +409,11 @@ Bearer Token (`AWS_BEARER_TOKEN_BEDROCK` หรือ `/connect`) มีคว�
### คีย์ลัด
-คุณสามารถปรับแต่งปุ่มลัดของคุณได้ผ่านตัวเลือก `keybinds`
+ปรับแต่งปุ่มลัดใน `tui.json`
-```json title="opencode.json"
+```json title="tui.json"
{
- "$schema": "https://opencode.ai/config.json",
+ "$schema": "https://opencode.ai/tui.json",
"keybinds": {}
}
```
@@ -490,13 +493,15 @@ OpenCode จะดาวน์โหลดการอัปเดตใหม�
"$schema": "https://opencode.ai/config.json",
"compaction": {
"auto": true,
- "prune": true
+ "prune": true,
+ "reserved": 10000
}
}
```
- `auto` - ​​กระชับเซสชันโดยอัตโนมัติเมื่อบริบทเต็ม (ค่าเริ่มต้น: `true`)
- `prune` - ​​ลบเอาท์พุตเครื่องมือเก่าเพื่อบันทึก tokens (ค่าเริ่มต้น: `true`)
+- `reserved` - บัฟเฟอร์โทเค็นสำหรับการบีบอัด ให้หน้าต่างเพียงพอเพื่อหลีกเลี่ยงการล้นระหว่างการบีบอัด
---
diff --git a/packages/web/src/content/docs/th/custom-tools.mdx b/packages/web/src/content/docs/th/custom-tools.mdx
index 28cd229cf..c5e638535 100644
--- a/packages/web/src/content/docs/th/custom-tools.mdx
+++ b/packages/web/src/content/docs/th/custom-tools.mdx
@@ -79,6 +79,32 @@ export const multiply = tool({
---
+#### ชื่อซ้ำกับเครื่องมือในตัว
+
+เครื่องมือแบบกำหนดเองจะถูกระบุด้วยชื่อเครื่องมือ หากเครื่องมือแบบกำหนดเองใช้ชื่อเดียวกับเครื่องมือในตัว เครื่องมือแบบกำหนดเองจะมีความสำคัญเหนือกว่า
+
+ตัวอย่างเช่น ไฟล์นี้จะแทนที่เครื่องมือ `bash` ในตัว:
+
+```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
+ชอบชื่อที่ไม่ซ้ำกันเว้นแต่คุณตั้งใจจะแทนที่เครื่องมือในตัว หากคุณต้องการปิดใช้งานเครื่องมือในตัวแต่ไม่ต้องการแทนที่ ให้ใช้ [permissions](/docs/permissions)
+:::
+
+---
+
### ข้อโต้แย้ง
คุณสามารถใช้ `tool.schema` ซึ่งก็คือ [Zod](https://zod.dev) เพื่อกำหนดประเภทอาร์กิวเมนต์
diff --git a/packages/web/src/content/docs/th/keybinds.mdx b/packages/web/src/content/docs/th/keybinds.mdx
index 2fbcd02a6..8cc7586e5 100644
--- a/packages/web/src/content/docs/th/keybinds.mdx
+++ b/packages/web/src/content/docs/th/keybinds.mdx
@@ -3,11 +3,11 @@ title: ปุ่มลัด
description: ปรับแต่งปุ่มลัดของคุณ
---
-OpenCode มีรายการปุ่มลัดที่คุณปรับแต่งได้ผ่านการกำหนดค่า OpenCode
+OpenCode มีรายการปุ่มลัดที่คุณปรับแต่งได้ผ่าน `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 @@ OpenCode ใช้ปุ่ม `leader` สำหรับการเชื่�
## ปิดการใช้งานการผูกปุ่ม
-คุณสามารถปิดการใช้งานการผูกปุ่มได้โดยการเพิ่มคีย์ลงในการกำหนดค่าของคุณด้วยค่า "none"
+คุณสามารถปิดการใช้งานการผูกปุ่มได้โดยการเพิ่มคีย์ลงใน `tui.json` ด้วยค่า "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/th/lsp.mdx b/packages/web/src/content/docs/th/lsp.mdx
index 0e5e28c4a..91d3f479f 100644
--- a/packages/web/src/content/docs/th/lsp.mdx
+++ b/packages/web/src/content/docs/th/lsp.mdx
@@ -11,40 +11,41 @@ OpenCode ทำงานร่วมกับ Language Server Protocol (LSP) เ
OpenCode มาพร้อมกับเซิร์ฟเวอร์ LSP ในตัวหลายตัวสำหรับภาษายอดนิยม:
-| LSP เซิร์ฟเวอร์ | ส่วนขยาย | ความต้องการ |
-| -------------------- | ------------------------------------------------------------------- | ------------------------------------------------------- |
-| astro | .astro | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Astro |
-| bash | .sh, .bash, .zsh, .ksh | ติดตั้ง bash-Language-Server โดยอัตโนมัติ |
-| clang | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | ติดตั้งอัตโนมัติสำหรับโครงการ C/C++ |
-| csharp | .cs | `.NET SDK` ติดตั้งแล้ว |
-| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` คำสั่งใช้ได้ |
-| dart | .dart | `dart` คำสั่งใช้ได้ |
-| deno | .ts, .tsx, .js, .jsx, .mjs | มีคำสั่ง `deno` (ตรวจจับอัตโนมัติ deno.json/deno.jsonc) |
-| elixir-ls | .ex, .exs | `elixir` คำสั่งใช้ได้ |
-| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` การพึ่งพาในโครงการ |
-| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` ติดตั้งแล้ว |
-| gleam | .gleam | `gleam` คำสั่งใช้ได้ |
-| gopls | .go | `go` คำสั่งใช้ได้ |
-| haskell | .hs, .lhs | `haskell-language-server-wrapper` คำสั่งใช้ได้ |
-| jdtls | .java | `Java SDK (version 21+)` ติดตั้งแล้ว |
-| kotlin-ls | .kt, .kts | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Kotlin |
-| lua-ls | .lua | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Lua |
-| nix | .nix | `nixd` คำสั่งใช้ได้ |
-| ocaml-lsp | .ml, .mli | `ocamllsp` คำสั่งใช้ได้ |
-| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` การพึ่งพาในโครงการ |
-| php intelephense.php | .php | ติดตั้งอัตโนมัติสำหรับโครงการ PHP |
-| prisma | .prisma | `prisma` คำสั่งใช้ได้ |
-| pyright | .py, .pyi | `pyright` ติดตั้งการพึ่งพาแล้ว |
-| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | มีคำสั่ง `ruby` และ `gem` |
-| rust | .rs | `rust-analyzer` คำสั่งใช้ได้ |
-| sourcekit-lsp | .swift, .objc, .objcpp | ติดตั้ง `swift` (`xcode` บน macOS) |
-| svelte | .svelte | ติดตั้งอัตโนมัติสำหรับโครงการ Svelte |
-| terraform | .tf, .tfvars | ติดตั้งอัตโนมัติจากรุ่น GitHub |
-| tinymist | .typ, .typst | ติดตั้งอัตโนมัติจากรุ่น GitHub |
-| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` การพึ่งพาในโครงการ |
-| vue | .vue | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Vue |
-| yaml-ls | .yaml, .yml | ติดตั้งเซิร์ฟเวอร์ภาษา Red Hat yaml โดยอัตโนมัติ |
-| zls | .zig, .zon | `zig` คำสั่งใช้ได้ |
+| LSP เซิร์ฟเวอร์ | ส่วนขยาย | ความต้องการ |
+| ------------------ | ------------------------------------------------------------------- | ------------------------------------------------------- |
+| astro | .astro | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Astro |
+| bash | .sh, .bash, .zsh, .ksh | ติดตั้ง bash-Language-Server โดยอัตโนมัติ |
+| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | ติดตั้งอัตโนมัติสำหรับโครงการ C/C++ |
+| csharp | .cs | `.NET SDK` ติดตั้งแล้ว |
+| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` คำสั่งใช้ได้ |
+| dart | .dart | `dart` คำสั่งใช้ได้ |
+| deno | .ts, .tsx, .js, .jsx, .mjs | มีคำสั่ง `deno` (ตรวจจับอัตโนมัติ deno.json/deno.jsonc) |
+| elixir-ls | .ex, .exs | `elixir` คำสั่งใช้ได้ |
+| eslint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue | `eslint` การพึ่งพาในโครงการ |
+| fsharp | .fs, .fsi, .fsx, .fsscript | `.NET SDK` ติดตั้งแล้ว |
+| gleam | .gleam | `gleam` คำสั่งใช้ได้ |
+| gopls | .go | `go` คำสั่งใช้ได้ |
+| hls | .hs, .lhs | `haskell-language-server-wrapper` คำสั่งใช้ได้ |
+| jdtls | .java | `Java SDK (version 21+)` ติดตั้งแล้ว |
+| julials | .jl | ติดตั้ง `julia` และ `LanguageServer.jl` แล้ว |
+| kotlin-ls | .kt, .kts | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Kotlin |
+| lua-ls | .lua | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Lua |
+| nixd | .nix | `nixd` คำสั่งใช้ได้ |
+| ocaml-lsp | .ml, .mli | `ocamllsp` คำสั่งใช้ได้ |
+| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` การพึ่งพาในโครงการ |
+| php intelephense | .php | ติดตั้งอัตโนมัติสำหรับโครงการ PHP |
+| prisma | .prisma | `prisma` คำสั่งใช้ได้ |
+| pyright | .py, .pyi | `pyright` ติดตั้งการพึ่งพาแล้ว |
+| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | มีคำสั่ง `ruby` และ `gem` |
+| rust | .rs | `rust-analyzer` คำสั่งใช้ได้ |
+| sourcekit-lsp | .swift, .objc, .objcpp | ติดตั้ง `swift` (`xcode` บน macOS) |
+| svelte | .svelte | ติดตั้งอัตโนมัติสำหรับโครงการ Svelte |
+| terraform | .tf, .tfvars | ติดตั้งอัตโนมัติจากรุ่น GitHub |
+| tinymist | .typ, .typc | ติดตั้งอัตโนมัติจากรุ่น GitHub |
+| typescript | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts | `typescript` การพึ่งพาในโครงการ |
+| vue | .vue | ติดตั้งอัตโนมัติสำหรับโปรเจ็กต์ Vue |
+| yaml-ls | .yaml, .yml | ติดตั้งเซิร์ฟเวอร์ภาษา Red Hat yaml โดยอัตโนมัติ |
+| zls | .zig, .zon | `zig` คำสั่งใช้ได้ |
เซิร์ฟเวอร์ LSP จะถูกเปิดใช้งานโดยอัตโนมัติเมื่อตรวจพบนามสกุลไฟล์ใดนามสกุลหนึ่งข้างต้นและเป็นไปตามข้อกำหนด
diff --git a/packages/web/src/content/docs/th/plugins.mdx b/packages/web/src/content/docs/th/plugins.mdx
index a2d74ceb9..e672715a4 100644
--- a/packages/web/src/content/docs/th/plugins.mdx
+++ b/packages/web/src/content/docs/th/plugins.mdx
@@ -308,6 +308,10 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
เครื่องมือที่คุณกำหนดเองจะพร้อมใช้งานสำหรับ opencode ควบคู่ไปกับเครื่องมือในตัว
+:::note
+หากเครื่องมือปลั๊กอินใช้ชื่อเดียวกับเครื่องมือในตัว เครื่องมือปลั๊กอินจะมีความสำคัญเหนือกว่า
+:::
+
---
### การบันทึก
diff --git a/packages/web/src/content/docs/th/providers.mdx b/packages/web/src/content/docs/th/providers.mdx
index e9fbb351d..122ade427 100644
--- a/packages/web/src/content/docs/th/providers.mdx
+++ b/packages/web/src/content/docs/th/providers.mdx
@@ -84,6 +84,37 @@ OpenCode Zen คือรายชื่อโมเดลที่จัดท�
---
+## OpenCode Go
+
+OpenCode Go คือแผนการสมัครสมาชิกราคาประหยัดที่ให้การเข้าถึงโมเดลการเขียนโค้ดแบบเปิดยอดนิยมที่เชื่อถือได้ ซึ่งจัดเตรียมโดยทีมงาน OpenCode ที่ได้รับการทดสอบและตรวจสอบแล้วว่าทำงานได้ดีกับ OpenCode
+
+1. เรียกใช้คำสั่ง `/connect` ใน TUI เลือก `OpenCode Go` และไปที่ [opencode.ai/auth](https://opencode.ai/zen)
+
+ ```txt
+ /connect
+ ```
+
+2. ลงชื่อเข้าใช้ เพิ่มรายละเอียดการเรียกเก็บเงินของคุณ และคัดลอกรหัส API ของคุณ
+
+3. วางคีย์ API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. เรียกใช้ `/models` ใน TUI เพื่อดูรายการรุ่นที่เราแนะนำ
+
+ ```txt
+ /models
+ ```
+
+มันทำงานเหมือนกับผู้ให้บริการรายอื่นใน OpenCode และเป็นทางเลือกในการใช้งานโดยสมบูรณ์
+
+---
+
## ไดเรกทอรี
มาดูรายละเอียดผู้ให้บริการบางรายกัน หากคุณต้องการเพิ่มผู้ให้บริการให้กับ
@@ -1354,6 +1385,583 @@ OpenCode Zen คือรายการโมเดลที่ได้รั�
└ enter
```
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _Qwen 3 Coder 480B_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### OpenRouter
+
+1. ไปที่ [OpenRouter dashboard](https://openrouter.ai/settings/keys) คลิก **Create API Key** และคัดลอกคีย์
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา OpenRouter
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ API สำหรับผู้ให้บริการ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. โมเดล OpenRouter จำนวนมากถูกโหลดไว้ล่วงหน้าตามค่าเริ่มต้น รันคำสั่ง `/models` เพื่อเลือกโมเดลที่คุณต้องการ
+
+ ```txt
+ /models
+ ```
+
+ คุณยังสามารถเพิ่มโมเดลเพิ่มเติมผ่านการกำหนดค่า opencode ของคุณได้
+
+ ```json title="opencode.json" {6}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "openrouter": {
+ "models": {
+ "somecoolnewmodel": {}
+ }
+ }
+ }
+ }
+ ```
+
+5. คุณยังสามารถปรับแต่งได้ผ่านการกำหนดค่า opencode ของคุณ นี่คือตัวอย่างการระบุผู้ให้บริการ
+
+ ```json title="opencode.json"
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "openrouter": {
+ "models": {
+ "moonshotai/kimi-k2": {
+ "options": {
+ "provider": {
+ "order": ["baseten"],
+ "allow_fallbacks": false
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ```
+
+---
+
+### SAP AI Core
+
+SAP AI Core ให้การเข้าถึงโมเดลมากกว่า 40 รุ่นจาก OpenAI, Anthropic, Google, Amazon, Meta, Mistral และ AI21 ผ่านแพลตฟอร์มเดียว
+
+1. ไปที่ [SAP BTP Cockpit](https://account.hana.ondemand.com/) ของคุณ ไปที่อินสแตนซ์บริการ SAP AI Core และสร้างคีย์บริการ
+
+ :::tip
+ คีย์บริการคือวัตถุ JSON ที่มี `clientid`, `clientsecret`, `url` และ `serviceurls.AI_API_URL` คุณสามารถค้นหาอินสแตนซ์ AI Core ของคุณได้ภายใต้ **Services** > **Instances and Subscriptions** ใน BTP Cockpit
+ :::
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **SAP AI Core**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อน JSON คีย์บริการของคุณ
+
+ ```txt
+ ┌ Service key
+ │
+ │
+ └ enter
+ ```
+
+ หรือตั้งค่าตัวแปรสภาพแวดล้อม `AICORE_SERVICE_KEY`:
+
+ ```bash
+ AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}' opencode
+ ```
+
+ หรือเพิ่มลงในโปรไฟล์ทุบตีของคุณ:
+
+ ```bash title="~/.bash_profile"
+ export AICORE_SERVICE_KEY='{"clientid":"...","clientsecret":"...","url":"...","serviceurls":{"AI_API_URL":"..."}}'
+ ```
+
+4. เลือกตั้งค่ารหัสการปรับใช้และกลุ่มทรัพยากร:
+
+ ```bash
+ AICORE_DEPLOYMENT_ID=your-deployment-id AICORE_RESOURCE_GROUP=your-resource-group opencode
+ ```
+
+ :::note
+ การตั้งค่าเหล่านี้เป็นทางเลือกและควรกำหนดค่าตามการตั้งค่า SAP AI Core ของคุณ
+ :::
+
+5. รันคำสั่ง `/models` เพื่อเลือกจาก 40+ รุ่นที่มีอยู่
+
+ ```txt
+ /models
+ ```
+
+---
+
+### STACKIT
+
+STACKIT AI Model Serving มอบสภาพแวดล้อมการโฮสต์ที่มีการจัดการเต็มรูปแบบสำหรับโมเดล AI โดยเน้นที่ LLM เช่น Llama, Mistral และ Qwen โดยมีอธิปไตยของข้อมูลสูงสุดบนโครงสร้างพื้นฐานยุโรป
+
+1. ไปที่ [STACKIT Portal](https://portal.stackit.cloud) ไปที่ **AI Model Serving** และสร้างโทเค็นการตรวจสอบสิทธิ์สำหรับโครงการของคุณ
+
+ :::tip
+ คุณต้องมีบัญชีลูกค้า STACKIT บัญชีผู้ใช้ และโครงการก่อนสร้างโทเค็นการตรวจสอบสิทธิ์
+ :::
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **STACKIT**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนโทเค็นการตรวจสอบสิทธิ์ STACKIT AI Model Serving ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกจากโมเดลที่มีอยู่ เช่น _Qwen3-VL 235B_ หรือ _Llama 3.3 70B_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### OVHcloud AI Endpoints
+
+1. ไปที่ [OVHcloud panel](https://ovh.com/manager) ไปที่ส่วน `Public Cloud`, `AI & Machine Learning` > `AI Endpoints` และในแท็บ `API Keys` ให้คลิก **Create a new API key**
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **OVHcloud AI Endpoints**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ API OVHcloud AI Endpoints ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _gpt-oss-120b_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### Scaleway
+
+วิธีใช้ [Scaleway Generative APIs](https://www.scaleway.com/en/docs/generative-apis/) กับ Opencode:
+
+1. ไปที่ [Scaleway Console IAM settings](https://console.scaleway.com/iam/api-keys) เพื่อสร้างคีย์ API ใหม่
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **Scaleway**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ Scaleway API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _devstral-2-123b-instruct-2512_ หรือ _gpt-oss-120b_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### Together AI
+
+1. ไปที่ [Together AI console](https://api.together.ai) สร้างบัญชี และคลิก **Add Key**
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **Together AI**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ Together AI API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _Kimi K2 Instruct_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### Venice AI
+
+1. ไปที่ [Venice AI console](https://venice.ai) สร้างบัญชี และสร้างคีย์ API
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **Venice AI**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ Venice AI API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _Llama 3.3 70B_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### Vercel AI Gateway
+
+Vercel AI Gateway ช่วยให้คุณเข้าถึงโมเดลจาก OpenAI, Anthropic, Google, xAI และอื่นๆ อีกมากมายผ่านจุดสิ้นสุดแบบรวม โมเดลถูกนำเสนอในราคาปลีกโดยไม่มีการบวกเพิ่ม
+
+1. ไปที่ [Vercel dashboard](https://vercel.com/) ไปที่แท็บ **AI Gateway** และคลิก **API keys** เพื่อสร้างคีย์ API ใหม่
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **Vercel AI Gateway**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ Vercel AI Gateway API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกรุ่น
+
+ ```txt
+ /models
+ ```
+
+คุณยังสามารถปรับแต่งโมเดลผ่านการกำหนดค่า opencode ของคุณได้ นี่คือตัวอย่างการระบุลำดับการกำหนดเส้นทางผู้ให้บริการ
+
+```json title="opencode.json"
+{
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "vercel": {
+ "models": {
+ "anthropic/claude-sonnet-4": {
+ "options": {
+ "order": ["anthropic", "vertex"]
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+ตัวเลือกการกำหนดเส้นทางที่มีประโยชน์บางประการ:
+
+| ตัวเลือก | คำอธิบาย |
+| ------------------- | ---------------------------------------------------------- |
+| `order` | ลำดับผู้ให้บริการที่จะลอง |
+| `only` | จำกัดเฉพาะผู้ให้บริการที่ระบุ |
+| `zeroDataRetention` | ใช้เฉพาะผู้ให้บริการที่มีนโยบายการเก็บรักษาข้อมูลเป็นศูนย์ |
+
+---
+
+### xAI
+
+1. ไปที่ [xAI console](https://console.x.ai/) สร้างบัญชี และสร้างคีย์ API
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **xAI**
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ xAI API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _Grok Beta_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### Z.AI
+
+1. ไปที่ [Z.AI API console](https://z.ai/manage-apikey/apikey-list) สร้างบัญชี และคลิก **Create a new API key**
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา **Z.AI**
+
+ ```txt
+ /connect
+ ```
+
+ หากคุณสมัครรับ **GLM Coding Plan** ให้เลือก **Z.AI Coding Plan**
+
+3. ป้อนคีย์ Z.AI API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. รันคำสั่ง `/models` เพื่อเลือกโมเดลเช่น _GLM-4.7_
+
+ ```txt
+ /models
+ ```
+
+---
+
+### ZenMux
+
+1. ไปที่ [ZenMux dashboard](https://zenmux.ai/settings/keys) คลิก **Create API Key** และคัดลอกคีย์
+
+2. เรียกใช้คำสั่ง `/connect` และค้นหา ZenMux
+
+ ```txt
+ /connect
+ ```
+
+3. ป้อนคีย์ API สำหรับผู้ให้บริการ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
+4. โมเดล ZenMux จำนวนมากถูกโหลดไว้ล่วงหน้าตามค่าเริ่มต้น รันคำสั่ง `/models` เพื่อเลือกโมเดลที่คุณต้องการ
+
+ ```txt
+ /models
+ ```
+
+ คุณยังสามารถเพิ่มโมเดลเพิ่มเติมผ่านการกำหนดค่า opencode ของคุณได้
+
+ ```json title="opencode.json" {6}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "zenmux": {
+ "models": {
+ "somecoolnewmodel": {}
+ }
+ }
+ }
+ }
+ ```
+
+---
+
+## ผู้ให้บริการที่กำหนดเอง
+
+หากต้องการเพิ่มผู้ให้บริการที่ **เข้ากันได้กับ OpenAI** ใดๆ ที่ไม่มีรายชื่ออยู่ในคำสั่ง `/connect`:
+
+:::tip
+คุณสามารถใช้ผู้ให้บริการที่เข้ากันได้กับ OpenAI กับ opencode ได้ ผู้ให้บริการ AI สมัยใหม่ส่วนใหญ่เสนอ API ที่เข้ากันได้กับ OpenAI
+:::
+
+1. เรียกใช้คำสั่ง `/connect` และเลื่อนลงไปที่ **Other**
+
+ ```bash
+ $ /connect
+
+ ┌ Add credential
+ │
+ ◆ Select provider
+ │ ...
+ │ ● Other
+ └
+ ```
+
+2. ป้อน ID เฉพาะสำหรับผู้ให้บริการ
+
+ ```bash
+ $ /connect
+
+ ┌ Add credential
+ │
+ ◇ Enter provider id
+ │ myprovider
+ └
+ ```
+
+ :::note
+ เลือก ID ที่น่าจดจำ คุณจะใช้ ID นี้ในไฟล์กำหนดค่าของคุณ
+ :::
+
+3. ป้อนคีย์ API สำหรับผู้ให้บริการ
+
+ ```bash
+ $ /connect
+
+ ┌ Add credential
+ │
+ ▲ This only stores a credential for myprovider - you will need to configure it in opencode.json, check the docs for examples.
+ │
+ ◇ Enter your API key
+ │ sk-...
+ └
+ ```
+
+4. สร้างหรืออัปเดตไฟล์ `opencode.json` ของคุณในไดเร็กทอรีโครงการของคุณ:
+
+ ```json title="opencode.json" ""myprovider"" {5-15}
+ {
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "myprovider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "My AI ProviderDisplay Name",
+ "options": {
+ "baseURL": "https://api.myprovider.com/v1"
+ },
+ "models": {
+ "my-model-name": {
+ "name": "My Model Display Name"
+ }
+ }
+ }
+ }
+ }
+ ```
+
+ นี่คือตัวเลือกการกำหนดค่า:
+ - **npm**: แพ็คเกจ AI SDK ที่จะใช้ `@ai-sdk/openai-compatible` สำหรับผู้ให้บริการที่เข้ากันได้กับ OpenAI
+ - **name**: ชื่อที่แสดงใน UI
+ - **models**: โมเดลที่มีจำหน่าย
+ - **options.baseURL**: URL จุดสิ้นสุด API
+ - **options.apiKey**: ตั้งค่าคีย์ API ทางเลือก หากไม่ได้ใช้การรับรองความถูกต้อง
+ - **options.headers**: ตั้งค่าส่วนหัวที่กำหนดเองได้ตามต้องการ
+
+ ข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกขั้นสูงในตัวอย่างด้านล่าง
+
+5. รันคำสั่ง `/models` และผู้ให้บริการและโมเดลที่คุณกำหนดเองจะปรากฏในรายการตัวเลือก
+
+---
+
+##### ตัวอย่าง
+
+นี่คือตัวอย่างการตั้งค่าตัวเลือก `apiKey`, `headers` และรุ่น `limit`
+
+```json title="opencode.json" {9,11,17-20}
+{
+ "$schema": "https://opencode.ai/config.json",
+ "provider": {
+ "myprovider": {
+ "npm": "@ai-sdk/openai-compatible",
+ "name": "My AI ProviderDisplay Name",
+ "options": {
+ "baseURL": "https://api.myprovider.com/v1",
+ "apiKey": "{env:ANTHROPIC_API_KEY}",
+ "headers": {
+ "Authorization": "Bearer custom-token"
+ }
+ },
+ "models": {
+ "my-model-name": {
+ "name": "My Model Display Name",
+ "limit": {
+ "context": 200000,
+ "output": 65536
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+รายละเอียดการกำหนดค่า:
+
+- **apiKey**: ตั้งค่าโดยใช้ไวยากรณ์ตัวแปร `env` [เรียนรู้เพิ่มเติม](/docs/config#env-vars)
+- **headers**: ส่วนหัวที่กำหนดเองที่ส่งไปกับแต่ละคำขอ
+- **limit.context**: โทเค็นอินพุตสูงสุดที่โมเดลยอมรับ
+- **limit.output**: โทเค็นสูงสุดที่โมเดลสามารถสร้างได้
+
+ฟิลด์ `limit` ช่วยให้ OpenCode เข้าใจว่าคุณมีบริบทเหลืออยู่เท่าใด ผู้ให้บริการมาตรฐานจะดึงข้อมูลเหล่านี้จาก models.dev โดยอัตโนมัติ
+
+---
+
+## การแก้ไขปัญหา
+
+หากคุณประสบปัญหาในการกำหนดค่าผู้ให้บริการ ให้ตรวจสอบสิ่งต่อไปนี้:
+
+1. **ตรวจสอบการตั้งค่าการรับรองความถูกต้อง**: รัน `opencode auth list` เพื่อดูว่ามีการเพิ่มข้อมูลรับรอง
+ สำหรับผู้ให้บริการในการกำหนดค่าของคุณหรือไม่
+
+ สิ่งนี้ใช้ไม่ได้กับผู้ให้บริการเช่น Amazon Bedrock ซึ่งอาศัยตัวแปรสภาพแวดล้อมสำหรับการตรวจสอบสิทธิ์
+
+2. สำหรับผู้ให้บริการที่กำหนดเอง ให้ตรวจสอบการกำหนดค่า opencode และ:
+ - ตรวจสอบให้แน่ใจว่า ID ผู้ให้บริการที่ใช้ในคำสั่ง `/connect` ตรงกับ ID ในการกำหนดค่า opencode ของคุณ
+ - ใช้แพ็คเกจ npm ที่ถูกต้องสำหรับผู้ให้บริการ ตัวอย่างเช่น ใช้ `@ai-sdk/cerebras` สำหรับ Cerebras และสำหรับผู้ให้บริการอื่นๆ ที่เข้ากันได้กับ OpenAI ให้ใช้ `@ai-sdk/openai-compatible`
+ - ตรวจสอบว่าใช้จุดสิ้นสุด API ที่ถูกต้องในฟิลด์ `options.baseURL`
+
+3. ป้อนคีย์ OpenCode API ของคุณ
+
+ ```txt
+ ┌ API key
+ │
+ │
+ └ enter
+ ```
+
4. รันคำสั่ง `/models` เพื่อเลือกรุ่นเช่น _Qwen 3 Coder 480B_
```txt
diff --git a/packages/web/src/content/docs/th/sdk.mdx b/packages/web/src/content/docs/th/sdk.mdx
index b592c1a4e..3454b5766 100644
--- a/packages/web/src/content/docs/th/sdk.mdx
+++ b/packages/web/src/content/docs/th/sdk.mdx
@@ -117,6 +117,78 @@ try {
---
+## ผลลัพธ์แบบมีโครงสร้าง
+
+คุณสามารถร้องขอผลลัพธ์ JSON แบบมีโครงสร้างจากโมเดลได้โดยระบุ `format` ด้วย JSON schema โมเดลจะใช้เครื่องมือ `StructuredOutput` เพื่อส่งคืน JSON ที่ผ่านการตรวจสอบความถูกต้องซึ่งตรงกับสคีมาของคุณ
+
+### การใช้งานพื้นฐาน
+
+```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"] }
+```
+
+### ประเภทรูปแบบผลลัพธ์
+
+| ประเภท | คำอธิบาย |
+| ------------- | ----------------------------------------------------------------- |
+| `text` | ค่าเริ่มต้น การตอบสนองข้อความมาตรฐาน (ไม่มีผลลัพธ์แบบมีโครงสร้าง) |
+| `json_schema` | ส่งคืน JSON ที่ผ่านการตรวจสอบความถูกต้องซึ่งตรงกับสคีมาที่ระบุ |
+
+### รูปแบบ JSON Schema
+
+เมื่อใช้ `type: 'json_schema'` ให้ระบุ:
+
+| ฟิลด์ | Type | คำอธิบาย |
+| ------------ | --------------- | --------------------------------------------------------------------- |
+| `type` | `'json_schema'` | จำเป็น ระบุโหมด JSON schema |
+| `schema` | `object` | จำเป็น วัตถุ JSON Schema ที่กำหนดโครงสร้างผลลัพธ์ |
+| `retryCount` | `number` | ไม่จำเป็น จำนวนการลองใหม่สำหรับการตรวจสอบความถูกต้อง (ค่าเริ่มต้น: 2) |
+
+### การจัดการข้อผิดพลาด
+
+หากโมเดลล้มเหลวในการสร้างผลลัพธ์แบบมีโครงสร้างที่ถูกต้องหลังจากลองใหม่ครบทุกครั้ง การตอบสนองจะรวม `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)
+}
+```
+
+### แนวปฏิบัติที่ดีที่สุด
+
+1. **ระบุคำอธิบายที่ชัดเจน** ในคุณสมบัติสคีมาของคุณเพื่อช่วยให้โมเดลเข้าใจว่าข้อมูลใดที่ต้องดึงออกมา
+2. **ใช้ `required`** เพื่อระบุฟิลด์ที่ต้องมี
+3. **รักษาสคีมาให้โฟกัส** - สคีมาที่ซ้อนกันซับซ้อนอาจยากสำหรับโมเดลในการกรอกให้ถูกต้อง
+4. **ตั้งค่า `retryCount` ที่เหมาะสม** - เพิ่มสำหรับสคีมาที่ซับซ้อน ลดลงสำหรับสคีมาที่เรียบง่าย
+
+---
+
## API
SDK เปิดเผย API ของเซิร์ฟเวอร์ทั้งหมดผ่านไคลเอ็นต์ประเภทที่ปลอดภัย
@@ -226,27 +298,27 @@ const { providers, default: defaults } = await client.config.providers()
### เซสชัน
-| Method | คำอธิบาย | หมายเหตุ |
-| ---------------------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `session.list()` | แสดงรายการเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน[]</code></a> |
-| `session.get({ path })` | รับเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.children({ path })` | แสดงรายการเซสชันย่อย | ส่งคืน <a href={typesUrl}><code>เซสชัน[]</code></a> |
-| `session.create({ body })` | สร้างเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.delete({ path })` | ลบเซสชัน | ส่งคืน `boolean` |
-| `session.update({ path, body })` | อัปเดตคุณสมบัติเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.init({ path, body })` | วิเคราะห์แอปและสร้าง `AGENTS.md` | ส่งคืน `boolean` |
-| `session.abort({ path })` | ยกเลิกเซสชันที่ทำงานอยู่ | ส่งคืน `boolean` |
-| `session.share({ path })` | แบ่งปันเซสชั่น | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.unshare({ path })` | เลิกแชร์เซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.summarize({ path, body })` | สรุปเซสชัน | ส่งคืน `boolean` |
-| `session.messages({ path })` | แสดงรายการข้อความในเซสชัน | ส่งคืน `{ info: `<a href={typesUrl}><code>ข้อความ</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}[]` |
-| `session.message({ path })` | รับรายละเอียดข้อความ | ส่งคืน `{ info: `<a href={typesUrl}><code>ข้อความ</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}` |
-| `session.prompt({ path, body })` | ส่งข้อความแจ้ง | `body.noReply: true` ส่งคืน UserMessage (บริบทเท่านั้น) ค่าเริ่มต้นส่งคืน <a href={typesUrl}><code>AssistantMessage</code></a> พร้อมการตอบสนองของ AI |
-| `session.command({ path, body })` | ส่งคำสั่งไปยังเซสชั่น | ส่งคืน `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}` |
-| `session.shell({ path, body })` | รันคำสั่ง shell | ส่งคืน <a href={typesUrl}><code>AssistantMessage</code></a> |
-| `session.revert({ path, body })` | คืนค่าข้อความ | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `session.unrevert({ path })` | คืนค่าข้อความที่เปลี่ยนกลับ | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
-| `postSessionByIdPermissionsByPermissionId({ path, body })` | ตอบสนองต่อการร้องขอการอนุญาต | ส่งคืน `boolean` |
+| Method | คำอธิบาย | หมายเหตุ |
+| ---------------------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `session.list()` | แสดงรายการเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน[]</code></a> |
+| `session.get({ path })` | รับเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.children({ path })` | แสดงรายการเซสชันย่อย | ส่งคืน <a href={typesUrl}><code>เซสชัน[]</code></a> |
+| `session.create({ body })` | สร้างเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.delete({ path })` | ลบเซสชัน | ส่งคืน `boolean` |
+| `session.update({ path, body })` | อัปเดตคุณสมบัติเซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.init({ path, body })` | วิเคราะห์แอปและสร้าง `AGENTS.md` | ส่งคืน `boolean` |
+| `session.abort({ path })` | ยกเลิกเซสชันที่ทำงานอยู่ | ส่งคืน `boolean` |
+| `session.share({ path })` | แบ่งปันเซสชั่น | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.unshare({ path })` | เลิกแชร์เซสชัน | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.summarize({ path, body })` | สรุปเซสชัน | ส่งคืน `boolean` |
+| `session.messages({ path })` | แสดงรายการข้อความในเซสชัน | ส่งคืน `{ info: `<a href={typesUrl}><code>ข้อความ</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}[]` |
+| `session.message({ path })` | รับรายละเอียดข้อความ | ส่งคืน `{ info: `<a href={typesUrl}><code>ข้อความ</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}` |
+| `session.prompt({ path, body })` | ส่งข้อความแจ้ง | `body.noReply: true` ส่งคืน UserMessage (บริบทเท่านั้น) ค่าเริ่มต้นส่งคืน <a href={typesUrl}><code>AssistantMessage</code></a> พร้อมการตอบสนองของ AI รองรับ `body.outputFormat` สำหรับ [ผลลัพธ์แบบมีโครงสร้าง](#ผลลัพธ์แบบมีโครงสร้าง) |
+| `session.command({ path, body })` | ส่งคำสั่งไปยังเซสชั่น | ส่งคืน `{ info: `<a href={typesUrl}><code>AssistantMessage</code></a>`, parts: `<a href={typesUrl}><code>ส่วน[]</code></a>`}` |
+| `session.shell({ path, body })` | รันคำสั่ง shell | ส่งคืน <a href={typesUrl}><code>AssistantMessage</code></a> |
+| `session.revert({ path, body })` | คืนค่าข้อความ | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `session.unrevert({ path })` | คืนค่าข้อความที่เปลี่ยนกลับ | ส่งคืน <a href={typesUrl}><code>เซสชัน</code></a> |
+| `postSessionByIdPermissionsByPermissionId({ path, body })` | ตอบสนองต่อการร้องขอการอนุญาต | ส่งคืน `boolean` |
---
diff --git a/packages/web/src/content/docs/th/themes.mdx b/packages/web/src/content/docs/th/themes.mdx
index 2244c3dcf..44514148e 100644
--- a/packages/web/src/content/docs/th/themes.mdx
+++ b/packages/web/src/content/docs/th/themes.mdx
@@ -61,11 +61,11 @@ OpenCode มาพร้อมกับธีมในตัวหลายธ�
## การใช้ธีม
-คุณสามารถเลือกธีมได้โดยเปิดการเลือกธีมขึ้นมาด้วยคำสั่ง `/theme` หรือคุณสามารถระบุได้ใน [config](/docs/config)
+คุณสามารถเลือกธีมได้โดยเปิดการเลือกธีมขึ้นมาด้วยคำสั่ง `/theme` หรือคุณสามารถระบุได้ใน `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/th/tui.mdx b/packages/web/src/content/docs/th/tui.mdx
index 9151462d7..2a5064b9d 100644
--- a/packages/web/src/content/docs/th/tui.mdx
+++ b/packages/web/src/content/docs/th/tui.mdx
@@ -235,7 +235,7 @@ How is auth handled in @packages/functions/src/api/index.ts?
แสดงรายการธีมที่มีอยู่
```bash frame="none"
-/theme
+/themes
```
**ผูกปุ่ม:** `ctrl+x t`
@@ -355,24 +355,34 @@ How is auth handled in @packages/functions/src/api/index.ts?
## กำหนดค่า
-คุณสามารถปรับแต่งพฤติกรรม TUI ผ่านไฟล์กำหนดค่า OpenCode ของคุณได้
+คุณสามารถปรับแต่งพฤติกรรม TUI ได้ผ่าน `tui.json` (หรือ `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"
}
```
+สิ่งนี้แยกจาก `opencode.json` ซึ่งกำหนดค่าพฤติกรรมเซิร์ฟเวอร์/รันไทม์
+
### ตัวเลือก
-- `scroll_acceleration` - ​​เปิดใช้งานการเร่งความเร็วการเลื่อนแบบ macOS เพื่อการเลื่อนที่ราบรื่นและเป็นธรรมชาติ เมื่อเปิดใช้งาน ความเร็วในการเลื่อนจะเพิ่มขึ้นตามท่าทางการเลื่อนอย่างรวดเร็ว และคงความแม่นยำไว้สำหรับการเคลื่อนไหวที่ช้าลง **การตั้งค่านี้มีความสำคัญมากกว่า `scroll_speed` และแทนที่เมื่อเปิดใช้งาน**
-- `scroll_speed` - ​​ควบคุมความเร็วของการเลื่อน TUI เมื่อใช้คำสั่งการเลื่อน (ขั้นต่ำ: `1`) ค่าเริ่มต้นเป็น `3` **หมายเหตุ: สิ่งนี้จะถูกละเว้นหากตั้งค่า `scroll_acceleration.enabled` เป็น `true`.**
+- `theme` - ตั้งค่าธีม UI ของคุณ [เรียนรู้เพิ่มเติม](/docs/themes)
+- `keybinds` - ปรับแต่งแป้นพิมพ์ลัด [เรียนรู้เพิ่มเติม](/docs/keybinds)
+- `scroll_acceleration.enabled` - ​​เปิดใช้งานการเร่งความเร็วการเลื่อนแบบ macOS เพื่อการเลื่อนที่ราบรื่นและเป็นธรรมชาติ เมื่อเปิดใช้งาน ความเร็วในการเลื่อนจะเพิ่มขึ้นตามท่าทางการเลื่อนอย่างรวดเร็ว และคงความแม่นยำไว้สำหรับการเคลื่อนไหวที่ช้าลง **การตั้งค่านี้มีความสำคัญมากกว่า `scroll_speed` และแทนที่เมื่อเปิดใช้งาน**
+- `scroll_speed` - ​​ควบคุมความเร็วของการเลื่อน TUI เมื่อใช้คำสั่งการเลื่อน (ขั้นต่ำ: `0.001` รองรับค่าทศนิยม) ค่าเริ่มต้นเป็น `3` **หมายเหตุ: สิ่งนี้จะถูกละเว้นหากตั้งค่า `scroll_acceleration.enabled` เป็น `true`.**
+- `diff_style` - ควบคุมการเรนเดอร์ diff `"auto"` ปรับให้เข้ากับความกว้างของ terminal `"stacked"` จะแสดงคอลัมน์เดียวเสมอ
+
+ใช้ `OPENCODE_TUI_CONFIG` เพื่อโหลดเส้นทางการกำหนดค่า TUI แบบกำหนดเอง
---
diff --git a/packages/web/src/content/docs/th/zen.mdx b/packages/web/src/content/docs/th/zen.mdx
index f0b39ceaa..7b9f17275 100644
--- a/packages/web/src/content/docs/th/zen.mdx
+++ b/packages/web/src/content/docs/th/zen.mdx
@@ -64,31 +64,34 @@ OpenCode Zen ทำงานเหมือนกับผู้ให้บร�
| Model | Model ID | Endpoint | แพ็คเกจ AI SDK |
| ------------------ | ------------------ | -------------------------------------------------- | --------------------------- |
-| GPT 5.2 | GPT-5.2 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
+| 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` |
+| GPT 5.1 | gpt-5.1 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex | gpt-5.1-codex | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex Max | gpt-5.1-codex-max | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
| GPT 5.1 Codex Mini | gpt-5.1-codex-mini | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
-| GPT 5 | GPT-5 | `https://opencode.ai/zen/v1/responses` | `@ai-sdk/openai` |
+| 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 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-haiku-3-5 | `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` |
+| 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` |
+| 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` |
@@ -114,41 +117,46 @@ https://opencode.ai/zen/v1/models
เราสนับสนุนรูปแบบการจ่ายเงินตามการใช้งาน ด้านล่างนี้คือราคา **ต่อtokens 1M**
-| Model | ป้อนข้อมูล | เอาท์พุต | แคชอ่าน | เขียนในแคช |
-| --------------------------------------- | ------------ | ------------ | ------------- | ---------- |
-| Big Pickle | ฟรี | ฟรี | ฟรี | - |
-| MiniMax M2.1 Free | ฟรี | ฟรี | ฟรี | - |
-| Miniแม็กซ์ M2.1 | $0.30 | $1.20 | $0.10 | - |
-| GLM 4.7 Free | ฟรี | ฟรี | ฟรี | - |
-| GLM 4.7 | $0.60 | $2.20 | $0.10 | - |
-| GLM 4.6 | $0.60 | $2.20 | $0.10 | - |
-| Kimi K2.5 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 Sonnet 4.5 (tokens ≤ 200K) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4.5 (> tokens 200,000) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (tokens 200,000 tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> tokens 200,000) | $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 (tokens ≤ 200K) | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.6 (> tokens 200,000) | $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 Pro (tokens ≤ 200,000) | 2.00 ดอลลาร์ | $12.00 | $0.20 | - |
-| Gemini 3 Pro (tokens> 200,000) | $4.00 | $18.00 | $0.40 | - |
-| Gemini 3 Flash | $0.50 | $3.00 | $0.05 | - |
-| 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 | - |
-| GPT 5.1 Codex | $1.07 | 8.50 ดอลลาร์ | $0.107 | - |
-| GPT 5.1 CodexMax | $1.25 | $10.00 | $0.125 | - |
-| GPT 5.1 CodexMini | $0.25 | 2.00 ดอลลาร์ | 0.025 ดอลลาร์ | - |
-| GPT 5 | $1.07 | 8.50 ดอลลาร์ | $0.107 | - |
-| GPT 5 Codex | $1.07 | 8.50 ดอลลาร์ | $0.107 | - |
-| GPT 5Nano | ฟรี | ฟรี | ฟรี | - |
+| Model | ป้อนข้อมูล | เอาท์พุต | แคชอ่าน | เขียนในแคช |
+| --------------------------------- | ---------- | -------- | ------- | ---------- |
+| Big Pickle | ฟรี | ฟรี | ฟรี | - |
+| MiniMax M2.5 Free | ฟรี | ฟรี | ฟรี | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.1 | $0.30 | $1.20 | $0.10 | - |
+| 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 | $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 |
+| 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 | - |
+| GPT 5.1 Codex | $1.07 | $8.50 | $0.107 | - |
+| GPT 5.1 Codex Max | $1.25 | $10.00 | $0.125 | - |
+| GPT 5.1 Codex Mini | $0.25 | $2.00 | $0.025 | - |
+| GPT 5 | $1.07 | $8.50 | $0.107 | - |
+| GPT 5 Codex | $1.07 | $8.50 | $0.107 | - |
+| GPT 5 Nano | ฟรี | ฟรี | ฟรี | - |
คุณอาจสังเกตเห็น _Claude Haiku 3.5_ ในประวัติการใช้งานของคุณ นี่คือ [โมเดลราคาประหยัด](/docs/config/#models) ที่ใช้ในการสร้างชื่อเซสชันของคุณ
@@ -158,9 +166,7 @@ https://opencode.ai/zen/v1/models
รุ่นฟรี:
-- GLM 4.7 ใช้งานได้ฟรีบน OpenCode ในระยะเวลาจำกัด ทีมงานใช้เวลานี้เพื่อรวบรวมคำติชมและปรับปรุงโมเดล
-- Kimi K2.5 Free พร้อมใช้งานบน OpenCode ในระยะเวลาจำกัด ทีมงานใช้เวลานี้เพื่อรวบรวมคำติชมและปรับปรุงโมเดล
-- MiniMax M2.1 Free พร้อมใช้งานบน OpenCode ในระยะเวลาจำกัด ทีมงานใช้เวลานี้เพื่อรวบรวมคำติชมและปรับปรุงโมเดล
+- MiniMax M2.5 Free พร้อมใช้งานบน OpenCode ในระยะเวลาจำกัด ทีมงานใช้เวลานี้เพื่อรวบรวมคำติชมและปรับปรุงโมเดล
- Big Pickle เป็นโมเดลล่องหนที่ให้บริการฟรีบน OpenCode ในระยะเวลาจำกัด ทีมงานใช้เวลานี้เพื่อรวบรวมคำติชมและปรับปรุงโมเดล
<a href={email}>Contact us</a> if you have any questions.
@@ -191,9 +197,7 @@ https://opencode.ai/zen/v1/models
โมเดลทั้งหมดของเราโฮสต์ในสหรัฐอเมริกา ผู้ให้บริการของเราปฏิบัติตามนโยบายการเก็บรักษาเป็นศูนย์ และไม่ใช้ข้อมูลของคุณสำหรับการฝึกโมเดล โดยมีข้อยกเว้นต่อไปนี้:
- Big Pickle: ในช่วงระยะเวลาว่าง ข้อมูลที่รวบรวมอาจนำไปใช้ในการปรับปรุงโมเดลได้
-- GLM 4.7 Free: ในช่วงระยะเวลาฟรี ข้อมูลที่รวบรวมอาจนำไปใช้ในการปรับปรุงโมเดล
-- Kimi K2.5 Free: ในช่วงระยะเวลาฟรี ข้อมูลที่รวบรวมอาจนำไปใช้ในการปรับปรุงโมเดล
-- MiniMax M2.1 Free: ในช่วงระยะเวลาฟรี ข้อมูลที่รวบรวมอาจนำไปใช้ในการปรับปรุงโมเดล
+- MiniMax M2.5 Free: ในช่วงระยะเวลาฟรี ข้อมูลที่รวบรวมอาจนำไปใช้ในการปรับปรุงโมเดล
- OpenAI API: คำขอจะถูกเก็บไว้เป็นเวลา 30 วันตาม [นโยบายข้อมูลของ OpenAI](https://platform.openai.com/docs/guides/your-data)
- Anthropic API: คำขอจะถูกเก็บไว้เป็นเวลา 30 วันตาม [นโยบายข้อมูลของ Anthropic](https://docs.anthropic.com/en/docs/claude-code/data-usage)