[Feature] DSH 技能中心扩展路线图:场景助手、技能使用与管理、项目复用及自动化
Maintainers usually reply within 1 day
@XiaoSeS is already working on this.
Since Oct 21, 2026.
Assessment
This issue has not been assessed yet.
Description
Problem
现有 SkillHub DSH 原生插件已具备市场浏览、详情与版本、页面安装/升级/卸载、对话搜索/安装、来源和安装范围识别。后续需要把“找到并安装技能”衔接为“选择适合的能力 → 在当前项目使用 → 验收结果 → 复用成功流程”。
本 Issue 是扩展方向的总览与 TODO 容器。优先级为候选排序,不代表全部功能已经确定实现;各阶段进入开发前分别澄清、更新 OpenSpec,并按可独立演示的端到端交付拆子 Issue。本轮不启动功能实现。
Proposed Solution
以 SkillHub Registry 提供统一内容与契约、DSH 插件提供原生交互、DSH 宿主提供执行能力 为整体边界,逐步扩展为技能使用与管理中心。参考 WorkBuddy 的技能启停、任务示例、场景入口、项目配置、技能创建和自动化交互;公开逆向分析只作为实现线索,产品行为以官方资料和实际验证为准。
一、场景助手需要 SkillHub 服务端支持
正式的场景内容应由 SkillHub 服务管理,以支持独立更新、版本与来源核验、上架治理,以及 Web、DSH、未来其他客户端复用。
区分两种深度:
- 单技能使用引导:某个技能的任务示例、输入材料、输出要求等可选展示信息。先评估作为现有技能的可选元数据扩展,保留历史技能无此信息时的兼容行为。
- 场景助手:可以引用多个技能,组织任务模板、所需材料、交付要求及依赖。需要在 OpenSpec 中明确独立资源或组合资源模型、命名空间、版本、发布治理、解析及兼容规则。不能只把几段提示词写死在 DSH 插件里并作为正式内容源。
完整专家中心属于更后续的能力:角色、方法、技能依赖、可用工具及 DSH Preset 的关系需要单独设计。场景助手不自动等于 Agent Preset,也不要求先建设专家市场。
| 层次 | 负责内容 | 边界 |
|---|---|---|
| SkillHub 服务与 Web | 场景/技能内容、检索、版本、引用解析、发布审核、可见性与展示元数据 | 继续保持 Registry 定位,不在 Registry 中运行用户的 DSH 任务 |
| DSH 原生插件 | 展示、场景选择、输入引导、安装范围确认、本机状态、技能使用入口、诊断 | 本机路径、库存、启停与会话状态不冒充服务端安装状态 |
| 共享本地安装核心 | 技能安装、升级、卸载及文件/库存/操作日志保护 | 复用现有核心,不另造第二套文件事务实现 |
| DSH 宿主 | 会话、技能发现和加载、工具、执行权限、工作区、产物、编排与调度 | 优先通过原生扩展机制接入;每项能力按支持的 RC 单独验证 |
| SaaS 适配 | 同步已确认的内容/API 契约、权限策略与发布部署 | 开源验证不能替代 SaaS 部署与现网验收;本 Issue 不操作 SaaS 生产环境 |
二、阶段 0:需求与契约澄清
- 为选定的首期范围创建/更新 OpenSpec,明确术语、用户旅程、页面原型、接口与验收;本 Issue 仅维护路线图、依赖和实施链接。
- 明确单技能引导、场景助手、技能套件、专家/专家团、DSH Preset 的关系,优先完成轻量场景助手。
- 定义场景与技能版本的绑定/升级策略、所需能力缺失时的提示,以及取消和部分失败语义。
- 核对现有 Registry 模型可复用部分;API 路径、字段、持久化和迁移方案经 OpenSpec 评审后确定,不将讨论字段视为已有接口。
三、阶段 1:服务端场景内容与兼容契约
- 定义最小场景内容:标识与命名空间、名称/简介、分类与来源、所需技能引用、任务示例、输入材料和交付要求;哪些字段必需、哪些可选须在契约中明确。
- 场景发布版本可解析到明确技能坐标和版本;执行前重新核验实际版本、指纹、可下载性及可见性,避免静默切换内容。
- 复用现有发布、审核、上线/撤回与隐藏等治理机制,明确场景或所依赖技能下架后的读取和使用行为。
- 提供公共场景列表、详情与必要解析契约;保持公共内容匿名读取、私有及未发布内容的既有访问边界。
- 更新 OpenAPI、相关类型及兼容测试;旧客户端不受新增字段影响,旧 Registry 未提供场景能力时插件仍可正常浏览和管理技能。
- 定义开源到 SaaS 的同步清单和验收用例,不通过放宽匿名权限来让新页面可见。
四、阶段 2:场景助手与“使用此技能”首个闭环
- 选择少量可实际验收的场景,例如会议材料整理、需求方案评审、业务数据分析;明确输入材料与预期产物。
- 技能中心展示服务端场景卡片和详情;采用可选图标/首字回退、简洁任务示例和依赖状态,历史技能无需补元数据也能继续使用。
- 场景选择后展示所需技能、当前来源的安装版本与范围;缺失项经用户确认后安装,已有冲突/本地修改明确处理。
- 在已安装卡片、详情和安装成功处提供“使用此技能”,按技能声明及实际可用性衔接原生调用。单技能案例与输入框衔接已由 #1007 交付;使用优先与二级安装管理见 #1025。
- 单技能案例由作者包内
.skillhub/examples.json声明,按协议提供多语言案例;选择后填入原生输入框,由用户发送,不自动提交。已由 #1007 交付;多技能场景助手仍未开始。 - 展示“文件已安装 / 当前会话可发现 / 已加载指令 / 任务结果”各自状态;安装成功不直接标记任务执行成功。
- 产物与过程优先衔接 DSH 原生预览、文件及轨迹界面;插件结果卡仅展示核心信息和必要跳转。
五、阶段 3:技能管理、启停和诊断
- 对话已安装查询、检查更新、指定版本升级与明确目标卸载已交付,保留预检、确认和位置边界,见 #1018。
- 安装级启停已交付:
SKILL.md与SKILL.md.disabled原位转换,保留内容与资源,不移动整个目录;初版见 #1025;#1033 已合并旧版兼容性修复,共享库存保持 v2、启停从实际入口派生。最终合并已完成,npm 发布与公开包复验另记。 - 启停按具体安装位置管理;保留用户/项目区分,日常按技能聚合,位置放到二级管理。同名回退、已加载内容与发现状态的边界已定义,见 #1025。
- 只读技能可用性诊断已交付,区分完整性、同名覆盖、发现与调用策略,不把未知显示为未安装,见 #1023。
- 提供当前会话可用技能视图,区分本来源受管理安装与其他来源/手工技能;其他来源先只读,不凭名称认领或卸载。
- 支持本地收藏、置顶、最近使用;区分点击、安装和真实加载,不以展示次数伪造使用量。
六、阶段 4:项目复用、技能套件与升级体验
- 暂缓:项目技能清单导出/导入与项目复用。 2026-10-28 需求讨论后确认,当前缺少足够明确的高频使用场景,且与技能套件、分享组合可能重叠,暂不进入开发。此前讨论的导入范围、冲突处理和清单格式均为候选方案,未冻结为实现契约;待出现明确的迁移或团队交接需求后重新评估。此决定不取消后续技能套件专题。
技能套件(后续独立交付)
技能套件是一组可统一分发、安装和维护的技能,例如“办公文档套件”“研发交付套件”。套件主要回答“需要准备哪些能力”;场景助手主要回答“针对一个任务如何使用这些能力”。场景可引用套件或其中部分技能,安装套件本身不启动任务或自动执行整套工作流。
- 明确套件与单技能、项目技能清单、场景助手的关系;后续拆为独立子 Issue,通过 OpenSpec 定义首期范围。
- SkillHub 服务端管理套件名称、简介、命名空间、分类、成员技能及固定版本、套件版本和发布治理;复用既有 Registry 机制,具体模型/API 待设计。
- DSH 展示套件卡片、详情、成员清单及当前来源的安装状态;安装前说明将新增、复用、升级或发生冲突的项目。
- 用户确认安装范围和成员后执行;必需/可选成员及能否取消勾选在首期需求中明确。
- 固定套件版本解析结果,逐成员核验来源、版本、指纹及可下载性;发布套件新版不静默改写已有安装。
- 跟踪共享成员归属:区分原本单独安装、其他套件共用和本套件新增的技能;移除套件时展示保留/移除选择,不自动删除仍被使用或归属不明的成员。
- 展示逐项进度、成功、失败、跳过与取消结果;重新核验后可重试,不承诺跨多个技能的一次性原子事务。
- 验证成员下架、版本缺失、重复安装、同名不同来源、本地修改、共享依赖、部分失败和旧客户端兼容;开源契约与 SaaS 同步分别记录。
升级与来源体验
- 升级前展示指令/资源变化、环境要求变化和实际目标范围,保留本地修改保护。
- 设计非 SemVer 版本的可信排序或显式替换策略,保持既有客户端兼容;不能仅以字符串大小或发布时间决定向上升级。
- 统一只读检查已安装技能更新已交付,汇总可更新项与检查失败;更新由用户逐项确认执行,不包含批量覆盖或自动更新,见 #1030。
- 支持保存命名的 Registry 来源及快速切换;后续再评估多来源聚合,保持来源身份、同名冲突和权限边界清晰。
七、阶段 5:本地技能创建与任务经验复用
- 用户可从成功任务发起“保存为技能”,整理适用场景、输入输出、步骤、脚本与模板,先生成可预览草稿。
- 明确选择纳入的材料,排除凭证、私人任务数据和不应共享的文件;经格式验证和用户确认后保存到指定范围。
- 支持本地技能包导入/导出,单独记录来源与归属,避免把导入内容冒认成 Registry 发布版本。
- 将发布回 SkillHub 作为独立的后续设计,复用现有登录、发布审核和权限;本地保存不自动上传或公开。
八、后续独立专题
- 专家/专家团:评估角色、方法、技能与工具的声明式组合,以及 DSH Preset/原生子 Agent 的映射、版本、会话切换及调用成本。
- 按任务推荐:结合用户主动提供的任务摘要、公开技能信息和本机安装情况给出少量候选及理由;不默认上传完整项目或对话。
- 效果评测:固定输入与模型配置,比较有/无技能或新/旧版本的产物、触发情况、耗时与 token;保留人工审阅和失败证据。
- 远程按需 Provider/临时试用:先针对用户选定的小型目录,明确版本、资源、脚本、缓存失效、网络中断与离线行为。
- 自动化模板:从已人工验收的任务创建重复执行配置,优先适配 DSH 原生调度/编排,明确工作区、模型、权限、结果和运行记录;云端执行属于额外服务端能力。
- 官方插件市场索引:评估让 SkillHub 提供 DSH 官方格式索引;Skill 分发、原生插件分发和技能运行是不同边界,插件托管另行设计。
依赖与交付顺序
flowchart TD
A[明确场景模型与 OpenSpec] --> B[SkillHub 内容与公共契约]
B --> C[DSH 场景展示与依赖检查]
C --> D[确认安装并核验可用性]
D --> E[示例任务进入对话并交付结果]
E --> F[项目清单与成功流程复用]
F --> G[专家 自动化 评测等独立专题]
A --> H[宿主启停与诊断预研]
H --> D
B --> I[SaaS 按契约独立同步与验收]
推荐先交付“服务端一个公开场景 → DSH 展示 → 缺失技能确认安装 → 使用 → 实际产物验收”的纵向切片。技能启停先验证宿主机制,不能预先承诺一个前端开关即可完成。各阶段可拆子 Issue,实施与验收结果链接回本 Issue。
Acceptance Criteria(各阶段共同要求)
- 示例任务、依赖、来源和版本可核验;空状态、缺失模块、网络失败和权限拒绝分别表达,历史 Registry 与技能继续可用。
- 页面和对话交互覆盖用户/项目范围、取消、重复请求、来源/会话变化、同名冲突与本地修改;实际文件及库存和展示一致。
- 涉及公开契约时包含服务端行为测试、兼容测试及生成类型检查;SaaS 同步单独验证。
- 对支持的 DSH 发行版分别验证原生 Host 和浏览器;需要模型参与的交互使用真实模型验收,不用合成轨迹或手工 RPC 替代。
- “技能已安装”“DSH 已发现”“模型已加载”“任务产物验收通过”分别保留证据,不相互替代。
- 每个交付切片更新 OpenSpec、操作说明及验证摘要;本机报告/截图/凭证不进入 PR 和发布包。
Alternatives Considered
- 插件内置少量场景可用于早期原型,但正式内容转由 SkillHub 管理,避免每次修改任务示例都发布 npm。
- 首期通过单技能可选元数据改善使用引导,再以明确的场景资源模型承载多技能组合,避免一开始建设完整专家平台。
- 复用 DSH 原生执行、权限、会话、产物和编排机制,插件专注 Registry 接入与产品交互。
Impact / Contract Or SDK Impact
- 场景内容模型、版本、发布治理与 API 会影响服务端/Web,可能涉及迁移;具体方案待 OpenSpec,保持现有 Registry/CLI 协议向后兼容。
- DSH 原生交互与本地管理影响插件和共享安装核心;启停、远程 Provider、Preset 与自动化需要宿主能力验证。
- 登录、私有内容、云端任务与团队共享均按独立范围评审,不作为匿名首期场景助手的隐含前提。
- 开源先明确可复用契约,SaaS Agent 后续按差异清单同步,实现、部署和真实验收分别记录。
References
- 已有原生插件:plugins/dsh
- 当前原生插件 OpenSpec:add-dsh-native-plugin
- 兼容基线:#981;生态收录跟进:#982(本路线图不替代该收录任务)
- WorkBuddy 技能、专家、专家包规范
- WorkBuddy 项目、创建技能、自动化
- 第三方公开分析:workbuddy-experts。仅供机制研究,未独立复现,不将其中版本快照当作当前产品保证。
2026-10-29 实施进展与交付边界
| 能力 | 已合并交付 | 发布状态 |
|---|---|---|
| 单技能案例与原生使用 | #1007 | 已进入历史公开版本 |
| 对话管理与按位置版本 | #1018 | 已进入 DSH 0.4.0 / CLI 0.2.0 |
| 技能可用性诊断 | #1023、#1024 | DSH 0.5.0 已发布 |
| 安装级启停、使用优先、二级管理与可选官网链接 | #1025 | DSH 0.6.1 已发布;#1033 保持共享 v2 兼容,不要求 CLI 同步升级 |
| 统一检查更新与性能优化 | #1030 | DSH 0.6.1 已发布 |
| 紧凑已安装卡片、真实本地摘要及次要操作菜单 | #1032 | 已合并并人工验收,DSH 0.6.1 已发布 |
CLI 0.3.0 与 DSH 0.6.1 均已发布到 npm。跨平台发布矩阵与公开包本地验收分开记录,详见下方发布进展;SaaS 与 SkillHub 应用发布不在本轮范围。
- 暂缓:项目技能清单导入/导出,缺少明确高频场景;不取消后续技能套件专题。
- 本轮不做:仅统计 SkillHub 来源的闲置技能提醒/一键停用;它不能代表 DSH 内其他来源的全部使用情况。
- 保留:用户级与项目级安装能力,日常页面以使用技能为主,位置差异放到二级管理。
- 后续候选:轻量多技能场景助手、DSH 技能套件接入,分别澄清交互与既有 Registry 能力后再开发;完整专家中心、自动化及 SaaS 适配仍后置。
- 单技能案例协议以现有 OpenSpec 为准:作者包内固定
.skillhub/examples.json,不修改 SKILL.md 以塞入案例;路线图早期“可选元数据”的描述不是另一套协议。
2026-10-29 发布验收补充
- #1033 已合并:保留共享库存 v2、兼容公开 CLI 0.2.0 / DSH 0.5.0,修复 Windows 锁与日志短时共享冲突;CLI 三平台与 DSH 14 项矩阵通过。
- Windows 新 RC 的 CI 宿主依赖准备修复已在 #1038 合并;保持原时限和业务断言,DSH 0.6.1 发布矩阵全部通过。此结果不代表所有本地环境的冷安装耗时均已解决。
- CLI 0.3.0 已发布;公开 npm 包完整性、CI 构建一致性、干净安装、0.2.0 原位升级与新旧 CLI 混用验证通过。发布流水线。
- 历史记录:DSH 0.6.0 未发布:发布流水线 的 Windows / DSH 0.2.1-rc.2 在官方 Host 依赖安装阶段两次达到 600 秒上限,尚未执行启停断言;其余 13 项检查通过。打包与 npm 发布跳过,公开包验收未执行。该版本由 0.6.1 接续发布;保留原 tag,不重写历史。
2026-10-30 DSH 0.6.1 发布
- #1038 已合并;
dsh-v0.6.1指向326cbd62244aac7dbd7a97a136148231d6a46ce6。 -
@astron-team/[email protected]已发布;发布流水线 17 项任务全部成功,包含 14 项 DSH 检查。 - npm 公开包 SHA512 校验通过,与流水线产物逐字节一致;独立 Linux Host/Profile 的启动、插件生命周期、技能可用性三个探针通过。
- 公开包补验已完成(2026-10-30):watch-off 下实际安装、停用、卸载通过;同一 Profile 从公开 0.5.0 升级至公开 0.6.1,4 个文件哈希、6 条原有历史事件及会话 ID 保留,库存仍为 v2。补验复用隔离 Host;纯插件准备上限对齐已有 300s,业务期限和断言不放宽。原超时记录保留,不声称冷安装稳定性问题全部解决;本轮未调用模型或验证 SaaS。
- 本轮未发布 SkillHub 应用 Release、镜像或 SaaS;CLI 0.3.0 已发布,本次不重复发布。
- Dominant language
- Java
- Stars
- 5.2k
- Forks
- 841
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 77
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from iflytek/skillhub
-
effort/l priority/p2 risk/high triage/deferred
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
iflytek/skillhub#1039 · 1 comment ·
Maintainers usually reply within 1 day
-
effort/l priority/p2 risk/high triage/deferred
Difficulty 3/5 1-2 days Newbie friendliness 57/100
iflytek/skillhub#1036 · 2 comments ·
Maintainers usually reply within 1 day
-
[Feature] 面向非技术用户的 skill 展示:中文展示名/简介/能力说明 + 首页推荐板块Possibly taken @XiaoSeS claimed this 1 day ago. Openeffort/l priority/p1 risk/high triage/core
iflytek/skillhub#1035 · 4 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
[Feature] RFC:默认关闭的厂商中立后端业务事件出口 / Opt-in backend business-event exportPossibly taken @xiaoyaner0201 claimed this 2 days ago. Openeffort/l priority/p1 risk/high triage/core
Difficulty 5/5 Over a week Newbie friendliness 25/100
iflytek/skillhub#1009 · 2 comments ·
Maintainers usually reply within 1 day
-
effort/l priority/p1 risk/high triage/core
Difficulty 3/5 1-2 days Newbie friendliness 48/100
iflytek/skillhub#990 · 4 comments ·
Maintainers usually reply within 1 day
All issues in iflytek/skillhub
Similar issues
-
area: triage theme: undefined
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
jhipster/generator-jhipster#35895 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
oracle/graalvm-reachability-metadata#11659 ·
Maintainers usually reply within 1 day
-
Build failure report and inbox copy miss a proof split by colour codes, which the build log redactsOpenbug follow-up
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Sanne/incus-spawn#1864 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
openhab/openhab-addons#22135 ·
Maintainers usually reply within 1 day