QWE13-ART/dsh-skill-folder ↗★ 0

dsh-skill-folder

折叠技能提示词并提供混合语义检索工具 适合需要精简系统提示词、节省 Token 并保持技能检索精度的用户。

包名
dsh-skill-folder
兼容性
待验证
Harness 依赖范围
^0.1.0-rc.6
Cordis 依赖范围
^4.0.1
版本
0.3.4
最近更新
2026年9月2日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:QWE13-ART/dsh-skill-folder

配置(schemastery,profile 可按 id: skill-folder 覆盖)

键默认说明
enabledtrue总开关:关闭则完全不注册监听器
core["dsh-injection-guard", "dsh-verification"]P0 常驻:每轮全量描述可见(安全底线,不截断;deny 不能删除 core)
deny[]P3 剔除:精确名或 prefix*;core 技能豁免
aliases8 技能中文映射意图词→技能:skill_search 检索索引(BM25 加分),中文意图可命中英文技能
maxDescLength100非 core 技能描述最大长度(core 不受限)
maxFoldMs5裁剪耗时上限(ms),超时仅告警,结果仍应用
toolSearchEnabledtrue注册 skill_search 检索工具(静态前缀,结果追加尾部,不破坏缓存)
maxDescLength100动态条目描述最大长度;core 不受限
maxFoldMs5裁剪耗时上限(ms),超时仅告警,结果仍放行

默认 aliases(键名均为真实存在的技能名——v0.3.3 修掉了 9 个从不匹配的死引用):

{
  "dsh-memory":                  ["记忆", "回忆", "记住", "memory", "remember"],
  "dsh-grilling":                ["访谈", "对齐", "先问我", "grilling", "问清楚", "开工前"],
  "dsh-subagent-orchestration":  ["委派", "子智能体", "subagent", "delegate", "openhands"],
  "dsh-injection-guard":         ["注入", "安全", "不可信", "injection", "外部内容"],
  "dsh-verification":            ["验证", "检查完成", "防假完成", "verify", "审查", "评审", "code review"],
  "dsh-debugging":               ["排查", "诊断", "bug", "崩溃", "报错", "异常", "debug", "变慢"],
  "cordis-plugin-development":   ["插件", "cordis", "plugin", "动态插件", "开发插件", "扩展插件"],
  "editing-cordis-compositions": ["编排", "composition", "compose", "cordis.yml", "插件配置", "组合"],
}

core / deny / aliases 的键(技能名)均支持精确名或 prefix* 前缀匹配。

v0.3.3 — 死配置清理 + wrapper 内联(2026-08-31)

  1. 默认配置里 9 个技能名不存在(真 bug,不只是冗余):core 想常驻「防假完成」 技能作为安全底线,但写的是 dsh-verifier,真名是 dsh-verification——这条 安全底线一直是空的。同样修正:dsh-bug-diagnosis→dsh-debugging、 viking-memory-guide→dsh-memory、dsh-delegation-checklist→ dsh-subagent-orchestration;删除 dsh-context-language、dsh-two-axis-review 两个死 alias 键与 deny 的两个死条目(deny 默认改为 [])。
  2. lib/tool-skill-search.js 删除:enrichPoolWithFrontmatter 归入 skill-search.js(纯逻辑),buildSkillSearchTool 归入 index.js(宿主契约)。 skill-search.js 头部注释原本就写着 wrapper 在 index.js——代码终于和注释一致。
  3. test/ 清理 45 个一次性调研脚本:npm test 只跑 test/*.test.js,这些 analyze-*/check-*/scan-*/baseline-* 从未被任何测试引用。有长期价值的 validate-metadata.js、type-aware-scorer.js 移到 scripts/。

净减 4609 行(157 增 / 4766 删)。77/77 测试全绿,真 cordis Context 预检通过。

v0.3.2 — routeHint 否定词 + frontmatter 元数据检索 + 配置持久化