# DSH 批注 [English](README.md) | 中文 选中 DSH Web 中的助手回复,为具体文字写评论,再随下一条消息发送。批注以标签显示,悬停查看原文和评论,点击可跳转回原文。 ## 兼容范围 当前验证版本为官方 **DSH 0.2.1-rc.2 的 Web 界面**。无需修改 DSH 主体,也不依赖定制版接口。本插件是社区项目,与 DeepSeek 官方无隶属关系;其他版本和桌面打包版尚未验证。 这是兼容官方版的实现:保存评论后,主输入框自动出现原生引用标签,点击标签可展开或收起上方的批注列表,不重复显示计数按钮。条目左侧显示原文,右侧以灰色显示评论;长文字省略显示,悬停或键盘聚焦可查看完整内容。批注正文不会写进可编辑文字。原生标签使仅含批注的输入可以使用 Enter 或发送按钮提交;标签之外可以继续输入普通文字。右侧历史导航使用可读的批注标题。 ## 使用 1. 选中一段已完成的助手回复,松开鼠标后点击 **添加到对话**。 2. 输入评论,Enter 保存,Escape 取消,Shift+Enter 换行。 3. 点击主输入框中的批注引用标签可展开或收起列表。点击条目左侧原文可跳转,右侧按钮可编辑、删除;蓝色编号也可打开原文上方的批注编辑浮层。 4. 在主输入框继续写消息,或直接发送批注标签。用户消息中的标签可悬停查看内容,点击定位原文。 点击 **编辑注释** 后可直接输入,无需再次点击评论框,也不会因聚焦而滚动页面。编辑区填满圆角浮层,宽高随内容自适应,并受屏幕大小限制;底部只保留垃圾桶、取消和保存。垃圾桶会丢弃新评论,或删除正在编辑的已有批注。原文跳转保留在批注列表及历史标签中;从页面底部跳转时按所选文字的位置定位,长段落中也会显示对应选区。成功提交后清除本轮蓝色编号,下一轮从 1 开始;历史消息中的批注仍可定位。 未发送评论保存在当前浏览器中,不跨设备同步。发送失败时由原生输入框恢复引用标签;页面关闭或取消导致结果不明时,先核对对话,再选择重新附带。请勿同时启用其他批注插件。 ## 安装 发布包包含预构建产物,不运行安装脚本。仓库的 Release 提供 `.tgz` 安装包;支持的安装入口是 `dsh plugin --profile web add <安装包路径> --ignore-scripts`。安装后按 DSH 提示重新启动并刷新页面。 ## 模型所见 批注随普通用户消息发送:可选的主输入文字、可读的批注标题,以及带版本的 `dsh-annotations` JSON 文本块。每条记录包含编号、完整原文、定位坐标和评论。不会增加系统提示词或工具消息;引用会占用输入 token。 ## 已知限制 - 当前仅声明兼容 0.2.1-rc.2。定位依赖该版本现有的 Chat 节点标识;来源有歧义时保留评论并报告定位失败。 - 暂不支持推理内容、工具卡片、跨消息选区和移动端选区手势。浏览器不支持 CSS Custom Highlights 时可保留评论,但没有文字底色。 ## 开发和验证 源码在 `src/`,构建入口为 `scripts/build.mjs`。安装开发依赖后运行 `pnpm run build`、`pnpm run typecheck` 和 `pnpm test`。`lib/` 的浏览器产物使用 DSH 的模块工厂格式,保留宿主提供的 React 和服务实例。 Web 回归需要单独克隆并构建官方 0.2.1-rc.2,然后设置 `DSH_TEST_HARNESS` 为该目录并运行 `pnpm run test:web`。测试使用临时 profile、随机端口和预录制模型回复,不访问真实用户数据,不调用付费模型。测试适配文件仅在独立克隆中临时创建,结束后移除。 MIT。保留基础代码的 DeepSeek 版权声明,社区适配由 jin1254 维护。