dsh-plugin-session-colors

DSH PLUGIN会话与消息

仓库 7vw58n3ftvq7cn89v/dsh-plugin-session-colors

会话与消息 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

给 DeepSeek Harness 的每个会话标颜色:悬停侧栏会话行即可选色(12 色),被标色行显示同色竖条,宿主侧持久化。

一句话选型结论

按资料字段整理

dsh-plugin-session-colors 是会话与消息类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 未标注 复刻 未标注 · 未关闭 issue 未标注
最近更新 未标注 创建于 未标注
README 7.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按仓库说明试装。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-plugin-session-colors当前 未做沙盒验证 未标注 未标注 未标注 无
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方7vw58n3ftvq7cn89v仓库 dsh-plugin-session-colors · 默认分支 未标注
分类会话与消息session
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue未标注 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 未标注最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

7.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-plugin-session-colors

English | 中文

给 DeepSeek Harness 的每个会话标上颜色:在侧栏悬停即可选色,被标色的会话一眼可辨。


中文

功能

🎨 侧栏悬停取色

鼠标停在侧栏任意会话行上,行左缘浮出一枚颜色圆点,点开即是取色面板 —— 12 种预设颜色 + 一键清除,选完立即生效。全程无需打开会话。

  • 圆点即为状态:已标色的会话显示实心色点,未标色的显示虚线圆圈
  • 面板自动在屏幕边缘翻转方向,不会溢出视野
  • 160ms 悬停防抖:扫视列表时不会误触,停留即出现

🌈 会话行着色

被标色的会话行左侧显示同色竖条(3px 内嵌条),多会话并行工作时一眼找到目标行。切换会话、刷新页面、重启应用后依然保持。

💾 宿主侧持久化

颜色存在 Harness 宿主的 storages/session-colors.json,浏览器端有 localStorage 镜像:

  • 重启应用、换浏览器都不丢
  • 打开页面即时显示(镜像先渲染,宿主数据随后对齐)
  • 宿主 API 短暂不可达时仍可查看,恢复后自动同步

安装

方式一:插件市场(推荐)

Settings → Plugin Market → 搜索 session-colors → 一键安装 → 刷新页面。

方式二:CLI

dsh plugin --profile web add dsh-plugin-session-colors

方式三:本地 link 开发

把包符号链接到 web profile 的 node_modules,并在 profile 的 package.json 登记 dependencies 与 dsh.profile.bundles。

工作原理

┌─ 浏览器(client half)────────────────┐    ┌─ 宿主(host half)──────────────┐
│ 悬停取色覆盖层(portal,不动 React DOM) │    │ /session-colors HTTP API        │
│ 会话行匹配引擎(标题精确匹配 + 兜底)     │──▶│ PUT / GET / DELETE 颜色映射      │
│ 行着色(inset bar,rAF 节流重绘)        │    │ storages/session-colors.json   │
└───────────────────────────────┘    └─────────(原子写、损坏自愈)────┘
  • 宿主半:一个零依赖的 cordis 插件,向 Harness webserver 注册 /session-colors 路由,把 sessionId → 颜色 映射持久化为 JSON(临时文件 + 原子重命名,损坏的存储文件会在下次写入时自动修复)。
  • 浏览器半:懒 CJS 工厂包(__ModuleLoader__),零运行时依赖。由于官方未提供会话行的插槽,侧栏着色通过「会话标题 ↔ 行标题 span」精确匹配实现(未读噪声安全、同名会话按 DOM 序消费、子串陷阱防护)。匹配失败只影响着色,不影响数据。

HTTP API

方法 路径 说明
GET /session-colors/api/colors 全量颜色映射 { colors: { [sessionId]: "#rrggbb" } }
PUT /session-colors/api/colors/:sessionId 设置颜色,body {"color": "#ef4444"};null 清除
DELETE /session-colors/api/colors/:sessionId 清除一个会话的颜色

