dsh-sidenote 0.5.1 → 0.6.1
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/README.md +50 -66
- package/lib/client.js +415 -133
- package/lib/types/client/host/contracts.d.ts +2 -2
- package/lib/types/client/host/navigation.d.ts +3 -0
- package/lib/types/client/host/sessionList.d.ts +8 -0
- package/lib/types/client/host/sessionVisibility.d.ts +22 -0
- package/lib/types/client/locales.d.ts +3 -0
- package/lib/types/client/sidechat/lifecycle.d.ts +5 -2
- package/lib/types/client/sidechat/recentClosed.d.ts +2 -0
- package/lib/types/client/sidechat/visibility.d.ts +3 -0
- package/package.json +1 -1
- package/src/client/host/contracts.ts +2 -1
- package/src/client/host/navigation.ts +11 -0
- package/src/client/host/sessionList.tsx +66 -0
- package/src/client/host/sessionVisibility.ts +89 -0
- package/src/client/index.tsx +2 -0
- package/src/client/locales.ts +6 -0
- package/src/client/sidechat/ComposerBar.tsx +5 -0
- package/src/client/sidechat/SideChatPanel.tsx +4 -6
- package/src/client/sidechat/lifecycle.ts +33 -16
- package/src/client/sidechat/recentClosed.ts +7 -0
- package/src/client/sidechat/sidechat.module.css +18 -0
- package/src/client/sidechat/visibility.tsx +35 -0
package/README.md
CHANGED
|
@@ -1,109 +1,93 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(max-width: 640px)" srcset="docs/assets/hero-compact.svg">
|
|
4
|
+
<img src="docs/assets/hero.svg" alt="dsh-sidenote:思路可以分岔,主线始终向前。划选注释、侧边追问,再把结论带回来。" width="100%">
|
|
5
|
+
</picture>
|
|
3
6
|
</p>
|
|
4
7
|
|
|
5
8
|
<p align="center">
|
|
6
|
-
|
|
9
|
+
为 <b>DeepSeek Harness</b> 加上侧边聊天与划选注释。<br>
|
|
10
|
+
读到一个疑问,就在旁边聊透;有了结论,再带回正在推进的任务。
|
|
7
11
|
</p>
|
|
8
12
|
|
|
9
13
|
<p align="center">
|
|
10
|
-
<a href="
|
|
11
|
-
<a href="
|
|
12
|
-
<a href="
|
|
13
|
-
<
|
|
14
|
+
<a href="#安装">安装</a> ·
|
|
15
|
+
<a href="#看看它如何工作">功能演示</a> ·
|
|
16
|
+
<a href="docs/usage.md">使用指南</a> ·
|
|
17
|
+
<a href="README_EN.md">English</a>
|
|
14
18
|
</p>
|
|
15
19
|
|
|
16
20
|
<p align="center">
|
|
17
|
-
<a href="
|
|
21
|
+
<a href="https://www.npmjs.com/package/dsh-sidenote"><img src="https://img.shields.io/npm/v/dsh-sidenote?color=3B5BFD&label=npm" alt="npm version"></a>
|
|
22
|
+
<a href="https://github.com/g-yixuan/dsh-sidenote/actions/workflows/ci.yml"><img src="https://github.com/g-yixuan/dsh-sidenote/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
23
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-60708E" alt="MIT license"></a>
|
|
18
24
|
</p>
|
|
19
25
|
|
|
20
|
-

