dsh-web README

The project's README from github.com/zhu1090093659/dsh-web. As one markdown file: README.md.

dsh-web · DeepSeek Harness(DSH)Web GUI 插件聚合生态包

中文 | English

dsh-web

Version   Stars   Forks   npm   downloads   dshfind   users   DSH   License

DeepSeek Harness(DSH)Web 的插件聚合生态包 · 一切皆插件
创意工坊 · 任务看板 · 移动端远程 · SSH 运维 · 图像理解

是什么 · 创意工坊 · 功能插件 · 皮肤 · 快速上手 · 常见问题 · 已知限制 · 社区

是什么

dsh-web 是 DeepSeek Harness(DSH)Web GUI 的插件聚合生态包(DSH Web plugin ecosystem),也是「一切皆开发、一切皆插件」理念在 Web 端最完整的落地:任务看板(task board)、移动端远程控制(mobile remote)、SSH 运维终端、图像理解(image understanding)、自定义模型能力(model capabilities)、梁神模式 agent 预设、救助模式(rescue mode)与右侧面板,每一样都是独立成包的插件,可插拔、可替换、可再开发——一次装齐便是完整的 AI 开发工作台,只挑一两个也能安静融入原生界面。所有插件都经官方 profile 机制挂载到 dsh web,不改 DSH 源码;聚合包还能把外部插件(如 dsh-better-sidebar)拼进全家桶,其他皮肤与宠物资产统一从创意工坊获取,详见 dsh-web-all README。

皮肤同样长在插件体系里:v2 皮肤不是独立产品,而是「皮肤」插件的纯资产包(skin.json 清单 + 样式、贴图与可选特效脚本),由该插件这一唯一加载器即时加载,与官方彻底解耦——官方升级不再牵动皮肤,新增皮肤也只需落一个目录,无需发布、无需安装。插件负责逻辑,皮肤资产负责外观;Blue Fantasy 随插件内置,其他皮肤与宠物资产统一走 创意工坊(dsh-market.com)。

DSH Web UI 主界面

能力 原生 dsh web dsh-web 全家桶
Agent 预设 官方预设(Standard / Minimal 等) 官方与社区预设
自定义模型能力 无 逐模型声明图片输入与推理档位,并停用 / 启用自定义供应商
任务看板 无 多列看板 + cron 定时真实执行
移动端远程 无 扫码配对、SSE 实时同步;同一链接也可配对 PC 浏览器
远程服务器运维 无 SSH 面板:终端 / 传输 / 隧道 / 集群
图像理解 无 describe_image 视觉工具
文件预览与变更 无 右侧面板:资源管理器 / 编辑器 / 终端 / Git / 浏览器
Git 可视化 无 分支选择器 + 提交历史图谱
主题皮肤 默认主题 Blue Fantasy 随皮肤插件内置,其他皮肤从创意工坊按需安装

创意工坊(dsh-market.com)

创意工坊(dsh-market.com)是 DSH 的一站式创作空间,统一分发皮肤、宠物、插件与社区预设:每类按设备点赞热度排序、前三名登上首页颁奖台;皮肤支持实时试穿预览,插件提供一键复制的安装命令。经典的 Blue Fantasy 蓝色幻想随皮肤插件内置,鲸鱼娘宠物与其他皮肤可在工坊浏览预览、查看源码并按需安装。Web GUI 里的「创意工坊」设置卡直接浏览工坊清单——皮肤与宠物一键装进 DSH 主目录,插件经插件管理器安装,装完即可在皮肤与宠物面板中使用;社区预设装进惰性库,只有启用后才会出现在「设置 → Agent 预设」并可用于新建会话。

创意工坊首页

站点也是本仓库的产物:纯静态构建,由 scripts/market-build 从三类真值源(skin.json / pet.json / community.json)确定性生成;点赞等动态能力由 Cloudflare Workers 边缘 API 承载(D1 持久化、按设备一票),push 到 main 即自动部署。

创意工坊对标 Steam Workshop 的定位:让社区创作被发现、被试穿、被一键装回家,让作者的作品被看见、被点赞——欢迎一起来建设。

功能插件

任务看板(Task Board)

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

任务也支持 Host 定时跑:详情里配 cron 表达式(比如每天 23:00 自动升级 DSH、每周一 09:00 生成周报),关闭浏览器后仍会到点执行和结算。可选的空闲睡眠保护支持 Windows、macOS 和带 systemd-logind 的 Linux,允许屏幕熄灭,同时阻止整机因空闲睡眠;该设置默认关闭。

