dsh-chat-unread:DSH 桌面端会话列表「标记未读」

前言

DeepSeek Harness(DSH)桌面端左侧会话列表默认没有「稍后回看」的显式标记:切到别的会话后,很难一眼区分哪些对话是你刻意留着的。邮件客户端里常见的未读蓝点、菜单切换,在官方列表里也没有对等能力。

下面介绍社区插件 dsh-chat-unread(维护者 nmglyx-hub):在会话行首加蓝点,在「…」菜单和悬浮操作里切换未读/已读,状态写在宿主账本里,重启不丢;打开会话时自动清除。插件归类为客户端,无外部运行时依赖。

这是什么

dsh-chat-unread 是 DSH 桌面端的双面插件:宿主侧提供账本与 HTTP 接口,浏览器半区通过官方扩展槽改会话列表 UI。它只做「手动标记未读」,不删会话、不拉外网、不读写业务文件内容。

账本路径为 $DSH_HOME/chat-unread.json(默认 ~/.dsh/chat-unread.json),结构为 { version, updatedAt, ids: [...] },只存会话 id。兼容性方面,README 写明在 DSH Desktop 0.2.1-rc.2 上实测通过(宿主 + 浏览器半区)。许可证为 MIT,当前包版本 0.1.0(见仓库 package.json)。

核心功能

位置 行为
会话行行首(主状态为「闲置」时) 未读时显示蓝色小圆点
会话行悬浮 出现小圆点按钮,点击切换未读/已读
会话行「…」菜单 增加「标记为未读」/「标记为已读」
悬浮卡(停留在会话行约 0.8 秒) 未读时多一行「● 已标记为未读」
打开会话 从别的会话切入该会话时,自动清除该会话的未读

补充行为(与 README 一致):

  • 会话处于「运行中 / 刚跑完 / 等待回答」时,行首优先显示官方状态点,蓝点暂时让位;悬浮按钮、菜单、悬浮卡仍可用,未读状态不丢。
  • 对当前正在查看的会话手动标未读不会立刻被自动清除逻辑吞掉;切走再切回,或从菜单点「标记为已读」即可清除。
  • 页面刷新、应用重启后标记仍在;多窗口场景会在窗口重新可见或切换会话时刷新账本。

运行时:纯 ESM + 手写浏览器 bundle,零构建;无网络请求、无外部进程。宿主暴露 /api/chat-unread/*(list / mark / clear / toggle / ping / hello),仅接受回环地址与同源请求。

安装与启用

先做环境确认:本机已安装 DSH 桌面端及 CLI,Node 版本满足插件要求(package.json 中 engines.node 为 >=20)。

从 GitHub 安装(常用)

dsh plugin --profile desktop add github:nmglyx-hub/dsh-chat-unread

README 说明:该写法依赖 pnpm 的 git 依赖解析;若本机 CLI 的 github: 简写不可用,可用本地目录 link 方式(见仓库 README「方式一」)。

安装后 README 实测无需重启应用(宿主路由与浏览器 bundle 自动生效);若界面未出现,在应用内刷新一次(macOS 上为 ⌘R)即可。

卸载

dsh plugin --profile desktop remove dsh-chat-unread

若你使用自定义 CLI 路径,将命令中的 dsh 换成实际二进制(README 开发态示例为 macOS 应用内 dsh 路径)。卸载不会自动删除账本;不需要时可手动删除 $DSH_HOME/chat-unread.json。

典型用法

  1. 安装插件后打开 DSH 桌面端,在左侧会话列表找到需要稍后处理的会话。
  2. 将鼠标移到该行:点击行首附近出现的圆点按钮,或在「…」菜单中选择「标记为未读」。未读会话在闲置状态下行首显示蓝点;悬浮卡上会显示「● 已标记为未读」。
  3. 处理完毕:切换到该会话打开对话,未读会自动清除;也可在菜单或悬浮按钮上切换为「标记为已读」。

确认插件是否加载(将端口换成当前 DSH 实际监听端口):

curl -s http://127.0.0.1:57197/api/chat-unread/ping

返回中的 clientGraph.registered 表示浏览器 bundle 已进入客户端模块表;clientHello 为浏览器半区加载后的自检信息,可用来确认 UI 扩展槽是否注册成功。

适用场景与注意

适合谁:经常在 DSH 里并行多条智能体会话、需要「先标着、晚点再看」的桌面端用户;希望状态跨重启保留,而不是依赖浏览器 localStorage(DSH 桌面端随机端口会导致 origin 变化,本地存储重启后失效——插件因此改用宿主账本)。

权限与安全:插件以当前 DSH 进程权限运行,安装前建议阅读 源码 与 MIT 许可证。账本最多 5000 条会话 id;接口对 sessionId 有格式与长度限制;宿主路由不调用外部程序、不发起外网请求。

生态说明:DSH 社区插件目录(如 SkillHub 上的本插件页)由社区维护,与 DeepSeek / 幻方无官方从属关系;安装来源以你信任的目录页或 GitHub 仓库为准。

结尾

dsh-chat-unread 用最小边界补上了桌面会话列表的手动未读标记:蓝点、菜单与悬浮切换、宿主账本持久化、打开会话自动清除,且无外部依赖。若你只需要未读标记而不需要角标统计、置顶、标签等能力,可以单独装这一个;更多能力需另选同类插件。

  • 目录页:https://www.skillhub.cn/plugins/nmglyx-hub/dsh-chat-unread
  • GitHub:https://github.com/nmglyx-hub/dsh-chat-unread
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye