DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-skill-starter

y

dsh-skill-starter

Manifest valid★ 1

Skill manager for DSH with a pack system. Installs skills as versioned packs and never overwrites files you have edited - upgrades skip your changes and report them. Also ships 6 built-in skills, a pr

UI (client)hasBundlePatch

dsh-skill-starter

装完就有 6 个能直接用的技能,外加一个 20 个技能的工程流程包。 设置页里能看能改,AI 也能在对话里直接读写技能库。

装完立刻得到是什么
6 个基础技能ask-first 需求没说清时先问完再动手、prove-it 改之前先说清怎么验证、write-my-skill 一句话把你的做法记成技能
20 个工程流程技能从拷问需求 → 收规格 → 拆票 → 实现 → 双轴审查 → 复盘,一整套;外加诊断 bug、TDD、原型、研究、教学
按症状分组的面板按「你遇到的问题」分组,不用记技能名;能编辑、新建、复制内置技能
一张「我该用哪个」对照表29 行处境对照,点一行跳到对应技能
AI 在对话里直接读写你说「把这套流程记下来」,它直接落盘,不会写错格式

升级技能包不会覆盖你改过的文件。 装进来之后那份归你——插件只加新技能、修错字,不碰你动过的任何一行。

技能(skill)是 DSH 里最实用的东西:把一套做法写成一个文件,之后随时调用,AI 每次都按同一套流程做事。麻烦的地方在于管——文件散在几个目录、frontmatter 写法要记、装了一堆想不起用哪个、改过的还怕被升级冲掉。

这个插件把这几件事一起解决了。


安装

dsh plugin --profile desktop add dsh-skill-starter

desktop 换成你自己的 profile 名(~/.dsh/profiles/ 下面的目录名)。装完重启 dsh。

包在 npm 上:https://www.npmjs.com/package/dsh-skill-starter。

验证:设置页里出现「Skill 管理」这一项,或者直接问 AI「我有哪些技能」。

装不下来时改用源码包

网络或镜像有问题时,改用 GitHub 上的固定 tag 地址:

dsh plugin --profile desktop add https://github.com/ymck-x/dsh-skill-starter/archive/refs/tags/v0.3.0.tar.gz

请照抄这个完整地址,不要改成 refs/heads/main.tar.gz。 分支地址的内容会随作者推代码而改变,而 pnpm 会记下你安装当时的指纹。 之后你装任何插件时,pnpm 都会重新核对全部旧依赖,一旦发现指纹对不上就中止整次安装 (ERR_PNPM_TARBALL_INTEGRITY),而且报错指向一个你当时根本没在装的包。 refs/tags/ 指向一次固定发布,内容永不改变——代价是换版本时要手改上面那个 tag 号。

也不要写成 github:ymck-x/dsh-skill-starter 这种简写:它会被 pnpm 解析成 SSH 地址(git+ssh://),而匿名 SSH 访问 GitHub 会被直接拒绝,装不上。

没有 dsh 命令时手动装

dsh plugin add 内部就是「pnpm 装包 + 把包名写进 dsh.profile.bundles」。你也可以自己做这两步:

cd ~/.dsh/profiles/desktop
pnpm add dsh-skill-starter

从 npm 装不下来时,把 dsh-skill-starter 换成上面那个 GitHub tag 地址。

再把 dsh-skill-starter 加进同一个目录里 package.json 的 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-skill-starter"
      ]
    }
  }
}

重启 dsh 即生效。

卸载

dsh plugin --profile desktop remove dsh-skill-starter

手动装的:从 bundles 里删掉这一项,再 pnpm remove dsh-skill-starter。

卸载不影响你写的技能——它们在 ~\.dsh\skills\ 里,不属于插件。


它做什么

一、设置页里的面板

打开「设置 → Skill 管理」,你看到的是按你遇到的问题分的组,不是按名字排的字母序:

开工之前
  先把票据和规格放在哪定下来。
  setup-tickets

别让它做错方向
  动手之前,把没问清的问完。
  ask-first

看不懂就拉回来
  说「没看懂」时,用大白话重讲上一段。
  plain-words

别让「改好了」是空话
  先说清用什么办法验证,改完真的跑一遍再报告。
  prove-it
  一次只走一小步,每步验证过再继续。
  tiny-steps

让它记住你的做法
  一句话把你的做法记成技能文件。
  write-my-skill

选一条就能改:名称、描述、使用时机、正文,还有两个调用开关。也能新建、删除、把内置技能复制一份出来改。中英双语,跟着界面语言走。

二、「我该用哪个」

面板里有一块处境对照表,直接显示路由技能里那张表——现在 29 行,点一行就跳到对应的技能。

这张表不是复制过来的:插件每次从 skills-map/SKILL.md 现读现解析,所以它和路由技能永远是同一份内容,不会两边说法不一致。

三、技能包

技能包是「一组相关技能,一次装完」。自带一个:

包内容
engineering-zh20 个中文工程流程技能:拷问需求 → 收成规格 → 拆票 → 实现 → 双轴审查 → 复盘,外加诊断 bug、TDD、原型、研究、教学、交接