任务还可以选择复用会话:开启后,下一次执行若上一轮的会话仍在运行时列表中且空闲,Host 就在那个会话里继续跑(重新应用该任务钉住的权限与模型,保留标题与历史);会话不在列表里或正忙时照常新建会话,定时执行不会因此卡住。

多列看板 定时执行
任务看板 任务定时执行

移动端远程控制(Mobile Remote)

侧边栏底部的手机图标打开配对面板。扫码(或复制链接)配对后,手机运行的就是官方 Web GUI 本身,竖屏下自动注入触控适配层:鲸鱼按钮展开侧边栏、左滑收起 / 右滑展开、长按会话行展开与桌面省略号相同的操作菜单、Enter 只换行、16px 输入框防聚焦缩放;面向桌面的工具面(SSH 终端、任务看板、Git 图谱等)在手机上自动隐藏——看会话、开新会话、收发消息、切模型和思考强度、调权限预设,和桌面端同一份界面、同一份状态。同一份配对链接也能配对 PC 浏览器(手机配对流扩展到桌面 Web GUI):在另一台电脑打开桌面 URL 形态的链接,完整 Web GUI 便在那台设备上运行,流量走配对门控的 /remote/api 通道——未配对设备只有横幅提示、拿不到任何数据。配对令牌一次性、限时,「停止」随时吊销所有设备;二维码默认走局域网,开 cloudflared 公网隧道后手机(和 PC)在任何网络都能配对。PC 远程桌面应优先使用插件自己的设备配对通道,安全上不建议为隧道域名设置 --trusted-host;该 flag 会让 SDK 的 /api 绕过配对门控(详见插件 README)。

手机与 Web 同界面(示意图)

实时消息与隧道:移动端靠 SSE(Server-Sent Events)收实时消息。Cloudflare quick tunnel(trycloudflare.com)和 Tailscale Serve 不透传 SSE,普通 HTTP 正常、实时推送到不了;这种网络下插件自动降级轮询,收发消息正常,只是新消息可能晚几秒。要即时推送就用支持 SSE 的隧道(Cloudflare named tunnel、自定义 TCP 端口转发等)。

移动端主页(鲸鱼入口) 会话列表
移动端主页 移动端会话列表
聊天(思考与工具调用) 模型选择(底部弹层)
移动端聊天 模型选择

远程连接(SSH Ops)

侧边栏「SSH」入口打开远程运维面板。主机支持密钥 / 密码认证,可从 ~/.ssh/config 一键导入;配置都在 ~/.dsh/dsh-ssh.json。对已配置主机可执行真实操作:

图像理解(Image Understanding)

给纯文本模型补上视觉:对话里提到图片(本地路径、http(s) URL、会话附件)时,describe_image 把图片发给配置好的 OpenAI 兼容视觉端点(Qwen-VL、GLM-4V、GPT-4o、本地 Ollama 都行)回答,进会话的只有返回的文本,图片本身不进会话记录。纯文本模型输入框没有图片入口,插件在输入框加了个图片按钮:选图后生成附件引用插进草稿,模型就能用 describe_image 分析;工具还支持 prompt 参数传自定义指令(OCR、UI 诊断、翻译),比默认描述准。端点、模型、密钥、默认指令在「设置 > 插件配置 > Image understanding」里配,即时生效。

模型能力(Model Capabilities)

自定义供应商的逐模型能力声明就在「设置 > 模型」页完成。官方 pi-ai 设置命名空间一直带着图片输入与推理档位字段,这个插件补上官方卡片有意省略的编辑器:每张自定义供应商卡片多出一个可折叠的「模型能力」区——逐模型勾选是否声明图片输入(["text","image"] 或 ["text"],未声明即继承,界面会显示而不是隐藏),并用三态编辑器声明推理档位:不声明(继承)、声明为非推理模型(模型选择器不再提供思考档位),或显式给出档位字典,每个档位还能单独写请求实际发送的线值。保存走官方同一条写入路径(一次整数组替换该供应商的 models),未编辑的字段原样保留,改完即时生效、无需重启;每次保存都带上读取时的 revision,别处改过就重新加载并提示重试,不会覆盖新配置。

