dsh-session-categories:给 DSH Web 会话加分类与 AI 归类

前言

在 DSH Web 里,会话列表通常按工作区与时间堆在一起。对话一多,靠标题回忆「上次改配置、查接口、排错」分别在哪一条,成本会明显上升。原生列表没有「按项目/主题分组」这一层,也不会在每轮结束后帮你判断这条会话该归到哪一类、标题是否还够用。

下面介绍 CleverYyt 维护的客户端插件 dsh-session-categories(仓库 CleverYyt/dsh-session-categories)。它在侧边栏增加「分类」入口,把历史会话划入分类、在分类下直接开新会话,并在每轮对话正常结束后可选地调用模型给出分类与标题建议。Host 侧在 index.js(无额外依赖),Client 侧在 client.js(无构建步骤)。

这是什么

一句话:DSH Web 插件,把聊天会话分组到分类里,支持在分类下新建会话,并在每轮结束后向模型请求分类归属与更合适的标题。

  • 维护者:CleverYyt
  • 分类:客户端(Web)
  • 许可:MIT(README 徽章)
  • 版本与兼容:当前 Release 为 v0.2.0;package.json 要求 Node >= 20,DSH >=0.2.0-0 <0.3.0-0
  • 社区目录:SkillHub 插件页(与 DeepSeek / 幻方无官方从属;DSH 生态里插件由社区索引与用户自行安装)

分类、归属与设置落在本地 $DSH_HOME/storages/dsh-session-categories/state.json,不写会话日志;删掉该文件等于重置分类。

核心功能

1. 划入分类与在分类下开新会话

  • 划入分类:在分类面板里点会话行尾按钮,或原生侧边栏会话行尾的「移动到分类」,从分类 chip 里选一项即可。一个会话只属于一个分类;README 说明未做拖拽(原生列表组件难以可靠接管落点)。
  • 在分类下新增会话:分类标题右侧的 +,用面板顶部当前选中的工作区创建空白会话,创建后自动打开并归入该分类。

2. 分类面板与侧边栏筛选

  • 侧边栏图标列增加 分类 图标,点开为居中弹窗(Esc 或点遮罩关闭)。弹窗含搜索(按标题 / 会话 id / 工作区名 / 分类名)、分类跳转条、按时间排序的分类卡片(分类内会话默认展示 10 条,可展开全部)。
  • 归档:归档后的分类不在主列表;独立「已归档」视图可恢复。归档分类不参与新建会话与自动分类。
  • 侧边栏按分类筛选:工作区分区上方有常驻漏斗按钮,可筛「全部 / 各分类 / 未分类」;筛选仍用原生会话列表,仅隐藏不匹配行,并保留原生字号、时间、工作区分组等表现。

3. AI 自动分类与标题建议

  • 自动分类:每轮对话结束(turn/end 且正常完成)时,若会话尚未分类且未被用户「忽略」过,Host 可后台判断一次;设置里可整体关闭「AI 自动分类」。无结论时不打扰;已有待处理建议的会话不重复判断。一次判断无结论时,至少隔 3 轮再问,连续空结果 5 次则停止,直至分类变更或手动再判。
  • 标题:自动与手动两条线。自动按「标题检查频率」(设置里 0~20 轮)检查标题是否同时写清「对象」与「具体操作」;不合格时在输入框工具行出现 标题建议 … chip。手动路径:原生会话菜单 →「重新生成标题」。用户确认改名后来源为 user,不再被自动覆盖。
  • 提示展示:输入框工具行有 归入 ● 分类名 ✕ 等 chip;面板右上角另有「待处理建议 N」(默认收起),避免会话未打开时找不到建议。点「忽略」则该会话永久退出自动分类(手动移入/移出分类会重置该标记)。

4. 花费与调用记录

设置与页脚可查看花费统计(当日 / 本周 / 本月)。通过页脚金额或设置 → 花费统计 → 查看调用记录,可打开调用记录弹窗(最多保留 300 条,可清空;清空不影响总账)。

安装与启用

安装前请自行查看仓库源码与 MIT 许可证。插件在 DSH 进程权限下运行,会调用模型做分类/标题判断,产生 API 花费。

Release 包(推荐,版本固定):

dsh plugin --profile <profile> add https://github.com/CleverYyt/dsh-session-categories/releases/download/v0.2.0/dsh-session-categories-0.2.0.tgz

跟随 main 分支:

dsh plugin --profile <profile> add github:CleverYyt/dsh-session-categories

本地开发挂载:

dsh plugin --profile <profile> add link:$PWD

装完后重载插件或刷新页面,侧边栏应出现「分类」图标。

从 Discover 索引安装(需先在 Web 端启用「自定义插件市场」):

  1. 侧栏 插件 →「实验性插件」旁 更多 → 启用 自定义插件市场。
  2. 在 发现 里添加索引源:
https://raw.githubusercontent.com/CleverYyt/dsh-session-categories/main/market/index.json
  1. 在索引里安装「会话分类」(安装参数由索引中的 git commit 固定)。

README 提醒:npm 上的裸包名 dsh-session-categories 并非本仓库(已被他人占用);本插件未发 npm 裸名,若将来发布会使用 scope(如 @cleveryyt/dsh-session-categories)。

部分配置项在 cordis.patch.yml 的 config 下,改完需重载插件;界面设置写入同一 state.json。常用 UI 设置包括:AI 自动分类、会话行分类色条、筛选清单排序、花费统计档位、对话轮次(1~20 或全部)、标题检查频率(0 关闭)、最低置信度等(详见 README 设置表)。

典型用法

  1. 装插件并重载,确认侧边栏有「分类」图标。
  2. 新建分类:打开分类弹窗 → 右上角「新建分类」,按需选工作区。
  3. 整理旧会话:在面板或原生列表行尾把会话移入分类;或用漏斗在侧边栏只看某一类。
  4. 在新主题下开聊:进入目标分类 → 标题右侧 +,在新会话里对话;若开启自动分类,未分类会话会在轮次结束后收到 chip 或「待处理建议」。
  5. 处理 AI 建议:在输入框 chip 或「待处理建议」里采纳分类/标题,或点忽略;不想花钱时可调大「标题检查频率」、关闭自动分类,或提高「最低置信度」。
  6. 归档不再用的分类:弹窗右上角归档入口进入归档视图;恢复后回到主列表。

适用场景与注意

适合:长期用 DSH Web、会话数量多、希望按主题/项目浏览侧边栏,并愿意用模型辅助归类与改标题的开发者。

注意:

  • 自动分类与标题检查会调用模型,有费用;可在设置中关闭或降频。
  • 插件依赖 DSH 0.2.x 与若干 @deepseek-ai/dsh-client-* peer 包,升级 DSH 大版本前先看 package.json 的 engines 与 peerDependencies。
  • 数据仅在 state.json;升级 DSH 或换模型一般不会动该文件,但不应把未审计的插件装在生产敏感环境而不读 Host 代码。
  • 实现细节、存储结构与边界见仓库 ARCHITECTURE.md。

结尾

dsh-session-categories 在不动 DSH 核心会话存储的前提下,补了一层分类视图、侧边栏筛选,以及可配置的 AI 归类与标题建议;归属与设置本地化,适合把 Web 侧边栏当「工作台索引」来用。

羽毛球分组比赛记分
小程序二维码

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

小夜