EVA 会话状态色 WhatCannotBeSaid/dsh-session-eva-status
DeepSeek Harness按官方状态给侧栏会话行上色,一眼分清待办与未读
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add WhatCannotBeSaid/dsh-session-eva-status该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 27 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧栏会话行按状态上色
- 区分待办与未读
- 置顶标题彩虹色
DSH 插件:按会话的官方状态给侧边栏会话行上色,配色是 EVA 风格——橙色=等待交互,红色=当前选中,紫色=已完成但未查看,标题彩虹色=已置顶。
README
由 DeepSeek 最新模型翻译生成dsh-session-eva-status
按官方会话状态给 DSH 侧栏会话行上色,配色是 EVA 风格。插件不拥有任何状态:只读客户端已有的事实,给每行写一个 data- 属性,再用一张注入的样式表给这个属性上色。
| 行状态 | 读的官方事实 | 画什么 |
| 有待处理交互(批准 / 提问 / 计划评审) | uiSession.sessionStatus.pendingInteraction | 橙 #FF5C1A 整行高左轨 + 1.6 秒呼吸 |
| 选中(主区域正开着这一个会话) | sessions.list 快照里 retainedBy.mainView > 0 | 红 #FF3B30 整行高左轨,静态 |
| 跑完但没看过 | …sessionStatus.completionUnread | 紫 #7A4FD6 整行高左轨 |
| 置顶 | workspaces.list 快照里 pinnedSessionIds | 行标题文字变静态六色彩虹(background-clip: text),行本身不画轨 |
| 运行中 / 子智能体在跑 / 空闲 / 已归档 / 空白新会话 | — | 不画;官方的转圈点与归档灰化已经说清楚了 |
官方优先级是 等人 > 运行中 > 子智能体 > 完成未读。
展开完整文档(README 剩余 1 节)
dsh-session-eva-status
按官方会话状态给 DSH 侧栏会话行上色,配色是 EVA 风格。插件不拥有任何状态:只读客户端已有的事实,给每行写一个 data- 属性,再用一张注入的样式表给这个属性上色。
| 行状态 | 读的官方事实 | 画什么 |
| 有待处理交互(批准 / 提问 / 计划评审) | uiSession.sessionStatus.pendingInteraction | 橙 #FF5C1A 整行高左轨 + 1.6 秒呼吸 |
| 选中(主区域正开着这一个会话) | sessions.list 快照里 retainedBy.mainView > 0 | 红 #FF3B30 整行高左轨,静态 |
| 跑完但没看过 | …sessionStatus.completionUnread | 紫 #7A4FD6 整行高左轨 |
| 置顶 | workspaces.list 快照里 pinnedSessionIds | 行标题文字变静态六色彩虹(background-clip: text),行本身不画轨 |
| 运行中 / 子智能体在跑 / 空闲 / 已归档 / 空白新会话 | — | 不画;官方的转圈点与归档灰化已经说清楚了 |
官方优先级是 等人 > 运行中 > 子智能体 > 完成未读。跑完但子智能体还在跑时,官方那行显示的是 ongoing 转圈,插件就不画、把转圈让过去,不把这行说成「跑完」。
插件自己的优先级是 等人 > 选中 > 子智能体让位 > 完成未读:要你动手的行压过你正在看的行;选中的行即使子智能体在跑也保留红轨——选中行不隐藏官方转圈,两种读法同时看得见。
配色背后的规则:形状负责表意,颜色与光效负责风格。 图钉与置顶优先排序完全留给官方,这里只给置顶行的标题文字换色,图钉本身不改样式、不加装饰。
安装
与同目录其他本地插件一样,作为 Profile 依赖:把包加进 ~/.dsh/profiles/<profile>/package.json(并加进该 profile 的 dsh.bundles)后重启 DSH,或用插件 CLI 指路径安装:
dsh plugin --profile <profile> add <path-to>/dsh-session-eva-status
配置
随包 cordis.patch.yml 插入 entry 时带上默认值,改那里即可:
| 字段 | 默认 | 含义 |
| hideOfficialDot | true | 在 等人/跑完未读 两种行上隐藏官方状态点(由左轨替代) |
| breatheMs | 1600 | 橙轨的呼吸周期(毫秒,≥ 200) |
| colors | EVA 配色 | 覆盖 pending / selected / unread |
配置不合法会当场抛错,不静默降级。
原理
- 行锚点:[data-row-key="session:<id>"],由 @deepseek-ai/dsh-client-ui-workspace 渲染。
- 标题锚点:置顶彩虹加在行内第 2 个子元素上。行首那格永远渲染,标题位次因此稳定,不必匹配官方哈希类名。
- 状态源:客户端自己的 ctx.uiSession.sessionStatus(HostObservable<ReadonlyMap<SessionId, SessionStatus>>,含 running / pendingInteraction / completionUnread),外加 ctx.sessions.list 里的两件事:子智能体目录(判断官方的「子智能体运行中」)与 retainedBy.mainView > 0(官方行自己的 selected 就是这么算出来的);置顶集合来自 ctx.workspaces.list 的 pinnedSessionIds。不轮询、不嗅探事件、不需要宿主半边。
- 行上画什么:状态只由左轨一条 ::before 伪元素表达,行自身的背景完全不动:官方 hover 与选中反馈照旧。左轨刻意不用 inset box-shadow:inset 阴影是贴着边框内缘的一条带,会跟着官方行的圆角一路拐弯,两端拐成朝右的大弯钩,看上去像中括号而不是一条直轨;绝对定位的伪元素不受行圆角裁剪,才是整行高、两端直角的一条直轨。
- React 安全:标记写成 data-eva-state 属性(React 不管它,重渲染冲不掉),观察器只过滤 data-row-key,行挂载/卸载/换身份时重新对账。
- 卸载即净:订阅、观察器、行属性、样式表、调试入口一起清掉。
致谢与参考
这里没有任何整段抄来的代码。下面逐条说明每个来源贡献了什么。
借用的代码手法
- enterhalf/dsh-session-colorful-unread-pin-jobs — DSH Web 插件浏览器半边的骨架:window.__ModuleLoader__.load({ id, factory }) 信封与具名 apply / inject、用 [data-row-key^="session:"] 认会话行、用合并到一个微任务的 MutationObserver 在 React 重渲染后补画、以及给注入样式表预打标记(dataset.plugin / dataset.pluginCss)以免被兄弟插件的热重载认领并删除。它的 2 秒轮询、自建未读存储与标题渐变染色没有沿用。
- dsh-ledger-cn(本机 C:\DSH\plugins\dsh-ledger-cn,未发布)— 本插件的包结构照它来:private: true、main: lib/index.js、. / ./client 一对导出、插入自己 Loader 行的 cordis.patch.yml,以及测试手法(在假 window.__ModuleLoader__ 与最小 DOM stub 之后加载浏览器束)。
- Tencent/BrowserSkill — @wxg-prc-cpg/browser-skill-dsh-plugin — 外部包的 dsh 清单参照:dsh.bundle.patch、dsh.client.platform、dsh.client.inject 与 files 列表。
从官方 Harness 读到的契约(deepseek-ai/deepseek-harness)
- packages/client/ui-workspace — 会话行的 DOM(data-row-key、行首 16px 格、标题、时间、图钉)、行自身几何(Rows.module.css:高 32px、border-radius: var(--dsw-radius-md))以及行内席位(SlotMap)的声明。
- packages/client/ui-session — 本插件读的 ctx.uiSession.sessionStatus(HostObservable<ReadonlyMap<SessionId, SessionStatus>>)。
- packages/client/ui-primitives — StateDot,它的状态集合定义了官方行点的含义。
- packages/client/ui-schedule — 占用 sidebar.session.row.leading 与 sidebar.session.row.hover 席位的现成例子(尚未使用,留给计划中的 hover 读数)。
本包不含官方包的任何代码、样式或文案:插件只读它们渲染出来的 DOM 与公开的客户端服务。
已知限制
- 隐藏官方点用行上的 > :first-child:等人/跑完未读 行的这个 16px 格里只有状态点(sidebar.session.row.leading 席只在行 idle 时渲染),所以今天不会误伤;若将来官方在该格放别的占用者,会被一起隐藏。
- 归档行不画:官方已经把标题压到 caption 档,而且归档行的行首格本来就不画状态点。
- 选中轨是叠在官方选中高亮(行自身背景)之上的加法,不是替换。
- 置顶彩虹只染文字(background-clip: text),不往行里插 DOM;卸载时属性与规则一起消失。
- 配色刻意不跟随主题品牌色;不给行铺底色,所以明暗主题下同一组颜色读起来一样。
- 将来官方若改名 data-row-key,插件只是不再上色,不会影响别的功能。
- 没有任何模型可见面:不注册工具、命令、提示词或上下文。
测试
node --test test/client.test.mjs
许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
WhatCannotBeSaid/dsh-session-eva-status
按官方状态给侧栏会话行上色,一眼分清待办与未读
相关插件 · 浏览器
智能体插件框架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,928已汉化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
这是你的仓库?认领条目