Max-Null/dsh-node-appearance 预览 preview

Max-Null/dsh-node-appearance

本插件属于 @max-null/ 插件系列——这一系列共同构成 SSID(思灵 · Seek Soul in Darkness) 桌面体验。SSID 是整合它们的盒:dsh-capture · dsh-chat-rail · dsh-chinese-thinking · dsh-draft-polish · dsh-guardian · dsh-habit · dsh-memory · dsh-node-appearance · dsh-plugin-center · dsh-quick-toolbar · dsh-skill-mcp-center · dsh-ssid-panels · dsh-ssid-zh-ui · dsh-achievements。

catalog descriptioncatalog 简介 / catalog description:Conversation node appearance for DeepSeek Harness Web GUI: colorize nodes by type/tool (configurable palette) + thinking visibility toggle · 会话节点外观:按节点类型/工具名着色(可配置配色)+ 思考过程显示开关

Project Overview项目介绍

dsh-node-appearance is a front-end-only plugin for the DSH Web GUI that colors conversation panel nodes by type or tool name (a left color bar plus tinted background), supports per-tool color overrides, and adds a "show thinking" toggle. Changes apply instantly and persist to settings. Use it to distinguish search, agent, execution, file, and command nodes. Caveat: v0.1 has no animations or collapsing, and toolColors matches exact tool names, so renamed tools silently stop matching.

dsh-node-appearance 是 DSH Web GUI 的纯前端外观插件,按节点类型或工具名为会话面板着色(左侧色条加淡底),支持工具级配色覆盖,并提供"显示思考过程"开关;设置即时生效并持久化。适合想区分工具调用、搜索、执行、文件操作等节点时使用。注意 v0.1 无动画与折叠,toolColors 按工具名精确匹配,工具改名后旧配置会静默失效。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 2 warnings2 项注意
  • No license declared - all rights reserved by default; ask the author before commercial use or redistribution未声明开源许可证 —— 默认「保留所有权利」,商用或再分发前先问作者
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:Max-Null/dsh-node-appearance

把 Max-Null/dsh-node-appearance 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-node-appearance