供应商的停用与启用也在同一张卡片上:停用先把该供应商的 profile 归档进插件自己的设置命名空间,再经官方 Remove-provider 接缝把路由摘下来,模型选择器与子代理选择立刻看不到它(无需重启),API 密钥存在凭据服务里、全程不动;被停用的供应商列在模型页底部,一键恢复原配置。注意这些字段是「声明」而非「探测」:模型声称支持图片但网关不认,会在请求时失败——它们之所以存在,正是因为没有任何东西能替你推断出来。详见 dsh-model-capabilities README。

右侧面板(Right Panel)

右侧面板由外部插件 dsh-better-sidebar 提供(聚合包已集成并默认启用),支持其内置功能与第三方插件注册,详见其 README。注:DSH 0.1.2-alpha.2 起官方移除了 @deepseek-ai/dsh-client-runtime 面,better-sidebar 曾暂被排除,现已回归聚合,当前钉在 0.19.0-alpha.1(2026-09-09 发布、对齐 0.1.5-alpha.2 cohort 的 alpha 构建)。

右侧面板

Git 图谱(Git Graph)

输入框上方有分支选择器,可以切分支、翻提交历史;Git 图谱把分支泳道和提交历史画出来,仓库再大也能顺着时间线找到变更。

还支持 git worktree 并行会话:弹层里「在 worktree 中开始新会话」会在 $DSH_HOME/worktrees/ 下建一个隔离检出(携带新分支 wt/<名称>,基线分支可选),注册为工作区后直接在其中开新会话,主检出全程不动;「管理 worktree」面板列出全部托管检出并可删除(有未提交改动先拦一次再强制,wt/ 分支默认保留)。设置里还有两个默认关闭的开关:「自动隔离」让 git 工作区的每个新会话自动落进独立 worktree(基线可选当前分支或远程默认分支),「Agent 工具」把 git_worktree 交给智能体自己创建隔离环境。

Git 图谱

Git worktree 并行会话

梁神模式(LiangShen Anchored Preset)

梁神模式(dsh-liangshen)是两阶段锚定的 agent preset,随全家桶一键安装:新建会话时在预设选择器中选「梁神模式」即可。首轮模型请求只看到官方 Minimal 的精确双工具(持久 bash 与 str_replace_editor)和一行 persona,没有运行时上下文与指令注入;首次工具调用后,晋升等到首个 minimal-like 推理块出现,随后 wire 切换为 PTC Mode(单个 run_code 经生成 SDK 调起完整工具注册表),并恢复全部 prompt section 与常规注入。它把「首轮轨迹选择」与「后续完整工具能力」拆开——社区评测里 Standard / PTC 为 91/92 分、Minimal 达 99/96 分,而两阶段方案在 Windows 原生实测均值 98.5,不牺牲完整工具能力;阶段从持久化 session events 推导,resume 不丢状态,已支持 plan mode。原理与稳定化控制详见 dsh-liangshen README。

救助模式(Rescue Mode)

救助模式(dsh-doctor)是 DSH profile 的事务式救援体系,默认开启:用户级 Doctor Supervisor 后台服务与透明的 Doctor Launcher 维持一份隔离救援胶囊,检测启动失败、进程崩溃、心跳丢失、Web 故障与浏览器白屏。每次修复都是一个事务:快照当前 profile,在候选环境应用确定性规则,经隔离的 dump-config 与 Web 健康门禁后原子提升,失败按字节回滚——profile 只经官方 dsh plugin 命令修改,不安装未验证的 latest。Web 控制台(设置 → 插件配置 → Web 插件的 Doctor 卡片)展示故障事件,提供诊断、修复与回滚动作;「发送给 Harness」把最近一次故障的摘要与错误堆栈组合成排障提示词投回当前会话,让 agent 就地诊断。Supervisor 只监听本地 socket(0600 token),Web API 仅限 loopback;安全模型与 dsh-doctor CLI 详见 dsh-doctor README。

会话归档管理(Session Archive Manager)

会话归档管理(dsh-session-archive)是内置的会话管理入口,随全家桶安装:集中查看全部会话(活跃 / 已归档 / 空白 / 子代理 / 无工作区 / 元数据缺失的历史会话),支持按状态、工作区、标题或 ID 搜索筛选与多维排序,跨完整筛选结果集的多选,以及批量归档、批量恢复与物理删除。物理删除走级联语义(父会话连同全部后代),展示直接选中数、级联数、最终总数、预计释放空间与将被跳过的受保护会话,大批量删除需额外知情确认;运行中、当前正在查看、有运行中后代的会话始终受保护。两个默认关闭的自动策略可按"最后活动时间"自动归档、按"归档时间"自动清理超期归档(归档时间未知的历史会话永不自动删除),支持启用前预览与立即执行。删除不可恢复;全部路由仅限本机回环访问。详见 dsh-session-archive README。

