# dsh-rtk v1.2.0 — 安装即生效 问题:1.1.0 通过 `tools/execute` 钩子接入,但如果 DSH 服务进程的环境里没有 `RTK_BIN`,插件会**静默地什么都不做**——装好了、也加载了,却一个字节都不压缩,日志里也查不到原因。 - 新增零配置自动发现:`config.bin` → `RTK_BIN` → 固定候选列表(Homebrew / Linuxbrew / `/usr/local` / `~/.local` / `~/.cargo`)。仍然不搜索 `PATH`。 - 每个自动发现的候选都要通过可信校验(常规文件、非 world-writable、属主为 root 或当前用户、目录不可被他人写、可执行)并返回 `rtk <版本>`;不满足则跳过并记录原因。 - 新增显式配置不回退契约:`bin` / `RTK_BIN` 一旦设置即为唯一来源,不可用时报警并停止改写,不再静默换成别的二进制。 - 新增启动与故障日志:成功打一行「已生效 — rtk x.y.z @ 路径(来源:…,profile:…)」;失败打带修复步骤的警告;运行中同类错误只报一次。 - 新增 `$DSH_HOME/dsh-rtk/status.json` 状态文件(解析结果、改写/跳过计数、最近错误)与 `npm run doctor`(`--json` 可用)自检命令。 - 新增配置项:`bin`、`autoDiscover`、`timeoutMs`、`statusFile`;`enabled`、`verbose` 行为不变,旧配置向后兼容。 - 二进制被删除/替换后自动失效缓存并重新解析;未找到 RTK 时每 30 秒重试一次,装好 RTK 无需重启 DSH。 - 新增 `test/resolve.mjs` 覆盖解析、可信校验、诊断与状态文件;`test/runtime.mjs` 与打包冒烟检查同步扩展;测试不再写入真实 `~/.dsh` 状态文件。