Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature] DSH 技能中心扩展路线图:场景助手、技能使用与管理、项目复用及自动化

Open
#998 1 comment 0 reactions 1 assignee View on GitHub

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

effort/m enhancement priority/p2 triage/deferred

Problem

现有 SkillHub DSH 原生插件已具备市场浏览、详情与版本、页面安装/升级/卸载、对话搜索/安装、来源和安装范围识别。后续需要把“找到并安装技能”衔接为“选择适合的能力 → 在当前项目使用 → 验收结果 → 复用成功流程”。

本 Issue 是扩展方向的总览与 TODO 容器。优先级为候选排序,不代表全部功能已经确定实现;各阶段进入开发前分别澄清、更新 OpenSpec,并按可独立演示的端到端交付拆子 Issue。本轮不启动功能实现。

Proposed Solution

以 SkillHub Registry 提供统一内容与契约、DSH 插件提供原生交互、DSH 宿主提供执行能力 为整体边界,逐步扩展为技能使用与管理中心。参考 WorkBuddy 的技能启停、任务示例、场景入口、项目配置、技能创建和自动化交互;公开逆向分析只作为实现线索,产品行为以官方资料和实际验证为准。

一、场景助手需要 SkillHub 服务端支持

正式的场景内容应由 SkillHub 服务管理,以支持独立更新、版本与来源核验、上架治理,以及 Web、DSH、未来其他客户端复用。

区分两种深度:

  1. 单技能使用引导:某个技能的任务示例、输入材料、输出要求等可选展示信息。先评估作为现有技能的可选元数据扩展,保留历史技能无此信息时的兼容行为。
  2. 场景助手:可以引用多个技能,组织任务模板、所需材料、交付要求及依赖。需要在 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

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from iflytek/skillhub

All issues in iflytek/skillhub

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.