颜色接受 #rgb / #rrggbb 十六进制(统一规范化为小写 6 位);会话 ID 校验后落盘。

兼容性与限制

  • 标准 dsh.bundle 插件包,DeepSeek Harness Web / Desktop 均可使用
  • 侧栏着色基于 DOM 匹配(best-effort):同名会话按列表顺序取色;无标题(空白)会话不着色;Harness 大版本若更改会话行结构,着色可能失效 —— 取色与数据不受影响
  • Node ≥ 22.19 / ≥ 24

开发

node smoke-host.js                    # 宿主半离线冒烟测试(11 项)
node smoke-host-phase2.js <临时目录>    # 存储损坏自愈测试(3 项)
npm i --no-save jsdom                 # 仅 DOM 测试需要
node smoke-client-dom.js              # 浏览器半 jsdom DOM 测试(15 项)

License

MIT


English

Per-session color tags for DeepSeek Harness: hover a sidebar session row to pick a color, and tagged sessions stand out at a glance.

Features

🎨 Hover-to-color in the sidebar

Rest the pointer on any session row in the sidebar and a color dot appears at the row's left edge. Click it for the palette — 12 preset colors plus one-click clear, applied instantly. No need to open the session.

  • The dot reflects state: filled for tagged sessions, dashed outline otherwise
  • The palette flips at screen edges so it never overflows
  • A 160ms hover dwell keeps quick scanning free of pop-ups

🌈 Colored session rows

Tagged rows show a matching 3px bar on their left edge, so the session you want is findable at a glance across parallel work. Colors survive session switches, page reloads, and app restarts.

💾 Host-side persistence

Colors live in the Harness host's storages/session-colors.json with a localStorage mirror in the browser:

  • Survives restarts and browser switches
  • Instant first paint (mirror renders first, then reconciles with the host)
  • Readable even while the host API is briefly unreachable; re-syncs on recovery

Install

Option 1 — plugin market (recommended)

Settings → Plugin Market → search session-colors → install → refresh the page.

Option 2 — CLI

dsh plugin --profile web add dsh-plugin-session-colors

Option 3 — local link (development)

Symlink the package into the web profile's node_modules, then register it in the profile package.json (dependencies + dsh.profile.bundles).

How it works

  • Host half: a zero-dependency cordis plugin that registers a /session-colors route on the Harness webserver and persists the sessionId → color map as JSON (temp file + atomic rename; a corrupted store self-heals on the next write).
  • Client half: a lazy-CJS __ModuleLoader__ bundle with zero runtime dependencies. Harness ships no slot for session rows, so sidebar coloring matches session titles to row title spans exactly (unread-noise safe, DOM-order queue for duplicate titles, substring-trap guarded). A match failure only affects painting — never the data.

HTTP API

Method Path Purpose
GET /session-colors/api/colors Full map { colors: { [sessionId]: "#rrggbb" } }
PUT /session-colors/api/colors/:sessionId Set a color, body {"color": "#ef4444"}; null clears
DELETE /session-colors/api/colors/:sessionId Clear one session's color

Colors accept #rgb / #rrggbb hex (normalized to lowercase 6-digit); session ids are validated before storage.

Compatibility & limitations

  • Ships as a standard dsh.bundle plugin package; works in DeepSeek Harness Web and Desktop
  • Sidebar painting is DOM-matched (best-effort): same-title rows consume colors in list order; blank/untitled sessions are never matched; a future Harness release that changes the row structure may disable painting — picking and data are unaffected
  • Node ≥ 22.19 / ≥ 24

Development

node smoke-host.js                    # host-half offline smoke tests (14 checks)
node smoke-host-phase2.js   # corrupted-store recovery test
npm i --no-save jsdom                 # only the DOM test needs it
node smoke-client-dom.js              # client-half jsdom tests (15 checks)

License

MIT

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-plugin-session-colors 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-plugin-session-colors 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-plugin-session-colors 安全吗?

未标注。

dsh-plugin-session-colors 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。