|
|
27
|
+
|
|
28
|
+
<p align="center"><sub>dsh-sidenote 0.6.0 · DSH 0.2.0-rc.2 · 原生侧栏 · 浅色主题</sub></p>
|
|
21
29
|
|
|
22
30
|
## 安装
|
|
23
31
|
|
|
32
|
+
在已安装 DSH 的环境中执行:
|
|
33
|
+
|
|
24
34
|
```bash
|
|
25
35
|
dsh plugin --profile web add dsh-sidenote
|
|
26
36
|
```
|
|
27
37
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
本地开发挂载:`dsh plugin --profile web add link:<本仓库路径>`(client 改动热重载,host 改动需重启 `dsh web`)。
|
|
31
|
-
|
|
32
|
-
## 侧边聊天——支线问题不打断主线
|
|
33
|
-
|
|
34
|
-
从当前主会话 **fork**(全量历史快照,不压缩)出独立侧边会话,在右侧栏多轮对话:
|
|
38
|
+
打开 DSH Web,点击会话顶栏的 **「侧边」**,或划选一段回复开始。也可输入 `/side` 打开侧聊,用 `Alt+J` 切换主、侧输入焦点。
|
|
35
39
|
|
|
36
|
-
-
|
|
37
|
-
- 与主对话**同一套渲染材质**:工具卡、思考预览、任务卡、模型/权限切换、`@` 引用、图片附件;
|
|
38
|
-
- 审批/提问**在面板内直接答复**,不用跳回主视图;跑完有 toast 通知;
|
|
39
|
-
- 继承历史默认折叠成指示卡;折叠态/滚动位置刷新不丢;`Alt+J` 主↔侧切焦点。
|
|
40
|
+
原生侧栏宿主无需额外安装 `dsh-better-sidebar`;旧宿主按[兼容表](docs/compatibility.md)安装对应组合。
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
## 一个任务,容得下更多思路
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
### 有疑问,在旁边聊透
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
- 「保存为正式会话」转正进会话列表;`/side` 弹层重开最近关闭。
|
|
46
|
+
评审方案时想追问一个细节,读代码时想弄清一种实现,都可以从当前对话开一个侧聊。**完整历史随 fork 保留**,不用再交代一遍背景。
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
侧聊有独立的多轮对话、工具卡、模型和权限切换,也支持图片、`@` 引用以及面板内审批。主线和支线各自推进。
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
### 有想法,直接落在原文上
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
- 添加到主对话或侧边聊天都保存为同一类受控注释,使用同一套 chip 预览、逐条移除及批量清空;引用和注解全文保留,**草稿零污染**,可只发送引用;
|
|
54
|
-
- 新建注解点击编辑器外部或按 Enter 保存,Esc 明确取消;主→侧先等待选定 Tab 的真实子会话,等待期间可按 Esc 取消,失败则保留注解并提示重试;
|
|
55
|
-
- 通过宿主原生输入机发送,保留 `@` 引用、图片附件和队列/steer 仲裁;目标会话出现持久消息或真实队列记录后,这一批注释才标为已发送,气泡收成「批注 ×N」留痕;
|
|
56
|
-
- 保存的注释按目标会话隔离;存储不可用时提示仅保存在内存。发送失败保留注释与正文,提交期间新增或修改的注释留给下一条消息。
|
|
57
|
-
- 侧边 assistant 正文也支持局部划选、多段落、列表与代码引用,入口只向所在侧聊添加;继承历史同样归当前子会话。流式、跨消息、思考和控件不作为引用。角标与高亮跟随来源消息并裁剪到其可见区域;原文折叠时注释仍在 chip 中。
|
|
58
|
-
- 已保存注释刷新后保留。宿主恢复原生 tab 时重新绑定原子会话;未恢复侧栏时,可用 `/side` 中的“重开”恢复原子会话及注释。新建 fork 使用自己的独立注释列表。
|
|
59
|
-
|
|
60
|
-
| 划选浮层 | 注解编辑器 |
|
|
61
|
-
|---|---|
|
|
62
|
-
|  |  |
|
|
52
|
+
划选主对话或侧聊中的一段回复,写下问题或修改意见。**原文和注释一起保留**,可累积多条,发送前预览、移除,正文草稿照常编辑。
|
|
63
53
|
|
|
54
|
+
读到「没有结果时,引导用户调整搜索词」,就选中这一句,追问「这里如何设计才不会让用户卡住?」。
|
|
64
55
|
|
|
65
|
-
|
|
66
|
-
<summary><b>更多截图</b></summary>
|
|
56
|
+
### 有结论,带回正在做的事
|
|
67
57
|
|
|
68
|
-
|
|
69
|
-
|---|---|
|
|
70
|
-
|  |  |
|
|
58
|
+
侧聊回答下点击「回流到主会话」,**问题与回答成对带回**,出现在主输入框上方,随下一条消息送入主线。也可以整段回流,或将值得保留的侧聊保存为正式会话。
|
|
71
59
|
|
|
72
|
-
|
|
73
|
-
|---|---|
|
|
74
|
-
|  |  |
|
|
60
|
+
## 看看它如何工作
|
|
75
61
|
|
|
76
|
-
|
|
62
|
+
**划选一句 → 带着上下文追问 → 把结论带回主线。**
|
|
77
63
|
|
|
78
|
-
|
|
64
|
+

