Skip to content

dsh-rtk v1.2.0 — 安装即生效

Choose a tag to compare

@robbin810130 robbin810130 released this 04 Oct 14:05
· 6 commits to main since this release

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 状态文件。