更多插件(More Plugins)

皮肤

经典的 Blue Fantasy 蓝色幻想是随皮肤插件提供的默认皮肤:鲸鱼插画垫在半透明面板下面,靛蓝色调贯穿全局,暗色主题下更明显。其他皮肤与 Wallpaper Engine 壁纸由皮肤插件管理,并统一在创意工坊浏览、试穿与按需安装。

Blue Fantasy 暗色

快速上手

系统要求

三步上手(npm 安装,推荐)

只要皮肤就装 @linxin666/dsh-client-ui-skin-center。若装到了旧版本(pnpm 11 的发布年龄门禁),见下方「安装排障」。

从 GitHub 仓库直接安装

仓库根 package.json 声明 dsh.bundle(复用聚合包的装配清单)并依赖 npm 已发布的聚合包,整个仓库因此可以直接当成一个插件安装,无需克隆与构建,插件中心 / hub 按仓库一键安装时走的就是这条路:

dsh plugin --profile web add github:zhu1090093659/dsh-web
# 等价写法:dsh plugin --profile web add git+https://github.com/zhu1090093659/dsh-web.git

插件代码来自安装时解析到的 npm 聚合包,仓库只提供装配清单;该方式与 npm 安装聚合包二选一,两者产出相同的 web-ui-* 插件行,同时安装会因重复 id 挂载失败。

从仓库安装(开发调试)

插件包已在 npm

dsh-web (zhu1090093659/dsh-web)

Searching Database…

8.8K ·GitHub
What is this?dsh-web is a plugin aggregation ecosystem for the DeepSeek Harness (DSH) Web GUI: it bundles a task board, mobile remote control, SSH ops terminal, image understanding, model-capability editing, a right panel, Git graphs, and more into independent plugins you can install together or pick individually.
Is this a standalone app or does it plug into something else?It is not a standalone app — it's a set of plugins that mount onto an existing DSH Web or DSH Desktop install through DSH's official profile mechanism, without touching DSH's own source code.
How do I install the plugin bundle?Run 'dsh plugin --profile web add @linxin666/dsh-web-all@latest' for DSH Web (or '--profile desktop' for DSH Desktop), then restart DSH so the sidebar shows all the new plugin entries; installing straight from this GitHub repo also works without cloning or building.
Do I need DeepSeek Harness already set up first?Yes — DSH Web must already be installed and able to launch; the npm install path needs nothing extra, but installing directly from the repository requires Node.js >= 22 and pnpm.
Does mobile remote always deliver instant push notifications?No — Cloudflare quick tunnel and Tailscale Serve don't pass through SSE, so on those networks the plugin silently falls back to polling and new messages can arrive a few seconds late; use an SSE-capable tunnel like a Cloudflare named tunnel for instant push.
What is the Creative Workshop (dsh-market.com)?It's DSH's one-stop marketplace for skins, pets, plugins and community agent presets, with device-based likes, live skin try-on previews, and one-click install commands; the site is statically generated from skin.json/pet.json/community.json and deployed via Cloudflare Workers with D1 for likes.
What is LiangShen mode?A two-stage anchored agent preset: the first model turn only sees a minimal persona and two core tools, then after the first reasoning block it promotes to a full tool registry. Community benchmarks put it at 98.5 on Windows versus 91-99 for the official Standard/PTC/Minimal presets, combining focused first-turn behavior with full later capability.
What does Rescue Mode (dsh-doctor) actually fix?It's a transactional recovery system enabled by default: it detects startup failures, process crashes, missed heartbeats, and white screens, snapshots the DSH profile, applies deterministic fixes in a sandboxed candidate environment, and rolls back byte-for-byte if the fix fails.
Can I manage remote servers through this, not just my local DSH?Yes, the SSH Ops panel gives you a web terminal, SFTP file transfer with progress bars, local port forwarding to internal services, and one command run across a whole cluster of tagged hosts, and agents can use the same host configs directly in chat.
Size
1.2 GB
Stars
8.8K
Age
2mo
Commits · 90 Days