dsh-client-ui-quote 0.12.3-lab.33 → 0.12.3-lab.35
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/CHANGELOG.md +1 -1
- package/README.md +2 -2
- package/lib/client.js +7 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
- 胶囊的悬停卡片也加了「复制为 Markdown」:同一个 `quoteRowMarkdown` 载荷,无论这条引用有没有坐标都能用(有坐标时出处行就是 `引自第 N 轮 · 助手`)。
|
|
14
14
|
- 引用清单每行多一个「复制」:把**单条**引用复制成 Markdown(原文块引用或代码围栏、评论、`引自第 N 轮 · 助手` 出处),可以直接粘进 PR / issue / 别的会话。之前只有整页导出,单条引用拿不出去——这是竞品调研里唯一明确的能力缺口(Aider `/copy-context`、Zed/Cline 的「带出处」都是这个形态)。
|
|
15
|
-
- 侧聊页打开后是一片「探索未至之境」欢迎页、输入框里也没有引用:宿主把「一个 turn 都没有」的会话算成 blank,blank 会话渲染欢迎页而不是聊天页(没有输入框,`prefillDraft` 无处可落)。种子现在把隐性上下文包进一个**已收口的小回合**(`turn/start` → `step/start` → 上下文消息 → `step/end` → `turn/end{done}`),会话不再是 blank
|
|
15
|
+
- 侧聊页打开后是一片「探索未至之境」欢迎页、输入框里也没有引用:宿主把「一个 turn 都没有」的会话算成 blank,blank 会话渲染欢迎页而不是聊天页(没有输入框,`prefillDraft` 无处可落)。种子现在把隐性上下文包进一个**已收口的小回合**(`turn/start` → `step/start` → 上下文消息 → `step/end` → `turn/end{done}`),会话不再是 blank,页签进正常聊天态;形状版本戳同时升到 v4,之前建出来的空白线程会在下一次点击时被替换。
|
|
16
16
|
- 侧边对话只剩**一项**:浮层里「侧边对话」与「另开侧边对话」两个按钮长得一样、语义要读第二行才分得清,现在只留「侧边对话」,一条主会话一条线程(早期按引用分线程的记录仍会识别并复用)。
|
|
17
17
|
- 侧聊打开时不再把主会话的历史铺在界面上:种子从「复制父会话整条日志」改成**一条隐性上下文**——先是 session/end-seed{inherited:true} 切点,再是一条 source.kind = session-context 的 user/message(只收用户与助手的原话、最新在后、上限 8000 字,跳过工具事件与注入上下文),最后是 descriptor。模型照旧拿到上下文,侧聊里只折叠成一行「上下文」;同时不再为复制整条日志付一遍 token。
|
|
18
18
|
- 侧聊草稿里不再写 `Side conversation boundary.` 那段元文案:「只作背景、别继续执行」的指令挪进隐性上下文,输入框里只剩这条引用本身。
|
package/README.md
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
2. 在消息、文件预览、终端或 diff 里**选中一段文字**,浮层选「评论」或「添加到对话」。
|
|
13
13
|
3. 发送后回原文看高亮,悬停胶囊可**跳回**、可**复制为 Markdown**;右侧栏「引用清单」(`Alt+L`)可搜索、导出、审阅。
|
|
14
14
|
|
|
15
|
-
「侧边对话」默认**不需要 `dsh-better-sidebar
|
|
15
|
+
「侧边对话」默认**不需要 `dsh-better-sidebar`**:本插件的宿主半会建一个 `origin: "subagent"` 的隐藏子会话(不出现在会话列表),再把主会话**最近几轮的原话**作为一条**隐性上下文**注进去——模型有背景,侧聊里却不会把整段历史铺出来。页签用宿主内置的 `subagentchat` 打开,**仍然只写草稿,不替你发送**。宿主半不可用时自动退回 fork + 本插件页签;想优先用 better-sidebar,把 `sideChatBackend` 设成 `"better"`。
|
|
16
16
|
|
|
17
17
|
选中正文 → 浮层动作 → 引用变成输入框里的行内胶囊(不是纯文本),评论也放在同一颗芯片里;发送之后,引用和评论**合成一颗胶囊**留在消息里,不会摊成一屏 `>` 行。第三项「侧边对话」则把引用写进右侧栏一条**独立的侧边线程的输入框**(一条主会话一条线程,反复点就反复追加),问什么由你写,主会话一点都不动。评论框里**引用正文本身也可编辑**(选多了当场裁);从**文件预览、终端或 diff**划选的引用以**围栏代码块**的线格式发给模型,模型看到的是真正的代码块。引用落进草稿后,**原句在来源消息里留下高亮与序号**,输入框上方出现 **`引用 ×N`** 的聚合条;发送块里的坐标行前面还带一段人可读的 **`引自第 N 轮 · 助手`**,模型不用解码就知道这段话从哪来。
|
|
18
18
|
|
|
19
19
|
## 定位
|
|
20
20
|
|
|
21
|
-
2026-10 的 DSH 划词引用赛道已经不缺「选中→塞进输入框」:npm
|
|
21
|
+
2026-10 的 DSH 划词引用赛道已经不缺「选中→塞进输入框」:npm 上至少十几款插件在做同一件事,浮层形态高度同质。本插件的差异在引用**发送之后**——胶囊、原文高亮、跳回、单条复制、清单审阅、侧线程回流、逐条徽章,以及预览/终端/diff 引用的 `path#Lx-Ly` 线格式。两条不随波逐流的取向:**所有路径只写草稿、绝不代发**(调研的 12 个主流工具里,只有 inline edit 会自动执行,选区引用一律进草稿);**侧聊是隐性上下文**(父会话历史只给模型看、不铺在界面上),与 Cursor 的 side chat 同构。同类里值得放在一起看的有:`dsh-annotation`(最短路径批注)、`dsh-sidenote`(原生侧栏多侧聊)、`CiteCiter`(每次划选一个持久 Topic)、`dsh-quote-annotate-pro`(常显引用块 + 回合尾引用)、`dsh-select-quote`(待发批注持久化)、`dsh-selection-toolbar`(文本+图片)、`@u2a5f/dsh-selection-annotations`(独立 JSON 块)。哪些长处已经吸收、哪些不照抄,见「与同类插件的差异」。
|
|
22
22
|
|
|
23
23
|
## 界面
|
|
24
24
|
|
package/lib/client.js
CHANGED
|
@@ -81,7 +81,6 @@ window.__ModuleLoader__.load({
|
|
|
81
81
|
copyMarkdown: "复制为 Markdown",
|
|
82
82
|
failed: "插入失败,请重试",
|
|
83
83
|
sideChat: "侧边对话",
|
|
84
|
-
sideChatNew: "另开侧边对话",
|
|
85
84
|
sideChatFailed: "侧边对话没有打开,请重试",
|
|
86
85
|
sideChatDraftFailed: "侧边对话已打开,但引用没能写进它的输入框",
|
|
87
86
|
sideChatNoHost: "这个 DSH 版本缺少原生侧边对话页需要的接口",
|
|
@@ -169,7 +168,6 @@ window.__ModuleLoader__.load({
|
|
|
169
168
|
copyMarkdown: "Copy as Markdown",
|
|
170
169
|
failed: "Could not insert, try again",
|
|
171
170
|
sideChat: "Side chat",
|
|
172
|
-
sideChatNew: "Open another side chat",
|
|
173
171
|
sideChatFailed: "The side chat did not open, try again",
|
|
174
172
|
sideChatDraftFailed: "The side chat opened, but the quote could not be written into it",
|
|
175
173
|
sideChatNoHost: "This DSH build lacks the host pieces for the native side chat page",
|
|
@@ -503,12 +501,14 @@ window.__ModuleLoader__.load({
|
|
|
503
501
|
const SIDECHAT_TARGET_KEY = "dsh-client-ui-quote:v1:sidechat-target";
|
|
504
502
|
const SIDECHAT_TARGET_LIMIT = 200;
|
|
505
503
|
/**
|
|
506
|
-
* Shape version stamped on a hidden thread this build minted. Version
|
|
507
|
-
*
|
|
508
|
-
*
|
|
509
|
-
*
|
|
504
|
+
* Shape version stamped on a hidden thread this build minted. Version 4
|
|
505
|
+
* wraps the injected context in one closed turn (a turn-less child is
|
|
506
|
+
* `blank` and the host paints the welcome hero instead of the chat);
|
|
507
|
+
* version 3 shipped the context message alone; version 2 copied the whole
|
|
508
|
+
* parent log. Only the current version is ever reused — a thread from an
|
|
509
|
+
* older build is replaced on the next click.
|
|
510
510
|
*/
|
|
511
|
-
const HIDDEN_THREAD_VERSION =
|
|
511
|
+
const HIDDEN_THREAD_VERSION = 4;
|
|
512
512
|
const SIDECHAT_PROBE_MS = 1500;
|
|
513
513
|
const SIDECHAT_START_MS = 15000;
|
|
514
514
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-client-ui-quote",
|
|
3
|
-
"version": "0.12.3-lab.
|
|
3
|
+
"version": "0.12.3-lab.35",
|
|
4
4
|
"description": "Turn any DSH selection into a reviewable quote — comment / add to chat / side chat, source highlights and jump-back, a searchable review list, side threads, revisions, and per-quote reply badges.",
|
|
5
5
|
"icon": "icon.svg",
|
|
6
6
|
"license": "MIT",
|