dsh-skill-market:在输入框选技能,并在同一处管理安装

前言

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 入口)

点击输入框左下角「技能」后,在输入框正上方打开插件自绘弹层:

  1. 顶部搜索框:按技能名称、描述或标签实时过滤;标签包括来源、「本插件安装」、「只读」、「菜单可见 / 不可见」、「模型可用 / 不可用」、「仅用户可调用」等,搜「只读」「不可见」也能命中。
  2. 空搜索时:仍只列 10 个技能,排序取「最近使用 / 最新搭载」里较新的;底部固定两行:从本地添加技能、管理技能。
  3. 无匹配:显示关键词空状态与一键清空,而不是空白页。
  4. 键盘:↑↓ 选择、Enter 使用、Esc 关闭;点一行即在输入框插入 /<技能名>。
  5. 在输入框里输入 / 仍走 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。搜索同时匹配显示名、技术名与曾用名。

四种安装来源

  1. 本地文件夹
  2. zip 压缩包(含 SKILL.md,单包上限 8 MB)
  3. 粘贴 SKILL.md 内容
  4. 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 桌面端,可按上文命令安装后重启,从输入框左下角「技能」开始试用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye