diff --git a/messages/en/usage.json b/messages/en/usage.json index 04932cca3..3eeae3206 100644 --- a/messages/en/usage.json +++ b/messages/en/usage.json @@ -543,8 +543,8 @@ "important": "Important", "importantPoints": [ "Create an API key in the cch console and set the CCH_API_KEY environment variable", - "All providers use ${resolvedOrigin}/v1 as baseURL (cch v1 API base URL)", - "When selecting models, use provider_id/model_id (e.g. cchClaude/claude-sonnet-4-5-20250929)" + "cchClaude/openai use ${resolvedOrigin}/v1; cchGemini uses ${resolvedOrigin}/v1beta", + "When selecting models, use provider_id/model_id (e.g. openai/gpt-5.2 or cchClaude/claude-sonnet-4-5-20250929)" ] }, diff --git a/messages/ja/usage.json b/messages/ja/usage.json index 612d05235..a83e9ed36 100644 --- a/messages/ja/usage.json +++ b/messages/ja/usage.json @@ -543,8 +543,8 @@ "important": "重要", "importantPoints": [ "cch の管理画面で API Key を作成し、環境変数 CCH_API_KEY を設定してください", - "3 つの provider すべてで baseURL は ${resolvedOrigin}/v1(cch の v1 API ベース URL)", - "モデル選択は provider_id/model_id 形式(例:cchClaude/claude-sonnet-4-5-20250929)" + "cchClaude/openai は ${resolvedOrigin}/v1、cchGemini は ${resolvedOrigin}/v1beta を baseURL に使用します", + "モデル選択は provider_id/model_id 形式(例:openai/gpt-5.2 または cchClaude/claude-sonnet-4-5-20250929)" ] }, diff --git a/messages/ru/usage.json b/messages/ru/usage.json index 33bd591e3..067ee5d2c 100644 --- a/messages/ru/usage.json +++ b/messages/ru/usage.json @@ -543,8 +543,8 @@ "important": "Важно", "importantPoints": [ "Создайте API key в панели cch и задайте переменную окружения CCH_API_KEY", - "Все provider используют ${resolvedOrigin}/v1 как baseURL (базовый URL cch v1 API)", - "При выборе модели используйте provider_id/model_id (например, cchClaude/claude-sonnet-4-5-20250929)" + "cchClaude/openai используют ${resolvedOrigin}/v1; cchGemini использует ${resolvedOrigin}/v1beta", + "При выборе модели используйте provider_id/model_id (например, openai/gpt-5.2 или cchClaude/claude-sonnet-4-5-20250929)" ] }, diff --git a/messages/zh-CN/usage.json b/messages/zh-CN/usage.json index 0cf355274..b25fc042c 100644 --- a/messages/zh-CN/usage.json +++ b/messages/zh-CN/usage.json @@ -539,8 +539,8 @@ "important": "重要说明", "importantPoints": [ "请先在 cch 后台创建 API Key,并设置环境变量 CCH_API_KEY", - "三个 provider 的 baseURL 都使用 ${resolvedOrigin}/v1(cch v1 API 地址)", - "模型选择时使用 provider_id/model_id 格式(例如 cchClaude/claude-sonnet-4-5-20250929)" + "cchClaude/openai 使用 ${resolvedOrigin}/v1,cchGemini 使用 ${resolvedOrigin}/v1beta", + "模型选择时使用 provider_id/model_id 格式(例如 openai/gpt-5.2 或 cchClaude/claude-sonnet-4-5-20250929)" ] }, diff --git a/messages/zh-TW/usage.json b/messages/zh-TW/usage.json index 62b7efb6f..b12c046fb 100644 --- a/messages/zh-TW/usage.json +++ b/messages/zh-TW/usage.json @@ -539,8 +539,8 @@ "important": "重要說明", "importantPoints": [ "請先在 cch 後台創建 API Key,並設置環境變量 CCH_API_KEY", - "三個 provider 的 baseURL 都使用 ${resolvedOrigin}/v1(cch v1 API 地址)", - "模型選擇時使用 provider_id/model_id 格式(例如 cchClaude/claude-sonnet-4-5-20250929)" + "cchClaude/openai 使用 ${resolvedOrigin}/v1,cchGemini 使用 ${resolvedOrigin}/v1beta", + "模型選擇時使用 provider_id/model_id 格式(例如 openai/gpt-5.2 或 cchClaude/claude-sonnet-4-5-20250929)" ] }, diff --git a/src/app/[locale]/usage-doc/page.tsx b/src/app/[locale]/usage-doc/page.tsx index 09173e34b..bd5ddc9d5 100644 --- a/src/app/[locale]/usage-doc/page.tsx +++ b/src/app/[locale]/usage-doc/page.tsx @@ -1080,6 +1080,8 @@ gemini`} $schema: "https://opencode.ai/config.json", theme: "opencode", autoupdate: false, + model: "openai/gpt-5.2", + small_model: "openai/gpt-5.2-small", provider: { cchClaude: { npm: "@ai-sdk/anthropic", @@ -1100,16 +1102,34 @@ gemini`} options: { baseURL: `${resolvedOrigin}/v1`, apiKey: "{env:CCH_API_KEY}", + store: false, + setCacheKey: true, }, models: { - "gpt-5.2": { name: "GPT-5.2" }, + "gpt-5.2": { + name: "GPT-5.2", + options: { + reasoningEffort: "xhigh", + store: false, + include: ["reasoning.encrypted_content"], + }, + }, + "gpt-5.2-small": { + id: "gpt-5.2", + name: "GPT-5.2 Small", + options: { + reasoningEffort: "medium", + store: false, + include: ["reasoning.encrypted_content"], + }, + }, }, }, cchGemini: { npm: "@ai-sdk/google", name: "Gemini via cch", options: { - baseURL: `${resolvedOrigin}/v1`, + baseURL: `${resolvedOrigin}/v1beta`, apiKey: "{env:CCH_API_KEY}", }, models: { diff --git a/tests/unit/usage-doc/opencode-usage-doc.test.tsx b/tests/unit/usage-doc/opencode-usage-doc.test.tsx index 3016735c7..f14560bf4 100644 --- a/tests/unit/usage-doc/opencode-usage-doc.test.tsx +++ b/tests/unit/usage-doc/opencode-usage-doc.test.tsx @@ -69,18 +69,28 @@ describe("UsageDoc - OpenCode 配置教程", () => { expect(text).toContain('"baseURL": "http://localhost:23000/v1"'); expect(text).toContain('"npm": "@ai-sdk/anthropic"'); - expect(text).toContain('"npm": "@ai-sdk/openai"'); expect(text).toContain('"npm": "@ai-sdk/google"'); + expect(text).not.toContain('"npm": "@ai-sdk/openai"'); expect(text).not.toContain("@ai-sdk/openai-compatible"); expect(text).toContain("claude-haiku-4-5-20251001"); expect(text).toContain("claude-sonnet-4-5-20250929"); expect(text).toContain("claude-opus-4-5-20251101"); + expect(text).toContain('"model": "openai/gpt-5.2"'); + expect(text).toContain('"small_model": "openai/gpt-5.2-small"'); + expect(text).toContain("gpt-5.2"); + expect(text).toContain("gpt-5.2-small"); + expect(text).toContain('"reasoningEffort": "xhigh"'); + expect(text).toContain('"reasoningEffort": "medium"'); + expect(text).toContain('"store": false'); + expect(text).toContain('"setCacheKey": true'); + expect(text).toContain("reasoning.encrypted_content"); expect(text).toContain("gemini-3-pro-preview"); expect(text).toContain("gemini-3-flash-preview"); + expect(text).toContain('"baseURL": "http://localhost:23000/v1beta"'); unmount(); });