DeepSeek Harness Hub
← 返回列表

jaikensai888/dsh-skillui

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

独立的 DSH 插件:在 dsh-better-sidebar 中注册一个与…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/1 · 已提供中文文档
综合分
28.1
GitHub 分
28.1
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add jaikensai888/dsh-skillui
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-skillui

独立的 DSH 插件:在 dsh-better-sidebar 中注册一个与 Files、Tasks、Terminal、Browser、Source Control 同级的 Skill UI Tab,用于承载具有交互界面的 Skill HTML。

安装

前置条件

- 已安装 DSH Desktop 或 DSH CLI;
- 目标 profile 已安装 dsh-better-sidebar >=0.16.1;
- DSH 使用哪个 profile,就把 --profile 设置为哪个 profile。DSH Desktop 通常使用 desktop,dsh web 通常使用 web。

当前仓库还没有发布版本 tag,因此先使用 GitHub 分支安装:

cd ~/.dsh

DSH Desktop
dsh plugin --profile desktop add "github:jaikensai888/dsh-skillui#codex/bootstrap-skillui"

或 dsh web
dsh plugin --profile web add "github:jaikensai888/dsh-skillui#codex/bootstrap-skillui"

安装完成后重启 DSH,在 dsh-better-sidebar 的 + 菜单中应能看到 Skill UI。点击后可以打开本插件自带的 Demo 页面;真实 Skill 则通过通用 skillui_open 工具按当前会话打开自己的 View。

如果使用的是本地 link: 包,修改源码后需要重新生成 lib,并重启 DSH Desktop 让宿主重新加载 bundle:

cd G:\claude_project\code-agent\dsh-skillui
pnpm build

如果构建时报 EPERM,先完全退出 DSH Desktop 再执行构建。

后续发布版本 tag 后,推荐改用固定版本安装,例如:

cd ~/.dsh
dsh plugin --profile web add "github:jaikensai888/dsh-skillui#v0.1.0"

将 web 替换为 desktop,即可安装到 DSH Desktop profile。

卸载插件:

cd ~/.dsh
dsh plugin --profile web remove dsh-skillui

当前 Runtime

- 不 fork、不修改 DSH-better-sidebar;
- client 侧通过 ctx.betterSidebar.registerTab(...) 注册与 Files、Tasks、Terminal、Browser 同级的 Skill UI;
- host 侧扫描 npx skills add ... --all -g -y 安装的 Skill 根目录,发现并校验 skillui/manifest.json;
- skillui_open 绑定调用它的 DSH session,将已声明的 View 请求排队;客户端轮询后调用 openTab(seed, { sessionId });
- Tab 通过 scope.sessionId 和持久化的 tab.meta 生成 sessionId / skillId / workflowId;
- 手动从 + 菜单打开 Skill UI 时,若 Tab 没有 meta,会读取当前 session 最近一次的 Skill UI 绑定;没有绑定时才显示 Demo 页面;
- View 只能通过受保护的 workspace JSON 和资源接口读取数据,不能拼接任意本地路径;
- View 命令先校验身份和 manifest 白名单,再转换为当前会话的 queue prompt,由具体 Skill 执行业务逻辑;
- Demo 页面仍保留,用于验证插件安装、Tab、iframe 和内存 reducer;不包含真实招聘业务。

目录

dsh-skillui/
├── dsh.plugin.json
├── cordis.patch.yml
├── src/
│   ├── index.ts                 # host 插件入口与 HTTP route
│   ├── host/                    # Skill registry、open queue、HTTP bridge、tool
│   ├── client/                  # Tab、activation polling、command bridge
│   └── shared/                  # manifest 与跨 host/client 协议
├── views/demo-review/index.html # Demo Skill UI
└── docs/                        # 架构、设计规格、实施计划

本地验证

pnpm install
pnpm test --run
pnpm typecheck
pnpm build

如果 DSH Desktop 正在使用本仓库的本地 link: 包,Windows 可能锁定 lib 文件并使 pnpm build 清理阶段报 EPERM;先完全退出 DSH Desktop,再执行构建。

构建结果包括:

- lib/index.js:host bundle;
- lib/client-registry.js:DSH plugin registry client bundle;
- lib/client.js:profile channel client bundle;
- views/demo-review/index.html:打包的 Demo 页面。

当前开发环境如果没有安装 DSH CLI,只能完成包级测试、类型检查和构建;真实 dsh web 启动应在 DSH profile 中安装 dsh-better-sidebar 和本插件后再验收。

接入真实 Skill 的边界

真实招聘 Skill 不应修改本插件或 Sidebar。它只需在自己的包中提供:

skills/recruitment/
├── SKILL.md
├── skillui/manifest.json
└── views/index.html

进入招聘工作台时,入口 Skill 调用通用工具:
{
"skillId": "recruitment",
"workflowId": "recruitment:当前流程ID"
}

招聘领域的 command、storage、数据写入和业务判断仍由招聘 Skill 自己拥有;dsh-skillui 只负责发现声明、承载 HTML、绑定会话和转发交互。

View 使用的稳定接口为:

GET /skillui/api/data/:skillId/:declared-file?sessionId=...&skillId=...&workflowId=...
GET /skillui/api/resource/:skillId/:allowed-path?sessionId=...&skillId=...&workflowId=...
GET /skillui/api/current?sessionId=...
POST message to parent: dsh-skillui:command

自动弹出依赖招聘 Skill 实际调用 skillui_open。更新插件并重启 DSH 后,建议新建会话重新触发一次招聘流程;如果当前会话没有成功产生过 Skill UI 绑定,手动打开 Tab 会保留 Demo 作为回退页面。

设计文档

- Skill UI 架构与招聘运行时序图
- MVP 设计规格
- MVP 实施计划

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群