← 返回列表
⚠ 装前注意
@lycheelink/dsh-workbench
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/24 · 已提供中文文档
DeepSeek Harness(DSH)的企业级 Agent 工作台
综合分
30.8
GitHub 分
30.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add lycheelink/dsh-workbench未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 静态安装检查有提示项,装前建议看一眼 README
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 1 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@lycheelink/dsh-workbench(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 19:04:13
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-typert-protocol用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成@lycheelink/dsh-workbench
企业级 Agent 工作台,用于 DeepSeek Harness (DSH) Web UI。
概述
企业 Agent 工作台以“场景卡片”为入口、以交互式表单收集参数、以 Session 为执行单元的定制化工作台。它基于 DSH 插件式架构构建,是一个纯增量插件,不替换、不禁用任何官方插件。
阶段边界(Phase boundary):“启动”会通过宿主 sessionController(web 端新建会话
同一个服务)真实创建 agent 会话并注入 prompt——会话出现在对话列表、agent 真正执行。
卡片配置的 agentPreset 在宿主可解析时挂载;若未安装则自动降级为默认会话继续运行,
控制室 stepDescription 会说明。spawnAgent: false 可显式关闭真启动(仅记录)。
尚未做的是:把 card 的 agentConfig.skills 显式挂进 preset 组合(preset 本身可带 skills,
但卡片级 skills 尚未透传)。
架构
用户点击卡片 → 参数采集面板滑出(含条件子表单联动)
→ 用户填写/上传(file 字段为服务端绝对路径,启动时校验存在性)
→ 点击“启动”
→ 组装Prompt + 校验(必填/体积/服务端路径)
→ sessionController.create({sessionId, agentPreset}) 创建真实会话
→ sessionController.prompt({sessionId, content}) 注入 prompt → agent 执行
→ 控制室通过宿主 session/event 驱动会话状态
功能特性
- 场景卡片网格:响应式入口网格,支持分类筛选与搜索
- 动态表单:参数采集面板,支持条件字段展开(例如 Profiling 模式选择触发不同的字段集)
- 条件字段求值:key == 'value' 表达式动态显示/隐藏子表单(逻辑与宿主端共享单一来源 src/conditions.js)
- 会话启动:通过宿主 sessionController 真实创建 agent 会话并注入组装好的 prompt(spawnAgent: false 可关闭真启动、仅记录)
- 服务端路径校验:file 字段是服务端绝对路径(如 /mnt/share_space/profiling),启动时逐条校验存在性
- 控制室:实时会话状态监控(created / running / awaiting decision / completed / failed),由宿主 session/event 驱动;每张会话卡可删除(失败/完成直接删,运行中需两步确认,只删工作台记录不动真实会话)
- 侧栏入口:“工作台”菜单项常驻左侧栏(“工作区”上方),点击切换整页视图;侧栏折叠为窄条时保留图标入口
- 整页视图:工作台以无边框整页覆盖中间对话列(非抽屉),左侧栏保持可交互,切换去会话时视图状态保留
- 启动 → 会话:启动成功后关闭整页并跳到新会话的对话视图,agent 实时执行
内置场景卡片
| 卡片 | Skill | Preset | 分类 |
|------|-------|--------|----------|
| 开箱寻优 | model-oob-perf-optimize | model-oob-perf-optimize | 寻优 |
| Profiling 采集 | ascend-profiler | ascend-profiler | 寻优 |
| 验证流测试 | veriflow | veriflow | 测试 |
安装
Clone or copy this package into your DSH profile's node_modules
dsh plugin --profile web add @lycheelink/dsh-workbench
该包暴露一个宿主 typert 产物(./typert):typert-loader
会发现它并在宿主上注册 workbench/ Remote 端点。该
产物是必需的——没有它,宿主永远不会暴露任何 workbench/
端点。
开发环境搭建
Symlink into the web profile:
node scripts/install-dev.mjs
Build host (Node.js) + client (browser):
npm run build
Test:
npm test # requires a build first (imports lib/)
构建
npm run build:host # Build host side (src/index.js + typert/remote/descriptors → lib/)
npm run build:client # Build client side (src/client/index.jsx → lib/client.js)
npm run build # Build both
npm run pack:release # Build + npm pack
静态页面 + 发布
三个参数控制台(寻优参数采集台 / Profiling 参数采集台 / 验证流测试台)是双模单文件 HTML:既在插件内嵌运行(src/client/artifacts/*.html,经 npm run sync:artifact 从 pages/cloudflare-pages/dist/ 同步),也独立部署在 Cloudflare Pages。pages/cloudflare-pages/dist/ 是唯一权威源——改页面只改这里,然后:
npm run sync:artifact # 刷新插件内嵌副本(幂等剥离 builder node-id 噪音)
./pages/publish.sh # 部署 → https://dsh-workbench.pages.dev(需 pages/publish.env,勿提交)
publish.sh 支持 --check / --dry-run / --force / --help;包含发布前污染自检与发布后字节数抽查。凭证从 pages/publish.env 读取(模板见 pages/publish.env.example)。
发布到 npm
@lycheelink/dsh-workbench 通过 GitHub Actions 在版本标签上发布到 npm。推送一个版本号与 package.json 版本一致的 vX.Y.Z 标签会触发 .github/workflows/publish.yml,该工作流会运行完整门禁(标签 ↔ 版本校验 → npm ci → npm run build → npm test → npm pack + 产物校验),并将校验通过的 tarball 连同 sigstore 来源声明发布到 registry.npmjs.org。
npm version patch -m "chore: release %s" # 递增 package.json + package-lock.json,创建提交 + 标签
保持 dsh.plugin.json 版本同步(npm version 不会改动它)
git push origin main
git push origin v0.1.3 # ← 此推送触发该 action
- dist-tag 语义:稳定版本(无 - 预发布后缀)发布到 latest;预发布版本(例如 0.1.2-alpha.0,通过 npm version prerelease --preid alpha)发布到 next。
- 标签必须与 v{package.json.version} 完全一致,否则工作流会在第一步中止。
- 需要 NODE_AUTH_TOKEN 组织级 GitHub Actions secret——一个启用了 Bypass 2FA 的细粒度 npm token(npm 账户发布要求 2FA;CI 无法应答 OTP)。--provenance 还要求仓库为公开。
- 版本必须是新的:npm 拒绝重新发布已存在的版本,且工作流拒绝将 latest 回退。
插槽注入
- shell.overlay — 全页工作台层 + 左侧边栏“工作台”导航项
- settings.plugins.tab — 卡片管理设置页
许可证
MIT