diff --git a/.github/workflows/helm-lint.yml b/.github/workflows/helm-lint.yml index a741aeec5..4f8f18916 100644 --- a/.github/workflows/helm-lint.yml +++ b/.github/workflows/helm-lint.yml @@ -5,9 +5,11 @@ on: paths: - 'helm/**' - 'install/agentteams-install.sh' + - 'install/agentteams-install.ps1' - 'openhuman/scripts/openhuman-worker-entrypoint.sh' - 'tests/check-agentteams-rename-defaults.sh' - 'tests/check-installer-pre-1.2-env-compat.sh' + - 'tests/check-installer-token-plan-models.sh' - 'tests/check-helm-agentteams.sh' workflow_dispatch: ~ @@ -24,6 +26,9 @@ jobs: - name: Check pre-v1.2 installer compatibility run: bash tests/check-installer-pre-1.2-env-compat.sh + - name: Check installer Token Plan models + run: bash tests/check-installer-token-plan-models.sh + - name: Set up Helm uses: azure/setup-helm@v4 with: diff --git a/changelog/current.md b/changelog/current.md index a3d811427..a6ad33411 100644 --- a/changelog/current.md +++ b/changelog/current.md @@ -19,6 +19,7 @@ Record release-facing changes here before the next release. **Bug Fixes** +- **Installer Token Plan models**: Update the quick-start Token Plan GLM option to `glm-5.2` while accepting existing `glm-5` values during upgrades. (Refs [#1076](https://github.com/agentscope-ai/AgentTeams/issues/1076)) - **QwenPaw MCP policy startup convergence**: Persist built-in plugin MCP policies before runtime desired-state reloads so a replacement QwenPaw workspace cannot retain the pre-policy interactive approval handler. - **QwenPaw Team policy and runtime-aware acceptance**: Merge Team and Worker channel-policy overrides into QwenPaw `runtime.yaml`, wait for public plugin/API state before integration assertions, and verify prompt/config files from the runtime location that consumes them. - **QwenPaw 2.0 tool execution**: Preserve QwenPaw's asynchronous tool-result stream while sanitizing output, and allow only the built-in TeamHarness and Workerflow MCP drivers to run without an unavailable interactive approval prompt. diff --git a/docs/windows-deploy.md b/docs/windows-deploy.md index e314afa6b..e47aed152 100644 --- a/docs/windows-deploy.md +++ b/docs/windows-deploy.md @@ -195,7 +195,7 @@ If you selected CodingPlan in the previous step, a model selection menu appears: ``` Select CodingPlan Default Model: 1) qwen3.5-plus - Qwen 3.5 (Fastest) - 2) glm-5 - Zhipu GLM-5 (Recommended for coding) + 2) glm-5.2 - Zhipu GLM-5.2 (Recommended for coding) 3) kimi-k2.5 - Moonshot Kimi K2.5 4) MiniMax-M2.5 - MiniMax M2.5 diff --git a/docs/zh-cn/windows-deploy.md b/docs/zh-cn/windows-deploy.md index cf2980777..7fc0aeb2e 100644 --- a/docs/zh-cn/windows-deploy.md +++ b/docs/zh-cn/windows-deploy.md @@ -199,7 +199,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; $wc=New-Object Net.WebClient; ``` 选择 CodingPlan 默认模型: 1) qwen3.5-plus - 千问 3.5(速度最快) - 2) glm-5 - 智谱 GLM-5(编程推荐) + 2) glm-5.2 - 智谱 GLM-5.2(编程推荐) 3) kimi-k2.5 - Moonshot Kimi K2.5 4) MiniMax-M2.5 - MiniMax M2.5 diff --git a/install/agentteams-install.ps1 b/install/agentteams-install.ps1 index 5602dd791..e15a53f3f 100644 --- a/install/agentteams-install.ps1 +++ b/install/agentteams-install.ps1 @@ -319,7 +319,7 @@ $script:Messages = @{ "llm.alibaba.model.invalid" = @{ zh = "无效选择: {0}(请输入 1、2 或 3)"; en = "Invalid choice: {0} (please enter 1, 2, or 3)" } "llm.codingplan.models_title" = @{ zh = "选择通义 Token 套餐默认模型:"; en = "Select Qwen Cloud default model:" } "llm.codingplan.model.qwen36plus" = @{ zh = " 1) qwen3.6-plus - 千问 3.6(推荐)"; en = " 1) qwen3.6-plus - Qwen 3.6 (recommended)" } - "llm.codingplan.model.glm5" = @{ zh = " 2) glm-5 - 智谱 GLM-5(编程推荐)"; en = " 2) glm-5 - Zhipu GLM-5 (recommended for coding)" } + "llm.codingplan.model.glm5" = @{ zh = " 2) glm-5.2 - 智谱 GLM-5.2(编程推荐)"; en = " 2) glm-5.2 - Zhipu GLM-5.2 (recommended for coding)" } "llm.codingplan.model.kimi" = @{ zh = " 3) kimi-k2.5 - Moonshot Kimi K2.5"; en = " 3) kimi-k2.5 - Moonshot Kimi K2.5" } "llm.codingplan.model.minimax" = @{ zh = " 4) MiniMax-M2.5 - MiniMax M2.5"; en = " 4) MiniMax-M2.5 - MiniMax M2.5" } "llm.codingplan.model.select" = @{ zh = "选择模型 [1/2/3/4]"; en = "Select model [1/2/3/4]" } @@ -676,7 +676,7 @@ $script:KnownModels = @( "gpt-5.4", "gpt-5.3-codex", "gpt-5-mini", "gpt-5-nano", "claude-opus-4-6", "claude-sonnet-4-6", "claude-haiku-4-5", "qwen3.6-plus", "qwen3.5-plus", "deepseek-chat", "deepseek-reasoner", - "kimi-k2.5", "glm-5", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", "MiniMax-M2.5" + "kimi-k2.5", "glm-5.2", "glm-5", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", "MiniMax-M2.5" ) function Test-KnownModel { @@ -1787,6 +1787,7 @@ function Step-Llm { $defaultModel = switch ($script:config.DEFAULT_MODEL) { "qwen3.6-plus" { "1" } "glm-5" { "2" } + "glm-5.2" { "2" } "kimi-k2.5" { "3" } "MiniMax-M2.5" { "4" } default { "1" } @@ -1802,7 +1803,7 @@ function Step-Llm { if ($codingPlanModelChoice -eq "b") { $script:StepResult = "back"; return } switch -Regex ($codingPlanModelChoice) { "^(1|qwen3\.6-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } - "^(2|glm-5)$" { $script:config.DEFAULT_MODEL = "glm-5" } + "^(2|glm-5|glm-5\.2)$" { $script:config.DEFAULT_MODEL = "glm-5.2" } "^(3|kimi-k2\.5)$" { $script:config.DEFAULT_MODEL = "kimi-k2.5" } "^(4|MiniMax-M2\.5)$" { $script:config.DEFAULT_MODEL = "MiniMax-M2.5" } default { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } @@ -1839,6 +1840,7 @@ function Step-Llm { $defaultModel = switch ($script:config.DEFAULT_MODEL) { "qwen3.6-plus" { "1" } "glm-5" { "2" } + "glm-5.2" { "2" } "kimi-k2.5" { "3" } "MiniMax-M2.5" { "4" } default { "1" } @@ -1854,7 +1856,7 @@ function Step-Llm { if ($codingPlanModelChoice -eq "b") { $script:StepResult = "back"; return } switch -Regex ($codingPlanModelChoice) { "^(1|qwen3\.6-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } - "^(2|glm-5)$" { $script:config.DEFAULT_MODEL = "glm-5" } + "^(2|glm-5|glm-5\.2)$" { $script:config.DEFAULT_MODEL = "glm-5.2" } "^(3|kimi-k2\.5)$" { $script:config.DEFAULT_MODEL = "kimi-k2.5" } "^(4|MiniMax-M2\.5)$" { $script:config.DEFAULT_MODEL = "MiniMax-M2.5" } default { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } diff --git a/install/agentteams-install.sh b/install/agentteams-install.sh index 295b3ee6e..2ecd870ac 100755 --- a/install/agentteams-install.sh +++ b/install/agentteams-install.sh @@ -471,8 +471,8 @@ msg() { "llm.codingplan.models_title.en") text="Select Qwen Cloud default model:" ;; "llm.codingplan.model.qwen36plus.zh") text=" 1) qwen3.6-plus - 千问 3.6(推荐)" ;; "llm.codingplan.model.qwen36plus.en") text=" 1) qwen3.6-plus - Qwen 3.6 (recommended)" ;; - "llm.codingplan.model.glm5.zh") text=" 2) glm-5 - 智谱 GLM-5(编程推荐)" ;; - "llm.codingplan.model.glm5.en") text=" 2) glm-5 - Zhipu GLM-5 (recommended for coding)" ;; + "llm.codingplan.model.glm5.zh") text=" 2) glm-5.2 - 智谱 GLM-5.2(编程推荐)" ;; + "llm.codingplan.model.glm5.en") text=" 2) glm-5.2 - Zhipu GLM-5.2 (recommended for coding)" ;; "llm.codingplan.model.kimi.zh") text=" 3) kimi-k2.5 - Moonshot Kimi K2.5" ;; "llm.codingplan.model.kimi.en") text=" 3) kimi-k2.5 - Moonshot Kimi K2.5" ;; "llm.codingplan.model.minimax.zh") text=" 4) MiniMax-M2.5 - MiniMax M2.5" ;; @@ -1185,7 +1185,7 @@ resolve_embedded_image() { # ============================================================ # Known models list — used to detect custom models during install # ============================================================ -KNOWN_MODELS="gpt-5.4 gpt-5.3-codex gpt-5-mini gpt-5-nano claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5 qwen3.6-plus qwen3.5-plus deepseek-chat deepseek-reasoner kimi-k2.5 glm-5 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5" +KNOWN_MODELS="gpt-5.4 gpt-5.3-codex gpt-5-mini gpt-5-nano claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5 qwen3.6-plus qwen3.5-plus deepseek-chat deepseek-reasoner kimi-k2.5 glm-5.2 glm-5 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5" is_known_model() { local model="$1" @@ -2092,7 +2092,7 @@ step_llm() { local _model_default case "${AGENTTEAMS_DEFAULT_MODEL}" in qwen3.6-plus) _model_default="1" ;; - glm-5) _model_default="2" ;; + glm-5|glm-5.2) _model_default="2" ;; kimi-k2.5) _model_default="3" ;; MiniMax-M2.5) _model_default="4" ;; *) _model_default="1" ;; @@ -2109,7 +2109,7 @@ step_llm() { if [ "${CODINGPLAN_MODEL_CHOICE}" = "b" ]; then STEP_RESULT="back"; return 0; fi case "${CODINGPLAN_MODEL_CHOICE}" in 1|qwen3.6-plus) AGENTTEAMS_DEFAULT_MODEL="qwen3.6-plus" ;; - 2|glm-5) AGENTTEAMS_DEFAULT_MODEL="glm-5" ;; + 2|glm-5|glm-5.2) AGENTTEAMS_DEFAULT_MODEL="glm-5.2" ;; 3|kimi-k2.5) AGENTTEAMS_DEFAULT_MODEL="kimi-k2.5" ;; 4|MiniMax-M2.5) AGENTTEAMS_DEFAULT_MODEL="MiniMax-M2.5" ;; *) AGENTTEAMS_DEFAULT_MODEL="qwen3.6-plus" ;; @@ -2163,7 +2163,7 @@ step_llm() { local _model_default case "${AGENTTEAMS_DEFAULT_MODEL}" in qwen3.6-plus) _model_default="1" ;; - glm-5) _model_default="2" ;; + glm-5|glm-5.2) _model_default="2" ;; kimi-k2.5) _model_default="3" ;; MiniMax-M2.5) _model_default="4" ;; *) _model_default="1" ;; @@ -2180,7 +2180,7 @@ step_llm() { if [ "${CODINGPLAN_MODEL_CHOICE}" = "b" ]; then STEP_RESULT="back"; return 0; fi case "${CODINGPLAN_MODEL_CHOICE}" in 1|qwen3.6-plus) AGENTTEAMS_DEFAULT_MODEL="qwen3.6-plus" ;; - 2|glm-5) AGENTTEAMS_DEFAULT_MODEL="glm-5" ;; + 2|glm-5|glm-5.2) AGENTTEAMS_DEFAULT_MODEL="glm-5.2" ;; 3|kimi-k2.5) AGENTTEAMS_DEFAULT_MODEL="kimi-k2.5" ;; 4|MiniMax-M2.5) AGENTTEAMS_DEFAULT_MODEL="MiniMax-M2.5" ;; *) AGENTTEAMS_DEFAULT_MODEL="qwen3.6-plus" ;; diff --git a/tests/check-installer-token-plan-models.sh b/tests/check-installer-token-plan-models.sh new file mode 100644 index 000000000..3bf8e5990 --- /dev/null +++ b/tests/check-installer-token-plan-models.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -euo pipefail + +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +SHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.sh" +POWERSHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.ps1" +WINDOWS_DOC="${ROOT_DIR}/docs/windows-deploy.md" +WINDOWS_DOC_ZH="${ROOT_DIR}/docs/zh-cn/windows-deploy.md" + +require_line() { + local path="$1" + local expected="$2" + if ! grep -Fq "${expected}" "${path}"; then + echo "FAIL: expected ${path} to contain: ${expected}" >&2 + exit 1 + fi +} + +reject_line() { + local path="$1" + local unexpected="$2" + if grep -Fq "${unexpected}" "${path}"; then + echo "FAIL: ${path} still contains stale Token Plan model entry: ${unexpected}" >&2 + exit 1 + fi +} + +for path in "${SHELL_INSTALLER}" "${POWERSHELL_INSTALLER}" "${WINDOWS_DOC}" "${WINDOWS_DOC_ZH}"; do + require_line "${path}" "glm-5.2" + reject_line "${path}" " 2) glm-5 -" +done + +require_line "${SHELL_INSTALLER}" '2|glm-5|glm-5.2) AGENTTEAMS_DEFAULT_MODEL="glm-5.2"' +require_line "${POWERSHELL_INSTALLER}" '"^(2|glm-5|glm-5\.2)$" { $script:config.DEFAULT_MODEL = "glm-5.2" }' + +echo "PASS: installer Token Plan menus use glm-5.2"