Files
zcode-tooling/zcode-thinking-mode/commands/thinking/defaults.md
T

1.6 KiB


description: 思考模式默认值(查看/设置/清除:不带参数时 set 用哪个档位、status 用哪个模型) argument-hint: [set --variant <档位>] [--model <模型名>] | clear

用 Bash(Windows 用 git-bash)运行:

THINK_SCRIPT="${ZCODE_THINKING_SCRIPT:-$(find ~/.zcode/plugins -maxdepth 4 -name thinking.mjs -path '*thinking-mode*' 2>/dev/null | head -1)}"
[ -n "$THINK_SCRIPT" ] || THINK_SCRIPT="$(find ~/.zcode -maxdepth 8 -type f -path '*thinking-mode/scripts/thinking.mjs' 2>/dev/null | head -1)"
[ -n "$THINK_SCRIPT" ] || { echo "找不到 thinking.mjs:插件未安装或不在默认位置,可用 ZCODE_THINKING_SCRIPT 指定路径"; exit 1; }
node "$THINK_SCRIPT" defaults $ARGUMENTS

三种用法:

  • defaults(不带参数)→ 看当前默认档位/默认模型,以及它们的来源
  • defaults set --variant high [--model GLM-5.3] → 写入落地文件
  • defaults clear → 删掉落地文件,回到内置兜底

为什么要这个命令:plugin.json 里的 userConfig 在设置界面能填,但宿主只把 ${user_config.*} 插值进 MCP server 字段与 hook,命令正文拿不到 —— 所以脚本自己读 ~/.zcode/zcode-thinking-mode.json 这份落地文件,那两个配置项才有实际作用。

优先级:命令行参数 > 环境变量(ZCODE_THINKING_VARIANT / ZCODE_THINKING_MODEL) > 默认值文件 > 内置兜底。

设了之后:set 不带档位就用默认档位;status/variants 不带 --model 就用默认模型。

把脚本输出原样展示给用户,包含写入的文件路径与内容。

用户附加要求:$ARGUMENTS