升级不覆盖你的修改,三层保护:

情况处理
你改过这个文件跳过,并在结果里点名
文件已存在且内容不同绝不覆盖,单独列出
内容相同只登记指纹,不动文件

所以想改包里的技能,直接改用户目录里那份就行,不用担心下次升级被冲掉。

四、模型能直接用

插件注册六个工具,AI 在对话里就能读写技能库、装卸技能包,不用你打开设置页:

工具作用
skill_list列出全部技能:来源、调用方式、是否被覆盖、附件数
skill_read读出完整内容与附件清单
skill_write新建或修改
skill_delete删除
skill_pack_list技能包状态
skill_pack_install安装或升级,不覆盖你的改动

所以你说「把这套流程记下来」,它会直接落盘,不会写错格式。


为什么这么设计

问题一:技能写完了没人用

技能要生效,得有人知道它什么时候该上场。三种做法叠起来解决:

  • 描述里写用户的原话。tdd 的描述是「说『写个测试再实现』『先红后绿』时使用」——AI 靠这句判断该不该自己调用。
  • 面板按症状分组。用户先看到症状(「别让『改好了』是空话」),再看到药。
  • 只给人用的技能明确标出来。会改变工作状态的动作(收规格、拆票、交接、复盘)只允许你手动发起,AI 不能自己决定。

问题二:装了一堆,不知道什么时候用哪个

二十多个技能,靠记名字不现实。所以有一张按处境写的对照表:

你现在的处境加载哪个技能
有个想法,要把它问清楚grilling
需求没说清,要先把该问的一次问完ask-first
要在一个项目里建好票据约定setup-tickets
要把已经聊清楚的结论写成规格to-spec
要把规格拆成多张票据to-tickets
做完了,不知道改动有没有问题code-review
没坏,但比以前慢很多diagnosing-bugs
这段代码改一次要动好几个地方improve-codebase-architecture
不确定这个模块该怎么切codebase-design
同一个词团队里有两个意思domain-modeling
答案在别人脑子里to-questionnaire
没听懂上一条wait-what

完整 29 行在面板里,也在 skills-map 技能里。

问题三:技能越多,每轮对话越贵

技能的描述是常驻的——不管用不用,它都在每轮请求里占位置。所以插件把这个成本算清楚并公布:

部分规模估算
插件自带 6 个技能448 字约 269 到 538 token
技能包 20 个技能(装了才有)1776 字约 1066 到 2131 token
六个工具的 schema671 字约 403 到 805 token
设置面板—0(只在浏览器里跑)
合计(装了技能包)2895 字约 1737 到 3474 token

不想要工具那部分开销,可以在配置里关掉:

- id: dsh-skill-starter
  config:
    enableTools: false

关掉之后模型侧开销归零,设置面板照常。「我该用哪个」那块表也照常——它走面板自己的接口,不进模型上下文。

自己量一遍:

node measure.mjs

问题四:升级把改动覆盖了

上面那三层保护就是答案。设计上是这么想的:技能包给的是起点,不是终点。装进来之后那份文件归你,插件只负责以后添新技能、修错别字,不碰你动过的任何一行。


技能清单

技能分两类,区别在谁能调用:

  • 模型可调用:任务合适时 AI 会自己用;你也能打 /名字 手动调。
  • 只允许人工发起:只有你打出 /名字 才生效。它们会改变工作状态,不该由 AI 自己决定什么时候做。

插件自带(6 个基础技能)

技能什么时候用
ask-first用户提出还没说清的需求(「加个导出功能」)
plain-words用户说「没看懂」「说人话」
prove-it任何改动开始前,先说清怎么验证
tiny-steps改动涉及多个文件,或用户说「一步步来」
write-my-skill用户说「把这条记下来」「以后都这样做」
setup-tickets要给一个项目建票据约定

技能包 engineering-zh(20 个)

只允许人工发起(9 个)

技能作用
to-spec把已经聊定的结论收成一份规格
to-tickets拆成一组能各自收工的票据
implement按票据逐张做出来
retro回看这段会话,改进工作环境
handoff压成交接文档,换人换机器接着干
to-questionnaire答案在别人手里时,写一份问卷去问
wait-what没听懂上一条,用大白话重讲
teach跨多次会话学一门东西
improve-codebase-architecture扫出结构改进机会,给候选让你挑

模型可调用(11 个)

技能作用
grilling把还没想清的想法问到没有含糊
skills-map路由表:从处境查到该用哪个
tdd测试先行的红-绿循环
diagnosing-bugs疑难 bug 的诊断纪律
code-review双轴审查:规范轴 + 规格轴
codebase-design深模块的词汇与判断标准
domain-modeling维护项目术语表与架构决策记录
pr拉取请求正文的三段结构
prototype写一次性代码回答设计问题
research查一手来源,留一份带引用的笔记
writing-for-agents写给模型读的文档时的规范

技能包里的正文保持一屏内;词汇表、判断标准、例证这类细节放在同目录的附件里,正文末尾有一行指针。tdd 带 MOCKING.md,code-review 带 SMELLS.md,codebase-design 带 DEEP-MODULES.md,一共 10 份附件。


