按未读、置顶与后台任务状态给侧栏会话标题上色
29.9/100
综合分
0
GitHub 星标
223
npm 周下载
—/5
用户评分
数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-session-colorful-unread-pin-jobsnpm 源 · dsh-session-colorful-unread-pin-jobs 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 41 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-session-colorful-unread-pin-jobs @ 2.0.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/30 15:17:17
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 15 条)
- 读取本地文件lib/index.js:101
if (existsSync(file)) raw = readFileSync(file, 'utf8') - 读取本地文件lib/index.js:101
if (existsSync(file)) raw = readFileSync(file, 'utf8') - 读取本地文件lib/index.js:104
if (existsSync(legacy)) { - 读取本地文件lib/index.js:105
raw = readFileSync(legacy, 'utf8') - 写入本地文件lib/index.js:132
mkdirSync(storageDir(), { recursive: true }) - 写入本地文件lib/index.js:134
writeFileSync(tmp, JSON.stringify({ version: 2, updatedAt: Date.now(), ids: [...ids], settings }, null, '\t')) - 写入本地文件lib/index.js:135
renameSync(tmp, file) - 读取本地文件lib/index.js:244
if (typeof resolved !== 'string' || resolved === '' || !existsSync(resolved)) return 'absent' - 读取本地文件lib/index.js:251
text = readFileSync(sourcePath, 'utf8') - 写入本地文件lib/index.js:262
writeFileSync(sourcePath, original) - 发起网络请求lib/client.js:488
fetch(API_TOGGLE, { - 发起网络请求lib/client.js:733
fetch(API_LIST, { credentials: 'same-origin' }) - 发起网络请求lib/client.js:824
fetch(API_SETTINGS, { - 发起网络请求lib/client.js:916
const res = await fetch(API_LIST, { credentials: 'same-origin' }) - 发起网络请求lib/client.js:1020
fetch(API_SETTINGS, { credentials: 'same-origin' })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 按状态给会话标题上色
- 未读置顶后台任务配色
- 模型已更新排序模式
给 DSH 侧边栏每个会话标题按状态上色——未读(蓝色运行中 / 绿色已完成)、置顶(黄色)、后台常驻 shell 任务(紫色)——合成一道渐变;另加「模型已更新」排序模式和未读设置区。
README
由 DeepSeek 最新模型翻译生成dsh-session-colorful-unread-pin-jobs(会话未读彩色标记 · 官方置顶染色)
用颜色一眼看清侧栏哪些会话还有没看过的产出、哪些已经跑完。 会话标题按状态染色:未读(模型运行中=蓝,已跑完=绿)、置顶(黄,读 DSH 官方的置顶集合);两种状态并存时按「置顶黄在左 → 未读蓝/绿在右」合成一条渐变。颜色由当前主题的品牌色推导,自动适配明暗主题与黑白主题。
置顶、归档与排序是 DSH 官方能力(0.1.7-alpha.2 起内置):菜单、pin 图标、置顶集合与置顶优先排序都由官方提供,本插件不重复实现,只读取官方置顶集合用于染色。插件也不再改写官方 bundle:菜单走官方插槽,染色走会话行 DOM,卸载即净。
效果
侧栏会话标题按状态染色:置顶黄、未读蓝/绿、置顶+未读合成黄→蓝渐变
会话行「…」菜单:官方置顶/重命名/分叉/归档 + 本插件的「标记为未读」
设置 →「会话未读」:列出全部未读会话、逐条标记已读、发送即清开关
以上为界面示意图(由 assets/mockups/generate.mjs 生成,色值取自 DSH 主题 token),非真实截图,不含任何用户会话数据。
展开完整文档(README 剩余 1 节)
dsh-session-colorful-unread-pin-jobs(会话未读彩色标记 · 官方置顶染色)
用颜色一眼看清侧栏哪些会话还有没看过的产出、哪些已经跑完。 会话标题按状态染色:未读(模型运行中=蓝,已跑完=绿)、置顶(黄,读 DSH 官方的置顶集合);两种状态并存时按「置顶黄在左 → 未读蓝/绿在右」合成一条渐变。颜色由当前主题的品牌色推导,自动适配明暗主题与黑白主题。
置顶、归档与排序是 DSH 官方能力(0.1.7-alpha.2 起内置):菜单、pin 图标、置顶集合与置顶优先排序都由官方提供,本插件不重复实现,只读取官方置顶集合用于染色。插件也不再改写官方 bundle:菜单走官方插槽,染色走会话行 DOM,卸载即净。
效果
侧栏会话标题按状态染色:置顶黄、未读蓝/绿、置顶+未读合成黄→蓝渐变
会话行「…」菜单:官方置顶/重命名/分叉/归档 + 本插件的「标记为未读」
设置 →「会话未读」:列出全部未读会话、逐条标记已读、发送即清开关
以上为界面示意图(由 assets/mockups/generate.mjs 生成,色值取自 DSH 主题 token),非真实截图,不含任何用户会话数据。
亮点
| 状态 | 颜色 | 触发条件 |
| 未读 · 运行中 | 品牌蓝渐变 | 模型在任何会话(含当前打开的)里产出内容,且该会话仍在运行 |
| 未读 · 已完成 | 绿渐变 | 上一条的前提消失(会话回到空闲)——任务做完了 |
| 置顶 | 黄渐变 | 官方置顶(会话行「…」→「置顶会话」);插件只读官方置顶集合 |
| 两者并存 | 黄 → 蓝/绿 | 按语义定序合成:置顶色恒在最左、未读色在最右 |
- 不需要盯着看:任务跑完的会话会在侧栏自己由蓝转绿,切换窗口时一眼扫到哪几个会话已经出结果。
- 不打扰、不丢状态:未读集合由服务端持久化,刷新页面、重启进程都保留。
- 纯增量:不改写官方 bundle、不接管官方行为,只给会话行加类、给标题上色;卸载即净。
功能
1. 自动未读——模型在任何会话(含当前打开的)里产出内容的那一刻(assistant/chunk 内容块 / assistant/message / tool/result 白名单),该会话自动染上未读渐变色。颜色区分任务状态:仍在运行=品牌蓝,已跑完回到空闲=绿色(运行态读会话列表 store 的 running 标志,store 一变即重判)。
2. 清除时机——打开、停留、发送消息都不清除标记;把当前会话从 A 主动切到 B 时清除 A 的标记;身处当前会话时再点一次该会话行也清除(与原生「选中=确认」语义一致)。两种情况都是本地立即摘除 + 服务端持久化。
3. 标题状态染色(颜色合成器)——所有观感收敛到一条代码路径:行状态 → 锚点色序列 → 绘制。语义色序自左向右:置顶=黄(最左)→ 未读=蓝(运行中)/绿(完成,最右)。单独一种状态=整条该色系渐变(未读按主题品牌色推导同族双色;黑白主题自动退化;所有端色做背景对比度守卫);两种并存按分段模板展开(纯色区 + 段间过渡)。渐变由行内样式画在标题元素上,React 重渲染不会重写、无需补绘。渐变色标随实际文字宽自适应:短文字把色标按文字宽压成 px,长文字按容器宽百分比。
4. 发送即清(可选,默认关)——设置里打开后,在被标记的会话里发送消息也自动摘除该标记。
5. 手动标记——会话行「…」菜单新增一条「标记为未读 / 标记为已读」(经官方插槽 sidebar.workspaces.session.menu.item 注册,落在官方条目之后)。
6. 只读官方置顶——置顶集合来自官方 workspaces.list 快照的 pinnedSessionIds(归档行按官方语义排除);插件不写置顶、不做置顶排序,官方置顶行为原样保留。
7. 设置分节——设置 →「会话未读」:列出全部未读会话(标题、运行中标记、会话 ID),「刷新」按钮手动更新,逐条「标记已读」,以及「发送即清」开关。
8. 零 bundle 改写——菜单与设置走官方插槽,染色靠观察会话行 DOM(data-row-key="session:<id>" + 标题 class 后缀 _title);不再有锚点字符串替换,也不再把转换结果写回盘上的官方 client.js。
安装
dsh plugin --profile web add dsh-session-colorful-unread-pin-jobs@latest
从 GitHub 安装(等价):
dsh plugin --profile web add github:enterhalf/dsh-session-colorful-unread-pin-jobs
卸载:
dsh plugin --profile web remove dsh-session-colorful-unread-pin-jobs
要求:DSH ≥ 0.1.7-alpha.2(新侧栏:官方置顶 + 官方插槽 + 行 data-row-key)。更旧的 DSH(npm latest 目前仍是 0.1.5-rc.3)请继续用本插件的 1.0.0。
卸载即净:插槽注册、路由、事件订阅、定时器、观察器全部随 fiber dispose 移除;未读集合与设置保留在 ~/.dsh/storages/dsh-session-colorful-unread-pin-jobs/,重新安装后自动恢复。
原理
- 未读数据平面(服务端持久化)——host 订阅 session/event,白名单事件落地时把非子代理会话(含当前打开)标记未读(幂等,无变化不写盘)。存储为 ~/.dsh/storages/dsh-session-colorful-unread-pin-jobs/unread.json(原子写、最多 2000 条 FIFO 淘汰,含 clearOnSend 设置)。客户端每 2 秒轮询 GET /session-colorful-unread-pin-jobs/list 对账(host 为权威)。
- API 平面(挂在 webServer 路由表,前缀 /session-colorful-unread-pin-jobs)——
- GET /list → { ok, ids }
- POST /toggle { id, unread } → { ok, ids }
- GET/POST /settings → { ok, clearOnSend }
- (v1 的 /top、/active、/timestamps 已随自研置顶与排序平面一起移除)
- UI 平面(官方扩展点)——
- 菜单条目:ctx.slots.inject('sidebar.workspaces.session.menu.item') 注册一条插件条目;
- 设置分节:ctx.slots.inject('settings.section');
- 染色:MutationObserver + 每 2s 轮询驱动的 syncRowMarks(),扫描 [data-row-key^="session:"],按「未读集(host)+ 官方置顶集(ctx.get('workspaces').list)」合成渐变,画在该行标题元素的行内样式上;
- 文案:注册到官方 locale 命名空间 session-colorful-unread-pin-jobs(随界面语言切换,locale 服务缺失时中文兜底)。
- 一次性残留清理——1.x 在新架构下会把转换结果写回盘上官方 client.js;2.0.0 启动时若发现盘上仍带 v1 注入标记,就用 storages 里的 bundle-.client.js.orig 还原原始字节并对齐 clientModules graph。对干净环境是 no-op。
从 1.x 升级到 2.0.0
破坏性变更(因此版本号为 2.0.0):
- 移除插件自研的置顶功能(菜单条目、topIds 持久化、/top 端点、置顶排序分区)——请改用官方「置顶会话」(官方已支持置顶持久化与置顶分区排序)。
- 移除「模型更新」排序模式与 /timestamps 端点、Deep diving「距 agent 上次输出」第二列。
- 移除「存活后台 shell 任务=紫色」指示(新版会话列表快照已无 jobs 镜像,且该能力与官方后台任务 UI 重叠)。
- 不再改写官方 bundle,因此不再需要锚点自检(check-anchors / check-migration 已删除,改为 check-env / check-host)。
升级步骤:
1. 升级插件后重启 DSH(host 半随进程加载;client 半由 client-hmr 的 500ms 轮询自动热更,刷新页面即生效)。
2. 未读集合与「发送即清」设置自动沿用;unread.json 里的 topIds 会被忽略(不再读写),置顶请用官方菜单重新置顶。
3. 盘上残留由 host 半自动还原;storages 里的 bundle-.client.js.orig 保留作 v1 回退,可手动删除。
限制
- 需要 DSH ≥ 0.1.7-alpha.2:旧版没有官方插槽与 data-row-key,UI 平面不会生效(host 数据平面仍工作)。用 npm run check-env 可离线核对当前安装树是否满足契约。
- 染色依赖会话行 DOM 的两个稳定锚:data-row-key="session:<id>" 与标题 class 后缀 _title。官方改这两者后需重新适配;相比旧版的 bundle 锚点替换,这里失效时只是不染色,页面与菜单不受影响。
- 折叠的工作区分组里的会话行不渲染,因此展开分组时才会着色(观察器会在行出现时立即补画)。
- 「当前打开的会话」以列表 store 中 retainedBy.mainView 的持有者为准;多标签页各自独立判定与清除。
- 主题自适应依赖主题系统把主题写到 body 主题属性、并以 alias 变量提供品牌色;第三方主题若不经过该机制改色,染色不会跟随。
- 自动未读的判定粒度是「模型白名单事件」:llm/retry 等不产生内容的异常事件不计。
开发
npm run build # 校验并产出 lib/index.js
npm run build:client # 校验并产出 lib/client.js
npm run check-host # host 半单测:存储/迁移、HTTP 平面、v1 残留清理
npm run check-env # 离线校验当前 DSH 安装树是否提供插件依赖的官方扩展点
npm run check # 两者都跑
dsh plugin --profile web add /path/to/dsh-session-colorful-unread-pin-jobs
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
enterhalf/dsh-session-colorful-unread-pin-jobs
按未读、置顶与后台任务状态给侧栏会话标题上色
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目