dsh-sidebar-suite 0.1.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/locale/en.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "侧栏布局大师 · Sidebar Suite",
4
- "description": "三种布局把挤成一团的左侧栏理顺:一键切换、零改动宿主结构,默认布局就在本页顶部设置。|Three layouts, one click, zero DOM rewrites — set the startup default right at the top of this page.",
4
+ "description": "一款专门针对改进 DSH 左侧栏体验的插件:三种布局一键切换、会话默认全展开、临时会话用完即删、设置与反馈都在本页,强实用性;界面沿用宿主原生配色、圆角与间距,只加属性不重构宿主结构,克制又好看。|A plugin dedicated to a better DSH sidebar: one-click layouts, always-expanded sessions, disposable temp sessions and in-page settings/feedback — seriously practical; native colours, radii and spacing with zero host-DOM rewrites — restrained and good-looking.",
5
5
  "detail": "DETAIL.md"
6
6
  }
7
7
  }
package/locale/zh.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "侧栏布局大师 · Sidebar Suite",
4
- "description": "三种布局把挤成一团的左侧栏理顺:一键切换、零改动宿主结构,默认布局就在本页顶部设置。|Three layouts, one click, zero DOM rewrites — set the startup default right at the top of this page.",
4
+ "description": "一款专门针对改进 DSH 左侧栏体验的插件:三种布局一键切换、会话默认全展开、临时会话用完即删、设置与反馈都在本页,强实用性;界面沿用宿主原生配色、圆角与间距,只加属性不重构宿主结构,克制又好看。|A plugin dedicated to a better DSH sidebar: one-click layouts, always-expanded sessions, disposable temp sessions and in-page settings/feedback — seriously practical; native colours, radii and spacing with zero host-DOM rewrites — restrained and good-looking.",
5
5
  "detail": "DETAIL.md"
6
6
  }
7
7
  }