技能的三种来源

来源位置说明
项目级<项目>\.dsh\skills\、<项目>\.agents\skills\跟着仓库走,DSH 原生扫描
用户级~\.dsh\skills\面板和工具都管这里
内置插件自带的 skills\只读;在用户目录放一份同名的就能覆盖

同名时优先级:项目级 > 用户级 > 内置。 项目根按「最近的含 .git 的目录」判定,所以在子目录里也能找到。

面板只列用户级和内置(浏览器端拿不到会话的工作目录);项目级技能在对话里问 AI 就能看到。


和同类插件的关系

DSH 生态里已经有两个做技能的插件,侧重和我们不同:

插件侧重
dsh-skills把散落各处(Claude Code、项目目录、.skill 包)的技能汇总入库,引用或副本两种方式,能导出打包
asakumizy/dsh-local-skills本地技能浏览器,Notion 风格的界面
本插件技能内容本身 + 分发:自带一整套能用的技能,用技能包分发,管升级与本地改动

三个装在一起不冲突(id 不同),只是功能有重叠。同一个技能名不要装两份,那样每个技能会被注册两次。


开发

node verify.mjs        # 自测 59 项:解析、增删改查、路径安全、工具定义、技能包、项目级扫描、路由表
node check-tools.mjs   # 用 DSH 自己的 JSON Schema 校验器检查六个工具的定义
node check-pack.mjs    # 检查技能包内容是否符合规范
node measure.mjs       # 量出每轮对话的固定开销

技能文件(skills/*/SKILL.md)改动会热生效,保存即用。

插件代码(index.js、client.js)改动需要重载:client.js 刷新页面即可;index.js 因为 Node 会缓存已加载的模块,要把插件卸掉再装(或重启 DSH)。

要往包里加技能、或者重写技能时,先读 REWRITE-GUIDE.md:那里记了附件该怎么分类(模板类压进正文,方法类与机制类必须留附件),以及第一次重写时因为「一律单文件」而丢掉 19% 内容的教训。

要发版时,先读 RELEASING.md:npm 现在只认勾了 Bypass 2FA 的令牌,那份文档写着令牌怎么建、.npmrc 怎么写、发布后必须收回什么,以及 403 和 404 各自真正代表什么(404 不是包名问题,是认证无效)。那份文档整份复制到别的项目也能用。

目录结构

dsh-skill-starter/
  package.json           插件清单(dsh.bundle.patch 指向下面的补丁)
  cordis.patch.yml       告诉 DSH 加载这个插件
  index.js               宿主侧:注册内置技能、六个工具,提供面板接口
  client.js              浏览器侧:设置页「Skill 管理」面板
  skills/                6 个基础技能
  packs/engineering-zh/  技能包:20 个技能 + 10 份附件
  verify.mjs             自测
  check-tools.mjs        工具定义校验
  check-pack.mjs         技能包规范校验
  measure.mjs            成本测量
  REWRITE-GUIDE.md       重写或新增技能的规范
  RELEASING.md           发版到 npm 的流程(可整份复制到别的项目)
  CHANGELOG.md           更新记录

许可

MIT

Comments

Loading…

Similar plugins

dsh-skill-center

by tuoLuoSuan

技能中心 — 在 DeepSeek Harness 的 Web GUI 里浏览、体检并一键安装全世界的 Agent Skills。Skill Center for DSH: five public skill sources, pre-install validation, provenance, update checks and a trash.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 3

↓ 965/wk

MIT

JavaScript

Oct 10, 2026

dsh plugin --profile web add dsh-skill-center

by xiaoxianyu-office

DSH Skills 管理器:设置页系统/用户技能分类,用户技能开关/编辑/删除/新建。Skills manager for DeepSeek Harness: system/user skill management (toggle/edit/delete/create) in Settings.

Manifest valid

★ 3

↓ 207/wk

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-skills-manager

Three-layer skill management for DeepSeek Harness: a library pool, per-workspace enablement whitelists, and per-session picks, with a Web settings panel, a conversation-embedded view, a skill file bro

Manifest valid

★ 1

↓ 302/wk

NOASSERTION

JavaScript

dsh plugin --profile web add dsh-skill-manager

by xiex16070-jpg

Persistent learning for DeepSeek Harness: turn a session's corrections, failures and fixes into ordinary DSH skills. Zero extra model calls.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 10, 2026

dsh plugin --profile web add dsh-learn

Skill Manager page in the DSH settings panel: browse system / user / workspace / preset skills, expand a skill to its file tree, view and edit files, import skills from a zip, and export or delete the

Manifest valid

★ 2

↓ 276/wk

MIT

TypeScript

dsh plugin --profile web add dsh-skill-manager

by bauerelizabeth07139

DeepSeek Harness plugin that bundles the simple-plan skill: plan, execute with worker subagents, verify every deliverable with memoryless verifier subagents, and fix in at most three cycles. The Skill is shipped by the bundle, so there is nothing to copy into a skills directory.

Tools & CapabilitiesSessions & MessagesManifest valid

★ 0

MIT

JavaScript

Oct 4, 2026

dsh plugin --profile web add dsh-simple-plan