dsh-session-flags:为 DSH 会话列表加上可命名彩色旗标

前言

在 DeepSeek Harness(DSH)里同时开着多条会话时,列表会越来越长。固定(pin)会把条目顶到前面,适合「常开」的会话,但不适合表达「等我回复」「明天再看」「重构进行中」这类状态标签。若只靠标题记忆,回头找某条会话仍要滚动和搜索。

下面介绍社区插件 dsh-session-flags(维护者 qingfengzxr,分类:客户端):在会话行上挂彩色旗标,给每种颜色起自己的名字,并从可搜索的侧栏面板里按颜色分组找回已标记的会话。数据保存在本机,不改动会话本身,也不发起网络请求。

这是什么

dsh-session-flags 是独立的 DSH 插件包(Host 半部 + Client 浏览器 bundle),通过 npm 发布为 dsh-session-flags,源码在 GitHub:qingfengzxr/dsh-session-flags。许可证为 MIT(见仓库 README 徽章与 package.json)。

一句话定位:为 Harness 会话列表提供彩色、可自定义名称的旗标,以及可搜索的「已标记会话」侧栏页。旗标与固定不同——固定重排列表,旗标只做标记与分类。

核心功能

以下能力均来自项目 README 与 package.json 说明。

  1. 会话行上的旗标展示
    已标记的会话在标题前(leading seat)显示小旗图标与颜色;行处于空闲时可见。若会话需要关注,行上原有的状态点优先显示。

  2. 一键设置
    悬停会话行时,悬停条上有旗标按钮(未标记时为空心,便于区分)。会话「…」菜单里在 Fork 与 Archive 之间另有 Set flag 项,并预览当前颜色。

  3. 八种调色板 + 自定义名称
    八种预设颜色均可重命名;名称出现在悬停卡片、取色器和菜单中。在对话框中选 Manage flag colors 可管理名称;名称留空则回退为本地化默认名。

  4. 「Flagged sessions」侧栏面板
    侧栏入口打开一页:按颜色名称分组列出所有已标记会话,点击可回到对应对话。搜索匹配会话标题、工作区名称以及颜色名称。面板行悬停可用 × 清除该会话旗标;页头 Manage colors 与对话框内颜色管理一致。

  5. 界面语言
    跟随 GUI 语言,支持 English 与简体中文。

  6. 存储方式
    旗标与颜色名称由插件 Host 半部写入 DSH 主目录下的一份 JSON 文档;本地持久化,无遥测,不修改会话实体。

环境要求

  • DeepSeek Harness Desktop 或 Web GUI:README 写明需 0.2.1-rc.2;包内 engines.dsh 为 >=0.2.0-rc.2,安装前会做兼容性预检。
  • 支持平台(README 徽章):macOS、Windows、Web。
  • 插件安装到 profile,不是打进应用程序本体。

安装与启用

官方推荐从 npm 安装。安装命令须使用资料原文:

dsh plugin --profile desktop add dsh-session-flags

说明:兼容性预检(engines.dsh)先执行,再由包管理器加入插件;profile reconcile 后会追加 Client bundle,一般无需再手动启用一步。

在 GUI 中也可走 Plugins → Add plugin,输入 dsh-session-flags。无论 CLI 还是 GUI,安装后应重新加载 profile——重启 Harness,以便注册新的 Client bundle。若使用官方 DSH Desktop,优先在应用内 Settings → Plugins 管理该应用所属的 profile;应用运行中时,CLI 无法改动该 profile。

可选途径(面向开发者,README 另有说明):

  • 本地构建后:dsh plugin --profile desktop add file:/absolute/path/to/dsh-session-flags
  • 打包 tarball 后:dsh plugin --profile desktop add /absolute/path/dsh-session-flags-0.1.0.tgz(示例版本号来自 README 的 pnpm pack 说明)

社区目录与官方应用内「商店」无关:Harness 默认不带插件市场;若启用实验性 Custom plugin markets 并添加社区索引,可在 Discover 中搜索 dsh-session-flags。SkillHub 等第三方列表页见文末链接。

典型用法

位置 作用
会话行 leading seat 空闲时显示旗标颜色
会话行悬停条 旗标按钮 → Set session flag 对话框
会话「…」→ Set flag 同上,无需悬停
会话悬停卡片 色点 + 当前颜色名称
对话框 → Manage flag colors 重命名八种颜色
侧栏 → Flagged sessions 按颜色分组、可搜索的已标记列表
面板行悬停 × 清除该会话旗标
面板页头 Manage colors 颜色名称管理

操作要点:在对话框中选 No flag 即清除标记;确认后名称与旗标立即保存。若 Host 拒绝写入,对话框会报错而不会静默关闭。

可按自己的工作流给颜色命名,例如 README 举例:一种颜色表示「waiting on me」,另一种表示「refactor in progress」,第三种表示「read tomorrow」——名称由你自定,插件只提供颜色槽位与检索入口。

架构简述(便于审阅源码)

README 给出的目录结构:

src/
  shared/         palette + wire protocol shared by both halves
  host/           Cordis plugin: owns flags.json, registers exact Fetch routes
  client/         Cordis plugin: locale copy, styles, slot contributions, dialogs
  index.ts        re-exports the Host entry
  client/index.ts Client bundle entry (ModuleLoader factory)

Host 半部持有 flags.json 并注册 Fetch 路由;Client 半部贡献 UI 槽位、样式与对话框。包版本在 package.json 中为 0.1.0。

适用场景与注意

适合谁:经常在 DSH 里并行多条会话、需要用轻量标签区分状态(待办、延后阅读、进行中的重构等),又希望从侧栏按颜色批量找回的桌面或 Web 用户。

使用前请知悉:

  1. 插件以当前 DSH 进程的权限运行;安装前建议阅读 源码仓库 与 MIT 许可证,确认符合你的安全与合规要求。
  2. 旗标数据在本地 JSON 中,换机或清 profile 时需自行备份或接受丢失标记。
  3. 与 pin 职能不同:需要置顶仍应使用 Harness 自带的固定功能;旗标不负责排序。
  4. 社区 SkillHub 目录页星标等统计可能与 GitHub 不同步;以仓库与 npm 为准。

结尾

dsh-session-flags 把「标记重要会话」做成可命名的八色旗标 + 可搜索侧栏,弥补 pin 无法表达工作流语义的问题,且数据留在本机。若你已在 DSH 0.2.1-rc.2(或满足 engines.dsh)环境上使用桌面或 Web GUI,可按上文命令安装并重启 profile 后试用。

  • 社区目录页:https://www.skillhub.cn/plugins/qingfengzxr/dsh-session-flags
  • GitHub:https://github.com/qingfengzxr/dsh-session-flags
  • npm:dsh-session-flags
羽毛球分组比赛记分
小程序二维码

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

Xiaoye