前言¶
DeepSeek Harness(DSH)里,技能通常以 /<技能名> 注入对话,来源可能是内置目录、项目或本地文件夹。技能一多,选哪个、从哪装、能不能出现在菜单里、模型能不能主动调用,往往要分开查文档或改 SKILL.md。下面介绍社区插件 dsh-skill-market(维护者 dakeqiqi123):把「选技能」和「管技能」收进输入框左下角一个入口,并支持本地文件夹、zip、粘贴与 GitHub 四种安装方式。
这是什么¶
dsh-skill-market 是 DSH 生态的第三方客户端插件(非官方),当前版本 0.2.0,许可证 MIT。它提供:
- 输入框左下角 「技能」 按钮:上方弹层内搜索、列表、一键把
/<技能名>写入输入框。 - 管理面板:浏览、搜索、分类筛选、开关策略、重命名(显示名 / 技术名)、四种来源安装与卸载。
适配 Harness 0.2.x 桌面端(Web 前端),要求 Node 20+。插件在 SkillHub 分类为「客户端」;仓库:https://github.com/dakeqiqi123/dsh-skill-market,目录页:https://www.skillhub.cn/plugins/dakeqiqi123/dsh-skill-market。
技能菜单(composer 入口)¶
点击输入框左下角「技能」后,在输入框正上方打开插件自绘弹层:
- 顶部搜索框:按技能名称、描述或标签实时过滤;标签包括来源、「本插件安装」、「只读」、「菜单可见 / 不可见」、「模型可用 / 不可用」、「仅用户可调用」等,搜「只读」「不可见」也能命中。
- 空搜索时:仍只列 10 个技能,排序取「最近使用 / 最新搭载」里较新的;底部固定两行:从本地添加技能、管理技能。
- 无匹配:显示关键词空状态与一键清空,而不是空白页。
- 键盘:↑↓ 选择、Enter 使用、Esc 关闭;点一行即在输入框插入
/<技能名>。 - 在输入框里输入
/仍走 Harness 自带菜单,行为不变。
弹层为不透明白底(#FFFFFF),深色主题下同样用浅色文字,避免半透明难读。
管理面板¶
从弹层底部进入「管理技能」后,可做这些事:
列表与筛选
- 搜索 + 分类:全部 / 本插件安装 / 本地目录 / 其他来源 / 可修改。
- 搜索覆盖名称、描述与上述标签,与筛选叠加;无匹配时同样有友好空状态。
- 列表约 每 2 秒 自动重读,别处或模型安装的技能会自动出现。
每行信息与开关
- 首字母徽标、名称(有 显示名 时显示它,并附
/技术名)、来源徽标、描述。 - 菜单可见 → 写回
user-invocable;模型可用 → 写回disable-model-invocation(语义与平台内置技能界面一致,直接改该技能SKILL.md的 frontmatter)。 - 双击一行:以
/<技能名>插入输入框并关闭面板。
改中文名(显示名 vs 技术名)
平台要求技能 技术名 name 为 kebab-case;中文不能直接写进 name,否则可能被 provider 忽略。插件用 frontmatter 区分:
| 字段 | 作用 |
|---|---|
name |
技术名,调用令牌 /名称、注册表、模型目录 |
display-name |
显示名(常中文),弹层、面板与 / 菜单本插件分组标签 |
aliases / original-name |
曾用名记录;旧技术名可发布为别名条目(可配置关闭) |
只改显示名不动目录;改技术名会移动目录/文件并更新 frontmatter。搜索同时匹配显示名、技术名与曾用名。
四种安装来源
- 本地文件夹
- zip 压缩包(含
SKILL.md,单包上限 8 MB) - 粘贴
SKILL.md内容 - GitHub 仓库
默认安装落点为 $DSH_HOME/skills(与内置文件系统 provider 扫描目录一致,装完即生效,一般无需重启)。使用历史在 $DSH_HOME/skill-market/usage.json。
给模型与会话的入口¶
除 UI 外,插件还注册:
- Agent 工具
skill_market:list/local/catalog/search/install/install-dir/install-text/policy/rename/remove。 - 会话命令
/skill-market <list|install|add-dir|add-zip|add-text|policy|rename|touch|remove>,便于手输与调试。
面板与菜单的内部请求走宿主 HTTP 路由,不走会话命令(避免轮询结果刷进对话)。
安装与启用¶
要求:DSH 桌面端(Harness 0.2.x,Web 前端),Node 20+。
用宿主安装入口(GUI 插件页或命令行),不要手写 profile 的 package.json 或 cordis.patch.yml,也不要在 profile 目录手工跑 pnpm:
dsh plugin --profile <your-profile> add /absolute/path/to/dsh-skill-market
装完 重启应用。若用本仓库源码安装,profile 依赖为 file: 形式:移动或删除源码目录会导致 profile 加载失败;长期用请把包放在固定路径再安装。
技能格式与配置要点¶
技能文件:目录 <技能名>/SKILL.md 或单文件 <技能名>.md;frontmatter 至少要有 name(kebab-case)和 description:
---
name: my-skill
description: 这个技能做什么(显示在菜单里)
disable-model-invocation: true # 可选:禁止模型主动调用
user-invocable: false # 可选:不在用户菜单里出现
---
正文…
两个可选字段对应管理面板里的两个开关;都不写则两者都启用。
可配置项(由安装入口写入 profile patch 层):
| 键 | 默认 | 说明 |
|---|---|---|
localDirs |
[] |
额外扫描的技能目录 |
installRoot |
空 | 安装落点;空 = $DSH_HOME/skills |
rank |
350 |
本 provider 在注册表里的优先级,越小越靠前 |
sources |
[] |
精选清单里的 owner/repo[#ref] 来源 |
token |
空 | 访问私有 GitHub 仓库;建议改用环境变量 |
registerTool |
true |
是否注册 skill_market 工具 |
aliasEntries |
true |
是否把曾用技术名发布为可调用别名条目 |
适用场景与注意¶
适合谁
- 经常在 composer 里切换技能、又不想记路径或反复改 frontmatter 的 DSH 桌面用户。
- 需要从 zip、粘贴或 GitHub 快速装技能,并统一控制「菜单可见 / 模型可用」的场景。
- 希望技能在 UI 里显示中文名,但调用仍用 kebab-case 技术名的团队。
安装前请自行核对
- 插件以 当前 dsh 进程权限 运行,安装技能会写入
$DSH_HOME/skills(或你配置的installRoot);从 GitHub 安装前请查看目标仓库源码与许可证。 - 本插件属于社区第三方作品;SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。
- 客户端半边在 Harness 0.2.x 验证过;跨大版本升级可能需要跟随 slot / 输入接口调整。
- 「从本地添加」依赖宿主目录选择器;无桌面能力时退化为 zip / 粘贴。
- 重命名与 frontmatter 开关仅对 本插件可写 来源(安装目录与
localDirs)生效;内置/项目技能等为只读。 - 曾用名别名会出现在内置
/菜单与模型技能目录(描述带「曾用名 …」前缀);不需要时可设aliasEntries: false,旧名仍可在面板搜索。
结尾¶
dsh-skill-market 把选技能、搜技能、装技能和改策略放在输入框旁一条链路上,并明确区分显示名与技术名,避免中文名踩平台校验。若你已在用 Harness 0.2.x 桌面端,可按上文命令安装后重启,从输入框左下角「技能」开始试用。