- Home
- Plugin
- Sessioni e messaggi
- dsh-session-folders
dsh-session-folders
yinqisy/dsh-session-folders
File DeepSeek Harness conversations into folders inside the sidebar's own session tree — decorates the official list instead of replacing it.
Installazione
dsh plugin --profile web add github:yinqisy/dsh-session-foldersREADME
会话简单分类文件夹
简体中文 | English
给 DeepSeek Harness 的侧边栏加一层「文件夹」:把对话收纳进分类里,可折叠、可拖动排序,拖进拖出即可改变归属。它不替换官方会话列表,只是在官方那棵树上做装饰。
效果
会话 +
DSAI 全选 ▣+ ⋯ ← 新建分类按钮就在工作区行里
⌄ MC 4 ⋯ ← 分类,可折叠、可拖动排序
对话 A
⌄ 插件 1 ⋯
对话 B
⌄ 未分类 ← 拖到这里即移出分类
- 工作区行:官方原有的按钮全部保留;本插件在「全选」右侧插入一个文件夹+加号按钮,点它在行下方就地展开输入框,回车建分类。
- 分类头:点标题折叠/展开,
⋯可重命名或删除(删除两段式确认,不会误删);把对话拖到分类头上即归入;把一个分类头拖到另一个上即调整顺序。 - 未分类头:可折叠,也是把对话「移出分类」的投放目标。
- 对话行:完全是官方行,点击、
⋯菜单、置顶、归档、拖拽排序、其它插件的行内按钮全部照常。
工作原理
不移动任何官方节点:
- 把每个工作区分组变成 flex 列,分类头作为自己的节点插入其中;
- 给官方行设置 CSS
order,让它们落在各自分类的「波段」里; - 折叠只是给对应行加
display:none,展开即恢复; - 行的身份直接读官方已经打好的
data-row-key(workspace:<id>/session:<id>),不依赖 React 内部结构。
官方的「展开其余 N 个会话」截断控件会被隐藏并自动点开一次,所以所有对话默认全部展开,分类也总能看到完整列表。
整个同步过程由一个只关注会话树区域的 MutationObserver 驱动、按帧节流,且每一步都包在 try/catch 里:万一官方 DOM 结构变了,插件什么也不做,侧边栏保持原样。
与中文增强套件兼容
已验证与 deepseek-harness-zh_pro v0.11.1 共存无冲突:官方行与官方槽位都原样保留,所以它的归档视图、批量选择、删除会话的行清理等功能全部继续有效。
两者互不重叠:
| 面 | zh_pro | 本插件 |
|---|---|---|
| 槽位注册 | conversation.input.left、sidebar.right.pane.tab、settings.section | 无 |
| 语言命名空间 | 自己的命名空间 | session-categories |
| 行 id | dsh-zh | session-categories |
| CSS | 哈希类名 | 仅 dsh-scf-* + 主题 token |
| DOM | 读写官方行 | 只插入 [data-dsh-scf] 节点、设置 order / display |
分组波段的起始 order 特意定在 1000 而不是 0,这样外部插件以默认 order:0 注入的节点会落在「工作区行」与「分类夹」之间,而不是卡进两个分类中间。
数据位置
<DSH_PROFILE_DIR>/data/session-categories/state.json
插件不会在工作区目录里创建、移动或改名任何文件,也不会碰会话日志。删除分类只是解除归属,对话会回到「未分类」。
安装
dsh plugin --profile web add github:YinqiSY/dsh-session-folders
或者在插件管理里以本地目录方式安装(开发时更常用)。
Agent 工具
同一套操作也暴露为 session_categories 工具(list / create / rename / delete / assign / unassign),与 UI 调用完全相同的宿主函数。
护栏
在桌面端,只要有一个 profile 条目没激活,整个 web 启动就会失败,所以:
- 宿主条目同步激活,只把注册延后到服务就绪(
whenService); - 客户端
apply永不抛异常,DOM 层会把每次行数变化(包括掉到 0)和任何失败写入<数据目录>/client.log,日志超过 256 KB 自动清空。
更新记录
1.0.0
- 首个版本:在侧边栏的工作区分组里用文件夹收纳对话,可折叠、可拖动排序、拖进拖出改变归属。
- 分类与归属持久化在 DSH 配置目录,不触碰工作区文件与会话日志。
- 自动隐藏并展开官方的「展开其余 N 个会话」截断,默认展示全部会话。
- 修复:官方控件分批展开时只放出部分会话,现在最多重试三次直到全部展开。
- 修复:归档视图里的归档会话无法拖动,现在可以直接拖进分类。
许可
MIT
Plugin correlati
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
billion-context
ranxianglei/billion-context
dsh-synapse
liangmianya/dsh-synapse
dsh-archive-manager
michengai/dsh-archive-manager