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

32 lines
1.7 KiB
Markdown

---
description: 自检:安装是否完整、两个写入目标是否可写、node:sqlite 是否可用(只读)
---
用 Bash(Windows 用 git-bash)运行(**只读,不改任何东西,不写档位**):
```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