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

右键直贴 Eureka-KK/dsh-rightclick-paste

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

在输入框内右键,直接把剪贴板文本追加到草稿末尾

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 3 处,展示前 3 条)
  • 读取剪贴板
    lib/client.js:76
    async function readClipboard() {
  • 读取剪贴板
    lib/client.js:157
    const text = await readClipboard()
  • 读取本地文件
    verify-client.mjs:13
    const SOURCE = readFileSync(new URL('./lib/client.js', import.meta.url), 'utf8')
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 插件:在输入框内右键,就能把剪贴板内容直接粘贴到当前草稿里(和 cmd / PowerShell 一样)。

README

由 DeepSeek 最新模型翻译生成
dsh-rightclick-paste DeepSeek Harness 插件:在输入框区域内右键,直接把剪贴板文本追加进当前会话草稿——像 cmd / PowerShell 的「粘贴」那样,不弹菜单。 行为 | 操作 | 结果 | | 在输入框区域内右键 | 不弹任何菜单,剪贴板文本直接追加到草稿末尾 | | 在输入框以外右键 | 完全不接管,DSH 原生菜单照旧(复制、检查元素等) | | Shift + 右键(输入框内) | 放行原生菜单,作为逃生口 | | 点在内层节点 / 卡片空白处 | 同样算「输入框区域内」 | | 点在输入卡片里的按钮上 | 不接管,走原生菜单 | - 剪贴板来源不限:DSH 里复制的、别的软件复制的、纯文本,都能粘。 - 追加规则:草稿为空或以换行结尾时直接拼;否则先补一个换行再拼。剪贴板内容一字不改。 - 超长保护:单次最多粘 200 KB,超出部分截断并在控制台提示。 - 与 dsh-quote-to-input 正交:那个插件负责「选中 → 引用」,本插件负责「右键 → 粘贴」,两者互不干预,本插件对前者零改动。
展开完整文档(README 剩余 1 节)
dsh-rightclick-paste

DeepSeek Harness 插件:在输入框区域内右键,直接把剪贴板文本追加进当前会话草稿——像 cmd / PowerShell 的「粘贴」那样,不弹菜单。

行为

| 操作 | 结果 |
| 在输入框区域内右键 | 不弹任何菜单,剪贴板文本直接追加到草稿末尾 |
| 在输入框以外右键 | 完全不接管,DSH 原生菜单照旧(复制、检查元素等) |
| Shift + 右键(输入框内) | 放行原生菜单,作为逃生口 |
| 点在内层节点 / 卡片空白处 | 同样算「输入框区域内」 |
| 点在输入卡片里的按钮上 | 不接管,走原生菜单 |

- 剪贴板来源不限:DSH 里复制的、别的软件复制的、纯文本,都能粘。
- 追加规则:草稿为空或以换行结尾时直接拼;否则先补一个换行再拼。剪贴板内容一字不改。
- 超长保护:单次最多粘 200 KB,超出部分截断并在控制台提示。
- 与 dsh-quote-to-input 正交:那个插件负责「选中 → 引用」,本插件负责「右键 → 粘贴」,两者互不干预,本插件对前者零改动。

安装 / 卸载

安装:<插件目录> = 本仓库在你机器上的绝对路径(link 方式,改代码即时生效)
dsh plugin --profile desktop add link:<插件目录>

卸载
dsh plugin --profile desktop remove dsh-rightclick-paste

DSH 开着 HMR:改 profile 清单即热重组,不必重启 App,但需要刷新一次 GUI 才能加载新增的客户端模块。

验证

1. 无头验证(自动)

node verify-client.mjs

用假 DOM / 假 window / 假 navigator / 假 ctx 跑完整行为矩阵:bundle 协议、框内接管并写入正确文本、框外不接管、Shift 放行、剪贴板缺失或抛错不崩、超长截断、HMR 反复加载不叠监听器,以及一批内存纪律静态断言。退出码 0 = 全绿。

2. 真机验证(手动,一次)

1. 安装后刷新 GUI(Ctrl+R)。
2. 在别处复制一段文字,在输入框里右键 —— 应立即出现在草稿末尾,且不弹菜单。
3. 在消息列表区域右键 —— 原生菜单照常弹出。
4. Shift + 右键输入框 —— 原生菜单照常弹出。

内存设计

本插件按「零常驻」写:加载后除了一个 contextmenu 监听器之外,不占任何常驻内存。

- 零 UI:不注册槽位、不 require('react')、不建任何 DOM,反馈只走 console。
- 零定时器 / 零观察器:没有 setInterval、setTimeout、requestAnimationFrame、MutationObserver。
- 单监听器 + 可卸载:唯一的全局监听器经 ctx.effect(...) 注册并返回 disposer。DSH 开启 HMR,缺 disposer 会导致每次热重载叠加一份监听器——这是真正会涨内存的地方,泄漏测试覆盖了它。
- 零常驻状态:剪贴板文本与草稿快照只活在单次事件调用栈里,模块级没有任何可变变量。
- 日志不含正文:只打长度({ chars: 1234 }),避免 DevTools 控制台历史强引用正文。
- 200 KB 截断:草稿会经 setDraft → 状态机 → contenteditable → React state 复制多份,故设上限。

实现要点

- 命中判定靠 DSH 自己的 DOM 锚点:[data-composer-input](Lexical 的 contenteditable 宿主)与 [data-composer-card](输入卡片)。命中不了就退让,绝不误接管。
- 读剪贴板用 navigator.clipboard.readText()。桌面端 inside main.js 的 setPermissionCheckHandler / setPermissionRequestHandler 对非 media 权限一律放行,因此不会被权限拦;右键前必有 mousedown,transient activation 也在。
- 写输入框复用官方唯一写路径 ctx.conversation.input.for(binding.ctx).setDraft(text)(全文替换语义,所以先读草稿再拼接)。
- 压掉原生菜单靠渲染进程 preventDefault():Blink 只在 DOM contextmenu 未被取消时才向浏览器进程请求菜单,而 DSH 的菜单是主进程硬编码的(app.asar 内 lib/main.js 的 webContents.on('context-menu')),插件无法扩展它。
- 监听器挂在冒泡阶段并先查 event.defaultPrevented,页面上别的组件仍有机会先消费事件。

边界与风险

- 若 DSH 将来改掉 data-composer-input / data-composer-card 锚点,插件会静默失效(既不接管也不报错),不会干扰原生菜单。用 verify-client.mjs 与新 GUI 一起回归即可。
- 只处理文本(readText),不处理图片或富文本。
预览分享卡片长什么样 ↓Eureka-KK/dsh-rightclick-paste
分享 · DeepSeek Harness Hub
Eureka-KK/dsh-rightclick-paste

在输入框内右键,直接把剪贴板文本追加到草稿末尾

回到顶部