From 91b5a1431237fbd178ed7fa6eb5d38c26fc8a0de Mon Sep 17 00:00:00 2001 From: Liang Jiaqing Date: Thu, 2 Jul 2026 20:26:27 +0800 Subject: [PATCH] simplify mykey_template: remove non-native & antigravity configs, merge GLM/Kimi/MiniMax into vendor tables --- mykey_template.py | 184 +++++++++------------------------------------- 1 file changed, 35 insertions(+), 149 deletions(-) diff --git a/mykey_template.py b/mykey_template.py index 4531ae8e..4907c686 100644 --- a/mykey_template.py +++ b/mykey_template.py @@ -18,32 +18,19 @@ # ───────────────────────────────────────────────────────────────────────── # 含 'native' 且 'claude' → NativeClaudeSession → API 原生 tool 字段 # 含 'native' 且 'oai' → NativeOAISession → API 原生 tool 字段 -# 含 'claude'(不含 native) → ClaudeSession → 文本协议工具 (deprecated) -# 含 'oai'(不含 native) → LLMSession → 文本协议工具 (deprecated) # 含 'mixin' → MixinSession → 多 session 故障转移 # NativeClaudeSession 与 # NativeOAISession 可混用 # -# 优先级自上而下:native_claude_xxx 会走 NativeClaudeSession;如果变量名只写 -# oai_claude_xxx 则依然会被 'claude' 抢先匹配,去走 ClaudeSession,所以命名要 -# 注意含义。 -# -# ────────── Native vs 非 Native 的区别 ────────── -# -# 「Native」 = 工具调用走 API 文档里的 tool 字段(function calling)。 -# 这是 Claude Code / Codex 的原生方式——训到 overfit 的模型只认 API tool 字段, -# 其他格式的工具描述都会被忽略。要模拟 CC/Codex 的行为,必须用 Native。 -# -# 「非 Native」 = 工具描述放在 text 字段里(文本协议),兼容性更强, -# 但对于被 API tool 字段训 overfit 的模型(如 Claude Opus/Sonnet),效果可能打折。 -# -# → 新手推荐:优先用 native_claude_config / native_oai_config +# 工具调用一律走 API 原生 tool 字段(function calling),与 Claude Code / +# Codex 行为一致。Anthropic 协议渠道用 native_claude_*,OpenAI 兼容渠道用 +# native_oai_*,按上游端点协议选择即可。 # # ────────── Prompt Cache 说明 ────────── # # NativeClaudeSession 恒开 prompt-caching-scope beta,缓存默认拉满,无需配置。 -# LLMSession / NativeOAISession 在 model 名含 'claude'/'anthropic' 时自动在 -# 最后两条 user 打 cache_control: ephemeral,默认也是开启的。 +# NativeOAISession 在 model 名含 'claude'/'anthropic' 时自动在最后两条 user +# 打 cache_control: ephemeral,默认也是开启的。 # prompt_cache 字段默认 True,仅在上游 relay 不认 cache_control 字段会直接报错 # 时才需设 False。因此模板中不再显式写 prompt_cache,了解即可。 # @@ -100,7 +87,7 @@ # stream 默认 True。NativeClaudeSession 会根据此值决定走 SSE 流式 # 还是一次性 JSON。流式更及时;某些被 CDN 截断 SSE 的渠道可 # 以改成 False 先保命。 -# api_mode 'chat_completions'(默认)或 'responses'。仅对 LLMSession / +# api_mode 'chat_completions'(默认)或 'responses'。仅对 # NativeOAISession 生效。 # ─── NativeClaudeSession 专属 ─────────────────────────────────────────────── # fake_cc_system_prompt @@ -113,6 +100,7 @@ # ══════════════════════════════════════════════════════════════════════════════ + # ╔═══════════════════════════════════════════════════════════════════════════╗ # ║ ★ 推荐最优配置(新手从这里开始)★ ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ @@ -124,9 +112,7 @@ # ── Mixin 故障转移(最推荐的方式)────────────────────────────────────────── # llm_nos 里的字符串必须和被引用 session 的 'name' 字段匹配(也可以写整数索 -# 引)。约束:引用的 session 必须全是 Native 系列(NativeClaudeSession 和 -# NativeOAISession 可以混用)或者全不是 Native,不能 Native 与非 Native 混。 -# 请你按需 +# 引)。NativeClaudeSession 和 NativeOAISession 可以混用。 mixin_config = { 'llm_nos': [], # 默认空:桌面端会显示一个空的「渠道组(自动故障转移)」,添加模型后 # 在设置里用 ➕ 把基本模型加进来即可(也可在此手填名字) @@ -137,6 +123,7 @@ mixin_config = { } + # ══════════════════════════════════════════════════════════════════════════════ # 1. NativeClaudeSession — Anthropic 原生协议 + 原生工具(推荐首选) # ══════════════════════════════════════════════════════════════════════════════ @@ -217,67 +204,27 @@ mixin_config = { # 'read_timeout': 180, # int 秒 # } -# ── 1d. CRS Gemini Ultra (Antigravity 通道) ───────────────────────────────── -# CRS 把 Google Antigravity (Gemini Ultra) 包装成 Anthropic 风格接口。 -# URL 路径带 /antigravity/api: -# - 'claude-opus-4-7-thinking' (CRS 原始名) -# - 'claude-opus-4-7[1m]' (触发 1m beta,CRS 会忽略多余的 beta) -# - 'claude-opus-4-7' (最简) -# ⚠ 此通道不支持 SSE 流式,必须 stream=False。 -# native_claude_config_crs_gemini = { -# 'name': 'crs-gemini-ultra', # /llms 显示名 -# 'apikey': 'cr_', # cr_ 前缀 → Bearer -# 'apibase': 'https:///antigravity/api', -# 'model': 'claude-opus-4-7-thinking', # 或 'claude-opus-4-7[1m]' 或 'claude-opus-4-7' -# 'stream': False, # Antigravity 不支持 SSE 流式,stream=True 会返回伪错误 -# 'max_tokens': 32768, # int + +# ── 1d. 其他 Anthropic 兼容渠道(GLM / Kimi / MiniMax 等)─────────────────── +# 很多厂商都提供 Anthropic Messages 兼容端点,直接照 1a~1c 的写法填对应 +# apibase / model 即可,无需专门配置: +# +# 厂商 apibase model 备注 +# ────────────────────────────────────────────────────────────────────────────── +# 智谱 GLM https://open.bigmodel.cn/api/anthropic glm-5.1 key 形如 xxx.yyy +# Kimi Coding https://api.kimi.com/coding kimi-for-coding 必须 fake_cc_system_prompt=True +# MiniMax https://api.minimaxi.com/anthropic MiniMax-M3 温度自动夹到 (0,1] +# +# native_claude_config_vendor = { +# 'name': 'glm-5.1', # /llms 显示名 & mixin 引用名 +# 'apikey': '', # 非 sk-ant- 前缀 → Bearer 鉴权 +# 'apibase': 'https://open.bigmodel.cn/api/anthropic', +# 'model': 'glm-5.1', +# # 'fake_cc_system_prompt': True, # 仅 CC 透传类端点需要(如 Kimi Coding) # 'max_retries': 3, # int # 'read_timeout': 180, # int 秒 # } -# ── 1e. 智谱 GLM-5.1 (Anthropic 兼容协议) ────────────────────────────────── -# 智谱提供了 Anthropic 兼容接口 /api/anthropic,走 NativeClaudeSession。 -# 变量名含 'native' + 'claude' 即可。apikey 是智谱格式 (xxx.yyy)。 -# native_claude_glm_config = { -# 'name': 'glm-5.1', # /llms 显示名 -# 'apikey': '', # 形如 f0f1b798xxxx.F8SSbzxxxx;非 sk-ant- → Bearer -# 'apibase': 'https://open.bigmodel.cn/api/anthropic', # 智谱 Anthropic 兼容端点 -# 'model': 'glm-5.1', # 智谱 model id,无 [1m] 支持 -# 'max_retries': 3, # int -# 'connect_timeout': 10, # int 秒 -# 'read_timeout': 180, # int 秒 -# # 'fake_cc_system_prompt': False, # 智谱不做 CC 指纹校验,保持默认 False -# } - -# ── 1f. MiniMax Anthropic 路径(推荐——无额外 标签)──────────────── -# MiniMax 同时提供 OAI 和 Anthropic 兼容接口,同一个 key 两个端点都能用: -# - /v1 → chat/completions (LLMSession) -# - /anthropic → Anthropic Messages (NativeClaudeSession) -# Anthropic 路径更简洁,OAI 路径会返回 标签(M3/M2.7 自带思考)。 -# 温度自动修正为 (0, 1],支持 M3 / M2.7 全系列,M3 512K 上下文。 -# native_claude_config_minimax = { -# 'name': 'minimax-anthropic', # /llms 显示名 -# 'apikey': 'sk-', # 与 OAI 路径同一个 key -# 'apibase': 'https://api.minimaxi.com/anthropic', # Anthropic Messages 兼容端点 -# 'model': 'MiniMax-M3', -# 'max_retries': 3, # int -# # 'fake_cc_system_prompt': False, # MiniMax 不做 CC 指纹校验 -# } - -# ── 1g. Kimi for Coding (Anthropic 兼容 CC 透传端点) ────────────────────── -# Kimi 官方为 Claude Code / Codex 开放的 /coding 路径,走 Anthropic 协议。 -# 与 4b 的 Moonshot OAI 路径是两回事:model 用 'kimi-for-coding'(非 kimi-k2)。 -# 官方硬要求透传 CC system prompt → fake_cc_system_prompt=True 必填。 -# 文档: https://www.kimi.com/code/docs/third-party-tools/other-coding-agents.html -# native_claude_config_kimi = { -# 'name': 'kimi-coding', # /llms 显示名 & mixin 引用名 -# 'apikey': 'sk-kimi-', # Bearer 鉴权 -# 'apibase': 'https://api.kimi.com/coding',# Anthropic 兼容端点 -# 'model': 'kimi-for-coding', # 官方 coding 专用 model id -# 'fake_cc_system_prompt': True, # 必填;官方硬要求透传 CC 系统串 -# 'thinking_type': 'adaptive', # 'adaptive'/'enabled'/'disabled' -# } - # ══════════════════════════════════════════════════════════════════════════════ # 2. NativeOAISession — OpenAI 协议 + 原生工具 # ══════════════════════════════════════════════════════════════════════════════ @@ -322,77 +269,15 @@ mixin_config = { # } -# ══════════════════════════════════════════════════════════════════════════════ -# 3. LLMSession / ClaudeSession — 非 Native 文本协议工具(deprecated) -# ══════════════════════════════════════════════════════════════════════════════ -# ⚠ 后续版本可能移除非 Native session。新用户请直接使用上面的 Native 配置。 -# 非 Native 把工具描述放在 text 字段里,兼容性广但对 overfit 模型效果打折。 -# 变量名含 'oai'(不含 native)→ LLMSession;含 'claude'(不含 native)→ ClaudeSession。 +# ── 其他 OAI 兼容渠道 ────────────────────────────────────────────────────── +# Moonshot/Kimi、MiniMax、OpenRouter、智谱等的 OAI 端点同样照上面写法填即可: # -# oai_config = { -# 'name': 'my-oai-proxy', # /llms 显示名 & mixin 引用名 -# 'apikey': 'sk-', # Bearer 鉴权 -# 'apibase': 'http://:2001', # 自动补 /v1/chat/completions -# 'model': 'gpt-5.4', # 或 claude-opus-4-7、gemini-3-flash 等 -# 'api_mode': 'chat_completions', # 'chat_completions'(默认)|'responses' -# # 'reasoning_effort': 'high', # none|minimal|low|medium|high|xhigh -# 'max_retries': 3, # int 默认 1 -# 'connect_timeout': 10, # int 秒 默认 5(最小 1) -# 'read_timeout': 120, # int 秒 默认 30(最小 5) -# # 'temperature': 1.0, # float 默认 1.0 -# # 'max_tokens': 8192, # int 默认 8192 -# # 'proxy': 'http://127.0.0.1:2082', # 可选单 session HTTP 代理 -# # 'context_win': 16000, # int 默认 24000;历史裁剪阈值 -# } -# -# # 多配几个也行,变量名含 'oai' 即可 -# # oai_config2 = { -# # 'apikey': 'sk-...', -# # 'apibase': 'http://your-proxy:2001', -# # 'model': 'claude-opus-4-7', -# # } - - -# ══════════════════════════════════════════════════════════════════════════════ -# 4. 其他 Native 兼容渠道 -# ══════════════════════════════════════════════════════════════════════════════ - -# ── 4a. MiniMax OAI 路径 (/v1 chat/completions) ──────────────────────────── -# OAI 路径会返回 标签(M3/M2.7 自带思考);Anthropic 路径更简洁(见 1f)。 -# 温度自动修正为 (0, 1],支持 M3/M2.7 全系列,M3 512K 上下文。 -# oai_config_minimax = { -# 'name': 'minimax-oai', # /llms 显示名 -# 'apikey': 'sk-', # 形如 sk-cp-xxxxxxxxx;Bearer 鉴权 -# 'apibase': 'https://api.minimaxi.com/v1', # OAI 兼容端点 -# 'model': 'MiniMax-M3', # 名含 'minimax' → temp 夹到 (0.01,1.0] -# 'context_win': 50000, # int;MiniMax M3 512K 上下文,此处是裁剪阈值 -# } - - -# ── 4b. Kimi / Moonshot (OAI 兼容) ────────────────────────────────────────── -# 注意:Kimi/Moonshot 温度会被 llmcore.py 强制改为 1.0,写什么都会被覆盖。 -# oai_config_kimi = { -# 'name': 'kimi-k2', # /llms 显示名 -# 'apikey': 'sk-', # Bearer 鉴权 -# 'apibase': 'https://api.moonshot.cn/v1', # Moonshot OAI 端点 -# 'model': 'kimi-k2-turbo-preview', # 名含 'kimi' 或 'moonshot' → temperature 被强制 1.0 -# # 'temperature': 0.3, # ← 无效,会被 llmcore 覆盖为 1.0 -# # 'max_tokens': 8192, # int 默认 8192 -# } - - -# ── 4c. OpenRouter (OAI 协议多模型中继) ───────────────────────────────────── -# OpenRouter 是最通用的多模型 OAI 中继,https://openrouter.ai/api/v1。 -# model 名用 provider/model 格式(如 anthropic/claude-opus-4-7)。 -# oai_config_openrouter = { -# 'name': 'openrouter-claude', # /llms 显示名 & mixin 引用名;省略则取 model -# 'apikey': 'sk-or-', # OpenRouter key 形如 sk-or-xxx;Bearer 鉴权 -# 'apibase': 'https://openrouter.ai/api/v1', # 补齐到 /v1/chat/completions -# 'model': 'anthropic/claude-opus-4-7', # provider/model 格式 -# 'max_retries': 3, # int 默认 1 -# 'connect_timeout': 10, # int 秒 默认 5(最小 1) -# 'read_timeout': 120, # int 秒 默认 30(最小 5) -# } +# 厂商 apibase model 备注 +# ────────────────────────────────────────────────────────────────────────────── +# Moonshot https://api.moonshot.cn/v1 kimi-k2-turbo-preview 温度被强制 1.0 +# MiniMax https://api.minimaxi.com/v1 MiniMax-M3 回复带 标签, +# 建议改用 Anthropic 路径(1d) +# OpenRouter https://openrouter.ai/api/v1 anthropic/claude-opus-4-7 provider/model 格式 # ══════════════════════════════════════════════════════════════════════════════ @@ -426,3 +311,4 @@ mixin_config = { # 'secret_key': 'sk-lf-...', # 'host': 'https://cloud.langfuse.com', # 或自托管地址 # } +