package/package.json CHANGED
@@ -1,60 +1,72 @@
1
- {
2
- "name": "dsh-sidebar-suite",
3
- "version": "0.1.3",
4
- "license": "MIT",
5
- "author": "Yonan",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/YONAN1269/dsh-sidebar-suite.git"
9
- },
10
- "homepage": "https://github.com/YONAN1269/dsh-sidebar-suite#readme",
11
- "bugs": {
12
- "url": "https://github.com/YONAN1269/dsh-sidebar-suite/issues"
13
- },
14
- "publishConfig": {
15
- "access": "public"
16
- },
17
- "description": "让左侧栏不再抢地盘:三种布局、一键切换、零改动宿主结构,默认布局在插件详情页顶部直接设置。|Tame the DSH sidebar: three layouts, one click, zero DOM rewrites — set your startup default right at the top of the plugin page.",
18
- "keywords": [
19
- "dsh-plugin",
20
- "dsh",
21
- "deepseek-harness",
22
- "sidebar",
23
- "layout",
24
- "plugin"
25
- ],
26
- "type": "module",
27
- "main": "lib/index.js",
28
- "exports": {
29
- ".": "./lib/index.js",
30
- "./client": "./lib/client.js",
31
- "./package.json": "./package.json",
32
- "./locale/*.json": "./locale/*.json",
33
- "./icon": "./icon.svg",
34
- "./DETAIL.md": "./DETAIL.md",
35
- "./assets/*": "./assets/*"
36
- },
37
- "files": [
38
- "lib/index.js",
39
- "lib/client.js",
40
- "cordis.patch.yml",
41
- "locale/*.json",
42
- "icon.svg",
43
- "README.md",
44
- "DETAIL.md",
45
- "LICENSE",
46
- "assets/*.jpg",
47
- "assets/*.png"
48
- ],
49
- "dsh": {
50
- "bundle": {
51
- "patch": "./cordis.patch.yml"
52
- },
53
- "client": {
54
- "platform": "web",
55
- "inject": [
56
- "@deepseek-ai/dsh-client-ui-sidebar"
57
- ]
58
- }
59
- }
60
- }
1
+ {
2
+ "name": "dsh-sidebar-suite",
3
+ "version": "0.2.5",
4
+ "license": "MIT",
5
+ "author": "Yonan",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/YONAN1269/dsh-sidebar-suite.git"
9
+ },
10
+ "homepage": "https://github.com/YONAN1269/dsh-sidebar-suite#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/YONAN1269/dsh-sidebar-suite/issues"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "description": "一款专门针对改进 DSH 左侧栏体验的插件:三种布局一键切换、默认布局在详情页顶部直接设、会话列表默认全展开、「临时会话」开原生会话且退出 / 每天定时自动删除、详情页三种反馈入口 —— 强实用性;界面沿用宿主原生配色、圆角与间距,只加属性与一条控制栏、不重构宿主结构 —— 克制美观。|A plugin dedicated to the DSH sidebar experience: one-click layouts, always-expanded sessions, disposable native temp sessions and in-page settings/feedback — seriously practical; native colours, radii and spacing with zero host-DOM rewrites — restrained and good-looking.",
18
+ "keywords": [
19
+ "dsh-plugin",
20
+ "dsh",
21
+ "deepseek-harness",
22
+ "sidebar",
23
+ "layout",
24
+ "temp-session",
25
+ "privacy",
26
+ "plugin"
27
+ ],
28
+ "type": "module",
29
+ "scripts": {
30
+ "test": "node tests/test_020.mjs && node tests/test_022.mjs && node tests/test_023.mjs && node tests/test_024.mjs && node tests/test_025.mjs",
31
+ "check": "node --check lib/index.js && node --check lib/client.js && node --check lib/temp-session-host.mjs && npm pack --dry-run"
32
+ },
33
+ "main": "lib/index.js",
34
+ "exports": {
35
+ ".": "./lib/index.js",
36
+ "./client": "./lib/client.js",
37
+ "./package.json": "./package.json",
38
+ "./locale/*.json": "./locale/*.json",
39
+ "./icon": "./icon.svg",
40
+ "./DETAIL.md": "./DETAIL.md",
41
+ "./assets/*": "./assets/*"
42
+ },
43
+ "files": [
44
+ "lib/index.js",
45
+ "lib/client.js",
46
+ "lib/temp-session-host.mjs",
47
+ "temp-session-config.txt",
48
+ "cordis.patch.yml",
49
+ "locale/*.json",
50
+ "icon.svg",
51
+ "README.md",
52
+ "DETAIL.md",
53
+ "使用说明.md",
54
+ "CHANGELOG.md",
55
+ "screenshots.json",
56
+ "LICENSE",
57
+ "assets/*.jpg",
58
+ "assets/*.png",
59
+ "assets/screenshots/*.png"
60
+ ],
61
+ "dsh": {
62
+ "bundle": {
63
+ "patch": "./cordis.patch.yml"
64
+ },
65
+ "client": {
66
+ "platform": "web",
67
+ "inject": [
68
+ "@deepseek-ai/dsh-client-ui-sidebar"
69
+ ]
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,5 @@
1
+ [
2
+ "assets/screenshots/screenshot-1.png",
3
+ "assets/screenshots/screenshot-2.png",
4
+ "assets/screenshots/screenshot-3.png"
5
+ ]
@@ -0,0 +1,53 @@
1
+ # 临时会话(0.2.0)· 用记事本改等号右边,保存后「完全退出并重开 DSH」才生效。
2
+ # Temporary session (0.2.0) · edit the values after =, then FULLY QUIT and reopen DSH.
3
+ # 等号左边和 # 开头的行不要动。Do not change the keys or the # lines.
4
+ #
5
+ # 说明:临时会话就是左侧栏里的一个真实 DSH 会话(用原生会话窗口),
6
+ # 退出 DSH 时删除。DELETE_ON_EXIT=off 时不再删除,它就变成普通会话。
7
+ # Notes: a temporary session is a REAL DSH session in the sidebar using the
8
+ # native conversation window, deleted when you quit. DELETE_ON_EXIT=off turns
9
+ # that off, and it becomes an ordinary session.
10
+
11
+ # 是否在「新会话」按钮旁边显示「临时」按钮 / Show the Temp button beside New Session
12
+ SHOW_TEMP_BUTTON=on
13
+
14
+ # 装了「dsh-deepseek-chat(CHAT / HARNESS 切换)」时,它在 CHAT 官网模式会接管
15
+ # 侧栏和主区域。hide = CHAT 模式自动隐藏「临时」按钮,切回 HARNESS 再出现(推荐);
16
+ # show = 两种模式都显示按钮。
17
+ # Coexistence with dsh-deepseek-chat: hide = hide the Temp button while that plugin
18
+ # is in CHAT (official website) mode, show = always show it.
19
+ TEMP_IN_CHAT_MODE=hide
20
+
21
+ # 「临时」按钮的摆法 / How the Temp button is laid out
22
+ # pair = 和「新会话」并排(默认,会把这行稍微缩窄)
23
+ # own = 自己单独占一行,完全不改「新会话」的宽度(别的插件把侧栏顶部挤乱时用这个)
24
+ # pair = beside New Session (default, narrows that row slightly)
25
+ # own = its own full-width row, leaves New Session untouched (use when another
26
+ # plugin's header row fights the pair layout)
27
+ TEMP_BUTTON_STYLE=pair
28
+
29
+ # 会话列表是否默认全部展开 / Always show every session in the sidebar
30
+ # on = 自动展开所有会话,并隐藏「展开其余 N 个会话」按钮(默认)
31
+ # off = 保持 DSH 原来的折叠行为,那个按钮照常显示
32
+ # on = expand every group and hide the "Show N more sessions" button (default)
33
+ # off = keep DSH's own folding and leave that button visible
34
+ EXPAND_ALL_SESSIONS=on
35
+
36
+ # 退出 DSH 时删除临时会话 / Delete temporary sessions when DSH quits
37
+ # on = 退出时删除(默认);off = 不删除,临时会话就变成普通会话
38
+ DELETE_ON_EXIT=on
39
+
40
+ # 每天定时清理(和上面那条互不影响,可以同时开)/ Daily cleanup
41
+ # on = 每天到 SCHEDULE_TIME 时把临时会话删掉(DSH 一直开着也不会越积越多)
42
+ # off = 不定时清理
43
+ # on = delete every temporary session at SCHEDULE_TIME; off = no daily cleanup
44
+ SCHEDULE_DELETE=off
45
+
46
+ # 定时清理的时间(24 小时制 HH:MM,本机时间)/ Cleanup time (24h HH:MM, local time)
47
+ # 例:03:00 = 每天凌晨 3 点。正在使用的那个会话会跳过,5 分钟后再试一次。
48
+ # e.g. 03:00. A session that is in use right now is skipped and retried 5 min later.
49
+ SCHEDULE_TIME=03:00
50
+
51
+ # 最多保留多少个临时会话(超出后自动删掉最早的)
52
+ # How many temporary sessions to keep (the oldest are deleted beyond this)
53
+ MAX_KEPT=20
@@ -0,0 +1,418 @@
1
+ # dsh-sidebar-suite 使用说明
2
+
3
+ **适用版本:v0.2.4**(最后更新 2026-11-10)
4
+
5
+ **这是一款专门针对改进 DSH 左侧栏体验的插件** —— 只管左侧栏,不碰会话内容、不换模型;设计上既要「强实用性」(少点几下、少滚几屏),也要「美观性」(沿用 DSH 原生观感,不另起一套皮肤)。
6
+
7
+ 落到手上就是两件事:
8
+
9
+ 1. **管侧栏布局** —— 左侧栏里「扩展面板」和「工作区」原本抢同一块地方,插件给你三种摆法,随时切;会话列表默认全部展开,不用再点「展开其余」。
10
+ 2. **加一个「临时」按钮** —— 点一下在侧栏开一个**真正的会话**,聊完退出 DSH 自动删掉(也可以设成每天定时删)。
11
+
12
+ 下面按「你实际要动手的地方」写。**所有需要改的文件,都给了完整路径 + 行号 + 原文**,照抄就行。
13
+
14
+ ---
15
+
16
+ ## 一、先记住三条铁律
17
+
18
+ ### 1. 改完必须「彻底退出」DSH,不是关窗口
19
+
20
+ 插件的客户端代码**不会热重载**。关掉窗口只是收到托盘,插件还是旧的。
21
+
22
+ 正确做法:
23
+
24
+ 1. 看屏幕右下角托盘 → 找到 DSH 图标 → 右键 → **退出 / Quit**
25
+ 2. `Ctrl+Shift+Esc` 打开任务管理器 → 「详细信息」里确认 **没有** `DeepSeek Harness` 进程
26
+ 3. 重新双击 DSH 图标打开
27
+
28
+ 第 2 步别省。托盘退出偶发残留,只要进程还在,你看的还是旧代码。
29
+
30
+ ### 2. 只改配置文件里的「等号右边」
31
+
32
+ 配置文件是纯文本,用 Windows 记事本打开即可。**等号左边的名字、`#` 开头的说明行,都不要动**。
33
+
34
+ ### 3. 别在 profile 里重复挂载插件
35
+
36
+ 插件自带 `cordis.patch.yml`,装好就自动挂上了。**不要**再往 `C:\Users\12691\.dsh\profiles\desktop\cordis.patch.yml` 里手写一行 `- id: dsh-sidebar-suite`,否则会加载两次、侧栏出现两条控制栏。
37
+
38
+ ---
39
+
40
+ ## 二、文件都在哪
41
+
42
+ | 用途 | 完整路径 |
43
+ | --- | --- |
44
+ | 插件源码(改代码/看文档都在这) | `C:\Users\12691\OneDrive\文档\deepseek-harness\default-workspace\dsh-sidebar-suite` |
45
+ | **插件配置(最常改)** | 上面目录下的 `temp-session-config.txt` |
46
+ | profile 里的安装位置(软链,改源码即生效) | `C:\Users\12691\.dsh\profiles\desktop\node_modules\dsh-sidebar-suite` |
47
+ | DSH 启动配置(改默认布局、cookie 寿命) | `C:\Users\12691\.dsh\profiles\desktop\cordis.patch.yml` |
48
+ | 桌面一键修复脚本 | `C:\Users\12691\OneDrive\桌面\DSH启动失败-一键修复.bat` |
49
+
50
+ 因为 profile 里是**软链**(`link:`),所以改 `OneDrive` 那份源码,重启 DSH 就是新的,**不需要重新安装**。
51
+
52
+ ---
53
+
54
+ ## 三、侧栏布局
55
+
56
+ ### 3.1 三种摆法
57
+
58
+ | 模式 | 名字 | 长什么样 | 适合 |
59
+ | --- | --- | --- | --- |
60
+ | `a` | 折叠 | 两组各自可以收起/展开 | 只用一个,另一组收起来 |
61
+ | `b` | 标签页(**出厂默认**) | 两组共用一栏,点标签互斥切换 | 侧栏窄、想省地方 |
62
+ | `c` | 浮层 | 工作区常驻,扩展面板浮在上面 | 经常两个都要看 |
63
+
64
+ ### 3.2 临时切一下(只影响这次)
65
+
66
+ 侧栏顶部有一排很小的文字按钮:
67
+
68
+ ```
69
+ 折叠 · 标签页 · 浮层 │ 显示工作区 / 展开扩展 · 换布局
70
+ ```
71
+
72
+ - 点 `折叠 / 标签页 / 浮层` = 切换布局。**只对本次会话有效**,下次启动回到默认值。
73
+ - 中间那条竖线后面的按钮 = 在当前布局下切换「看哪一组」。
74
+ - `换布局` = 按顺序轮换三种。**侧栏宽度小于 300px 时会自动隐藏**(放不下)。
75
+
76
+ > 故意不做记忆:临时切换不写盘、不写 localStorage,避免你在窄屏随手一点把默认布局改坏了。
77
+
78
+ ### 3.3 改「启动时的默认布局」(两路,选一条)
79
+
80
+ **路线 A(推荐,不用改文件、不用重启)**
81
+
82
+ 打开 DSH → 插件 → `dsh-sidebar-suite` → 详情页**最上面**有三张布局卡片。点你想用的那个,立刻成为新的启动默认。
83
+
84
+ (插件用官方的 `configForms` 配置服务写入,属于正规改法。)
85
+
86
+ **路线 B(改文件)**
87
+
88
+ - 文件:`C:\Users\12691\.dsh\profiles\desktop\cordis.patch.yml`
89
+ - 第 **721** 行,原文:
90
+
91
+ ```yaml
92
+ mode: b
93
+ ```
94
+
95
+ - 改成 `mode: a` 或 `mode: c`
96
+ - 保存 → 彻底退出 DSH → 重开
97
+
98
+ 顺手看下第 **717–725** 行,这一块现在长这样(**只改第 721 行**,其它别动):
99
+
100
+ ```yaml
101
+ 717 - id: dsh-sidebar-suite
102
+ 718 disabled: false
103
+ 719 name: dsh-sidebar-suite
104
+ 720 config:
105
+ 721 mode: b # ← 只改这一行:a = 折叠, b = 标签页, c = 浮层
106
+ 722 showQuickSwitch: false
107
+ 723 tab: ws
108
+ 724 foldExt: true
109
+ 725 foldWs: true
110
+ ```
111
+
112
+ (`showQuickSwitch: false` 就是「换布局」那个按钮不显示;想让它出现就改成 `true`。)
113
+
114
+ ---
115
+
116
+ ## 四、临时会话(重点)
117
+
118
+ ### 4.1 它到底是什么
119
+
120
+ 点「**临时**」= **在左侧栏里开一个真正的 DSH 会话**。
121
+
122
+ - 就在侧栏,和别的会话并排,**可以切走做别的事再切回来**(多任务)
123
+ - 用 **DSH 原生会话窗口**:原生消息流、原生输入框、原生的工具调用/文件读写/命令执行
124
+ - 模型就是你当前在 DSH 里选的那个,插件**不自己调模型**
125
+ - 行首带一个「**临时**」小标签,一眼能认出来
126
+ - **退出 DSH 时删掉**
127
+
128
+ ### 4.2 怎么用
129
+
130
+ 1. 看侧栏顶部「新会话」按钮 —— 它右边挨着一个「**临时**」按钮
131
+ 2. 点「临时」→ 侧栏立刻多出一个会话,并弹出提示「临时会话已就绪」
132
+ 3. 直接聊,跟普通会话没区别
133
+
134
+ > 按钮和「新会话」并排(默认 `pair`)。觉得挤,见 5.3 改成单独一行。
135
+
136
+ ### 4.3 什么时候删、怎么保证删干净
137
+
138
+ **两种删除时机,可以只开一个,也可以都开**(在详情页里设,见 5.1):
139
+
140
+ - **退出 DSH 时删除**(默认开)
141
+ - **每天定时清理**(默认关,时间可自选,例如每天 `03:00`)—— DSH 一直开着也不会越积越多
142
+
143
+ DSH **没有公开的「删除会话」接口**(官方界面的「归档」只是从列表里藏起来,文件还在磁盘上)。所以删除是插件自己做的,**三道保险**:
144
+
145
+ 1. **退出时**:进程退出事件里同步删掉会话目录
146
+ 2. **下次启动时**:再扫一遍上次的记录,把没删干净的补删 —— 即使用任务管理器**强杀** DSH,下次打开也会清掉
147
+ 3. **删不掉时**:文件被占用就先归档隐藏,下次启动再删
148
+
149
+ 被删的会话在 DSH 的搜索索引里也会一起消失(索引按磁盘上实际存在的会话重建,不会留幽灵)。
150
+
151
+ ### 4.4 一条必须知道的边界
152
+
153
+ **退出之前,这个会话和普通会话一样是写在磁盘上的。**
154
+
155
+ 位置:`C:\Users\12691\.dsh\sessions\<项目编码>\<会话ID>\`
156
+
157
+ 为什么必须这样:要用原生窗口、还要能中途切走再切回,它就只能是真会话。如果要求「连磁盘都不许写」,那就只能是不在侧栏、不能多任务的纯内存方案 —— 和你要的正好相反。
158
+
159
+ ### 4.5 想让它别删
160
+
161
+ 配置第 38 行 `DELETE_ON_EXIT=off`(见下一节)。关掉后不删除,临时会话就等于普通会话。
162
+
163
+ ---
164
+
165
+ ## 五、配置文件逐项说明
166
+
167
+ **文件:** `C:\Users\12691\OneDrive\文档\deepseek-harness\default-workspace\dsh-sidebar-suite\temp-session-config.txt`
168
+
169
+ 用记事本打开,**只改等号右边**,保存后**彻底退出 DSH 再重开**。
170
+
171
+ | 行号 | 原文 | 可填的值 | 作用 |
172
+ | --- | --- | --- | --- |
173
+ | **12** | `SHOW_TEMP_BUTTON=on` | `on` / `off` | 要不要显示「临时」按钮 |
174
+ | **19** | `TEMP_IN_CHAT_MODE=hide` | `hide` / `show` | 装了 `dsh-deepseek-chat` 时,处于 CHAT 官网模式要不要显示按钮 |
175
+ | **27** | `TEMP_BUTTON_STYLE=pair` | `pair` / `own` | `pair` = 和「新会话」并排;`own` = 单独占一整行,完全不改「新会话」 |
176
+ | **34** | `EXPAND_ALL_SESSIONS=on` | `on` / `off` | `on` = 会话列表全部展开、隐藏「展开其余 N 个会话」;`off` = 恢复 DSH 原来的折叠 |
177
+ | **38** | `DELETE_ON_EXIT=on` | `on` / `off` | **退出 DSH 时**删不删 |
178
+ | **44** | `SCHEDULE_DELETE=off` | `on` / `off` | **每天定时清理**要不要开 |
179
+ | **49** | `SCHEDULE_TIME=03:00` | `HH:MM`(如 `03:00`、`23:30`) | 定时清理的时间点,24 小时制、本机时间 |
180
+ | **53** | `MAX_KEPT=20` | 1–200 | 最多同时留几个临时会话,超了先删最早的 |
181
+
182
+ > 这一整节都可以不动手改文件 —— 详情页有图形化开关,见 5.1。两种改法写的是**同一份文件**,不会打架。
183
+
184
+ ### 5.1 删除时机:在详情页里设(推荐,不用改文件)
185
+
186
+ 打开 DSH → 插件 → `dsh-sidebar-suite` → 详情页最上面那张卡,往下看会有一块「**临时会话自动删除**」:
187
+
188
+ ```
189
+ 临时会话自动删除
190
+ 决定临时会话什么时候被清掉。写入插件设置文件,改完立即生效,不用重启。
191
+
192
+ 退出 DSH 时删除 [开] / [关]
193
+ 每天定时清理,时间 [开] / [关] [ 03:00 ]
194
+ 正在使用的那个会话会跳过,5 分钟后再试一次。
195
+ ```
196
+
197
+ 两个开关**互相独立**,可以随便组合:
198
+
199
+ | 你的用法 | 建议设置 |
200
+ | --- | --- |
201
+ | 每天用完就退出 DSH | 「退出时删除」= **开**;定时 = 关(默认就这样) |
202
+ | DSH 一开好几天不关 | 「退出时删除」随意;「每天定时清理」= **开**,时间设凌晨 `03:00` |
203
+ | 两个都想要 | 都开。退出时清一次,没退出的话到点再清一次 |
204
+
205
+ **时间怎么填**:点那个时间框,选小时和分钟即可(24 小时制,本机时间)。填 `03:00` 就是每天凌晨 3 点,`23:30` 就是晚上 11 点半。
206
+
207
+ **正在用的会话不会被误删**:定时清理会跳过最近 3 分钟内有动静的会话(打开着的会话一直在写记录),5 分钟后再试一次。所以万一你凌晨 3 点还开着临时会话聊天,它不会当场消失。
208
+
209
+ **改完立即生效**,不用重启 DSH(这条和改文件不一样)。保存成功的标志是下面出现一行「已保存」,两秒后自己消失。
210
+
211
+ ### 5.2 三个最常用的改法
212
+
213
+ **① 嫌两个按钮挤 → 让「临时」单独占一行**
214
+
215
+ - 第 **27** 行:`TEMP_BUTTON_STYLE=pair` 改成 `TEMP_BUTTON_STYLE=own`
216
+ - 保存 → 彻底退出 DSH → 重开
217
+ - 效果:「临时」变成自己一整行,**「新会话」的宽度和高度一个像素都不动**
218
+
219
+ **② 不想让临时会话自动删**
220
+
221
+ - 第 **38** 行:`DELETE_ON_EXIT=on` 改成 `DELETE_ON_EXIT=off`
222
+
223
+ **③ 想多开几个临时会话**
224
+
225
+ - 第 **53** 行:`MAX_KEPT=20` 改成比如 `MAX_KEPT=50`(上限 200)
226
+
227
+ ### 5.3 为什么偶尔看不到「临时」按钮
228
+
229
+ 按概率从高到低:
230
+
231
+ 1. **侧栏被折叠成窄条**(宽度约小于 170px)—— 放不下,按钮和「临时」标签都会自动收起。把侧栏拉宽就回来。
232
+ 2. **`dsh-deepseek-chat` 处于 CHAT 官网模式** —— 默认(`hide`)让位给官网侧栏,切回 HARNESS 自动出现。
233
+ 3. 第 12 行被改成了 `off`。
234
+
235
+ ### 5.4 提示「创建临时会话失败」
236
+
237
+ 弹窗会跟着写具体原因。如果是「当前 DSH 版本没有暴露会话导航服务」,说明 DSH 版本太旧(插件依赖 `uiWorkspace` 这个会话导航服务)。其它原因,先彻底退出重开一次;还不行,把弹窗文字截图反馈。
238
+
239
+ ### 5.5 会话列表不再折叠(0.2.4 新增)
240
+
241
+ DSH 原本每个工作区只先显示 **5 个会话**,剩下的会折成一行「**展开其余 4 个会话**」这样的按钮。装了本插件后默认就不用管它了:
242
+
243
+ - 每次侧栏刷新,插件会**按宿主自己的按钮**把每个工作区一路展开到全部显示(不是改宿主 DOM,也不是假造列表)。
244
+ - 「展开其余 N 个会话」/展开后的「收起」按钮**整块隐藏**,页面上不会再出现。
245
+ - 新建会话、切工作区、DSH 重开后会自动重新展开,不用手动点。
246
+
247
+ 想恢复 DSH 原来的折叠:
248
+
249
+ 1. 文件:`C:\Users\12691\OneDrive\文档\deepseek-harness\default-workspace\dsh-sidebar-suite\temp-session-config.txt`
250
+ 2. 第 **34** 行,原文:`EXPAND_ALL_SESSIONS=on`
251
+ 3. 改成 `EXPAND_ALL_SESSIONS=off`,保存
252
+ 4. **托盘图标彻底退出 DSH**(任务管理器确认没有 DeepSeek Harness 进程),再重新打开 —— 客户端代码不会热重载
253
+
254
+ 依据(在 `D:\program\harness\resources\app.asar` 里核对过):`@deepseek-ai/dsh-client-ui-workspace/lib/client.js` 里 `"sessions.expand": "展开其余 {n} 个会话"`,按钮是 `<button data-row-key="overflow:<分组>">`,点一次水位线 +5,全部显示后 `aria-expanded` 变成 `true`、文字变成「收起」。
255
+
256
+ ---
257
+
258
+ ## 六、和 dsh-deepseek-chat(CHAT / HARNESS 切换)共存
259
+
260
+ 那个插件在 **CHAT 官网模式**下会把侧栏和主区域换成 DeepSeek 官网网页,并且自己在侧栏顶部加一行 CHAT/HARNESS 切换。两个插件都想用侧栏顶上那一行,就会抢位置。
261
+
262
+ **已经踩过并修好的坑(0.2.0 → 0.2.1)**:它接管侧栏前会先「认」结构,要求**侧栏根节点下正好只有 1 个 `<button>`**。0.2.0 把「临时」按钮直接插在根节点下,变成 2 个,它就弹「当前侧栏不兼容:顶部新会话仍使用 HARNESS」,并且不再接管新会话按钮。0.2.1 把「临时」按钮装进自己的一层 `<div>` 里,根节点下仍是 1 个 `<button>`,提示消失、切换正常。
263
+
264
+ 如果日后还有别的插件来数按钮,按三档走:
265
+
266
+ | 档 | 做法 | 适合 |
267
+ | --- | --- | --- |
268
+ | 1(默认,推荐) | **自动让开**:检测到 CHAT 模式就隐藏「临时」按钮,并把缩窄「新会话」的样式全部失效,那一行完整还给官网侧栏;切回 HARNESS 自动恢复 | 两个都要用 |
269
+ | 2 | 第 27 行改 `TEMP_BUTTON_STYLE=own`,「临时」单独一行,**零侵入** | 还是挤 |
270
+ | 3 | 插件管理里直接把 `dsh-deepseek-chat` 关掉 | 基本不用 CHAT 官网模式 |
271
+
272
+ 还要明白一件事:**CHAT 官网模式和 HARNESS 是两条链路**(一个是 DeepSeek 网页账号,一个是 DSH 本地会话)。临时会话是 DSH 会话,所以在 CHAT 模式下它本来就该让位 —— 这不是故障。
273
+
274
+ ---
275
+
276
+ ## 七、常见问题
277
+
278
+ ### Q1. DSH 打不开,窗口标题是「DeepSeek Harness 无法使用」
279
+
280
+ **这是 DSH 自己的问题,跟本插件无关。**(2026-11-10 排查确认)
281
+
282
+ 原因:桌面版每次启动都换一个随机端口,鉴权服务按「host:端口」签发一条 `dsh-auth-*` cookie,默认寿命 30 天且**从不清理**。攒到约 **71 条**时,欢迎页请求头超过 Node 的 16 KB 上限 → 宿主返回 **HTTP 431** → Electron 报 `desktop welcome: Web authentication failed`。
283
+
284
+ **自救(30 秒):**
285
+
286
+ 1. 托盘彻底退出 DSH,任务管理器确认进程没了
287
+ 2. 双击桌面的 `DSH启动失败-一键修复.bat`
288
+ 3. 它会把 cookie 库**移到备份目录**(不是删除):`C:\Users\12691\.dsh\backups\cookie-rescue-<日期时间>\`
289
+ 4. 脚本提示 OK 后,正常双击 DSH 打开(会自动生成一个空的新库,登录状态和会话都不受影响)
290
+
291
+ **防复发(已经做了):** profile 里把 cookie 寿命压到了 7 天。
292
+
293
+ - 文件:`C:\Users\12691\.dsh\profiles\desktop\cordis.patch.yml`
294
+ - 第 **743–746** 行:
295
+
296
+ ```yaml
297
+ - id: connection
298
+ name: "@deepseek-ai/dsh-client-connection"
299
+ config:
300
+ cookieMaxAgeDays: 7
301
+ ```
302
+
303
+ - 想更紧改第 **746** 行的 `7` 为 `1`,想放宽改成 `14`
304
+ - 保存 → 彻底退出 DSH → 重开
305
+
306
+ ### Q2. 弹出「当前侧栏不兼容:顶部新会话仍使用 HARNESS」
307
+
308
+ 0.2.0 的老毛病,**0.2.1 已修**。先确认版本(插件详情页能看到版本号),是 0.2.1 就彻底退出重开一次。如果还在弹,把第 27 行改成 `own` 再重开(见 5.2 ①)。
309
+
310
+ ### Q3. 找不到「临时」按钮
311
+
312
+ 看 5.2:窄栏收起 → CHAT 模式让位 → 配置关了,按顺序排查。
313
+
314
+ ### Q4. 点了「临时」,侧栏没反应
315
+
316
+ 1. 等 1–2 秒,创建要调宿主的会话服务
317
+ 2. 看有没有弹红色提示,里面写着原因
318
+ 3. 彻底退出 DSH 再重开(不是关窗口)
319
+
320
+ ### Q5. 布局切了,下次开机又变回去
321
+
322
+ 正常。侧栏上切换**只对本次会话有效**,这是故意的。要改默认请用 3.3 的路线 A 或 B。
323
+
324
+ ---
325
+
326
+ ## 八、改坏了怎么回退
327
+
328
+ 历次改动前的完整备份都在这:
329
+
330
+ ```
331
+ C:\Users\12691\.dsh\backups\20261110-sidebar-suite-before-0.1.5\
332
+ C:\Users\12691\.dsh\backups\20261110-sidebar-suite-before-0.1.6\
333
+ C:\Users\12691\.dsh\backups\20261110-sidebar-suite-before-0.1.7\
334
+ C:\Users\12691\.dsh\backups\20261110-cookie-pileup\ ← 含 Cookies.bak 和 cordis.patch.yml.bak
335
+ ```
336
+
337
+ 只想回退配置的话,最省事的是把 `temp-session-config.txt` 里改过的行改回上表的默认值,再彻底退出重开。
338
+
339
+ ---
340
+
341
+ ## 九、反馈(有 bug,或者想加功能)
342
+
343
+ 插件详情页最下面有一块「**反馈 · Feedback**」,就是你遇到问题时该去的地方:
344
+
345
+ 1. 打开 **插件 → dsh-sidebar-suite → 详情页**
346
+ 2. 滚到最下面,在「反馈」的输入框里写一句(比如「点临时之后侧栏没反应」)
347
+ 3. 点下面三个按钮之一
348
+
349
+ | 按钮 | 会发生什么 | 反馈落到哪 |
350
+ | --- | --- | --- |
351
+ | **复制反馈内容** | 把「你写的描述 + 环境信息」拼成一段文字放进剪贴板,你粘到微信 / QQ / 邮件都行 | **只进剪贴板,不会自动发送** |
352
+ | **在 GitHub 提 issue** | 用系统默认浏览器打开一个**已经填好标题和正文**的新 issue 页面,检查一下点「Submit」 | `https://github.com/YONAN1269/dsh-sidebar-suite/issues` |
353
+ | **插件市场评论区** | 打开 `dsh-market` 给这个插件规定的那条讨论(卡片上的「评论」就是它) | `https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/discussions?discussions_q=%22plugin%3AYONAN1269%2Fdsh-sidebar-suite%22` |
354
+
355
+ 前两个按钮都会自动带上这些,省掉「你是什么环境」这一轮扯皮:
356
+
357
+ - 插件版本(读的是 `package.json`,不会和你实际跑的对不上)
358
+ - DSH 桌面客户端版本、Node / Electron 版本
359
+ - 操作系统与位数
360
+ - 当前默认布局
361
+ - 临时按钮模式、临时会话数量、后端路由条数
362
+ - 最近一次清理的结果和最近一次错误
363
+
364
+ 另外两点:
365
+
366
+ - **草稿会留在本地**:输入框里写的东西存在浏览器本地(`localStorage` 的 `dsh-sidebar-suite:feedback-draft`),关了页面再回来还在。
367
+ - **不用 GitHub 也行**:如果浏览器打不开 GitHub,点「复制反馈内容」,粘到任何能联系到作者的地方。
368
+ - 创建临时会话失败时,右下角的红色提示末尾会写「可在插件详情页反馈」,指的就是这块。
369
+
370
+ 想直接开网页:问题去 [Issues](https://github.com/YONAN1269/dsh-sidebar-suite/issues/new/choose),聊用法去 [Discussions](https://github.com/YONAN1269/dsh-sidebar-suite/discussions)。
371
+
372
+ ### 9.1 作者(你)在哪儿接收反馈
373
+
374
+ | 用户点了什么 | 去哪里看 | 会不会自动通知你 |
375
+ | --- | --- | --- |
376
+ | 在 GitHub 提 issue | [本仓库 Issues](https://github.com/YONAN1269/dsh-sidebar-suite/issues) | **会**(前提:账号没关掉自动 watch)。GitHub 官方文档原文:「By default, you also automatically watch all repositories that you create and are owned by your personal account.」 |
377
+ | 插件市场评论区 | [目录仓库的 Discussions](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/discussions?discussions_q=%22plugin%3AYONAN1269%2Fdsh-sidebar-suite%22)(标题带 `plugin:YONAN1269/dsh-sidebar-suite`) | **不会自动** —— 它在别人的仓库里,你要 watch 那个仓库或那条讨论才有通知 |
378
+ | 复制反馈内容 | 没有固定位置 | **不会**,用户得主动粘给你 |
379
+
380
+ **统一收件箱**:`https://github.com/notifications`(所有被 watch 的仓库、被 @ 的消息都在这里)。
381
+
382
+ **确认自己能收到(按 GitHub 官方文档 "Configuring notifications" 的步骤)**:
383
+
384
+ 1. 浏览器打开 `https://github.com/YONAN1269/dsh-sidebar-suite`
385
+ 2. 页面**右上角的 `Watch` 下拉菜单**,选 `All Activity`;只想收 issue 就选 `Custom` → 勾 `Issues`(和 `Discussions`,如果开了)
386
+ 3. 同一个账号的通知邮箱在 `https://github.com/settings/notifications` 里确认(需要登录,我这边看不到登录后的界面,以上按钮名称来自 GitHub 官方文档)
387
+ 4. 以后看 `https://github.com/notifications` 即可
388
+
389
+ **关于「有没有官方 / 市场规定的入口」**:DSH 宿主本身没有给第三方插件规定反馈字段(核对过 `D:\program\harness\resources\app.asar` 里的插件管理详情页,它不读 `package.json` 的 `bugs`,也没有反馈按钮);`bugs.url` 是 npm 的标准字段,npm 包页和命令行工具会用,DSH 详情页不显示。真正由**插件市场**规定的是 `dsh-market` 的「评论」:每个插件一条 GitHub Discussion,放在公开目录仓库 `awesome-dsh-plugin/awesome-dsh-plugin`,用 `plugin:<owner/repo>` 当唯一标题关键词;giscus 官方说明「If a matching discussion cannot be found, the giscus bot will automatically create a discussion the first time someone leaves a comment or reaction.」。所以 0.2.4 把这个入口直接做进了详情页,不再自造第四个地方。
390
+
391
+ **如果市场评论区打开是空的**:显示「There are no matching discussions.」说明还没人留过言。回 DSH 的插件市场 → 找到 `dsh-sidebar-suite` 卡片 → 点「评论」,第一条留言会自动把讨论建起来;之后详情页那个按钮就能直接打开了。
392
+
393
+ ---
394
+
395
+ ## 十、速查卡
396
+
397
+ | 我想…… | 去哪 |
398
+ | --- | --- |
399
+ | **有问题、想加功能** | 详情页最下面的「**反馈**」框(见第九节) |
400
+ | **想看用户反馈到哪了** | [本仓库 Issues](https://github.com/YONAN1269/dsh-sidebar-suite/issues) / [github.com/notifications](https://github.com/notifications);市场评论见 9.1 |
401
+ | **在插件市场里留言** | 详情页「反馈」框的「**插件市场评论区**」按钮 |
402
+ | **会话不想再点「展开其余」** | 默认已经全部展开;想恢复折叠见 5.5 |
403
+ | 换布局(这次) | 侧栏顶部点 `折叠 / 标签页 / 浮层` |
404
+ | 换布局(以后每次) | 插件 → dsh-sidebar-suite → 详情页最上面三张卡片 |
405
+ | **设临时会话什么时候自动删** | 详情页「**临时会话自动删除**」那块的两个开关(见 5.1) |
406
+ | **让它每天凌晨 3 点清一次** | 同上:开「每天定时清理」,时间选 `03:00` |
407
+ | 让「临时」按钮单独一行 | `temp-session-config.txt` 第 **27** 行改 `own` |
408
+ | 关掉「临时」按钮 | 同上第 **12** 行改 `off` |
409
+ | 临时会话别自动删 | 同上第 **38** 行改 `off`(定时清理也记得关第 **44** 行) |
410
+ | 恢复 DSH 原来的会话折叠 | 同上第 **34** 行 `EXPAND_ALL_SESSIONS=on` 改 `off` |
411
+ | DSH 打不开(无法使用) | 桌面 `DSH启动失败-一键修复.bat` |
412
+ | 让改文件生效 | 托盘退出 → 任务管理器确认无进程 → 重开 |
413
+
414
+ ---
415
+
416
+ 作者:Yonan · MIT · 仓库 `https://github.com/YONAN1269/dsh-sidebar-suite`
417
+
418
+ 如果你在插件详情页看到收款码:**完全自愿,无任何回报承诺**。