用 dsh-web-ui 把 DeepSeek Harness 网页界面补成工作台

前言

DeepSeek Harness(dsh)把模型适配、工具、会话、沙箱和 UI 都做成可替换插件,官方口号是「一切皆插件」。npx @deepseek-ai/dsh web 能拉起网页界面,默认在 http://127.0.0.1:3080。开发者预览阶段的界面偏裸:没有任务看板,没有 Git 泳道,文件预览和远程盯任务也要另开窗口。

社区目录 DeepSeek Harness 插件库 把这类扩展按功能分类收录。需要说明:该站点是独立社区目录,与 DeepSeek / 幻方没有官方从属关系,不是官方应用商店。目录里「界面增强」分类下,精选条目 dsh-web-ui 把任务看板、Git 图谱、右侧面板、移动端远程、图像理解和皮肤中心收成一套,可以逐个装,也可以一次装齐。

本文按目录详情页、GitHub 仓库 README、npm 聚合包说明和 DeepSeek Harness 官方仓库交叉核对后整理。

这是什么

dsh-web-ui 是给 DeepSeek Harness Web GUI 用的插件与皮肤集合,由 GitHub 用户 zhu1090093659 维护,许可证 Apache-2.0,主要语言 TypeScript。仓库地址是 zhu1090093659/dsh-web-ui。本稿核对时 GitHub API 显示 3448 星;社区目录页当时列出 2271 星,目录数据可能滞后。

它解决的是「dsh web 能跑智能体,但界面还不够当工作台」这件事:任务要排队和定时跑、仓库变更要可视化、文件要在聊天旁边预览、手机要能盯长任务、皮肤要能换。所有能力走官方 profile 机制挂到 dsh web,不改 DSH 源码。

社区目录把它归在「界面增强」,2026-08-14 收录,并标为精选。npm 上的聚合包是 @linxin666/dsh-web-ui-all,本稿核对时版本为 0.1.19。

核心功能

仓库 README 用一张对照表说明:原生 dsh web 没有任务看板、Git 可视化、右侧文件预览、移动端远程和皮肤中心;装上全家桶后这些入口会出现在侧边栏和设置里。下面只写两端资料能对上的能力。

任务看板

侧边栏点「任务看板」。任务按五列摆:待规划、待办、进行中、已完成、已失败。卡片上的「执行」会交给真实的 DSH 智能体会话去跑,跑完状态回写;需要复盘时跳回执行会话看完整过程。

详情里可以配 cron。仓库举例:每天 23:00 自动升级 DSH、每周一 09:00 生成周报。调度在浏览器端完成,dsh web 标签页要一直开着;关掉期间错过的触发点按「错过即跳过」处理,不排队补跑。任务正在运行时到点,会顺延到下一个匹配点。

Git 图谱与右侧面板

输入框上方有分支选择器,可以切分支、翻提交历史。Git 图谱把分支泳道和提交历史画出来。

项目会话打开时,聊天区右侧出现「预览」和「文件/变更」:

  • 文件树:浏览工作目录,点文件名在预览面板打开,支持按文件名搜索
  • 预览:多标签查看 markdown、HTML、代码、diff、CSV、PDF、Office、图片与文本,可切换源码 / 预览、分屏编辑、保存
  • 变更(SCM):stage / unstage / discard
  • 面板宽度可拖,折叠状态和宽度按项目记住;皮肤会跟着换

移动端远程与 SSH 运维

侧边栏底部的手机图标打开配对面板。扫码或复制链接后,手机进独立移动端界面,远程操作当前 dsh web 工作区:看会话、开新会话、收发消息、切模型和思考强度、调权限预设。配对令牌一次性、限时,「停止」可吊销全部设备。二维码默认走局域网;开 cloudflared 公网隧道后,手机在其他网络也能配对。

实时消息走 SSE。仓库写明:Cloudflare quick tunnel(trycloudflare.com)和 Tailscale Serve 不透传 SSE,这种网络下插件会降级轮询,收发仍可用,新消息可能晚几秒。要即时推送需改用支持 SSE 的隧道。

