🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

回复批注 bovvl/dsh-response-annotations

DeepSeek Harness
bovvl6 天前有提交已提供中文文档扫描:含敏感能力

选中回复文字添加批注,随消息发送给模型

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bovvl/dsh-response-annotations
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 6 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 5 处,展示前 5 条)
  • 写入剪贴板
    client.js:893
    void navigator.clipboard.writeText(text);
  • 写入剪贴板
    client.js:2945
    void navigator.clipboard.writeText(notice);
  • 写入剪贴板
    client.js:3212
    void navigator.clipboard.writeText(text);
  • 读取本地文件
    build.mjs:32
    return readFileSync(join(ROOT, relativePath), 'utf8');
  • 写入本地文件
    build.mjs:119
    writeFileSync(join(ROOT, 'client.js'), output, 'utf8');
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

为 DeepSeek Harness 提供 Codex 风格的响应标注

README

由 DeepSeek 最新模型翻译生成
dsh-response-annotations — DSH 回复批注(Codex 同款) 在 DSH Web GUI 里复刻 Codex / ChatGPT 桌面版的 response annotations: 1. 在已完成的助手回复中选中文字(拖选或双击选词均可)→ 浮动工具条「添加到对话」。 2. 可选填写评论;保存后回复正文的选区末尾出现编号气泡,点击气泡高亮原文。 3. 输入框上方出现「N 条批注」胶囊,可展开编辑 / 删除 / 清空。 4. 发送时自动在文本前附加 Codex 同款 <response-annotations> 结构化块;也支持只发批注(空输入框按宿主发送快捷键 / 点胶囊纸飞机 / 点盖住宿主主按钮的批注按钮;运行中会盖住 Stop,删光批注后 Stop 自动恢复)。 5. 已发送消息折叠为只读的「N 条回复批注」卡片,原回复上保留灰色评论气泡,点气泡可看原文+评论、可定位。 纯浏览器端 Client 插件:Host 半边为空 apply(),不注册工具、不改 Host 行为、不发任何网络请求。 AI 创作声明 / AI Disclosure - 本项目的初版代码、测试与文档由 DeepSeek Harness(模型 deepseek-flash,agent 会话)生成,由 Ava 维护与发布(2026-10)。
展开完整文档(README 剩余 1 节)
dsh-response-annotations — DSH 回复批注(Codex 同款)

在 DSH Web GUI 里复刻 Codex / ChatGPT 桌面版的 response annotations:

1. 在已完成的助手回复中选中文字(拖选或双击选词均可)→ 浮动工具条「添加到对话」。
2. 可选填写评论;保存后回复正文的选区末尾出现编号气泡,点击气泡高亮原文。
3. 输入框上方出现「N 条批注」胶囊,可展开编辑 / 删除 / 清空。
4. 发送时自动在文本前附加 Codex 同款 <response-annotations> 结构化块;也支持只发批注(空输入框按宿主发送快捷键 / 点胶囊纸飞机 / 点盖住宿主主按钮的批注按钮;运行中会盖住 Stop,删光批注后 Stop 自动恢复)。
5. 已发送消息折叠为只读的「N 条回复批注」卡片,原回复上保留灰色评论气泡,点气泡可看原文+评论、可定位。

纯浏览器端 Client 插件:Host 半边为空 apply(),不注册工具、不改 Host 行为、不发任何网络请求。

AI 创作声明 / AI Disclosure

- 本项目的初版代码、测试与文档由 DeepSeek Harness(模型 deepseek-flash,agent 会话)生成,由 Ava 维护与发布(2026-10)。
- 设计参考 OpenAI Codex 的 response annotations 行为与公开资料;未复制其代码。
- 相关提交会在 commit message 里带 Assisted-by: DeepSeek Harness (deepseek-flash) 说明。

安装

从 GitHub 安装即可,无需 npm:

方式 A:DSH 客户端 Plugins 页

1. 打开 DSH 客户端 → 左侧边栏 Plugins
2. Add plugin 右侧箭头 → Install a third-party plugin
3. 填 GitHub 地址:https://github.com/bovvl/dsh-response-annotations
4. Install → Enable now → 刷新页面

方式 B:CLI(CLI 管理的 profile)

