dsh-workspace-tints: Color-code Workspaces in the DSH sidebar and mark unread/incomplete chats.

前言

DSH 的侧边栏默认把所有 Workspace 平铺成一长串。项目开到五六个之后,仅靠名字和图标分辨很累;更实际的问题是,你切到别处,某个聊天自己跑完了,回来时很难一眼发现它已经完成。dsh-workspace-tints 就是处理这两件事的:给每个 Workspace 分一个安静的色阶,把 Workspace 变成分组标题,并给「已完成但你没看到」的会话整行标绿。它由 Veduis 维护,是一个纯前端样式插件。

这是什么

一句话定位:一个 DSH 侧边栏的 Workspace 配色与层级插件。代码来自 Veduis,发布为 npm 包 dsh-workspace-tints,仓库在 GitHub 的 Veduis/dsh-workspace-tints,许可证 MIT。

要交代的边界:社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,这个插件也不是官方出品。

核心功能

一个 Workspace 一种色

色阶是同一条暖到冷的淡色 ramp,共十二个色相(oklch(0.62 0.052 <hue>)),刻意跳过整个绿色段。每个 Workspace 的色会洗过它的标题,并在它下面每个 Session 的行边画一条 2px 色轨。五个项目同时开着时,读起来像五个区块,而不是一长串。

分级而不是平铺

Workspace 名字作为分组标题(15px 半粗,上方留白),它的会话缩进到下一级(13px)。色轨贴在行边,像是这一组的脊柱,内容往里退一步。

完成的会话整行变绿

某个 Session 在你不在的时候跑完,整行会带上绿色渐变,和它本来就会亮起的状态点同一种绿。因为 Workspace 色阶完全不用绿色,两种信号不会混淆。你一打开这个聊天,绿行就清除。

可以把音量调低

在 Settings → Workspace tints 里能看到每个 Workspace 当前的色,并把强度切到 Soft、Whisper 或 Off。分组层级和完成绿属于结构性信号,保持不动,只有染色强度可以切换。

安装与启用

从 shell 安装:

dsh plugin --profile web add dsh-workspace-tints

或者在应用里进 Plugins → Install,填包名 dsh-workspace-tints。如果你的 profile 没有开启 HMR,需要重新加载页面。

它也列在一个插件市场索引里,Discover 可以不输入包名直接安装。添加索引源:

# Plugins → More → Custom plugin markets → Discover → Add index source
https://veduis.github.io/dsh-workspace-tints/index.json

要求 DSH 版本满足 engines.dsh,当前是 ^0.2.1-rc.5。该包是一个 bundle:cordis.patch.yml 插入一行 workspace-tints,其 Client 部分就是样式表和 Settings 区块。

色相是怎么选出来的

配色以 Workspace 的规范目录路径为键,记在 localStorage 的 dsh.workspace-tints.v1:

1、重命名 Workspace,色保持不变;
2、新增 Workspace 时,取现有色中距离最远的那一个,所以已有项不变色,新项也不会和邻居撞色;
3、整个 ramp 十二个色相同亮度,并跳过绿色段;
4、删除文件夹再重新加回来,会恢复原来的颜色。

不在任何 Workspace 下的会话保持中性色。

有一条迁移说明:1.0.0 之前做过的分配,会在首次加载时按最近色相重新锚定到「无绿」的 ramp 上,只跑一次。

兼容性与运行时行为

插件只占用一个 <style> 元素和上述设置区块。它通过公开的 ctx.workspaces Client 服务读取 Workspace 元数据,不读取其他插件的状态。行是靠侧边栏自己的 data-row-key(workspace:<id>、session:<id>)和状态点的 data-state="done" 定位的;如果将来客户端改了这些名字,相关 effect 会停止生效,其他不变。

没有网络访问,没有遥测,没有分析。唯一持久化的是 localStorage 里的色表和强度。

DSH 插件
^0.2.1-rc.5 1.0.x

卸载

应用里 Plugins → Workspace Tints → Remove,或者:

dsh plugin --profile web remove dsh-workspace-tints

样式表和设置区块会随 bundle 销毁。localStorage 中的色表会保留,所以重装后颜色不变。

适用场景与注意

适合侧边栏 Workspace 数量多、需要快速定位未读完成项的人。它只改视觉,不改功能;分组层级是插件自己排版的,不依赖原生折叠行为。

请注意:插件以当前 dsh 进程的权限运行,安装前应自己检查源码与许可证(MIT)后再决定。目录页给出的星标为 0,属于较新的插件,长期行为以仓库和 npm 包为准。

结尾

dsh-workspace-tints 做的事很克制:用一组安静的色阶把 Workspace 分组,给完成的聊天一个不会和配色混淆的绿色提醒,并允许把染色调淡。对被长列表和漏看完成项困扰的人,成本很低。

  • 目录页:https://www.skillhub.cn/plugins/Veduis/dsh-workspace-tints
  • GitHub:https://github.com/Veduis/dsh-workspace-tints
羽毛球分组比赛记分
小程序二维码

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

Xiaoye