前言¶
DeepSeek Harness(DSH)侧栏里,工作区与会话通常以列表形式堆在一起。工作区一多,扫一眼当前在哪家、哪家有待办或正在跑,都要在文字行里找。若你更习惯「图标 + 当前焦点会话」这种布局,官方默认侧栏未必顺手。
下面介绍社区插件 dsh-workspace-cards(维护者 Traveritas):用正方形卡片网格替代侧栏里的「工作区」区,当前工作区常驻在网格上方展开会话;点卡片可切换焦点,并支持两种视口切换。插件分类为客户端,当前版本 0.4.0(MIT)。
这是什么¶
dsh-workspace-cards 是 AveritA 系列 DSH 侧栏插件之一,与同系列目录 AveritA 的 DSH 插件目录 并列维护。
浏览器端(client.js)以 priority -1 接管官方 sidebar.workspaces 座位;Host 端(index.js)负责把 ~/.dsh/workspace-icons/*.svg 读给页面。Host 未安装或未重启时,文件型图标位为空,其余功能仍可用。
一句话:侧栏工作区区 → 图标网格 + 上方常驻会话面板,可选「工作区优先」或「会话栏优先」两种布局。
核心功能¶
网格与卡片¶
- 每张卡片为正方形,默认 76×76,列数随栏宽与卡片大小自动排(
auto-fill),一行排不满时整行居中。 - 统一底色(不按工作区上色),圆角默认 21%(0% 方块、50% 整圆),图标默认 26px;可在「设置 → 工作区卡片」调整。
- 工作区名称默认仅悬停显示;可在设置里改为常显。
- 角标一卡一枚:实心 = 待处理,脉冲点 = 运行中,空心环 = 未读完成。
- 侧栏折叠时退化为单列图标。
常驻卡片与会话¶
- 网格上方钉一块 192px 高的常驻区域,展示当前工作区的会话列表;跟随当前会话所在工作区,无当前会话时保留上一个,避免切换面板时把网格顶来顶去。
- 点任意网格卡片 → 该工作区换到常驻位;再点其中的会话才真正切换。再点一次已展开对应的那张网格卡(或左上角收起按钮)→ 收起;收起状态写入本地存储。
- 已在常驻里展开的工作区,网格里同一张卡按 0.86 缩放(140ms 缓动),表示「已在上面展开」。
- 常驻高度可拖:工作区优先模式下,常驻与网格之间有 12px 分隔条;拖动改高度,松手落盘;双击复位 192px;下限 124px,上限随卡片大小变化(76px 卡时约 434px)。
- 会话不折叠,超出部分在面板内滚动;面板标题只显示工作区名,路径需通过「⋯ → 复制路径」。
两种视口¶
右上角「视图选项 → 视口」二选一,落盘,切换瞬时完成:
| 模式 | 行为 |
|---|---|
| 工作区优先 | 常驻会话卡片 + 下方卡片网格(默认描述的那套) |
| 会话栏优先 | 会话栏贴边铺满底层;卡片收成底部 32px「工作区」按钮,点开拉出抽屉 |
会话栏优先下:点抽屉里一张卡 = 切到该工作区并打开最近一条会话,抽屉收起;Esc 与点外面可关抽屉。
视图选项与搜索¶
- 排序:手动 / 最近活跃。
- 归档:隐藏 / 全部 / 仅已归档。
- 搜索:标题 + 工作区名本地匹配,并接
ctx.sessions.search做内容搜索(250ms 防抖)。
图标与 Host 配合¶
- 图标可为字符(汉字 / 字母 / emoji)、内置 36 个线性图标,或自定义 SVG(粘贴 / 选文件 / 由 agent 写入文件)。
- 自定义 SVG 文件路径:
~/.dsh/workspace-icons/*.svg(由 Host 半提供)。
设置页¶
「设置 → 工作区卡片」:
- 滑块:卡片大小 56–120 px、圆角 0–50%、图标 14–40 px。
- 开关:名称(常显 / 仅悬停)、边框(显示 / 隐藏)、滚动条(显示 / 隐藏)。
- 「恢复默认」与三张卡片的实时预览。
浏览器侧状态键:localStorage 的 dsh.workspaceCards.v1(结构含版本字段等,详见仓库 README「存储」一节)。
皮肤插件接口¶
从 0.2.0 起提供稳定 DOM 与 CSS 变量;挂载时在 html 上设置 data-dwc-api="1" 与 data-dwc-version="0.4.0"。皮肤规则应以 html[data-dwc-api="1"] 为前缀。README 中列出了 .dwc-stage、.dwc-panel、.dwc-grid、.dwc-tile 等节点及 --dwc-tile-bg、--dwc-pinned-h 等变量,供例如 dsh-workspace-cards-skin 一类扩展使用。
安装与启用¶
已抓取资料与 SkillHub 插件页 均未给出形如 dsh plugin add … 的固定 CLI 原文。常见做法有两种:
- 在 SkillHub 打开上述目录页,使用页内「发送给 DeepSeek Harness 安装」的说明,让 Harness 按插件名 Traveritas/dsh-workspace-cards 安装(页内文案示例:「请安装 DSH 插件 Traveritas/dsh-workspace-cards」)。
- 按你本地 DSH 版本支持的插件安装流程,从 GitHub 仓库 Traveritas/dsh-workspace-cards 安装;安装后若使用文件型 SVG 图标,需确保 Host 半已加载并重启,以便读取
~/.dsh/workspace-icons/。
插件在 package.json 中声明为 web 客户端、immediately: true,并 patch 侧栏与工作区相关 UI 模块;启用后应替换侧栏原工作区列表为卡片舞台。
典型用法¶
- 切换当前工作区并看会话:在工作区优先视口下,点网格里某张卡 → 上方常驻面板换成该工作区会话;点面板里某条会话进入对话。
- 收起常驻面板:再点网格里已缩放(
is-pinned)的那张卡,或点常驻头部左侧收起按钮;Esc 只关弹层 / 退回列表,不收常驻(与收起语义分开)。 - 窄屏或更爱会话列表:视图选项 → 视口 →「会话栏优先」→ 用底部「工作区」按钮开合卡片抽屉选工作区。
- 调外观:设置 → 工作区卡片,拖滑块看预览;需要路径时用工作区菜单「复制路径」。
- 写皮肤:在独立皮肤插件里用
html[data-dwc-api="1"]选择器覆盖--dwc-tile-*或在.dwc-tile-paint上画动态背景(README 含示例 CSS)。
适用场景与注意¶
适合:工作区数量多、希望用图标快速切换;希望在侧栏内固定一块「当前工作区会话」而不反复滚列表;需要与会话栏优先布局来回切换的 DSH 日常使用者。
注意:
- 插件以当前 DSH 进程权限运行,安装前请阅读 源码 与 MIT 许可证,自行评估信任边界。
- 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文介绍的是社区维护的客户端插件。
- 依赖
@deepseek-ai/dsh-client-ui-sidebar等宿主 UI 模块;大版本升级 DSH 后若侧栏 API 变化,需关注插件 issue 与版本号(当前 0.4.0)。 - 截图与演示 README 说明取自基座本身;若叠加
dsh-workspace-cards-skin,运行中卡片可能出现 canvas 流光等效果,与裸插件静帧不同。
结尾¶
dsh-workspace-cards 把 DSH 侧栏工作区从列表改成可配置的图标网格,并在上方或底层(视口不同)固定当前工作区的会话上下文,适合以工作区为单位组织智能体任务的场景。