本插件属于 @max-null/* 插件系列——这一系列共同构成 SSID(思灵 · Seek Soul in Darkness) 桌面体验。SSID 是整合它们的盒:dsh-capture · dsh-chat-rail · dsh-chinese-thinking · dsh-draft-polish · dsh-guardian · dsh-habit · dsh-memory · dsh-node-appearance · dsh-plugin-center · dsh-quick-toolbar · dsh-skill-mcp-center · dsh-ssid-panels · dsh-ssid-zh-ui · dsh-achievements。

This plugin belongs to the @max-null/* family — a set of plugins that together form the SSID (思灵 · Seek Soul in Darkness) desktop experience.

会话节点外观插件:给 DeepSeek Harness Web GUI 的会话面板着色与重塑——节点 / 工具分类配色(可配置)、折叠摘要条按类别取色、接管触发通知卡(目标轮次字段化展示)、提问卡展示全部选项、交付文件行展开成清单、目标条详情折叠条。纯前端渲染增强,不改 DSH 源码,cordis.yml 一行挂载。

功能

  • 节点着色:工具调用、联网搜索、智能体调用、代码 / 指令执行、文件操作、交付文件、任务 / 目标、指令节点(/command)、思考行(Think)——每种类别一个可配置颜色,左侧 3px 色条 + 淡色底,深 / 浅主题均可读。
  • 过程组组头着色:内核把一串工具调用折成一行摘要时(「已读取文件并执行了命令」「已搜索代码」),组头按内核排在第一位的活动类别取色,与展开后各成员行的颜色同一色系——收起态也能一眼看出这一组在干什么。取色不解析标题文本,读的是内核在组头上发布的 data-process-activity 属性。
  • Turn 级折叠条着色:最外层的「已完成工作 · 用时 35 秒」用单独的中性色 summary(默认 #94a3b8)——它只有轮次号与工具计数,没有类别语义,硬套类别色是武断的。两条折叠条都只在收起态着色:展开后成员行各自带色,容器再涂就是两层色块叠在一起。
  • 两种折叠形态,两种涂法:过程组组头是「一行摘要」(以图标起头),走 3px 左轨 + 淡色底,内距比工具行宽(8px),让轨与图标之间有呼吸;Turn 级摘要条是整行宽的分节线(内核给它 padding: 0 加一条底部发丝线),改用底线染色、不加轨也不内缩 —— 否则轨会紧贴文字,而为补偿轨加的内缩又会让它与上下所有行错位。
  • 工具级颜色覆盖:任意工具名(如 web_search、subagent、run_code,不限出厂列表)可单独指定颜色,优先级高于类别色;shell 行的两个平台写法 bash / pwsh 互为别名。
  • 提问卡片:ask_user_question 的卡片改为展示当时给出的全部选项,被选中的选项用 ask 类别色(默认蓝)反显并打勾。官方转录卡只保留已选答案,提问一旦结算就再也看不到其他选项 —— 本插件把选项读回来。
  • 触发通知卡:接管内核的「唤醒本轮」通知卡(turn-trigger)。目标轮次那张原本把模型提示词原文连同骨架一起显示(<goal_round>、Objective: "…"、Round: 1/256、一整段英文执行要求),骨架对人不构成信息却占满展开区。接管后折叠头加轮次徽标(收起态即可读到走到第几轮),展开体改为字段化:「目标」是还原了 JSON 转义的目标原文,「模型收到的指令」独立成节并默认收起(保留可查性,不销毁)。其余触发来源(schedule / webhook / job / subagent …)按官方同构渲染 —— 遮蔽是全 key 的,见「已知限制」。
  • 目标条详情:官方目标条下方接一条与它拼成同一张卡的详情行(借待办卡片的折叠形态),把官方条上被 ellipsis 截断的目标展开成可读详情:完整目标、阶段、阻塞原因、自主轮次、目标标识。只读投影,不碰官方的编辑/暂停/清除,那四个按钮仍是官方在跑。
  • 交付文件行:present 的行改为折叠态只报「首个文件名 + 数量」,展开后逐文件成行(扩展名徽标 + 文件名 + 所在目录),并在结果文本上方标注行数。官方折叠行把全部文件名逗号拼成一行(fileNames() 的 .join(', ')),多文件时读不完,也看不出这一轮交付了几个。配色单列 deliver 类别(默认青蓝 #06b6d4)——本轮生成文件的那些行与交付行常常同屏出现,与 file(read/write)共用绿色会分不清谁是谁。
  • 思考过程显示开关:关闭后 Think 思考行前端隐藏(display: none),配置项与配色在同一张设置卡片里。
  • 上下文注入行(把 0.2.0 拿掉的画回来):DSH 从 dsh-v0.1.7-alpha.1 起,ui-chat 的 isVisibleChatNode() 把普通上下文注入行整个从对话面板滤掉——记忆快照、AGENTS.md、技能目录、时间快照这些全在其中,只放行含工具增删的 context 行。本插件用自有 kind(context-injection)接住同一批 user/message 再画回来:形态对齐官方 ContextInjectionRow(同一张折叠行、同一个 message.contextInjection 文案),配色沿用 context 类别。为什么不是接管:官方那条节点仍在生成、只是不再渲染,遮蔽同一个 key 根本轮不到它——改走 ChatNodeDataMap 这个 merge-extensible 的渲染 kind 注册口。由设置里的「显示上下文注入」开关控制,默认开;展开体不限高,滚动只留给会话消息流那一层。
  • 技能行(skill):接管内核的「加载技能」行。官方展开体是一张「说明」卡,里面用 <pre> 直接铺 skill 工具返回的规范渲染块——<skill_content> 套 <skill_resources> 再套 <skill_instructions>,那层 XML 壳对人不构成信息,却把技能正文夹在中间。接管后正文直出(壳在解析时丢掉),资源指引单独成节并默认收起(它解释技能去哪些路径找素材,属于按需查看的背景,不是正文);查看 入口、四态、状态词、技能名全部保留。结构不符时原样退回官方形态——绝不猜,也不把展开体渲染成空白。
  • 系统提示词行(0.2.0 恢复):isVisibleChatNode() 也排除 system-prompt,官方 system-message / request-prompt 两张卡同样「仍在生成、只是不再渲染」。本插件把 system-message 那半接回来(自有 kind system-prompt-notice):系统提示词发生变化时各出一张卡——首轮那张就是「会话发起时的系统提示词」,之后内容变了再出一张并标「系统提示词更新」。request-prompt 那半不做:它要复刻与 system-message 协作的位置状态机(shownByUpdate / stableRequestPromptAnchor),增量只是「没变时也补一张」。形态照官方(同一个折叠行、同一对文案 key、保留 data-system-prompt-body 锚点),不渲染 markdown——提示词的换行与缩进本身就是信息。状态推导直接调官方的服务方法 uiConversation.inspectSystemPrompt,不自己复刻。由「显示系统提示词」开关控制,默认开。
  • 即时生效:设置改动立即重绘会话,并持久化到 DSH 用户设置文档($DSH_HOME/settings.yaml)。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-file-trace 下一个 Next dsh-mini-remote →