dsh plugin --profile <profile> add github:bovvl/dsh-response-annotations

安装后刷新页面(或依赖 HMR)即可。

本地开发

dsh plugin --profile <profile> add /abs/path/to/dsh-response-annotations

成功标志:打开任意会话,选中一段已完成(非流式中)的助手回复文字,出现「添加到对话」浮动按钮。插件清单:

- Client 入口:client.js(由 build.mjs 从 src/*.js 生成,勿手改)
- 槽位:shell.overlay(浮动工具条 / 评论卡 / 定位时的临时高亮)、 conversation.input.overlay(输入框上方的「N 条批注」胶囊)、 conversation.user.text.node(已发送只读卡片)
- 注册的 user-text 规则:dsh-response-annotations(order -100)
- 包装 conversation.sendSession 以附加载荷(发送成功才消费)
- 定位:胶囊行 / 已发送卡片条目上的「定位」按钮会滚动到原回复并临时高亮选中段落

兼容性与 dshbase 验证

- 适配版本:DSH 0.2.1-rc.3(在此版本上完成开发与实机验证;更早/更新的版本未验证)
- 插件类型:web-only(仅 Web 前端;Host 半边为空,无工具/无 session 行为/无网络请求)
- dshbase 验证级别:
- L1 安装:可过(dsh plugin add github:bovvl/dsh-response-annotations 实测成功)
- L2 加载:可过(profile 启动后 /plugins/events 出现本插件 entry,bundle 正常下发)
- L3 Headless:不适用(web-only 不经停)
- L4 Web CDP:需由 dshbase 的 Web profile + 浏览器 CDP 实测;本仓库未包含该自动化
- 升级风险:插件依赖 shell.overlay / conversation.input.overlay / conversation.user.text.node 等槽位、conversation.sendSession 内部方法与 ui-chat 的 DOM 锚点(data-chat-flow-kind="assistant-step"、data-chat-node-key、data-conversation-session 以及发送按钮的 _primary 类名)。DSH 升级若调整这些实现,可能出现气泡缺失/定位失败/发送不再附加批注;代码已对这些读取做 try/catch 与降级,但无法承诺跨版本 100% 兼容。

L1/L2 自测命令

L1 安装
dsh plugin --profile <profile> add github:bovvl/dsh-response-annotations

L2 加载:启动 Web profile 后检查插件图
dsh web --host 127.0.0.1 --port <port> --no-open
curl -s http://127.0.0.1:<port>/plugins/events | grep dsh-response-annotations

本地校验

仓库已提交构建产物 client.js,安装时不需要构建;改 src/ 后重新生成:

node build.mjs
node --check client.js
node --test test/core.test.mjs
node --test test/smoke.test.mjs # 额外的加载/包装冒烟测试

载荷(与 Codex 对齐,产品名改成 assistant response)

响应批注: <PREAMBLE> <response-annotations> [JSON] </response-annotations>

我的请求: <用户原文>

JSON 每项形如 {"text":"所选文本","annotation":"可选评论","source":{"messageId":"..."}};空评论丢弃 annotation 键;messageId 缺失时回退为 nodeKey。
解析失败时原样显示消息,不隐藏任何内容。

数据与持久化

- 每个会话独立:localStorage['dsh-annotation.v1.<sessionId>'](历史 key,保留以兼容已有批注与气泡存档)。
- 记录 {id, nodeKey, messageId, start, end, quote, prefix, suffix, comment, createdAt}; start/end 是该行渲染文本的 offset,用 quote + 前后 40 字上下文重锚定。
- 发送成功后清空该会话 pending 集合;发送失败保留。

与原版 Codex 的差异 / 已知限制

- 只有「添加到对话」: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 未来版本。

文件

package.json cordis.patch.yml index.js client.js build.mjs
locale/{en,zh}.json icon.svg README.md LICENSE .gitignore
src/{core,store,selection,ui,capsule,usertext,apply}.js
test/{core,smoke}.test.mjs
预览分享卡片长什么样 ↓bovvl/dsh-response-annotations
分享 · DeepSeek Harness Hub
bovvl/dsh-response-annotations

选中回复文字添加批注,随消息发送给模型

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部