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

1.7 KiB

description
description
自检:安装是否完整、两个写入目标是否可写、node:sqlite 是否可用(只读)

用 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" doctor $ARGUMENTS

检查项(每项 ✓ ok / ⚠ warn / ✗ fail,失败项附可执行的修复建议):

  • Node 版本 / node:sqlite — 热档位那一半依赖 node:sqlite(需 Node ≥22.5); 导入失败时热档位写不了,只能改模型配置
  • 模型配置 — 能否读到、JSON 是否合法、有几个模型声明了 reasoning
  • 热档位库 — 文件在不在、能否打开、有没有 local_setting 表(缺表说明不是有效的 session 库)
  • 当前热档位 — 库里现在的值;没有这行也会如实说明,不假装读到
  • 默认值 — 默认档位/默认模型及其来源(环境变量/文件/未设)
  • 写入能力 — 模型配置是否可写、能否在配置目录写备份、默认值目录是否存在

退出码:有 fail 时为 1。

用法场景:用户说"切不了/切了没效果/报错"时先跑这个,再把 fail 项与修复建议照实告诉他, 不要自己猜。想知道"怎么回滚"也可以先跑它,备份可写性就在检查项里。

把脚本输出原样展示给用户。

用户附加要求:$ARGUMENTS