A full-page console panel opened from the sidebar, with eight tabs: an overview; a session list read from the sessions service (title, directory, running state, updated time, with filters); installed bundles and Loader entries from pluginInventory and pluginManager, with per-bundle enable switches; a plugin market listing public topic:dsh-plugin repositories from the GitHub search API; a model and provider editor that writes the llm-pi-ai settings namespace through remote.settings.mutate (switch a session model, add or edit providers and their model lists, and store API keys via remote.credentials, merging over the stored profile so fields the form does not expose survive an edit); MCP and skills tabs; and a usage tab that reads the host's loopback /api/dsh-usage/overview document. Services are declared through ctx.inject, so a deployment that omits one mounts without the console rather than crashing.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-harness-ui
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:jianjianzhu/dsh-harness-ui
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
DeepSeek Harness Web 的全页控制台插件:把会话、插件、市场、MCP、技能与用量收进一个外壳。
行为
- 在侧栏新增一个 Harness 控制台 入口,点开后在主区打开一个整页面板。
- 面板顶部是视图切换器,含 7 个视图。每个视图读取 DSH 运行时的真实数据源,源不可用时显示明确的空状态,不填充占位数据:
| 视图 | 数据源 |
|---|---|
| 总览 | ctx.sessions.list 快照 + remote.pluginInventory |
| 会话管理 | ctx.sessions.list(标题、目录、运行状态、更新时间) |
| 插件管理 | remote.pluginInventory.list() + remote.pluginManager.listBundles() / listPlugins();开关调用 setBundleEnabled |
| 插件市场 | GitHub 搜索 API topic:dsh-plugin(公开、无需凭据) |
| 技能浏览 | remote.skills.list({ sessionId }),按活动会话解析 |
| MCP 管理 | 本构建无客户端接口 → 空状态 |
| 用量与模型 | 本构建无客户端 Remote → 空状态 |
- 主题(浅/深)与界面密度(宽松/紧凑)保存在浏览器
localStorage。
关于降级
插件通过 ctx.get(name) 探测服务,未挂载的服务不会让面板崩溃:
- 缺
sessions→ 会话视图显示「sessions 服务不可用」 - 缺
pluginInventory→ 插件视图显示不可用 - 缺
skills或没有活动会话 → 技能视图显示对应提示 - MCP 与用量:DSH 当前只在宿主侧暴露相关能力,浏览器端没有对应 Remote 命名空间,因此这两个视图明确说明无法读取,而不是展示假数据。
开发
npm run build
npm test
npm pack --dry-run
src/client.js 是唯一手写源,npm run build 把它复制为 lib/client.js(build:check 校验二者一致)。
tests/preview.html 是渲染验证挂具:模拟 DSH 的 ModuleLoader 与 ctx 服务,可在浏览器里离线查看各视图与降级路径。
安装
dsh plugin --profile web add dsh-harness-ui
安装后重启 DeepSeek Harness Web。
本地开发版可以直接安装目录:
node D:\deepseek-harness\apps\cli\lib\bin.js plugin --profile web add E:\.weixincodex\dsh-harness-ui
说明
sidebar / rightbar / root 是 DSH 的 single 槽位,由官方 ui-layout 与 ui-sidebar 占用,插件不可替换。本插件因此注册一个 main 整页面板(DSH 允许的做法)并从 sidebar.panellist 提供入口,而不是替换整个应用外壳。
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 7809
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 7809
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 3680
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 3110
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 2750
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1359
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.