概览
dsh-response-annotations
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **只有“添加到对话”**:v1 未实现 More details / Ask in side chat / 内联 `:codex-annotation` 指令渲染。 - **仅助手回复**:文件 / Diff / 终端选区、跨消息选区、流式中的回复都不提供添加按钮。 - **气泡**:待发送批注显示编号气泡(贴在选区末尾),已发送批注显示灰色评论气泡(按会话持久化, 刷新后仍在;旧消息在渲染已发送卡片时会自动回填)。点击气泡会高亮被批注的原文,最长 6 秒; 期间若在插件外点击/按键或产生新选区会提前取消,滚动不会取消。 已发送气泡存档每会话保留最近 1000 条(超出只隐藏最老的灰色气泡,不影响消息里的批注卡片与「定位」)。 - **双击选词**:选区捕获对锚点偏移计算做了容错(探针异常/顺序不一致时按原文匹配); 仍失败时会在屏幕底部显示带数字细节的诊断提示。 - **支持“只发批注”**:三种入口——胶囊里的纸飞机按钮、盖在宿主发送按钮上的批注发送按钮、 空输入框按宿主发送快捷键(从 `fixed.send` / `fixed.complementary` 目录读取,Enter 与 Cmd/Ctrl+Enter 都跟随 DSH 绑定)。仍不支持把批注连同 `/` 命令一起发(命令消息会跳过批注附加)。 - **发送钩子是非官方能力**:通过包装 `conversation.sendSession` 实现;DSH 升级若改动该方法签名需要适配。 包装带 `__dshAnnotationWrapped` 幂等标记,卸载/热更新时恢复原方法。 - **文本里真实存在载荷块**:模型可见;显示层由 user-text 规则折叠为卡片,但复制消息文本时仍包含原始块。 若引用的原文里出现换行形式 `</response-annotations>` 之类极端内容,显示解析会安全降级为原文。 - **定位依赖 DOM 锚点**:`[data-chat-flow-kind="assistant-step"]`、`[data-chat-node-key]`、 `[data-conversation-session]` 是 ui-chat / ui-conversation 的内部实现;升级可能变化, 定位失败时只提示找不到,数据不丢。 - **messageId 可能为空**:Chat target 未激活或节点未加载时解析失败,载荷 `source.messageId` 回退为 `nodeKey`。 - **仅本 origin**:不同端口/域名访问时的 localStorage 不互通(例如本机地址与隧道域名),无跨端 / 跨标签实时同步。 - **验证范围**:已在 DSH `0.2.1-rc.3` 的 desktop / web profile 实机验证(选中、评论、只发批注、气泡、定位、高亮);未覆盖所有操作系统与 DSH 未来版本。
