用 TypeScript 写的 DSH Web 外挂 bundle,把内建工作区侧栏换成最近会话列表、Workspace → Session 菜单、面包屑与右键整理菜单。
DSH 适配
原生运行时
作者声明
安全审计
未审计
最后核验
2026-11-14
许可证
NOASSERTION
01它能帮你完成什么?
不用在工作区目录里翻找,就能定位并重开任意一个最近的 DSH Web 会话
顶部用虚拟滚动列出全局最近会话——是完整列表,而不是只留 5 条
每天在多个工作区与会话之间切换的 DSH Web 用户
在一个侧栏里从面包屑直接走到目标会话,而不是开两个面板
最近会话下方是 Workspace → Session 二级菜单,两块之间有可拖拽分隔条(支持方向键微调、双击复位)
同时开着多个工作区、希望会话按日期分组的用户
把置顶、重命名、标记未读、复制路径这些日常整理动作放到侧栏里做
会话行与工作区行的右键菜单:置顶、重命名、未读蓝点、在资源管理器中打开,以及复制路径 / 任务路径 / 日志路径 / 会话 ID
需要在会话、它的工作目录和日志文件之间来回跳的开发者
02如何接入 DeepSeek Harness?
前置条件
- 一个 DSH Web profile——README 里始终用 `--profile web` 安装
- 本地开发时还需要外挂的源码 checkout 和 `pnpm`,用来跑 `pnpm run build`
安装步骤
- 01
从 npm 安装(README 推荐的方式):`dsh plugin --profile web add @huanlin/dsh-plugin-ya-workspace-sidebar`
$ dsh plugin --profile web add @huanlin/dsh-plugin-ya-workspace-sidebar
- 02
本地开发要热更新时:`dsh plugin --profile web add "link:D:/Projects/deepseek-harness/ya-workspace-sidebar"`
$ dsh plugin --profile web add "link:D:/Projects/deepseek-harness/ya-workspace-sidebar"
- 03
改完源码后重新跑 `pnpm run build`,重启 `dsh web` 并硬刷新浏览器
$ dsh web
验证接入成功
- 构建后确认 `lib/index.js`、`lib/client.js` 和 `lib/types/` 都存在,且 `lib/client.js` 用 `window.__ModuleLoader__.load()` 包装
- DSH Web 启动后出现替代侧栏:上方是最近会话,下方是 Workspace → Session 菜单
03DSH 适配与能力边界
DSH Web 外挂 bundle:`cordis.patch.yml` 停用官方 `ui-workspace` 并插入 `@huanlin/dsh-plugin-ya-workspace-sidebar`,其 client entry 还自供 `ctx.uiWorkspace` 服务的替身
虚拟滚动的全局最近会话列表
DSH Web 的会话历史→工作区菜单上方的完整最近会话列表,置顶行浮在日期分组之上
Workspace → Session 二级菜单与面包屑
当前选中的工作区→Workspace → Session 二级菜单加面包屑导航,会话按今天 / 昨天 / 更早分组
分隔条位置可拖拽,也能用方向键微调或双击复位会话与工作区右键菜单
一条会话行或一条工作区行→会话菜单:置顶、重命名、标记未读、在资源管理器中打开工作目录、复制路径 / 任务路径 / 日志路径 / 会话 ID;工作区菜单:新建会话、在资源管理器中打开、复制路径、重命名、删除
置顶与未读标记存在浏览器本地打开会话会自动清除它的未读蓝点供官方包使用的 `ctx.uiWorkspace` 替身
来自 `ui-sidebar`、`ui-conversation`、`ui-agent-preset` 与目录选择器的调用→复用 / 新建会话导航、current / recent 回退、归档清理与启动自动选择策略,让这些条目不会一直 pending
透传官方服务面较新的参数,例如 `StartSessionOptions`(`agentPreset`、草稿内容)与 `forkSession` 的 `allowMigration`
04适合谁?何时不该用?
适合
- 每天在多个工作区与会话之间切换的 DSH Web 用户
- 同时开着多个工作区、希望会话按日期分组的用户
- 需要在会话、它的工作目录和日志文件之间来回跳的开发者
不适合
- 外挂面向 DSH v0.1.2-alpha.1 起的 Web 版本——官方 `ui-sidebar` / `ui-conversation` / `ui-agent-preset` 在这些版本里注入 `ctx.uiWorkspace`;参数透传则跟随 dsh 0.2.1-alpha.5 的语义。
05兼容性、维护与安全提示
- 外挂面向 DSH v0.1.2-alpha.1 起的 Web 版本——官方 `ui-sidebar` / `ui-conversation` / `ui-agent-preset` 在这些版本里注入 `ctx.uiWorkspace`;参数透传则跟随 dsh 0.2.1-alpha.5 的语义。
- 「任务路径」与「日志路径」只在文件型(jsonl)持久化部署里可用;sqlite 型部署(例如 `@morlay/better-session`)对应菜单项会自动禁用。
- 浏览器产物预构建在 `lib/client.js`,所以仓库发布时必须提交 `lib/`;改任何源码都要重新构建,再重启 `dsh web` 并硬刷新浏览器。
- 它只替换侧栏界面:搜索、添加工作区、重命名、删除、Fork 与归档仍然走 DSH 原生 Host 能力,`dsh/` 目录只作类型与行为参考,外挂不会改动 DSH checkout。
NOASSERTION · 仅有 README 证据,无 GitHub Release,未做安全审计
06常见问题
在 DeepSeek Harness 里怎么安装 ya-workspace-sidebar?
执行 `dsh plugin --profile web add @huanlin/dsh-plugin-ya-workspace-sidebar`——README 里始终装进 `web` profile。本地开发可以改用 link 安装(`dsh plugin --profile web add "link:D:/Projects/deepseek-harness/ya-workspace-sidebar"`),改完源码后重新跑 `pnpm run build`、重启 `dsh web` 并硬刷新浏览器。
它会停用 DSH 内建的侧栏吗?
会。外挂以 bundle 形式发布,`cordis.patch.yml` 会停用官方 `ui-workspace` 并插入 `@huanlin/dsh-plugin-ya-workspace-sidebar`。它的 client entry 还自供了官方包注入的 `ctx.uiWorkspace` 服务替身,否则那些条目会一直 pending,把 WebUI 启动卡死。
哪些操作仍然交给 DSH 自己处理?
搜索、添加工作区、重命名、删除、Fork 与归档继续使用 DSH 原生 Host 能力。外挂替换的是侧栏界面,并加了本地的置顶与未读标记,没有重新实现这些宿主操作。
为什么有些复制路径的菜单项是灰的?
任务路径与日志路径只在文件型(jsonl)持久化里存在。sqlite 型部署(例如 `@morlay/better-session`)会把这些菜单项自动禁用,但复制普通路径与会话 ID 仍然可用。
直接从源码跑这个仓库需要注意什么?
必须带上 `lib/`:浏览器产物预构建在 `lib/client.js`,仓库发布时要提交 `lib/`。构建后确认 `lib/index.js`、`lib/client.js` 与 `lib/types/` 存在,并确认 `lib/client.js` 用 `window.__ModuleLoader__.load()` 包装。
07相关的 DSH 工作流
dsh-web
作者 zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
deepseek-balance-whale-widget
作者 meteornox
DeepSeek Harness(DSH)一只住在 DSH 界面右下角的小鲸鱼娘,帮你盯着DeepSeek账户余额。QQ弹弹,支持拖拽吸附、左吸附翻转、数字滚动动画,随界面自动启用,建议直接喊来你的dsh安装
dsh-wallpaper-engine
作者 elysia395
把本机 Wallpaper Engine 的壁纸搬进 DSH 网页界面:场景壁纸由内置 MIT 开源引擎 WebWallGL 实时 WebGL 渲染(粒子 / puppet 骨骼 / SceneScript / 音频反应 / 鼠标交互),失败自动降级内嵌 MP4 与场景静态帧;Web 壁纸严格沙箱 + WE API;iOS 风格液态玻璃 UI 高度自定义,遮挡暂停省电、ffmpeg 帧率上限转码、系统音频频谱与 Now Playing、自定义上传与自动轮播;设置存宿主端,对 agent 零 token 开销。Windows / macOS / Linux 三平台原生(同一个包、同一条命令)。
petdex
作者 crafter-station
面向 Codex、Claude Code、DeepSeek Harness 等智能体的动效宠物公共图库。
08数据与来源
插件采用 bundle 形式,`cordis.patch.yml` 会禁用官方 `ui-workspace` 并插入 `@huanlin/dsh-plugin-ya-workspace-sidebar`。
dsh plugin --profile web add @huanlin/dsh-plugin-ya-workspace-sidebar
本插件 client entry 通过 `src/client/navigation.ts` 自供该服务的替身(含复用/新建会话导航、current/recent 回退、归档清理与启动自动选择策略),否则这些条目会永久 pending 导致…
页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-14。发现错误?提交更正。
最佳 DeepSeek Harness 插件
从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。
