Skip to content

Releases

v0.4.0

Choose a tag to compare

@MYSTERY2019 MYSTERY2019 released this 03 Nov 15:05

语言:中文 | English

给 DSH 的每个项目配一套自己的技能:一份共享技能库,每个项目只加载自己列出的分类。

2026-11-04 更新: v0.4.0 这个 tag 已移到修复了安全问题的新提交,附件也已替换。之前装过 v0.4.0 的,请先卸载再重新安装。

安装

需要 DSH >=0.2.1-rc.5 <0.3.0、Node.js ^22.19.0 || >=24.0.0。

  • DSH Desktop: 侧边栏 Plugins 页面添加 github:MYSTERY2019/dsh-skills-symlink#v0.4.0,然后重启。
  • 其他 profile: dsh plugin --profile web add github:MYSTERY2019/dsh-skills-symlink#v0.4.0,或把 github:... 换成下面附件 dsh-skills-symlink-0.4.0.tgz 的路径。

这次修了什么

  • 符号链接越界: allowExternalPaths: false 改按真实路径判断。配置的根、分类目录、单个技能目录是指向项目外的链接时都会拒绝,加载技能正文时再查一次。
  • 设置接口: 改到 DSH 自己的 /api/dsh-skills-symlink/config,先过宿主的登录和 Host/Origin 校验;只读写 DSH 已知的工作区;写入要求同源、JSON、不超过 16 KB,配置目录或文件是符号链接时拒绝写入。
  • 保存配置: 先校验、后原子写入,校验不通过时原文件不变。
  • 宿主启动: configWatchIntervalMs: 0、maxDepth: 2.5 这类非法数值退回默认值并警告,不再让 DSH 起不来。
  • 项目配置文件: 多写了 maxDepth/ignore,或某一条路径不合法时,只跳过那一项并提示,不再清空整个项目的技能。
  • 其他: 空分类目录不再占用 maxRoots;同名遮蔽在任何 maxDepth 下都带两边路径报告;engines.dsh 和 peer 依赖改为 >=0.2.1-rc.5 <0.3.0;tgz 不再打包 docs/;README 中英文与代码对齐,示例 YAML 照抄可用。

完整说明见 README 和 CHANGELOG。