Skip to content

feat(dsh): 支持技能专属案例与原生对话使用 - #1007

Merged
XiaoSeS merged 3 commits into
mainfrom
feat/dsh-use-skill
Oct 22, 2026
Merged

XiaoSeS merged 3 commits into
mainfrom
feat/dsh-use-skill

Conversation

@XiaoSeS

@XiaoSeS XiaoSeS commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

为已安装技能增加“使用此技能”:在技能中心点击后,新建同工作区对话;在对话详情或安装回执点击后,沿用当前会话。作者可随技能版本提供 .skillhub/examples.json,用户从原生输入框上方选择任务案例或自定义任务,确认后填入可编辑草稿,不自动发送。

  • 固定文件支持按语种组织的 id/title/prompt 多案例及 {{skill}};读取实际安装版本,以真实 SKILL.md 名称替换。无案例的历史技能继续支持自定义使用。
  • 共享安装核心、CLI、开源服务端及 Web 上传链路保留案例原始字节并计入指纹;无效协议按普通文件保留,发布预检提供非阻断反馈。内部安装 metadata 继续受保护。
  • 使用前重新核验来源、版本、安装范围、文件与宿主发现结果;保留原草稿、原生引用和图片。支持取消、重复点击、异步切换及编辑冲突保护。
  • 案例区最多两列、窄屏单列,列表独立滚动;修复首行空白、对话详情弹层阻挡案例选择及反斜杠 ZIP 目录识别问题。

关联 #998 的“使用此技能”与单技能案例切片;不关闭整个路线图 Issue。正式契约、验收及后续 SaaS 交接见 OpenSpec add-dsh-native-plugin。

Validation

  • 按影响范围核对需求、代码与验证;独立评审覆盖需求一致性、正确性、模块边界、安全隐私、生命周期、兼容性、异常恢复、测试有效性、可维护性/范围、用户体验十个维度,发现的两项问题已修复并复核。
  • 最终 DSH build/typecheck/lint;491 项测试、11371 次断言通过。
  • CLI 最终 lint/typecheck/build,真实 ZIP 双分隔符回归通过;前轮完整 735 项及发布/sync 87 项相关测试通过,完整测试未冒充最后一次重跑。
  • 服务端前轮完整 2671 项实际执行测试通过(30 项既有条件跳过);最终定向 70 项通过。Web 前轮完整 1160 项通过,最终 lint/typecheck 及 16 项定向测试通过。
  • OpenAPI 类型在前轮通过实际运行后端生成,并完成 HTTP 发布/解析/下载和 Web 上传验收。
  • 两支持 RC 的官方隔离 Profile 严格安装最终候选,逐文件核对;两版真实浏览器分别验证对话搜索详情→关闭弹层→案例选择/取消/确认,无 RPC 模拟、消息发送或模型调用。
  • 先前双 RC 已验收全部使用入口、草稿/引用/图片保留、用户/项目范围、取消与竞态;20 案例压力布局及首行空白另有专项记录。
  • OpenSpec strict、diff 和公开内容检查通过。94 个公开文件仅为源码、回归测试及正式文档,本地宿主、日志、截图和认证信息均保存在仓库外。

最终提交 028eeaa44 已完成正式 CI、本地精确 SHA 镜像/auth Smoke、真实浏览器登录与三类 ZIP 预检,10 项结构化风险用例通过,合并门禁通过。PR 已于 2026-10-22 合并,提交 e88ebf57;已验证合并后代码树与被测提交完全一致。

补充验证:CLI 103 项、DSH 124 项定向回归;两版 DSH 官方严格安装及实际原生浏览器通过。主线已有 CSP meta frame-ancestors 提示单独记录,非本 PR 新增;没有页面脚本异常或未解释控制台错误。

原生 Windows/macOS 的完整业务操作、真实模型执行与 SaaS 适配未纳入此次本地验收;跨平台 CI 与本地业务验收分别记录。未发布 npm。

Risk

  • 新案例文件会参与内容指纹;旧 npm 0.3.1 内置核心不支持此目录规则,会拒绝安装带案例的新包。应先升级 CLI/DSH 消费者,再推广新格式;不回算历史版本指纹。
  • 不增加数据库表、迁移、案例编辑器或独立内容 API。SaaS 仅交付后续适配 Prompt,本 PR 不修改或部署 SaaS。
  • 本次不调整 npm 版本、不触发发布。回滚前应先升级/保留能够处理新格式的消费者,避免旧安装器误处理新目录。

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>

# Conflicts:
#	openspec/changes/add-dsh-native-plugin/tasks.md
#	openspec/changes/add-dsh-native-plugin/verification.md
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS marked this pull request as ready for review October 22, 2026 11:21
@XiaoSeS
XiaoSeS merged commit e88ebf5 into main Oct 22, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant