diff --git a/.github/workflows/test-integration.yml b/.github/workflows/test-integration.yml index c4354d1c..4f604db4 100644 --- a/.github/workflows/test-integration.yml +++ b/.github/workflows/test-integration.yml @@ -41,7 +41,7 @@ on: model: description: 'LLM model to use' required: false - default: 'qwen3.5-plus' + default: 'qwen3.6-plus' env: MANAGER_IMAGE: hiclaw/manager-agent:ci-test @@ -105,7 +105,7 @@ jobs: HICLAW_LLM_API_KEY: ${{ secrets.HICLAW_LLM_API_KEY }} run: | RUNTIME="${{ inputs.worker_runtime || 'openclaw' }}" - MODEL="${{ inputs.model || 'qwen3.5-plus' }}" + MODEL="${{ inputs.model || 'qwen3.6-plus' }}" if [ "$RUNTIME" = "copaw" ]; then WORKER_IMG="${{ env.COPAW_WORKER_IMAGE }}" MANAGER_IMG="${{ env.MANAGER_COPAW_IMAGE }}" @@ -369,7 +369,7 @@ jobs: echo "- Tests: \`$NON_GITHUB_TESTS\`" >> $GITHUB_STEP_SUMMARY echo "- Manager Image: \`${{ env.MANAGER_IMAGE }}\`" >> $GITHUB_STEP_SUMMARY echo "- Worker Runtime: \`${{ inputs.worker_runtime || 'openclaw' }}\`" >> $GITHUB_STEP_SUMMARY - echo "- Model: \`${{ inputs.model || 'qwen3.5-plus' }}\`" >> $GITHUB_STEP_SUMMARY + echo "- Model: \`${{ inputs.model || 'qwen3.6-plus' }}\`" >> $GITHUB_STEP_SUMMARY # ============================================================ # Manual baseline re-generation for a specific release version diff --git a/README.zh-CN.md b/README.zh-CN.md index 771cf85e..f1c31690 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -76,7 +76,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; $wc=New-Object Net.WebClient; 第五步:选择模型接口。百炼 Coding Plan 和百炼通用接口有所不同,这里我们选择 Coding Plan 接口。[购买Coding Plan](https://bailian.console.aliyun.com/cn-beijing/?source_channel=4qjGAvs1Pl&tab=coding-plan#/efm/index) -第六步:选择模型系列。如果第五步中选择的是百炼 Coding Plan,您可以选择 qwen3.5-plus、GLM等,待 Matrix room 建立起来后,还可通过发送指令,让 Manager 切换其他到模型。 +第六步:选择模型系列。如果第五步中选择的是百炼 Coding Plan,您可以选择 qwen3.6-plus、GLM等,待 Matrix room 建立起来后,还可通过发送指令,让 Manager 切换其他到模型。 第七步:开始测试 API 联通性,若测试成功,效果如下。 ![测试](https://img.alicdn.com/imgextra/i4/O1CN0148wFGG1lYeWKd3Uat_!!6000000004831-2-tps-1752-600.png) diff --git a/copaw/tests/test_bridge.py b/copaw/tests/test_bridge.py index ff6dd451..f2b07983 100644 --- a/copaw/tests/test_bridge.py +++ b/copaw/tests/test_bridge.py @@ -14,10 +14,10 @@ def _make_openclaw_cfg(**memory_search_overrides): "channels": {"matrix": {"enabled": True, "homeserver": "http://localhost:6167", "accessToken": "tok"}}, "models": { "providers": { - "gw": {"baseUrl": "http://aigw:8080/v1", "apiKey": "key123", "models": [{"id": "qwen3.5-plus", "name": "qwen3.5-plus"}]} + "gw": {"baseUrl": "http://aigw:8080/v1", "apiKey": "key123", "models": [{"id": "qwen3.6-plus", "name": "qwen3.6-plus"}]} } }, - "agents": {"defaults": {"model": {"primary": "gw/qwen3.5-plus"}}}, + "agents": {"defaults": {"model": {"primary": "gw/qwen3.6-plus"}}}, } if memory_search_overrides is not None: base["agents"]["defaults"]["memorySearch"] = { @@ -61,10 +61,10 @@ def test_bridge_no_embedding_config(): "channels": {"matrix": {"enabled": True, "homeserver": "http://localhost:6167", "accessToken": "tok"}}, "models": { "providers": { - "gw": {"baseUrl": "http://aigw:8080/v1", "apiKey": "key123", "models": [{"id": "qwen3.5-plus", "name": "qwen3.5-plus"}]} + "gw": {"baseUrl": "http://aigw:8080/v1", "apiKey": "key123", "models": [{"id": "qwen3.6-plus", "name": "qwen3.6-plus"}]} } }, - "agents": {"defaults": {"model": {"primary": "gw/qwen3.5-plus"}}}, + "agents": {"defaults": {"model": {"primary": "gw/qwen3.6-plus"}}}, } config = _bridge_and_read(openclaw_cfg) diff --git a/docs/declarative-resource-management.md b/docs/declarative-resource-management.md index 5d5d23c7..c393715a 100644 --- a/docs/declarative-resource-management.md +++ b/docs/declarative-resource-management.md @@ -76,7 +76,7 @@ spec: | Field | Type | Required | Default | Description | |-------|------|----------|---------|-------------| | `metadata.name` | string | Yes | — | Worker name, globally unique | -| `spec.model` | string | Yes | — | LLM model ID, e.g. `claude-sonnet-4-6`, `qwen3.5-plus` | +| `spec.model` | string | Yes | — | LLM model ID, e.g. `claude-sonnet-4-6`, `qwen3.6-plus` | | `spec.runtime` | string | No | `openclaw` | Agent runtime: `openclaw` or `copaw` | | `spec.image` | string | No | `hiclaw/worker-agent:latest` | Custom Docker image | | `spec.identity` | string | No | — | Worker public identity, used to generate IDENTITY.md | @@ -734,7 +734,7 @@ kind: Worker metadata: name: alice spec: - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - port: 3000 @@ -759,14 +759,14 @@ metadata: spec: leader: name: lead - model: qwen3.5-plus + model: qwen3.6-plus workers: - name: backend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - name: frontend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 3000 ``` @@ -775,10 +775,10 @@ spec: ```bash # Expose ports via CLI flag -hiclaw apply worker --name alice --model qwen3.5-plus --expose 8080,3000 +hiclaw apply worker --name alice --model qwen3.6-plus --expose 8080,3000 # Remove exposed ports (re-apply without --expose) -hiclaw apply worker --name alice --model qwen3.5-plus +hiclaw apply worker --name alice --model qwen3.6-plus ``` ### Use Cases diff --git a/docs/faq.md b/docs/faq.md index d2ef0591..1f139eaf 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -126,7 +126,7 @@ HiClaw supports two ways to switch models: **switch the current session model** Use the `/model` slash command in IM to instantly switch the model for the current session, no restart needed: ``` -/model qwen3.5-plus +/model qwen3.6-plus ``` This only affects the current session — the primary model is restored after a restart. Only pre-configured known models are supported; see [`manager/configs/known-models.json`](../manager/configs/known-models.json) for the full list. @@ -139,7 +139,7 @@ Use Manager's built-in **model-switch skill** to persistently change the primary **Why use Manager instead of manual config?** -OpenClaw requires setting the model's context window size (`contextWindow`) in its config. HiClaw defaults to qwen3.5-plus's 200K token window. If you switch to a model with a different window without updating this setting, the session may fail when approaching the window limit — OpenClaw won't know when to compress context. +OpenClaw requires setting the model's context window size (`contextWindow`) in its config. HiClaw defaults to qwen3.6-plus's 1M token window. If you switch to a model with a different window without updating this setting, the session may fail when approaching the window limit — OpenClaw won't know when to compress context. The model-switch skill: 1. Looks up the correct `contextWindow` and `maxTokens` for the target model @@ -176,7 +176,7 @@ Two options are available: **switch the current session model** and **switch the In the Worker's group chat or DM, use @mention with the `/model` command to switch instantly: ``` -@alice /model qwen3.5-plus +@alice /model qwen3.6-plus ``` Only affects the current session — the primary model is restored after a restart. Only pre-configured known models are supported; see [`manager/configs/known-models.json`](../manager/configs/known-models.json) for the full list. @@ -185,7 +185,7 @@ Only affects the current session — the primary model is restored after a resta Manager handles this for you, and supports any model name (not limited to the pre-configured list). -**At creation time**: When asking Manager to create a Worker, specify the model name directly, e.g. "Create a Worker named alice using `qwen3.5-plus`." +**At creation time**: When asking Manager to create a Worker, specify the model name directly, e.g. "Create a Worker named alice using `qwen3.6-plus`." **After creation**: Tell Manager at any time to switch a Worker's model, e.g. "Switch alice to use `claude-3-5-sonnet`." Manager will update the Worker's configuration accordingly. @@ -197,7 +197,7 @@ Make sure Higress is configured to route the target model name to the correct pr **Single provider** -In the Higress console, set up `default-ai-route` to route requests to your LLM provider. Then tell Manager the model name you want the Worker to use (e.g. `qwen3.5-plus`). Manager will run a connectivity test with that model name and complete the switch automatically. +In the Higress console, set up `default-ai-route` to route requests to your LLM provider. Then tell Manager the model name you want the Worker to use (e.g. `qwen3.6-plus`). Manager will run a connectivity test with that model name and complete the switch automatically. **Multiple providers** diff --git a/docs/import-worker.md b/docs/import-worker.md index b1bfc67a..bcc5ee9d 100644 --- a/docs/import-worker.md +++ b/docs/import-worker.md @@ -377,7 +377,7 @@ bash hiclaw-import.sh -f [--prune] [--dry-run] | `--name ` | Worker name (required) | — | | `--zip ` | ZIP package (local path or URL) | — | | `--package ` | Remote package URI (`nacos://`, `http://`, `oss://`) | — | -| `--model ` | LLM model ID | `qwen3.5-plus` | +| `--model ` | LLM model ID | `qwen3.6-plus` | | `--skills ` | Comma-separated built-in skills | — | | `--mcp-servers ` | Comma-separated MCP servers | — | | `--runtime ` | Agent runtime (`openclaw`\|`copaw`) | `openclaw` | diff --git a/docs/manager-guide.md b/docs/manager-guide.md index 89892415..d42e1bc9 100644 --- a/docs/manager-guide.md +++ b/docs/manager-guide.md @@ -16,7 +16,7 @@ The Manager is configured via environment variables set during installation. The |----------|----------|---------|-------------| | `HICLAW_LLM_API_KEY` | Yes | - | LLM API key | | `HICLAW_LLM_PROVIDER` | No | `qwen` | LLM provider (`qwen` for Alibaba Cloud, `openai-compat` for OpenAI-compatible APIs) | -| `HICLAW_DEFAULT_MODEL` | No | `qwen3.5-plus` | Default model ID | +| `HICLAW_DEFAULT_MODEL` | No | `qwen3.6-plus` | Default model ID | | `HICLAW_ADMIN_USER` | No | `admin` | Human admin Matrix username | | `HICLAW_ADMIN_PASSWORD` | No | (auto-generated) | Human admin password (min 8 chars, MinIO requirement) | | `HICLAW_MATRIX_DOMAIN` | No | `matrix-local.hiclaw.io:18080` | Matrix server domain (used inside container) | diff --git a/docs/windows-deploy.md b/docs/windows-deploy.md index 258e39c3..d93b93a8 100644 --- a/docs/windows-deploy.md +++ b/docs/windows-deploy.md @@ -194,7 +194,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) + 1) qwen3.6-plus - Qwen 3.6 (Fastest) 2) glm-5 - Zhipu GLM-5 (Recommended for coding) 3) kimi-k2.5 - Moonshot Kimi K2.5 4) MiniMax-M2.5 - MiniMax M2.5 diff --git a/docs/zh-cn/declarative-resource-management.md b/docs/zh-cn/declarative-resource-management.md index d36642c6..6e39e0bc 100644 --- a/docs/zh-cn/declarative-resource-management.md +++ b/docs/zh-cn/declarative-resource-management.md @@ -76,7 +76,7 @@ spec: | 字段 | 类型 | 必填 | 默认值 | 说明 | |------|------|------|--------|------| | `metadata.name` | string | 是 | — | Worker 名称,全局唯一 | -| `spec.model` | string | 是 | — | LLM 模型 ID,如 `claude-sonnet-4-6`、`qwen3.5-plus` | +| `spec.model` | string | 是 | — | LLM 模型 ID,如 `claude-sonnet-4-6`、`qwen3.6-plus` | | `spec.runtime` | string | 否 | `openclaw` | Agent 运行时,`openclaw` 或 `copaw` | | `spec.image` | string | 否 | `hiclaw/worker-agent:latest` | 自定义 Docker 镜像 | | `spec.identity` | string | 否 | — | Worker 公开身份信息,用于生成 IDENTITY.md | @@ -734,7 +734,7 @@ kind: Worker metadata: name: alice spec: - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - port: 3000 @@ -759,14 +759,14 @@ metadata: spec: leader: name: lead - model: qwen3.5-plus + model: qwen3.6-plus workers: - name: backend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - name: frontend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 3000 ``` @@ -775,10 +775,10 @@ spec: ```bash # 通过 CLI 参数暴露端口 -hiclaw apply worker --name alice --model qwen3.5-plus --expose 8080,3000 +hiclaw apply worker --name alice --model qwen3.6-plus --expose 8080,3000 # 取消暴露(不带 --expose 重新 apply) -hiclaw apply worker --name alice --model qwen3.5-plus +hiclaw apply worker --name alice --model qwen3.6-plus ``` ### 使用场景 diff --git a/docs/zh-cn/faq.md b/docs/zh-cn/faq.md index 2e55588c..9c78b1c4 100644 --- a/docs/zh-cn/faq.md +++ b/docs/zh-cn/faq.md @@ -123,7 +123,7 @@ HiClaw 支持两种模型切换方式:**切换当前会话模型**(即时生 通过 IM 斜杠命令 `/model` 可以即时切换当前会话使用的模型,无需重启: ``` -/model qwen3.5-plus +/model qwen3.6-plus ``` 这种方式仅对当前会话生效,重启后会恢复为主用模型。且仅支持预置的已知模型列表中的模型,完整列表见 [`manager/configs/known-models.json`](../../manager/configs/known-models.json)。 @@ -136,7 +136,7 @@ HiClaw 支持两种模型切换方式:**切换当前会话模型**(即时生 **为什么让 Manager 切换而不是手动改配置?** -OpenClaw 需要在配置中设置模型的上下文窗口大小(`contextWindow`)。HiClaw 默认使用 qwen3.5-plus 的 200K token 窗口。如果切换到窗口不同的模型但没有更新这个设置,当对话接近窗口上限时,OpenClaw 不知道何时压缩上下文,可能导致 session 无法使用。 +OpenClaw 需要在配置中设置模型的上下文窗口大小(`contextWindow`)。HiClaw 默认使用 qwen3.6-plus 的 1M token 窗口。如果切换到窗口不同的模型但没有更新这个设置,当对话接近窗口上限时,OpenClaw 不知道何时压缩上下文,可能导致 session 无法使用。 模型切换技能会根据模型名自动修改 OpenClaw 配置中的 `contextWindow` 和 `maxTokens`。 @@ -158,7 +158,7 @@ Manager 会使用模型切换技能完成配置更新。 **单供应商情况** -在 Higress 控制台,将 `default-ai-route` 这个路由配置到你的模型供应商。然后直接告诉 Manager 你想使用的具体模型名(例如 `qwen3.5-plus`)。Manager 会先用该模型名发起一次联通测试,测试通过后自动完成切换。 +在 Higress 控制台,将 `default-ai-route` 这个路由配置到你的模型供应商。然后直接告诉 Manager 你想使用的具体模型名(例如 `qwen3.6-plus`)。Manager 会先用该模型名发起一次联通测试,测试通过后自动完成切换。 **多供应商情况** @@ -177,7 +177,7 @@ Manager 会使用模型切换技能完成配置更新。 在 Worker 所在的群聊或私聊中,通过 @Worker 加 `/model` 命令即时切换: ``` -@alice /model qwen3.5-plus +@alice /model qwen3.6-plus ``` 仅对当前会话生效,重启后恢复为主用模型。仅支持预置的已知模型,完整列表见 [`manager/configs/known-models.json`](../../manager/configs/known-models.json)。 @@ -186,7 +186,7 @@ Manager 会使用模型切换技能完成配置更新。 由 Manager 代为操作,支持任意模型名。 -**创建时指定**:在让 Manager 创建 Worker 时直接说明模型,例如"帮我创建一个名为 alice 的 Worker,使用 `qwen3.5-plus`"。 +**创建时指定**:在让 Manager 创建 Worker 时直接说明模型,例如"帮我创建一个名为 alice 的 Worker,使用 `qwen3.6-plus`"。 **创建后修改**:随时告诉 Manager 切换某个 Worker 的模型,例如"把 alice 的模型切换为 `claude-3-5-sonnet`",Manager 会自动更新该 Worker 的配置。 @@ -198,7 +198,7 @@ Manager 会使用模型切换技能完成配置更新。 **单供应商情况** -在 Higress 控制台,将 `default-ai-route` 这个路由配置到你的模型供应商。然后直接告诉 Manager 你想让 Worker 使用的具体模型名(例如 `qwen3.5-plus`)。Manager 会先用该模型名发起一次联通测试,测试通过后自动完成切换。 +在 Higress 控制台,将 `default-ai-route` 这个路由配置到你的模型供应商。然后直接告诉 Manager 你想让 Worker 使用的具体模型名(例如 `qwen3.6-plus`)。Manager 会先用该模型名发起一次联通测试,测试通过后自动完成切换。 **多供应商情况** diff --git a/docs/zh-cn/import-worker.md b/docs/zh-cn/import-worker.md index 9cbaf315..3654fbd4 100644 --- a/docs/zh-cn/import-worker.md +++ b/docs/zh-cn/import-worker.md @@ -375,7 +375,7 @@ bash hiclaw-import.sh -f [--prune] [--dry-run] | `--name <名称>` | Worker 名称(必需) | — | | `--zip <路径\|URL>` | ZIP 包(本地路径或 URL) | — | | `--package ` | 远程包 URI(`nacos://`、`http://`、`oss://`) | — | -| `--model <模型>` | LLM 模型 ID | `qwen3.5-plus` | +| `--model <模型>` | LLM 模型 ID | `qwen3.6-plus` | | `--skills ` | 逗号分隔的内置技能 | — | | `--mcp-servers ` | 逗号分隔的 MCP Server | — | | `--runtime <运行时>` | Agent 运行时(`openclaw`\|`copaw`) | `openclaw` | diff --git a/docs/zh-cn/manager-guide.md b/docs/zh-cn/manager-guide.md index c8d239e2..13d800f6 100644 --- a/docs/zh-cn/manager-guide.md +++ b/docs/zh-cn/manager-guide.md @@ -16,7 +16,7 @@ Manager 通过安装时设置的环境变量进行配置。安装脚本会生成 |------|----------|--------|------| | `HICLAW_LLM_API_KEY` | 是 | - | LLM API Key | | `HICLAW_LLM_PROVIDER` | 否 | `qwen` | LLM 提供商(`qwen` 为阿里云百炼,`openai-compat` 为 OpenAI 兼容 API) | -| `HICLAW_DEFAULT_MODEL` | 否 | `qwen3.5-plus` | 默认模型 ID | +| `HICLAW_DEFAULT_MODEL` | 否 | `qwen3.6-plus` | 默认模型 ID | | `HICLAW_ADMIN_USER` | 否 | `admin` | 人工管理员的 Matrix 用户名 | | `HICLAW_ADMIN_PASSWORD` | 否 | (自动生成) | 管理员密码(最少 8 位,MinIO 要求) | | `HICLAW_MATRIX_DOMAIN` | 否 | `matrix-local.hiclaw.io:18080` | Matrix 服务器域名(容器内使用) | diff --git a/docs/zh-cn/windows-deploy.md b/docs/zh-cn/windows-deploy.md index 10becc12..c2153791 100644 --- a/docs/zh-cn/windows-deploy.md +++ b/docs/zh-cn/windows-deploy.md @@ -198,7 +198,7 @@ Set-ExecutionPolicy Bypass -Scope Process -Force; $wc=New-Object Net.WebClient; ``` 选择 CodingPlan 默认模型: - 1) qwen3.5-plus - 千问 3.5(速度最快) + 1) qwen3.6-plus - 千问 3.6(速度最快) 2) glm-5 - 智谱 GLM-5(编程推荐) 3) kimi-k2.5 - Moonshot Kimi K2.5 4) MiniMax-M2.5 - MiniMax M2.5 diff --git a/hiclaw-controller/cmd/hiclaw/main.go b/hiclaw-controller/cmd/hiclaw/main.go index 3bc8789a..b6d8dee0 100644 --- a/hiclaw-controller/cmd/hiclaw/main.go +++ b/hiclaw-controller/cmd/hiclaw/main.go @@ -140,9 +140,9 @@ func applyWorkerCmd() *cobra.Command { hiclaw apply worker --name alice --model claude-sonnet-4-6 --package nacos://inst/ns/spec/v1 hiclaw apply worker --name alice --package reviewer hiclaw apply worker --name alice --package reviewer/label:latest - hiclaw apply worker --name bob --model qwen3.5-plus + hiclaw apply worker --name bob --model qwen3.6-plus hiclaw apply worker --name charlie --model gpt-5-mini --skills github-operations --mcp-servers github - hiclaw apply worker --name alice --model qwen3.5-plus --expose 8080,3000`, + hiclaw apply worker --name alice --model qwen3.6-plus --expose 8080,3000`, RunE: func(cmd *cobra.Command, args []string) error { if name == "" { return fmt.Errorf("--name is required") @@ -155,7 +155,7 @@ func applyWorkerCmd() *cobra.Command { // Generate Worker YAML from CLI params if model == "" { - model = "qwen3.5-plus" + model = "qwen3.6-plus" } return applyWorkerFromParams(name, model, packageURI, skills, mcpServers, runtime, expose, dryRun) @@ -163,7 +163,7 @@ func applyWorkerCmd() *cobra.Command { } cmd.Flags().StringVar(&name, "name", "", "Worker name (required)") - cmd.Flags().StringVar(&model, "model", "", "LLM model ID (default: qwen3.5-plus)") + cmd.Flags().StringVar(&model, "model", "", "LLM model ID (default: qwen3.6-plus)") cmd.Flags().StringVar(&zipFile, "zip", "", "Local ZIP package (manifest.json)") cmd.Flags().StringVar(&packageURI, "package", "", "Remote package URI (nacos://, http://, oss://) or Nacos shorthand (name, name/version, name/label:latest)") cmd.Flags().StringVar(&skills, "skills", "", "Comma-separated built-in skills") @@ -712,7 +712,7 @@ func applyZip(zipPath string, name string, dryRun bool) error { model := jsonField(string(manifestData), "model") if model == "" { - model = "qwen3.5-plus" + model = "qwen3.6-plus" } // Compute SHA256 of ZIP for content-addressable storage diff --git a/hiclaw-controller/cmd/hiclaw/main_test.go b/hiclaw-controller/cmd/hiclaw/main_test.go index bb5022e5..03c1c176 100644 --- a/hiclaw-controller/cmd/hiclaw/main_test.go +++ b/hiclaw-controller/cmd/hiclaw/main_test.go @@ -167,7 +167,7 @@ kind: Worker metadata: name: bob spec: - model: qwen3.5-plus + model: qwen3.6-plus ` tmpFile := writeTempYAMLForTest(t, yaml) resources, err := loadResources([]string{tmpFile}) @@ -366,7 +366,7 @@ metadata: name: bob spec: package: https://example.com/worker.zip - model: qwen3.5-plus + model: qwen3.6-plus `, expected: "https://example.com/worker.zip", }, @@ -377,7 +377,7 @@ kind: Worker metadata: name: charlie spec: - model: qwen3.5-plus + model: qwen3.6-plus `, expected: "", }, diff --git a/hiclaw-controller/config/crd/workers.hiclaw.io.yaml b/hiclaw-controller/config/crd/workers.hiclaw.io.yaml index 753f9813..37bcd431 100644 --- a/hiclaw-controller/config/crd/workers.hiclaw.io.yaml +++ b/hiclaw-controller/config/crd/workers.hiclaw.io.yaml @@ -18,7 +18,7 @@ spec: properties: model: type: string - description: LLM model ID (e.g. claude-sonnet-4-6, qwen3.5-plus) + description: LLM model ID (e.g. claude-sonnet-4-6, qwen3.6-plus) runtime: type: string enum: [openclaw, copaw] diff --git a/install/README.md b/install/README.md index eb795118..b24f0877 100644 --- a/install/README.md +++ b/install/README.md @@ -138,7 +138,7 @@ $env:HICLAW_LLM_API_KEY = "your-api-key" |----------|-------------|---------| | `HICLAW_NON_INTERACTIVE` | Skip all prompts | `0` | | `HICLAW_LLM_PROVIDER` | LLM provider (`qwen` or `openai-compat`) | `qwen` | -| `HICLAW_DEFAULT_MODEL` | Default model ID | `qwen3.5-plus` | +| `HICLAW_DEFAULT_MODEL` | Default model ID | `qwen3.6-plus` | | `HICLAW_LLM_API_KEY` | LLM API key | *(required)* | | `HICLAW_ADMIN_USER` | Admin username | `admin` | | `HICLAW_ADMIN_PASSWORD` | Admin password | *(auto-generated)* | diff --git a/install/hiclaw-install.ps1 b/install/hiclaw-install.ps1 index e2282b9b..a929b0b8 100644 --- a/install/hiclaw-install.ps1 +++ b/install/hiclaw-install.ps1 @@ -14,7 +14,7 @@ # Environment variables (for automation): # HICLAW_NON_INTERACTIVE Skip all prompts, use defaults (default: 0) # HICLAW_LLM_PROVIDER LLM provider (default: qwen) -# HICLAW_DEFAULT_MODEL Default model (default: qwen3.5-plus) +# HICLAW_DEFAULT_MODEL Default model (default: qwen3.6-plus) # HICLAW_LLM_API_KEY LLM API key (required) # HICLAW_ADMIN_USER Admin username (default: admin) # HICLAW_ADMIN_PASSWORD Admin password (auto-generated if not set, min 8 chars) @@ -297,7 +297,7 @@ $script:Messages = @{ "llm.alibaba.model.qwen" = @{ zh = " 2) 百炼通用接口"; en = " 2) qwen general - General purpose LLM" } "llm.alibaba.model.select" = @{ zh = "选择模型系列 [1/2]"; en = "Select model series [1/2]" } "llm.codingplan.models_title" = @{ zh = "选择 CodingPlan 默认模型:"; en = "Select CodingPlan default model:" } - "llm.codingplan.model.qwen35plus" = @{ zh = " 1) qwen3.5-plus - 千问 3.5(速度最快)"; en = " 1) qwen3.5-plus - Qwen 3.5 (fastest)" } + "llm.codingplan.model.qwen36plus" = @{ zh = " 1) qwen3.6-plus - 千问 3.6(速度最快)"; en = " 1) qwen3.6-plus - Qwen 3.6 (fastest)" } "llm.codingplan.model.glm5" = @{ zh = " 2) glm-5 - 智谱 GLM-5(编程推荐)"; en = " 2) glm-5 - Zhipu GLM-5 (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" } @@ -306,7 +306,7 @@ $script:Messages = @{ "llm.provider.selected_qwen" = @{ zh = " 提供商: 阿里云百炼"; en = " Provider: Alibaba Cloud Bailian" } "llm.provider.selected_openai" = @{ zh = " 提供商: {0}(OpenAI 兼容)"; en = " Provider: {0} (OpenAI-compatible)" } "llm.provider.invalid" = @{ zh = "无效选择: {0}(请输入 1 或 2)"; en = "Invalid choice: {0} (please enter 1 or 2)" } - "llm.qwen.model_prompt" = @{ zh = "默认模型 ID [qwen3.5-plus]"; en = "Default Model ID [qwen3.5-plus]" } + "llm.qwen.model_prompt" = @{ zh = "默认模型 ID [qwen3.6-plus]"; en = "Default Model ID [qwen3.6-plus]" } "llm.openai.base_url_prompt" = @{ zh = "Base URL(例如 https://api.openai.com/v1)"; en = "Base URL (e.g., https://api.openai.com/v1)" } "llm.openai.model_prompt" = @{ zh = "默认模型 ID [gpt-5.4]"; en = "Default Model ID [gpt-5.4]" } "llm.openai.base_url_label" = @{ zh = " Base URL: {0}"; en = " Base URL: {0}" } @@ -639,7 +639,7 @@ function Get-LanIP { $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.5-plus", "deepseek-chat", "deepseek-reasoner", + "qwen3.5-plus", "qwen3.6-plus", "deepseek-chat", "deepseek-reasoner", "kimi-k2.5", "glm-5", "MiniMax-M2.7", "MiniMax-M2.7-highspeed", "MiniMax-M2.5" ) @@ -1401,7 +1401,7 @@ function Step-Llm { if ($script:HICLAW_NON_INTERACTIVE) { $script:config.LLM_PROVIDER = if ($env:HICLAW_LLM_PROVIDER) { $env:HICLAW_LLM_PROVIDER } else { "qwen" } - $script:config.DEFAULT_MODEL = if ($env:HICLAW_DEFAULT_MODEL) { $env:HICLAW_DEFAULT_MODEL } else { "qwen3.5-plus" } + $script:config.DEFAULT_MODEL = if ($env:HICLAW_DEFAULT_MODEL) { $env:HICLAW_DEFAULT_MODEL } else { "qwen3.6-plus" } $script:config.OPENAI_BASE_URL = if ($env:HICLAW_OPENAI_BASE_URL) { $env:HICLAW_OPENAI_BASE_URL } else { "" } Write-Log (Get-Msg "llm.provider.label" -f $script:config.LLM_PROVIDER) Write-Log (Get-Msg "llm.model.label" -f $script:config.DEFAULT_MODEL) @@ -1433,7 +1433,7 @@ function Step-Llm { $modelChoice = "codingplan" Write-Host "" Write-Host (Get-Msg "llm.codingplan.models_title") - Write-Host (Get-Msg "llm.codingplan.model.qwen35plus") + Write-Host (Get-Msg "llm.codingplan.model.qwen36plus") Write-Host (Get-Msg "llm.codingplan.model.glm5") Write-Host (Get-Msg "llm.codingplan.model.kimi") Write-Host (Get-Msg "llm.codingplan.model.minimax") @@ -1446,11 +1446,11 @@ function Step-Llm { $codingPlanModelChoice = if ($codingPlanModelChoice) { $codingPlanModelChoice } else { "1" } if ($codingPlanModelChoice -eq "b") { $script:StepResult = "back"; return } switch -Regex ($codingPlanModelChoice) { - "^(1|qwen3\.5-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.5-plus" } + "^(1|qwen3\.6-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } "^(2|glm-5)$" { $script:config.DEFAULT_MODEL = "glm-5" } "^(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.5-plus" } + default { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } } Write-Log (Get-Msg "llm.provider.selected_codingplan") } else { @@ -1472,7 +1472,7 @@ function Step-Llm { Write-Host "" $qwenModelInput = Read-Host (Get-Msg "llm.qwen.model_prompt") if ($qwenModelInput -eq "b") { $script:StepResult = "back"; return } - $script:config.DEFAULT_MODEL = if ($qwenModelInput) { $qwenModelInput } elseif ($env:HICLAW_DEFAULT_MODEL) { $env:HICLAW_DEFAULT_MODEL } else { "qwen3.5-plus" } + $script:config.DEFAULT_MODEL = if ($qwenModelInput) { $qwenModelInput } elseif ($env:HICLAW_DEFAULT_MODEL) { $env:HICLAW_DEFAULT_MODEL } else { "qwen3.6-plus" } $script:config.OPENAI_BASE_URL = "" Write-Log (Get-Msg "llm.provider.selected_qwen") Request-CustomModelParams $script:config.DEFAULT_MODEL @@ -1482,7 +1482,7 @@ function Step-Llm { $script:config.OPENAI_BASE_URL = "https://coding.dashscope.aliyuncs.com/v1" Write-Host "" Write-Host (Get-Msg "llm.codingplan.models_title") - Write-Host (Get-Msg "llm.codingplan.model.qwen35plus") + Write-Host (Get-Msg "llm.codingplan.model.qwen36plus") Write-Host (Get-Msg "llm.codingplan.model.glm5") Write-Host (Get-Msg "llm.codingplan.model.kimi") Write-Host (Get-Msg "llm.codingplan.model.minimax") @@ -1495,11 +1495,11 @@ function Step-Llm { $codingPlanModelChoice = if ($codingPlanModelChoice) { $codingPlanModelChoice } else { "1" } if ($codingPlanModelChoice -eq "b") { $script:StepResult = "back"; return } switch -Regex ($codingPlanModelChoice) { - "^(1|qwen3\.5-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.5-plus" } + "^(1|qwen3\.6-plus)$" { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } "^(2|glm-5)$" { $script:config.DEFAULT_MODEL = "glm-5" } "^(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.5-plus" } + default { $script:config.DEFAULT_MODEL = "qwen3.6-plus" } } Write-Log (Get-Msg "llm.provider.selected_codingplan") } diff --git a/install/hiclaw-install.sh b/install/hiclaw-install.sh index 9f810c2b..09fd287a 100644 --- a/install/hiclaw-install.sh +++ b/install/hiclaw-install.sh @@ -13,7 +13,7 @@ # Environment variables (for automation): # HICLAW_NON_INTERACTIVE Skip all prompts, use defaults (default: 0) # HICLAW_LLM_PROVIDER LLM provider (default: alibaba-cloud) -# HICLAW_DEFAULT_MODEL Default model (default: qwen3.5-plus) +# HICLAW_DEFAULT_MODEL Default model (default: qwen3.6-plus) # HICLAW_LLM_API_KEY LLM API key (required) # HICLAW_ADMIN_USER Admin username (default: admin) # HICLAW_ADMIN_PASSWORD Admin password (auto-generated if not set, min 8 chars) @@ -381,8 +381,8 @@ msg() { "llm.alibaba.model.select.en") text="Select model series [1/2]" ;; "llm.codingplan.models_title.zh") text="选择 CodingPlan 默认模型:" ;; "llm.codingplan.models_title.en") text="Select CodingPlan default model:" ;; - "llm.codingplan.model.qwen35plus.zh") text=" 1) qwen3.5-plus - 千问 3.5(速度最快)" ;; - "llm.codingplan.model.qwen35plus.en") text=" 1) qwen3.5-plus - Qwen 3.5 (fastest)" ;; + "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 (fastest)" ;; "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.kimi.zh") text=" 3) kimi-k2.5 - Moonshot Kimi K2.5" ;; @@ -399,8 +399,8 @@ msg() { "llm.provider.selected_openai.en") text=" Provider: %s (OpenAI-compatible)" ;; "llm.provider.invalid.zh") text="无效选择: %s(请输入 1 或 2)" ;; "llm.provider.invalid.en") text="Invalid choice: %s (please enter 1 or 2)" ;; - "llm.qwen.model_prompt.zh") text="默认模型 ID [qwen3.5-plus]" ;; - "llm.qwen.model_prompt.en") text="Default Model ID [qwen3.5-plus]" ;; + "llm.qwen.model_prompt.zh") text="默认模型 ID [qwen3.6-plus]" ;; + "llm.qwen.model_prompt.en") text="Default Model ID [qwen3.6-plus]" ;; "llm.openai.base_url_prompt.zh") text="Base URL(例如 https://api.openai.com/v1)" ;; "llm.openai.base_url_prompt.en") text="Base URL (e.g., https://api.openai.com/v1)" ;; "llm.openai.model_prompt.zh") text="默认模型 ID [gpt-5.4]" ;; @@ -926,7 +926,7 @@ resolve_docker_proxy_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.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.5-plus qwen3.6-plus deepseek-chat deepseek-reasoner kimi-k2.5 glm-5 MiniMax-M2.7 MiniMax-M2.7-highspeed MiniMax-M2.5" is_known_model() { local model="$1" @@ -1556,7 +1556,7 @@ step_llm() { log "$(msg llm.title)" if [ "${HICLAW_NON_INTERACTIVE}" = "1" ]; then HICLAW_LLM_PROVIDER="${HICLAW_LLM_PROVIDER:-qwen}" - HICLAW_DEFAULT_MODEL="${HICLAW_DEFAULT_MODEL:-qwen3.5-plus}" + HICLAW_DEFAULT_MODEL="${HICLAW_DEFAULT_MODEL:-qwen3.6-plus}" log "$(msg llm.provider.qwen_default "${HICLAW_LLM_PROVIDER}")" log "$(msg llm.model.default "${HICLAW_DEFAULT_MODEL}")" prompt HICLAW_LLM_API_KEY "$(msg llm.apikey_prompt)" "" "true" @@ -1586,7 +1586,7 @@ step_llm() { ALIBABA_MODEL_CHOICE="codingplan" echo "" echo "$(msg llm.codingplan.models_title)" - echo "$(msg llm.codingplan.model.qwen35plus)" + echo "$(msg llm.codingplan.model.qwen36plus)" echo "$(msg llm.codingplan.model.glm5)" echo "$(msg llm.codingplan.model.kimi)" echo "$(msg llm.codingplan.model.minimax)" @@ -1601,11 +1601,11 @@ step_llm() { fi if [ "${CODINGPLAN_MODEL_CHOICE}" = "b" ]; then STEP_RESULT="back"; return 0; fi case "${CODINGPLAN_MODEL_CHOICE}" in - 1|qwen3.5-plus) HICLAW_DEFAULT_MODEL="qwen3.5-plus" ;; + 1|qwen3.6-plus) HICLAW_DEFAULT_MODEL="qwen3.6-plus" ;; 2|glm-5) HICLAW_DEFAULT_MODEL="glm-5" ;; 3|kimi-k2.5) HICLAW_DEFAULT_MODEL="kimi-k2.5" ;; 4|MiniMax-M2.5) HICLAW_DEFAULT_MODEL="MiniMax-M2.5" ;; - *) HICLAW_DEFAULT_MODEL="qwen3.5-plus" ;; + *) HICLAW_DEFAULT_MODEL="qwen3.6-plus" ;; esac log "$(msg llm.provider.selected_codingplan)" log "$(msg llm.model.label "${HICLAW_DEFAULT_MODEL}")" @@ -1630,7 +1630,7 @@ step_llm() { echo "" read -e -p "$(msg llm.qwen.model_prompt): " HICLAW_DEFAULT_MODEL if [ "${HICLAW_DEFAULT_MODEL}" = "b" ]; then STEP_RESULT="back"; return 0; fi - HICLAW_DEFAULT_MODEL="${HICLAW_DEFAULT_MODEL:-qwen3.5-plus}" + HICLAW_DEFAULT_MODEL="${HICLAW_DEFAULT_MODEL:-qwen3.6-plus}" log "$(msg llm.provider.selected_qwen)" log "$(msg llm.model.label "${HICLAW_DEFAULT_MODEL}")" prompt_custom_model_params "${HICLAW_DEFAULT_MODEL}" || return 0 @@ -1640,7 +1640,7 @@ step_llm() { HICLAW_OPENAI_BASE_URL="https://coding.dashscope.aliyuncs.com/v1" echo "" echo "$(msg llm.codingplan.models_title)" - echo "$(msg llm.codingplan.model.qwen35plus)" + echo "$(msg llm.codingplan.model.qwen36plus)" echo "$(msg llm.codingplan.model.glm5)" echo "$(msg llm.codingplan.model.kimi)" echo "$(msg llm.codingplan.model.minimax)" @@ -1655,11 +1655,11 @@ step_llm() { fi if [ "${CODINGPLAN_MODEL_CHOICE}" = "b" ]; then STEP_RESULT="back"; return 0; fi case "${CODINGPLAN_MODEL_CHOICE}" in - 1|qwen3.5-plus) HICLAW_DEFAULT_MODEL="qwen3.5-plus" ;; + 1|qwen3.6-plus) HICLAW_DEFAULT_MODEL="qwen3.6-plus" ;; 2|glm-5) HICLAW_DEFAULT_MODEL="glm-5" ;; 3|kimi-k2.5) HICLAW_DEFAULT_MODEL="kimi-k2.5" ;; 4|MiniMax-M2.5) HICLAW_DEFAULT_MODEL="MiniMax-M2.5" ;; - *) HICLAW_DEFAULT_MODEL="qwen3.5-plus" ;; + *) HICLAW_DEFAULT_MODEL="qwen3.6-plus" ;; esac log "$(msg llm.provider.selected_codingplan)" log "$(msg llm.model.label "${HICLAW_DEFAULT_MODEL}")" diff --git a/manager/agent/skills/model-switch/SKILL.md b/manager/agent/skills/model-switch/SKILL.md index 6560976a..622abcdf 100644 --- a/manager/agent/skills/model-switch/SKILL.md +++ b/manager/agent/skills/model-switch/SKILL.md @@ -78,5 +78,6 @@ When the human admin requests switching to a model you don't recognize, you MUST | claude-sonnet-4-6 | 1,000,000 | 64,000 | | claude-haiku-4-5 | 200,000 | 64,000 | | qwen3.5-plus | 200,000 | 64,000 | +| qwen3.6-plus | 1,000,000 | 64,000 | | deepseek-chat / deepseek-reasoner / kimi-k2.5 | 256,000 | 128,000 | | glm-5 / MiniMax-M2.7 / MiniMax-M2.7-highspeed / MiniMax-M2.5 | 200,000 | 128,000 | diff --git a/manager/agent/skills/model-switch/scripts/update-manager-model.sh b/manager/agent/skills/model-switch/scripts/update-manager-model.sh index 4b799994..4bb219f2 100755 --- a/manager/agent/skills/model-switch/scripts/update-manager-model.sh +++ b/manager/agent/skills/model-switch/scripts/update-manager-model.sh @@ -97,6 +97,8 @@ case "${MODEL_NAME}" in CTX=200000; MAX=64000 ;; qwen3.5-plus) CTX=200000; MAX=64000 ;; + qwen3.6-plus) + CTX=1000000; MAX=64000 ;; deepseek-chat|deepseek-reasoner|kimi-k2.5) CTX=256000; MAX=128000 ;; glm-5|MiniMax-M2.7|MiniMax-M2.7-highspeed|MiniMax-M2.5) @@ -112,7 +114,7 @@ fi # Resolve input modalities: only vision-capable models get "image" case "${MODEL_NAME}" in - 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.5-plus|kimi-k2.5) + 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.5-plus|qwen3.6-plus|kimi-k2.5) INPUT='["text", "image"]' ;; *) INPUT='["text"]' ;; diff --git a/manager/agent/skills/service-publishing/SKILL.md b/manager/agent/skills/service-publishing/SKILL.md index ea33c6cc..0d3e68a8 100644 --- a/manager/agent/skills/service-publishing/SKILL.md +++ b/manager/agent/skills/service-publishing/SKILL.md @@ -26,17 +26,17 @@ Example: worker `alice` exposing port `8080` → `worker-alice-8080-local.hiclaw ```bash # Expose port 8080 for worker alice -hiclaw apply worker --name alice --model qwen3.5-plus --expose 8080 +hiclaw apply worker --name alice --model qwen3.6-plus --expose 8080 # Expose multiple ports -hiclaw apply worker --name alice --model qwen3.5-plus --expose 8080,3000 +hiclaw apply worker --name alice --model qwen3.6-plus --expose 8080,3000 # Check exposed ports hiclaw get worker alice # Look for status.exposedPorts in the output # Remove exposed ports (update without --expose) -hiclaw apply worker --name alice --model qwen3.5-plus +hiclaw apply worker --name alice --model qwen3.6-plus ``` ### Via YAML @@ -47,7 +47,7 @@ kind: Worker metadata: name: alice spec: - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - port: 3000 @@ -70,14 +70,14 @@ metadata: spec: leader: name: lead - model: qwen3.5-plus + model: qwen3.6-plus workers: - name: backend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 8080 - name: frontend - model: qwen3.5-plus + model: qwen3.6-plus expose: - port: 3000 ``` diff --git a/manager/agent/skills/worker-management/references/worker-openclaw.json.tmpl b/manager/agent/skills/worker-management/references/worker-openclaw.json.tmpl index d163b30b..79a31ac1 100644 --- a/manager/agent/skills/worker-management/references/worker-openclaw.json.tmpl +++ b/manager/agent/skills/worker-management/references/worker-openclaw.json.tmpl @@ -50,6 +50,7 @@ { "id": "claude-sonnet-4-6", "name": "claude-sonnet-4-6", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "claude-haiku-4-5", "name": "claude-haiku-4-5", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, + { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "deepseek-chat", "name": "deepseek-chat", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "deepseek-reasoner", "name": "deepseek-reasoner", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text", "image"] }, @@ -78,6 +79,7 @@ "hiclaw-gateway/claude-sonnet-4-6": { "alias": "claude-sonnet-4-6" }, "hiclaw-gateway/claude-haiku-4-5": { "alias": "claude-haiku-4-5" }, "hiclaw-gateway/qwen3.5-plus": { "alias": "qwen3.5-plus" }, + "hiclaw-gateway/qwen3.6-plus": { "alias": "qwen3.6-plus" }, "hiclaw-gateway/deepseek-chat": { "alias": "deepseek-chat" }, "hiclaw-gateway/deepseek-reasoner": { "alias": "deepseek-reasoner" }, "hiclaw-gateway/kimi-k2.5": { "alias": "kimi-k2.5" }, diff --git a/manager/agent/skills/worker-management/scripts/generate-worker-config.sh b/manager/agent/skills/worker-management/scripts/generate-worker-config.sh index 5f5d15de..6daed1c7 100644 --- a/manager/agent/skills/worker-management/scripts/generate-worker-config.sh +++ b/manager/agent/skills/worker-management/scripts/generate-worker-config.sh @@ -16,7 +16,7 @@ source /opt/hiclaw/scripts/lib/hiclaw-env.sh WORKER_NAME="$1" WORKER_MATRIX_TOKEN="$2" WORKER_GATEWAY_KEY="$3" -MODEL_NAME="${4:-${HICLAW_DEFAULT_MODEL:-qwen3.5-plus}}" +MODEL_NAME="${4:-${HICLAW_DEFAULT_MODEL:-qwen3.6-plus}}" TEAM_LEADER_NAME="${5:-}" # Strip provider prefix if caller passed "hiclaw-gateway/" by mistake MODEL_NAME="${MODEL_NAME#hiclaw-gateway/}" @@ -46,6 +46,8 @@ case "${MODEL_NAME}" in CTX=200000; MAX=64000 ;; qwen3.5-plus) CTX=200000; MAX=64000 ;; + qwen3.6-plus) + CTX=1000000; MAX=64000 ;; deepseek-chat|deepseek-reasoner|kimi-k2.5) CTX=256000; MAX=128000 ;; glm-5|MiniMax-M2.7|MiniMax-M2.7-highspeed|MiniMax-M2.5) @@ -60,7 +62,7 @@ esac # Resolve input modalities: only vision-capable models get "image" case "${MODEL_NAME}" in - 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.5-plus|kimi-k2.5) + 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.5-plus|qwen3.6-plus|kimi-k2.5) INPUT='["text", "image"]' ;; *) INPUT='["text"]' ;; diff --git a/manager/agent/skills/worker-model-switch/SKILL.md b/manager/agent/skills/worker-model-switch/SKILL.md index 9c5b4d16..68fc5f13 100644 --- a/manager/agent/skills/worker-model-switch/SKILL.md +++ b/manager/agent/skills/worker-model-switch/SKILL.md @@ -91,5 +91,6 @@ When the human admin requests switching a Worker to a model you don't recognize, | claude-sonnet-4-6 | 1,000,000 | 64,000 | | claude-haiku-4-5 | 200,000 | 64,000 | | qwen3.5-plus | 200,000 | 64,000 | +| qwen3.6-plus | 1,000,000 | 64,000 | | deepseek-chat / deepseek-reasoner / kimi-k2.5 | 256,000 | 128,000 | | glm-5 / MiniMax-M2.7 / MiniMax-M2.7-highspeed / MiniMax-M2.5 | 200,000 | 128,000 | diff --git a/manager/agent/skills/worker-model-switch/scripts/update-worker-model.sh b/manager/agent/skills/worker-model-switch/scripts/update-worker-model.sh index 628bfc25..83104050 100644 --- a/manager/agent/skills/worker-model-switch/scripts/update-worker-model.sh +++ b/manager/agent/skills/worker-model-switch/scripts/update-worker-model.sh @@ -41,6 +41,8 @@ _resolve_model_params() { CTX=200000; MAX=64000 ;; qwen3.5-plus) CTX=200000; MAX=64000 ;; + qwen3.6-plus) + CTX=1000000; MAX=64000 ;; deepseek-chat|deepseek-reasoner|kimi-k2.5) CTX=256000; MAX=128000 ;; glm-5|MiniMax-M2.7|MiniMax-M2.7-highspeed|MiniMax-M2.5) @@ -54,7 +56,7 @@ _resolve_model_params() { fi # Resolve input modalities: only vision-capable models get "image" case "${model}" in - 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.5-plus|kimi-k2.5) + 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.5-plus|qwen3.6-plus|kimi-k2.5) INPUT='["text", "image"]' ;; *) INPUT='["text"]' ;; diff --git a/manager/configs/known-models.json b/manager/configs/known-models.json index fac462a3..742c5370 100644 --- a/manager/configs/known-models.json +++ b/manager/configs/known-models.json @@ -7,6 +7,7 @@ { "id": "claude-sonnet-4-6", "name": "claude-sonnet-4-6", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "claude-haiku-4-5", "name": "claude-haiku-4-5", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, + { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "deepseek-chat", "name": "deepseek-chat", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "deepseek-reasoner", "name": "deepseek-reasoner", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text", "image"] }, diff --git a/manager/configs/manager-openclaw.json.tmpl b/manager/configs/manager-openclaw.json.tmpl index b3f86697..52194e5a 100644 --- a/manager/configs/manager-openclaw.json.tmpl +++ b/manager/configs/manager-openclaw.json.tmpl @@ -51,6 +51,7 @@ { "id": "claude-sonnet-4-6", "name": "claude-sonnet-4-6", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "claude-haiku-4-5", "name": "claude-haiku-4-5", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "qwen3.5-plus", "name": "qwen3.5-plus", "reasoning": true, "contextWindow": 200000, "maxTokens": 64000, "input": ["text", "image"] }, + { "id": "qwen3.6-plus", "name": "qwen3.6-plus", "reasoning": true, "contextWindow": 1000000, "maxTokens": 64000, "input": ["text", "image"] }, { "id": "deepseek-chat", "name": "deepseek-chat", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "deepseek-reasoner", "name": "deepseek-reasoner", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text"] }, { "id": "kimi-k2.5", "name": "kimi-k2.5", "reasoning": true, "contextWindow": 256000, "maxTokens": 128000, "input": ["text", "image"] }, @@ -79,6 +80,7 @@ "hiclaw-gateway/claude-sonnet-4-6": { "alias": "claude-sonnet-4-6" }, "hiclaw-gateway/claude-haiku-4-5": { "alias": "claude-haiku-4-5" }, "hiclaw-gateway/qwen3.5-plus": { "alias": "qwen3.5-plus" }, + "hiclaw-gateway/qwen3.6-plus": { "alias": "qwen3.6-plus" }, "hiclaw-gateway/deepseek-chat": { "alias": "deepseek-chat" }, "hiclaw-gateway/deepseek-reasoner": { "alias": "deepseek-reasoner" }, "hiclaw-gateway/kimi-k2.5": { "alias": "kimi-k2.5" }, diff --git a/manager/scripts/init/start-manager-agent.sh b/manager/scripts/init/start-manager-agent.sh index 4ade2694..84c6f65c 100755 --- a/manager/scripts/init/start-manager-agent.sh +++ b/manager/scripts/init/start-manager-agent.sh @@ -454,7 +454,7 @@ log "Generating Manager openclaw.json..." export MANAGER_MATRIX_TOKEN="${MANAGER_TOKEN}" export MANAGER_GATEWAY_KEY="${HICLAW_MANAGER_GATEWAY_KEY}" # Resolve model parameters based on model name -MODEL_NAME="${HICLAW_DEFAULT_MODEL:-qwen3.5-plus}" +MODEL_NAME="${HICLAW_DEFAULT_MODEL:-qwen3.6-plus}" case "${MODEL_NAME}" in gpt-5.3-codex|gpt-5-mini|gpt-5-nano) export MODEL_CONTEXT_WINDOW=400000 MODEL_MAX_TOKENS=128000 ;; @@ -466,6 +466,8 @@ case "${MODEL_NAME}" in export MODEL_CONTEXT_WINDOW=200000 MODEL_MAX_TOKENS=64000 ;; qwen3.5-plus) export MODEL_CONTEXT_WINDOW=200000 MODEL_MAX_TOKENS=64000 ;; + qwen3.6-plus) + export MODEL_CONTEXT_WINDOW=1000000 MODEL_MAX_TOKENS=64000 ;; deepseek-chat|deepseek-reasoner|kimi-k2.5) export MODEL_CONTEXT_WINDOW=256000 MODEL_MAX_TOKENS=128000 ;; glm-5|MiniMax-M2.7|MiniMax-M2.7-highspeed|MiniMax-M2.5) @@ -490,7 +492,7 @@ log "Matrix E2EE: ${MATRIX_E2EE_ENABLED}" # Resolve input modalities: only vision-capable models get "image" case "${MODEL_NAME}" in - 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.5-plus|kimi-k2.5) + 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.5-plus|qwen3.6-plus|kimi-k2.5) export MODEL_INPUT='["text", "image"]' ;; *) export MODEL_INPUT='["text"]' ;; diff --git a/tests/test-15-import-worker-zip.sh b/tests/test-15-import-worker-zip.sh index 6916a04f..44f9b0b9 100644 --- a/tests/test-15-import-worker-zip.sh +++ b/tests/test-15-import-worker-zip.sh @@ -82,7 +82,7 @@ exec_in_manager bash -c " \"version\": 1, \"worker\": { \"suggested_name\": \"${TEST_WORKER}\", - \"model\": \"qwen3.5-plus\" + \"model\": \"qwen3.6-plus\" }, \"source\": { \"hostname\": \"integration-test\" diff --git a/tests/test-17-worker-config-verify.sh b/tests/test-17-worker-config-verify.sh index 8cfc1df1..ea6d5e51 100644 --- a/tests/test-17-worker-config-verify.sh +++ b/tests/test-17-worker-config-verify.sh @@ -46,7 +46,7 @@ exec_in_manager bash -c " \"version\": 1, \"worker\": { \"suggested_name\": \"${TEST_WORKER}\", - \"model\": \"qwen3.5-plus\" + \"model\": \"qwen3.6-plus\" } } MANIFEST diff --git a/tests/test-20-inline-worker-config.sh b/tests/test-20-inline-worker-config.sh index fea7800f..d7fc4b38 100755 --- a/tests/test-20-inline-worker-config.sh +++ b/tests/test-20-inline-worker-config.sh @@ -83,7 +83,7 @@ kind: Worker metadata: name: ${TEST_WORKER} spec: - model: qwen3.5-plus + model: qwen3.6-plus soul: | $(echo "${SOUL_CONTENT}" | sed 's/^/ /') agents: | @@ -259,7 +259,7 @@ exec_in_manager bash -c " \"version\": 1, \"worker\": { \"suggested_name\": \"${TEST_WORKER_OVERRIDE}\", - \"model\": \"qwen3.5-plus\" + \"model\": \"qwen3.6-plus\" }, \"source\": { \"hostname\": \"integration-test\" @@ -312,7 +312,7 @@ kind: Worker metadata: name: ${TEST_WORKER_OVERRIDE} spec: - model: qwen3.5-plus + model: qwen3.6-plus package: ${PKG_URI} soul: | $(echo "${OVERRIDE_SOUL}" | sed 's/^/ /')