前言¶
DeepSeek Harness(DSH)侧边栏在「按工作区」视图里,工作区顺序和每个工作区下可见对话条数,往往跟不上「最近在用哪个项目」的实际节奏;同时挂多家模型时,全局 HTTPS_PROXY 要么让国内 Provider 也绕代理,要么海外 Provider 完全出不去。社区插件 dsh-workspace-sort(维护者 LostAbaddon,GitHub:LostAbaddon/dsh-workspace-sort)在一个包里提供两组能力:侧边栏按最新对话排序、可配置折叠条数、按工作区记忆模型,以及 Host 侧按 Provider 决定是否走代理。下面按安装、设置与典型用法说明。
这是什么¶
dsh-workspace-sort 是 DSH 的 bundle 插件(dsh.bundle.patch),同时改客户端 UI 与 Host 网络路径。当前 package 版本为 1.1.0,许可证 MIT,Node >=20。分类上属于客户端注入(并含 Host 代理补丁);尚未发布到 npm,安装需用 GitHub 地址或(Web 端)本机目录路径。
核心功能¶
侧边栏¶
在「按工作区」和「按工作区树」两种分组下:
- 工作区按其中最新一条普通对话的更新时间降序排列;无此类对话时用工作区创建时间。时间戳相同则保持原相对顺序。「单列表」模式不干预,仍用 DSH 自带排序。
- 每个工作区收拢时显示的空闲对话条数可在设置里改,默认 5(1~100)。正在运行、新会话占位、等待回答的对话始终显示,不计入配额。
- 收拢时若还有未列出的对话,列表下方会出现「还有 N 条对话」;展开后变为「收拢」。工作区标题本身折叠时,一行对话都不显示,该提示也不显示。
- 可选:每个工作区独立记住模型与思考深度,点该工作区「新会话」时套用该工作区上次选择(从未记录则不干预,仍用全局默认)。
- 每条用户自己发的消息,时间与复制按钮之间增加「修改」:编辑 Markdown 原文后确认,会停掉当前回复、分岔新会话、发送改写内容、切到新会话并归档原会话(非删除;归档可逆,数据仍在
~/.dsh/sessions/...)。
三个侧边栏相关开关在 设置 → 通用 → 工作区对话排序(在「繁忙时的发送行为」与「性能与用量」之间),存于浏览器 localStorage(dsh.workspace-sort.v1);工作区顺序写入 Host,同一 profile 内各客户端共享。
代理路由¶
在进程 globalThis.fetch 上按目标主机名决定走代理还是直连:例如 Gemini、OpenRouter、Agnes 等可勾选走代理,DeepSeek、Kimi、MiniMax、GLM 等保持直连;deepseek、deepseek-official、ollama、lmstudio 永不走代理。代理地址与规则在 设置 → 代理路由 配置,保存即生效、无需重启;配置落盘 $DSH_HOME/workspace-sort/proxy-config.json。
安装与启用¶
DSH 插件安装支持 npm 包名、GitHub 仓库地址、本机目录路径。本仓库尚未发布 npm,以 GitHub 或路径为准。插件以当前 DSH 进程权限运行,安装前建议自行查看仓库源码与 MIT 许可证。
桌面端(Electron)¶
侧边栏「插件」→「添加插件」,在「包名或地址」填写:
github:LostAbaddon/dsh-workspace-sort
安装完成后按提示重启应用。dsh plugin --profile desktop ... 会被拒绝,desktop profile 由 Electron 独占管理。
Web 端(dsh web)¶
dsh plugin --profile web add github:LostAbaddon/dsh-workspace-sort
生效需重启 dsh web。卸载时使用与安装相同的来源:
dsh plugin --profile web remove github:LostAbaddon/dsh-workspace-sort
从 GitHub 安装若出现 ERR_PNPM_GIT_RESOLVE_FAILED,多为 HTTPS 访问 GitHub 失败;可按 pnpm 提示配置 git 传输改写,或改用本机绝对路径作为安装来源(与 README 说明一致)。
典型用法¶
调整排序与折叠¶
- 安装并重启后打开 设置 → 通用 → 工作区对话排序。
- 按需改「每个工作区显示 N 条对话」、开关「工作区按最新对话排序」、开关「独立记住模型与思考深度」。
- 若需固定手动拖动的工作区顺序,关闭「工作区按最新对话排序」(否则下次重排会按时间戳还原)。
修改历史输入¶
- 在已加载的消息上点铅笔「修改」,在编辑框改内容,
Cmd/Ctrl+Enter提交。 - 确认框会说明该输入之后将移除几条对话;确认后自动分岔、发送并归档原会话。
- 若消息未加载到当前窗口、是会话首条、或 15 秒内无法停掉当前回复等,操作会被拒绝并在编辑框显示原因。
配置代理¶
- 打开 设置 → 代理路由,填写代理地址(如
http://127.0.0.1:7890),勾选需要走代理的 Provider,必要时追加额外主机规则。 - 可用「测试代理」做一次本地
CONNECT握手检查。 - 关闭总开关则全部直连,配置仍保留。
适用场景与注意¶
- 适合:多工作区并行、希望「最近聊过的项目」排在侧边栏上方;需要国内模型直连、海外模型走本地代理并存;希望按工作区固定默认模型而非全局一条。
- 注意:开启「独立记住模型与思考深度」时,DSH 的
selectModel可能顺带更新全局默认模型,插件不会写回全局设置(README 已说明副作用)。手动排好的工作区顺序在开启按时间排序时会被覆盖。修改输入依赖分岔与归档,失败时会清理半成品会话。 - 社区目录页与 GitHub 由维护者与社区托管,与 DeepSeek / 幻方无官方从属关系;星标与目录元数据以各站点当时显示为准。
结尾¶
dsh-workspace-sort 把侧边栏的排序、折叠、分工作区模型偏好和历史输入修正,与 Host 侧按 Provider 的代理路由收在一个插件里,配置多在设置页完成。进一步了解与 issue:
- 目录页:https://www.skillhub.cn/plugins/LostAbaddon/dsh-workspace-sort
- 仓库:https://github.com/LostAbaddon/dsh-workspace-sort