Repository navigation
Releases
Releases · MYSTERY2019/dsh-skills-symlink
v0.4.0
语言:中文 | 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 照抄可用。