DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

xanderVIA /

xanderVIA/dsh-session-organizer

Verified

DeepSeek Harness 会话整理:分类下拉与 |分类|标题 命名、颜色标签、钉住保护、AI 总结、状态徽章与通知跳转

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ee6dcb43

dsh-session-organizer · DSH 会话整理

给 DeepSeek Harness(DSH)的会话侧栏加一个「整理」入口:分类、改名、颜色标签、钉住保护、状态徽章,以及"需要你操作时把窗口怼到面前"。

Sidebar organizer for DeepSeek Harness: categories, |category|title names, colour tags, pin protection, live status badges, and jump-to-session on toast click.

功能

功能 说明
分类下拉 每条会话一个分类下拉框,写入标题格式 |分类|标题,走官方 rename,持久且不会被自动标题覆盖
自定义分类 面板里「+ 新增」自己敲;双击分类名就地改名(颜色和会话跟着走);× 删除(用到它的会话回落「未分类」)
颜色标签 每个分类可设颜色:拖动取色、直接输入 #RRGGBB、标准黑 等预设;新建分类默认无颜色;近黑自动吸附成纯黑
钉住(📌) 钉住的会话,批量整理 / AI 总结 / 修剪名字全部跳过,除非你解开
⚡ 一键自动整理 按关键词 + 首句 + 所属工作区打分判分类,再重判一次并写入(手选过的保留)
✨ AI 精确总结 调 dsh-session-titler 的接口,读整段会话重新起名(可选依赖,见下)
排序 / 归档过滤 最近活跃 / 最早活跃 / 按分类 / 按名字 / 按工作区 / 钉住的排前面;归档会话默认隐藏
状态徽章 标题前显示 ⟳ 已用时、! 待回复、✓ 刚跑完(等工具、等子代理都算在跑;连续两轮轮询确认才判完成)
侧栏上色 把分类颜色画到侧栏标题上(只改内联 color,可一键还原)
抢焦点 有会话开始等你答题/批准时,自动把 DSH 窗口前置并跳到那条会话(可配置强度)

安装

DSH 0.2.0-rc.2 上实测;声明范围 >=0.2.0-rc.1 <0.3.0-0。

# 从 GitHub 装(推荐)
dsh plugin --profile <你的 profile> add github:<你的用户名>/dsh-session-organizer

# 或本地链接(开发)
dsh plugin --profile <你的 profile> add link:E:/path/to/dsh-session-organizer

桌面版如果 profile 由应用独占,请在应用内「插件」页安装,或安装后重启 DSH(宿主半是进程内模块,只刷新页面不够)。

装好后:左侧「工作区」区头会出现一个 🗂 图标按钮,点开就是整理面板。

可选依赖

想要 需要
✨ AI 精确总结(读整段会话起名) 另装 dsh-session-titler,POST /session-titler/propose 由它提供;没装时该按钮会报错提示
点右下角通知直接跳到会话 桌面版需要给 dsh-notify-windows 的 launcher 打一个补丁,见 docs/notify-focus.md;不打补丁时插件本身功能不受影响

数据放在哪

内容 位置
钉住列表 <DSH_HOME>\session-organizer\locked.json
抢焦点策略 <DSH_HOME>\session-organizer\settings.json(可选)
分类列表、颜色、排序、归档过滤、两个开关 浏览器 localStorage(dsh-session-organizer:*)

settings.json 示例:

{ "autoFocus": "question", "staleMs": 25000, "gapMs": 15000 }
  • autoFocus:question(默认,只在等你答题/勾选时抢焦点)/ all(再加上"工具调用卡住超过 staleMs 且审批策略是 ask")/ off
  • gapMs:两次抢焦点的最小间隔

实现要点(给维护者)

  • 宿主半(index.js):只读 DSH 自己的投影缓存 storages/session_projcache/sessions/*.json 与 workspace.json,暴露三个 loopback 路由——/session-organizer/list(会话清单)、/status(运行状态,按文件 mtime 缓存)、/pending-open(通知点击的目标会话,读一次即删)。另有一个 4 秒定时器做抢焦点。
  • 浏览器半(client.js):单文件模块,用 window.__ModuleLoader__.load 注册;不 import 任何 @deepseek-ai/dsh-client-ui-*。区头按钮与状态徽章是 DOM 注入(那排图标没有开放 slot),用 MutationObserver 在被 React 重渲染冲掉后补回。
  • 判定"在跑":sessionStats.openStep、sessionStats.pendingCalls、subagentTiming.pendingTurnStart 任一存在。只认 openStep 会把"等工具/等子代理"误判成已完成。
  • 写标题:sessions.using(id) → binding.session.rename(title),与侧栏「重命名」同一个写入路径。

已知限制

  • 区头按钮、状态徽章、侧栏上色都是 DOM 注入,上游改版后需要跟着调整;侧栏结构认不出时会静默跳过,不影响 DSH 本身。
  • 状态徽章依赖投影缓存的字段名,跨大版本可能需要更新。
  • 颜色/分类只存在本浏览器;换浏览器或清缓存会丢(钉住是存磁盘的)。
  • 「跳转到会话」依赖 uiWorkspace 服务;没有侧栏面板的宿主只会前置窗口,不跳转。

卸载

dsh plugin --profile <你的 profile> remove dsh-session-organizer

再删掉 <DSH_HOME>\session-organizer\ 目录即可清干净。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit ee6dcb43e536

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout