ccch1mneyyy/dsh-TUI
ccch1mneyyy/dsh-TUIClaude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
给 DeepSeek Harness 侧栏会话行加右键标色:默认红色、十色色板与自定义取色,颜色本地持久化。
给 DSH Web 侧栏的会话行加右键标色:右键任意会话 → 弹出调色板 → 点色即标,默认红色,可选十色色板 + 系统取色器自定义色,也可一键清除。
sessionId 记忆在浏览器 localStorage(dsh-session-colors-v1),刷新、重启不丢;lib/index.js)与 dsh-settings-drag 同款:apply() 第一件事向 webserver/index-inject 推一行内联 script 行(桌面端注入表启动时一次性收集);内联行吞掉 onerror,插件禁用/路由缺失时静默失败,绝不影响宿主启动;
GET /dsh-session-color/session-color.js,按 mtime 缓存 ——改完客户端脚本硬刷新页面即生效,无需重启 DSH。
assets/session-color.js):纯 DOM 脚本,无依赖,整体 try/catch 兜底。[data-row-key^="session:"](dsh-client-ui-workspace 的 SessionNodeItem 写入),刻意避开 CSS module 哈希类名;任何一步匹配失败都静默退化为"不接管",宿主右键菜单照常。
[data-row-key="session:"] 生成 box-shadow inset 规则 —— 行重渲染、换数据、列表滚动都不会丢色。
源码目录执行(或复制本目录到别处后用绝对路径):
dsh plugin --profile desktop add dsh-session-color然后把 "dsh-session-color" 追加到 %USERPROFILE%.dsh\profiles\desktop\package.json 的 dsh.profile.bundles 数组,与 dsh-settings-drag 并列,重启桌面端即可。
本地开发:把环境变量 DSH_SESSION_COLOR_SCRIPT 指向工作区的 assets/session-color.js, 路由按 mtime 重读,改完硬刷新页面即生效,不用重启。
cordis.patch.yml / dsh.profile.bundles 移除相关条目;dsh plugin --profile desktop remove dsh-session-color;dsh-session-colors-v1)。SearchResultItem)没有 data-row-key,不接管,右键保持宿主行为。