-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathconfig-example.toml
More file actions
109 lines (97 loc) · 5.56 KB
/
Copy pathconfig-example.toml
File metadata and controls
109 lines (97 loc) · 5.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[server]
host = "127.0.0.1"
port = 8080
# 日誌等級:trace, debug, info, warn, error
# Log level: trace, debug, info, warn, error
# 也可透過 CLI --log-level 覆寫,或透過環境變數 RUST_LOG 設定
# Can also be overridden via CLI --log-level, or via RUST_LOG env var
log_level = "info"
# 日誌檔案路徑(選填):設定後日誌會同時寫入此檔案,適合 debug 等級時保存完整內容
# Log file path (optional): when set, logs are also written to this file — useful for preserving full debug output
log_file = "adapter.log"
# 是否啟用寫入日誌檔案(預設 true):設為 false 時,即使有設定 log_file 也不會寫入檔案
# Whether to enable writing logs to file (default true): when false, logs are not written to file even if log_file is set
log_file_enabled = false
# Claude Code 串流閒置逾時(毫秒):寫入 ~/.claude/settings.json 的 env,停止 adapter 時與 ANTHROPIC_BASE_URL 一併還原。預設 300000(5 分鐘)。設為 0 則不注入、不備份還原此變數。
# Claude Code stream idle timeout (ms): written to ~/.claude/settings.json env; restored on shutdown with ANTHROPIC_BASE_URL. Default 300000 (5 min). Use 0 to skip.
# claude_stream_idle_timeout_ms = 300000
# ---------------------------------------------------------------------------
# 供應商配置 / Provider configuration
# ---------------------------------------------------------------------------
# 可同時配置多個供應商,每個供應商以 [providers.<名稱>] 定義
# Multiple providers can be configured, each defined as [providers.<name>]
#
# 支援的供應商類型 / Supported provider types:
# "chatgpt" — 使用 OAuth 認證(先執行 `claude-adapter login`)
# Uses OAuth authentication (run `claude-adapter login` first)
# "openai" — OpenAI API(需要 api_key)
# OpenAI API (requires api_key)
# "grok" — Grok/xAI API(需要 api_key)
# Grok/xAI API (requires api_key)
[providers.chatgpt]
type = "chatgpt"
# ChatGPT 使用 OAuth 認證,不需要 api_key 或 base_url
# ChatGPT uses OAuth authentication, no api_key or base_url needed
# (選用)第二個 ChatGPT 帳號:先執行 `claude-adapter login --name chatgpt2`
# (Optional) Second ChatGPT account: run `claude-adapter login --name chatgpt2` first
[providers.chatgpt2]
type = "chatgpt"
[providers.openai-compatible]
type = "openai"
# API 金鑰(也可透過環境變數 ADAPTER_API_KEY 設定,但僅作用於 default_provider)
# API key (can also be set via ADAPTER_API_KEY env var, but only applies to default_provider)
api_key = ""
# Grok / OpenAI 相容 API 的 Base URL
# Base URL for Grok / OpenAI-compatible API
base_url = "https://api.x.ai/v1"
# 後端是否回傳串流 SSE(通常建議關閉,由 Adapter 統一模擬 SSE)
# Whether the backend returns streaming SSE (usually keep false and let Adapter simulate SSE)
supports_streaming = false
[providers.opencode-go-anthropic]
type = "anthropic-compatible"
# API 金鑰(也可透過環境變數 ADAPTER_API_KEY 設定,但僅作用於 default_provider)
# API key (can also be set via ADAPTER_API_KEY env var, but only applies to default_provider)
api_key = ""
# Provider API 的 Base URL
# Base URL for Provider API
base_url = "https://opencode.ai/zen/go/v1"
supports_streaming = false
[providers.omlx]
type = "openai"
# API 金鑰(也可透過環境變數 ADAPTER_API_KEY 設定,但僅作用於 default_provider)
# API key (can also be set via ADAPTER_API_KEY env var, but only applies to default_provider)
api_key = "abc1234"
# Grok API 的 Base URL
# Base URL for Grok API
base_url = "http://127.0.0.1/v1"
supports_streaming = true
# ---------------------------------------------------------------------------
# 模型配置 / Model configuration
# ---------------------------------------------------------------------------
[models]
# 找不到路由映射時使用的預設供應商
# Default provider when no routing match is found
default_provider = "chatgpt"
# 找不到路由映射時使用的預設模型
# Default model when no routing match is found
default_model = "gpt-5.4"
# 模型路由表(Anthropic 模型名稱 → 供應商 + 模型)
# Claude Code 傳入的模型名稱會根據此表路由到對應的供應商和模型
# 範例:將特定模型路由到 Grok / Example: route specific model to Grok
# 若模型名稱包含日期後綴(例如 claude-haiku-4-5-20251001),
# 建議僅填「型號前綴」作為 key(例如 claude-haiku-4-5),
# Adapter 會使用最長前綴比對自動套用到所有對應日期版本。
# Model routing table (Anthropic model name → provider + model)
# Model names from Claude Code are routed to the corresponding provider and model
# If model names include a date suffix (e.g. claude-haiku-4-5-20251001),
# it is recommended to use only the \"family\" prefix (e.g. claude-haiku-4-5) as the key;
# the adapter will use longest-prefix matching to apply the routing to all dated variants.
[models.routing]
"claude-opus-4-6" = { provider = "chatgpt", model = "gpt-5.4" }
# 範例:使用第二個 ChatGPT 帳號(providers.chatgpt2)
# Example: use second ChatGPT account (providers.chatgpt2)
"claude-sonnet-4-6" = { provider = "chatgpt2", model = "gpt-5.3-codex" }
# 範例:路由到 OpenAI 相容後端 / Example: route to an OpenAI-compatible backend
"claude-haiku-4-5" = { provider = "openai-compatible", model = "grok-4" }
# 範例:路由到 Anthropic 相容後端 / Example: route to an Anthropic-compatible backend
# "claude-haiku-4-5" = { provider = "opencode-go-anthropic", model = "minimax-m2.5" }