侧边栏「SSH」入口打开远程运维面板。主机支持密钥 / 密码,可从 ~/.ssh/config 导入,配置写在 ~/.dsh/dsh-ssh.json。已配置主机可以:

  • Web 终端(xterm.js)
  • SFTP 上传 / 下载
  • 本地端口转发(只监听 127.0.0.1)
  • 多主机集群执行
  • 与 Agent 共用同一份主机配置,对话里让智能体执行远程命令

密码与 passphrase 以明文保存在上述 JSON 里(文件权限 0600)。断线重连可能重放非幂等命令,远程输出原样返回、不脱敏。生产环境使用前应阅读仓库里的 dsh-ssh 说明。

图像理解与实时吞吐

对话里出现图片(本地路径、http(s) URL、会话附件)时,工具 describe_image 把图片发给配置好的 OpenAI 兼容视觉端点(README 列举 Qwen-VL、GLM-4V、GPT-4o、本地 Ollama),进会话的只有返回文本,图片本身不进会话记录。纯文本模型没有图片入口时,插件会在输入框加图片按钮。自定义指令用工具的 prompt 参数(OCR、UI 诊断、翻译)。端点、模型、密钥、默认指令在「设置 > 插件配置 > Image understanding」里改,即时生效。该工具移植自 whitelonng/dsh-plugin-describe-image

会话状态行会补实时吞吐:流式响应时更新输入 / 输出 token 估算(~ 表示启发式估算),TPS 跟在步骤计数后面;provider 用量到达后,估算换成真实值。

梁神模式与皮肤中心

「梁神模式」是面向 DeepSeek V4 Pro 的两阶段 agent 预设。仓库说明:V4 Pro 对首轮工具目录敏感;该预设新建会话时先按 Minimal 开局(只暴露持久 bashstr_replace_editor),轨迹锚定后再切到 Code Mode(PTC),完整工具注册表随后恢复。README 引用社区评测仓库 xiaobright/modeltest,并给出作者在 Windows 原生环境的实测分数。这些数字来自插件文档,不是第三方复现结果,采用前应自己对照当前 DSH 版本验证。梁神模式需要 DSH 0.1.0-rc.5 及以上(preset 机制与 system-prompt/assemble 钩子)。不要在已经产生内容的会话中途切换 preset。

皮肤中心有 10 款皮肤,支持先试穿再应用:试穿即时生效、退出完全还原,没点「应用」不落盘。README 点名的主题包括 Windows XP(Luna)、Blue Fantasy、鲸吟、夕港;另有「龙的传人」「初音未来 · 电子歌姬」和同花顺风格等条目,部分截图仓库标注待补充。

另外还有常驻界面的鲸鱼娘宠物:按智能体状态切换动画,可改名、拖位置、隐藏。这是体验向功能,不影响任务执行。

目录页建议:若还需要文件 / 终端工作台,可搭配侧边栏类插件(例如 dsh-better-sidebar)。两者是否同时安装,按自己的界面需求决定。

安装与启用

先确认本机已经能启动 dsh web

社区目录页给出的安装命令原文如下,在 DeepSeek Harness 终端中运行:

dsh plugin add github:zhu1090093659/dsh-web-ui

需要可复现安装时,目录页要求固定 commit 哈希:

dsh plugin add github:zhu1090093659/dsh-web-ui#<commit>

<commit> 换成仓库里实际的提交哈希,不要照抄占位符。

仓库 README 把 npm 聚合包标成日常使用方式,并且必须装进 web profile:

dsh plugin --profile web add @linxin666/dsh-web-ui-all

只要皮肤:

dsh plugin --profile web add @linxin666/dsh-skins

不想装全家桶时,可按包名单装(npm 已发布):

dsh plugin --profile web add @linxin666/dsh-liangshen
dsh plugin --profile web add @linxin666/dsh-client-ui-task-board
dsh plugin --profile web add @linxin666/dsh-ssh
dsh plugin --profile web add @linxin666/dsh-tool-describe-image
dsh plugin --profile web add @linxin666/dsh-pet

