diff --git a/PROGRESS.md b/PROGRESS.md index 4752275..db8186d 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -21,6 +21,14 @@ ## 已完成关键能力 +### 2026-06-26 / 新增豆包 Seed 2.1 + GLM 5.2 文本模型档案(bump 0.30.0) + +- 背景:用户要接入火山方舟豆包 Seed 2.1(turbo/pro)、自进化版 doubao-seed-evolving,以及智谱 GLM 5.2。`/v1/models` 自动扫 `config/models/*.yaml`,加档案即在 UI 下拉出现,无需改代码。 +- 新增 `config/models/doubao.yaml`(family=doubao):`turbo`/`pro`/`evolving` 三 variant。走 Ark OpenAI 兼容端点(`openai/` 前缀 + `api_base=ark.cn-beijing.volces.com/api/v3`,复用媒体侧 `ARK_API_KEY`),同 local.yaml 范式。单价按火山 2026-06 发布价:turbo 3/15(缓存 0.6)、pro 6/30(缓存 1.2);evolving 官方未公布单价,暂按 pro 估值兜底(宁高勿低)。context 均 256K。 +- `config/models/glm.yaml` 新增 `pro52`(GLM 5.2,model_id `zai/glm-5.2`,1M 上下文,单价 8/28 缓存 2),**与 `glm.pro`(5.1)并存**,线上引 `glm.pro` 的 task 不受影响(公测期兼容)。 +- thinking_mode 均设 false:Seed 2.1 / GLM 的深度思考开关走 body 协议(非 OpenAI `reasoning_effort` 等级),透传等级需 core/llm.py 加 family 分支,留 TODO;设 false 不发 reasoning_effort,模型默认仍深度思考,不影响调用。 +- 文件:`config/models/doubao.yaml`(新增)、`config/models/glm.yaml`(加 pro52 variant)。 + ### 2026-06-26 / 定时任务执行历史列表(分页)(bump 0.29.0) - 背景:isolated 模式每次触发新建一个 task,旧的带 `scheduled_job_id` 被普通列表过滤掉、UI 够不到,只有详情里单个「打开它跑的任务」按钮指向 `last_task_id`(最近一次)。历史 task 一直在库里(不删除),但访问不到。 diff --git a/RUN.md b/RUN.md index 822a356..c92d429 100644 --- a/RUN.md +++ b/RUN.md @@ -14,8 +14,11 @@ DEEPSEEK_API_KEY=sk-... # 用 GLM 的话再加一条;国际站 z.ai 用 ZAI_API_KEY,国内站 bigmodel.cn 用 ZHIPUAI_API_KEY(对应 config/models/glm.yaml 的 api_key_env 字段) ZHIPUAI_API_KEY=... - # 豆包(火山方舟)图像/视频生成:可选。设了同时挂 seedream tool(0.22 元/张)与 seedance tool - # (Seedance 2.0 Fast,文生视频,480p 4s ¥1.86 ~ 720p 15s ¥12+,异步等 30-90s);未设两个 tool 都不出现 + # 豆包(火山方舟)统一 key,三处共用:可选。 + # 1) 文本/Agent 模型 config/models/doubao.yaml(Seed 2.1 turbo/pro、自进化 evolving)—— 走 Ark OpenAI 兼容端点 + # 2) 图像生成 seedream tool(0.22 元/张) + # 3) 视频生成 seedance tool(Seedance 2.0 Fast,文生视频,480p 4s ¥1.86 ~ 720p 15s ¥12+,异步等 30-90s) + # 未设:豆包文本模型选不了,seedream/seedance 两个 tool 都不出现 ARK_API_KEY=... # documents skill(内部知识库 document_search API):可选。设了后注册 # document_list_kb / document_search / document_download 三个 host-side tool; diff --git a/config/models/doubao.yaml b/config/models/doubao.yaml new file mode 100644 index 0000000..de74870 --- /dev/null +++ b/config/models/doubao.yaml @@ -0,0 +1,84 @@ +# 豆包 Seed 2.1 文本/Agent 模型档案(火山方舟 Ark) +# 走 Ark 的 OpenAI 兼容 /chat/completions:litellm 用 `openai/` 前缀 + api_base 覆盖, +# 与 config/models/local.yaml 同范式(避免 litellm volcengine provider 的版本/字段差异)。 +# api_key 复用媒体侧的 ARK_API_KEY(同一火山账号),env 见 RUN.md。 +# +# thinking_mode 暂设 false:Seed 2.1 是深度思考模型,但开关走 Ark body `thinking:{type:enabled}`, +# 与 OpenAI/DeepSeek 的 `reasoning_effort` 等级协议不同 —— 同 glm.yaml 的处理,要 core/llm.py +# 加 family 分支才能透传等级,留 TODO。设 false 只是不发 reasoning_effort 字段;模型默认仍会 +# 深度思考并返回 reasoning_content,不影响调用。 +# 单价见各 variant(元/百万 tokens,来源:火山方舟 2026-06 发布价)。 +family: doubao + +variants: + turbo: + display_name: 豆包 Seed 2.1 Turbo + model_id: openai/doubao-seed-2-1-turbo-260628 + api_base: https://ark.cn-beijing.volces.com/api/v3 + api_key_env: ARK_API_KEY + max_context: 262144 # 256K + reliable_context: 131072 + max_output: 16384 # 模型上限 128K(含思考),这里保守取值,需要长输出可调高 + parallel_tools: true # Ark 兼容 parallel_tool_calls,默认 true + tool_calling_quality: good + thinking_mode: false + reasoning_effort_levels: [] + default_reasoning_effort: "" + code_quality: good + enable_run_python: true + max_iterations: 120 # backstop 兜底,非"轮"预算;真正的空转防护是 loop 的无进展熔断 + _RepeatGuard + optimal_temperature: 0.3 + prompt_caching: false + extended_thinking: false + input_cny_per_mtoken: 3.0 + output_cny_per_mtoken: 15.0 + cache_hit_cny_per_mtoken: 0.6 + + pro: + display_name: 豆包 Seed 2.1 Pro + model_id: openai/doubao-seed-2-1-pro-260628 + api_base: https://ark.cn-beijing.volces.com/api/v3 + api_key_env: ARK_API_KEY + max_context: 262144 # 256K + reliable_context: 131072 + max_output: 16384 # 模型上限 128K(含思考),这里保守取值,需要长输出可调高 + parallel_tools: true + tool_calling_quality: excellent + thinking_mode: false + reasoning_effort_levels: [] + default_reasoning_effort: "" + code_quality: excellent + enable_run_python: true + max_iterations: 150 # backstop 兜底,非"轮"预算;真正的空转防护是 loop 的无进展熔断 + _RepeatGuard + optimal_temperature: 0.3 + prompt_caching: false + extended_thinking: false + input_cny_per_mtoken: 6.0 + output_cny_per_mtoken: 30.0 + cache_hit_cny_per_mtoken: 1.2 + + evolving: + # 自进化版:统一 model_id `doubao-seed-evolving`,每周至少迭代一次,始终指向最新版。 + # 面向 Coding/Agent 持续优化,覆盖全场景(与 pro 旗舰、turbo 低成本并列)。 + display_name: 豆包 Seed Evolving(自进化) + model_id: openai/doubao-seed-evolving + api_base: https://ark.cn-beijing.volces.com/api/v3 + api_key_env: ARK_API_KEY + max_context: 262144 # 256K(随版本可能变,按 Seed 2.1 家族取值) + reliable_context: 131072 + max_output: 16384 + parallel_tools: true + tool_calling_quality: excellent + thinking_mode: false + reasoning_effort_levels: [] + default_reasoning_effort: "" + code_quality: excellent + enable_run_python: true + max_iterations: 150 # backstop 兜底,非"轮"预算;真正的空转防护是 loop 的无进展熔断 + _RepeatGuard + optimal_temperature: 0.3 + prompt_caching: false + extended_thinking: false + # evolving 官方未单独公布单价,暂按 pro 估值兜底(宁高勿低,不少记成本);公布后校正。 + input_cny_per_mtoken: 6.0 + output_cny_per_mtoken: 30.0 + cache_hit_cny_per_mtoken: 1.2 diff --git a/config/models/glm.yaml b/config/models/glm.yaml index 6745130..176c80a 100644 --- a/config/models/glm.yaml +++ b/config/models/glm.yaml @@ -25,3 +25,28 @@ variants: optimal_temperature: 0.3 prompt_caching: false extended_thinking: false + + # GLM 5.2:与 5.1 并存(新增 variant,不动 glm.pro,线上 task 仍引 5.1 不受影响)。 + # 旗舰基座,真正可用的 1M 上下文,适合大仓库/长链路工程任务。thinking 同 pro 留 false(协议同 5.1)。 + pro52: + display_name: GLM 5.2 + model_id: zai/glm-5.2 + api_base: https://open.bigmodel.cn/api/paas/v4 + api_key_env: ZHIPUAI_API_KEY + max_context: 1000000 # 真 1M + reliable_context: 262144 + max_output: 8192 + parallel_tools: false + tool_calling_quality: good + thinking_mode: false + reasoning_effort_levels: [] + default_reasoning_effort: "" + code_quality: excellent + enable_run_python: true + max_iterations: 50 + optimal_temperature: 0.3 + prompt_caching: false + extended_thinking: false + input_cny_per_mtoken: 8.0 + output_cny_per_mtoken: 28.0 + cache_hit_cny_per_mtoken: 2.0 diff --git a/core/__init__.py b/core/__init__.py index 0be642f..4bf557f 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,3 +1,3 @@ # zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。 # 改版本只动这一行。 -__version__ = "0.29.0" +__version__ = "0.30.0"