|
|
79
65
|
|
|
80
|
-
|
|
66
|
+
[观看清晰版 MP4](docs/assets/demo.mp4) · [查看静态截图](docs/assets/workflow.jpg)
|
|
81
67
|
|
|
82
|
-
|
|
68
|
+
<sub>以上素材重新录制于 dsh-sidenote 0.6.0 / DSH 0.2.0-rc.2。使用隔离环境中的示例对话与本地演示模型,展示真实界面操作;内容与回答为合成示例。</sub>
|
|
83
69
|
|
|
84
|
-
|
|
70
|
+
## 用起来顺手的细节
|
|
85
71
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
72
|
+
| 你关心的事 | Sidenote 如何处理 |
|
|
73
|
+
|---|---|
|
|
74
|
+
| 之前聊过的内容 | 侧聊继承完整历史,默认折叠,按需展开。 |
|
|
75
|
+
| 一次有多处意见 | 多条注释可以一起发送,也能逐条预览和移除。 |
|
|
76
|
+
| 发不出去怎么办 | 发送失败保留注释与正文,便于重试。 |
|
|
77
|
+
| 刷新后继续 | 已保存的注释保留;侧栏未恢复时,可从 `/side` 重开原侧聊。 |
|
|
78
|
+
| 不想让支线堆满列表 | 侧聊默认不进入会话列表和搜索,保存为正式会话后才列出。 |
|
|
79
|
+
| 结论值得长期保留 | 保存为正式会话,后续继续讨论。 |
|
|
91
80
|
|
|
92
|
-
|
|
81
|
+
具体操作、恢复行为和划选范围见[使用指南](docs/usage.md)。
|
|
93
82
|
|
|
94
|
-
|
|
95
|
-
|---|---|
|
|
96
|
-
| `pnpm typecheck` | tsc --noEmit |
|
|
97
|
-
| `pnpm test` | vitest 单测(先运行 build) |
|
|
98
|
-
| `pnpm build` | 类型声明 + tsdown(host ESM + client CJS bundle,纯度门) |
|
|
99
|
-
| `pnpm test:mount` | 真实 `dsh web` + 种子会话 + Playwright 挂载与交互验收(`BS_VERSION`/`DSH_CMD` 切版本矩阵) |
|
|
83
|
+
## 兼容与帮助
|
|
100
84
|
|
|
101
|
-
|
|
85
|
+
已验证的原生侧栏组合为 **DSH 0.1.5-rc.2、0.1.7-rc.2、0.2.0-rc.2**;旧版的三组 BS 组合继续保留验收。支持范围以[兼容与维护政策](docs/compatibility.md)中的精确版本为准。
|
|
102
86
|
|
|
103
|
-
|
|
87
|
+
遇到问题时,可在 **设置 → 通用设置 → dsh-sidenote 诊断模式** 开启诊断,查看并手动导出接入状态。[报告问题或提出建议](https://github.com/g-yixuan/dsh-sidenote/issues/new/choose)。
|
|
104
88
|
|
|
105
|
-
|
|
89
|
+
## 一起完善 Sidenote
|
|
106
90
|
|
|
107
|
-
|
|
91
|
+
欢迎补充使用反馈、复现问题、改进文档和提交代码,中文与 English 都可以。开发环境、命令和检查步骤见[贡献指南](CONTRIBUTING.md)。
|
|
108
92
|
|
|
109
|
-
MIT
|
|
93
|
+
[仓库维护](docs/maintaining.md) · [发布指南](docs/releasing.md) · [MIT License](LICENSE)
|