聚合包与同名独立包不要并行安装。例如已经装了 @linxin666/dsh-liangshen,再装全家桶前要先 dsh plugin --profile web remove 掉独立包。

装完必须重启 dsh web 进程,只刷新页面不够。侧边栏出现对应入口即生效;也可以用下面命令确认配置层已挂载:

dsh --profile web --dump-config

卸载全家桶:

dsh plugin --profile web remove @linxin666/dsh-web-ui-all

然后再次重启 dsh web

从 GitHub 克隆源码安装是开发调试路径,需要 Node.js >= 22 与 pnpm,步骤以仓库 README 为准,这里不展开。

典型用法

1. 三步把全家桶挂上

  1. 执行上一节的 npm 聚合包命令(或目录页的 GitHub 安装命令)
  2. 重启 dsh web,侧边栏应出现任务看板、SSH、皮肤中心等入口
  3. 打开「设置 > 插件配置」按需开关;皮肤在皮肤中心试穿,满意再点应用

设置侧边栏会把 Web UI 插件组在一起(task-board / live-stats / remote-web-ui / describe-image),以及皮肤中心、社区插件与宠物。

2. 用看板跑定时任务

打开任务看板,把卡片移到「待办」或「进行中」,点「执行」。智能体会话开始跑,完成后列状态更新。

需要定时时,在任务详情填写 cron。记住调度依赖浏览器标签页,关页等于调度暂停。

3. 手机盯长任务

侧边栏点手机图标 → 扫码配对 → 在手机上看会话、发消息、切模型。公网访问时优先选支持 SSE 的隧道;quick tunnel 场景下接受轮询延迟即可。

4. 给纯文本模型看图

在「设置 > 插件配置 > Image understanding」填视觉端点。之后在对话里引用图片,或用输入框的图片按钮插入附件。模型通过 describe_image 拿到文本描述,而不是把原图写进会话。

5. 新建会话选梁神模式

装好并完整重启后,新建空 session,在预设选择器里选「梁神模式」。插件启动时会把 preset 同步到 ~/.dsh/.agent-presets。已有内容的会话不要中途切换。

适用场景与注意事项

比较适合:长时间停在 dsh web 里写代码、盯智能体、看 Git 变更的人;需要手机远程看会话的人;演示或截图时想换皮肤的人。

不适合把它当成「改完 DSH 源码的官方发行版」。它是社区插件包,挂在当前 profile 上。DSH 本身仍处于开发者预览,官方仓库写明会有破坏性变更;聚合包对 @deepseek-ai/* SDK 有版本钉死,兼容性跟仓库发版节奏走。

安装前注意这些限制:

  • 权限:目录页写明,插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前应检查源代码仓库和许可证。
  • pnpm 11 发布年龄门禁minimumReleaseAge 可能把约 10 天内的新版本静默隔离,实际装到旧版。旧版皮肤中心在应用皮肤后,可能因找不到 dsh-client-ui-skin-* 而让 dsh web 崩溃。处理办法见仓库 README 与 issue #71:在 profile 的 pnpm-workspace.yaml@linxin666/* 加入 minimumReleaseAgeExclude,再 dsh plugin --profile web update @linxin666/dsh-web-ui-all
  • 严格布局:pnpm isolated 布局下,子包可能解析失败。可在 profile 的 pnpm-workspace.yaml 设置 nodeLinker: hoisted 后重装。
  • 构建脚本:首次安装若出现 ERR_PNPM_IGNORED_BUILDS,按提示把 cloudflared / cpu-features / ssh2 写入 allowBuilds
  • SSH 凭据:明文写在 ~/.dsh/dsh-ssh.json,不要把该文件提交进仓库或同步到不受控环境。

小结

dsh-web-ui 把看板、Git 图谱、右侧预览、移动端远程、SSH、图像工具和皮肤收进同一套 Web UI 插件。社区目录提供 github:zhu1090093659/dsh-web-ui 安装入口,作者推荐的日常路径是把 @linxin666/dsh-web-ui-all 装进 web profile,然后重启 dsh web

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-web-ui/

GitHub:https://github.com/zhu1090093659/dsh-web-ui

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