DSH (DeepSeek Harness) 插件:在左侧边栏加原生菜单项打开 chat.deepseek.com(独立窗口 + 登录态持久化),并支持 DSH 与网页端双向划词互传(基于 CDP)。
30.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add acdsh4869/dsh-deepseek-web-relay该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
- 执行外部命令固定命令index.js:601
const ps = spawn( - 执行外部命令固定命令index.js:658
const ps = spawn( - 发起网络请求index.js:715
const r = await fetch('http://127.0.0.1:' + port + '/json/version', { signal: ctrl.signal }) - 执行外部命令来自配置/变量index.js:836
const child = spawn(found.exe, args, { - 执行外部命令固定命令index.js:874
const k = spawn('taskkill', ['/PID', String(pid), '/T', '/F'], { - 执行外部命令固定命令index.js:1051
const child = spawn( - 发起网络请求index.js:1164
const r = await fetch('http://127.0.0.1:' + port + '/json/list') - 写入剪贴板client.js:2391
await navigator.clipboard.writeText(t) - 写入剪贴板client.js:3739
await navigator.clipboard.writeText(text) - 发起网络请求client.js:4182
const r = await fetch(BASE + '/relay?since=' + relaySince, { cache: 'no-store' }) - 写入剪贴板page-script.js:470
navigator.clipboard.writeText(text).then(
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧边栏原生菜单项
- 独立窗口打开网页
- 登录态持久化
README
由 DeepSeek 最新模型翻译生成dsh-deepseek-web-relay
在 DSH(DeepSeek Harness) 左侧边栏添加一个原生菜单项,一键打开 chat.deepseek.com 独立窗口,支持与 DSH 双向划词互传。
🌟 特性亮点
- 一键直达 —— 左侧边栏原生菜单项,点击即开独立窗口,登录一次长期保留。
- 双向划词互传 —— DSH 里划词直接送进网页端;网页端划词一键接力回 DSH。
- 不打扰日常划词 —— 普通划词(复制 / 搜索 / 查看)不会弹气泡;需按住 Alt 划词或右键选区才出现传送按钮。输入框、搜索框、代码块、菜单、侧栏、表格里一律不弹。
- 一键分支新对话 —— 网页端 AI 回复末尾点 ↪ 分支到 DSH,上下文自动填进 DSH 新会话。
- 零依赖、免构建 —— 无 node_modules、无编译,装完重启即可用。
- 故障不静默 —— 打开失败、注入失败都会在右下角提示具体原因。
展开完整文档(README 剩余 1 节)
dsh-deepseek-web-relay
在 DSH(DeepSeek Harness) 左侧边栏添加一个原生菜单项,一键打开 chat.deepseek.com 独立窗口,支持与 DSH 双向划词互传。
🌟 特性亮点
- 一键直达 —— 左侧边栏原生菜单项,点击即开独立窗口,登录一次长期保留。
- 双向划词互传 —— DSH 里划词直接送进网页端;网页端划词一键接力回 DSH。
- 不打扰日常划词 —— 普通划词(复制 / 搜索 / 查看)不会弹气泡;需按住 Alt 划词或右键选区才出现传送按钮。输入框、搜索框、代码块、菜单、侧栏、表格里一律不弹。
- 一键分支新对话 —— 网页端 AI 回复末尾点 ↪ 分支到 DSH,上下文自动填进 DSH 新会话。
- 零依赖、免构建 —— 无 node_modules、无编译,装完重启即可用。
- 故障不静默 —— 打开失败、注入失败都会在右下角提示具体原因。
侧边栏中的 DeepSeek Relay 菜单项
按住 Alt 划词后浮现的「传给Chat」气泡
🚀 快速开始
环境要求:DSH ≥ 0.1.5-rc.3 · 系统装有 Chrome 或 Edge · Windows
一条命令安装:
dsh plugin --profile <profile> install acdsh4869/dsh-deepseek-web-relay
装完重启 DSH 实例,再按 Ctrl+Shift+R 硬刷新页面。
也提供幂等的 install.ps1 安装脚本,详见技术文档。
从旧版(dsh-deepseek-chat / dsh-deepseek-web)升级
v2.0.0 是一次破坏性改名,包名、路由前缀、slot id、浏览器用户数据目录全变了。
必须先卸载旧版,否则 profile 的 bundles 里会同时留着旧包名而两个都不加载:
1. 进旧版插件目录跑卸载 powershell -ExecutionPolicy Bypass -File .\uninstall.ps1 -DshHome "<DSH 实例 Home>" -Profile <profile>
2. 再装新版
dsh plugin --profile <profile> install acdsh4869/dsh-deepseek-web-relay
登录态想保留,把旧的 profile 目录改个名再重启(否则要重新登录一次):
Rename-Item "<DSH 实例 Home>\deepseek-chat-profile" deepseek-web-relay-profile
旧的诊断文件 %TEMP%\dsh-deepseek-chat-status.json 可以直接删掉,新版写的是 %TEMP%\dsh-deepseek-web-relay-status.json。
📖 使用指南
打开窗口
1. 点击左侧边栏的 DeepSeek Relay 菜单项(侧边栏收起时,先点左上角展开)。
2. 首次在弹出的窗口里登录一次 DeepSeek,此后一直保持登录。
侧边栏菜单项
双向划词互传
1. 在 DSH 里选中文字 → 按住 Alt 划词(或划完词再补按 Alt,或直接右键选区)→ 点 🐋 传给Chat → 送入网页端输入框。
2. 在网页端选中文字 → 点气泡 → 接力回 DSH 输入框。
划词怎么都不会出气泡? 这是 v1.6.0 起的预期行为:默认不再「划词即弹」,因为日常划词多数是为了复制 / 搜索 / 查看,弹气泡反而挡住界面。
三种触发方式任选其一:
| 方式 | 操作 |
| 按住修饰键划词 | Alt + 拖选文字 |
| 划完词补按修饰键 | 正常划词 → 4 秒内按一下 Alt |
| 右键选区 | 对选区点右键(气泡出现在光标处) |
| 快捷键直发(最省心) | 划完词按 Ctrl+Shift+S,不经过气泡 |
想要「划词就弹」的老行为,把 bubbleTrigger 设成 select(见下方设置表)。
划词气泡
哪些地方不会出气泡(v1.6.0 起)
输入框 / 搜索框 / 代码块 / 按钮与链接 / 菜单与弹窗 / 侧栏会话列表 / 表格 / 筛选标签 ——这些位置划词一律不弹,不会再挡住界面。
已知限制:插件市场里插件卡片的「描述文字」拦不住(它是普通段落,语义上与对话正文无法区分)。这类场景由「必须按住 Alt 才弹」兜住 ——普通划词依然完全不弹。想要更严可设 bubbleScope: conversation。
一键分支新对话
1. 在网页端任意一条 AI 回复末尾,点 ↪ 分支到 DSH。
2. DSH 自动新建会话,并把截至该回复的对话上下文(User: / Assistant: 逐轮)填进输入框。
3. 失败时内容自动复制到剪贴板,按提示手动粘贴即可,内容不丢。
🛠️ 常用设置
配置写在插件自身的 cordis.patch.yml 的 config: 下,改完需重启 DSH 实例生效。
| 配置项 | 默认值 | 说明 |
| relayAppendMode | replace | 接力写入方式;append 为追加 |
| branchIncludeHistory | true | 分支带全部历史;false 只带点击的那条回复 |
| branchMaxChars | 5000 | 分支上下文的字符上限,超出截断 |
| placement | over-dsh | 窗口位置;center 交给系统放置 |
| browserPreference | auto | 浏览器选择;可强制 chrome 或 edge |
| sidebarInset | 268 | 窗口给侧边栏留的宽度;挡住侧边栏就调大 |
| relay | true | 划词互传总开关;设 false 彻底关闭 |
| bubbleTrigger | modifier | 气泡触发方式(v1.6.0 默认由 select 改为 modifier)。modifier=按住 Alt 划词 / 划完词补按 Alt / 右键选区;contextmenu=仅右键;select=旧行为,划词即弹(仍不会在输入框、代码块、菜单等处弹);off=关闭气泡 |
| bubbleModifier | alt | modifier 模式用哪个修饰键:alt / ctrl / shift / meta |
| bubbleAutoHideMs | 6000 | 气泡无操作自动消失时间(毫秒);0 = 不自动消失 |
| bubbleArmWindow | 4000 | 「先划词再按修饰键」的待命窗口(毫秒),超时后按修饰键不弹 |
| bubbleScope | input-excluded | 准入范围。默认只排除语义上明确不是正文的区域(输入框/搜索框/代码块/按钮/菜单/侧栏/表格/筛选标签);conversation 更严,额外要求选区落在「像对话正文」的容器里 |
| hotkeySend | ctrl+shift+s | A→B 快捷键直发:划词后按此组合键直接发送,绕开点气泡的指针链路;空字符串 = 禁用 |
例如切换为追加模式:
config:
relayAppendMode: append
想恢复「划词就弹」的老行为:
config:
bubbleTrigger: select
⚠️ 改完 bubbleTrigger 等配置后,必须重启 DSH 实例才生效 ——这些值由宿主进程(index.js)下发,改磁盘文件不会影响正在运行的实例。
完整配置表见技术文档。
❓ 常见问题
为什么是独立窗口,不直接嵌进 DSH?
chat.deepseek.com 的站点安全策略(禁止 iframe 嵌入、WAF 机器人挑战、Cookie 限制)让「内嵌」技术上不可行。独立窗口是当前最接近的方案,详细分析见技术文档。
为什么接力默认是覆盖,不是追加?
追加会让草稿越攒越长,DSH 输入框变卡、内容重复出现;覆盖每次写入规模恒定,从机制上杜绝累积。确实要攒多条,就开 append 模式。
菜单项点不动或找不到?
- 侧边栏收起时菜单不可见,先展开侧边栏。
- 窗口可能开在其他显示器,或被别的窗口挡住。
- 看右下角提示,它会告诉你具体原因。
划词怎么不出气泡了?(v1.6.0 起的预期行为)
默认改成「按住 Alt 划词」才弹,或划完词 4 秒内补按 Alt,或直接右键选区。这是刻意改的 —— 划词多数是为了复制 / 搜索 / 查看,弹气泡反而挡住输入框和界面。四种触发方式见上方「📖 使用指南 → 双向划词互传」一节。
怎么确认装的是新版、配置有没有生效?
读 %TEMP%\dsh-deepseek-web-relay-status.json,找 overlay-rendered 这一项:
{ "trigger": "modifier", "modifier": "alt", "scope": "input-excluded" }
看到 modifier 就是新版。若显示 select,说明宿主还在跑旧代码 —— 重启 DSH 实例。
另外这个文件里的 bubble-none / why: "zone:xxx" 能告诉你某处区域是被哪条规则拦下的。
📄 更多
- 技术文档 —— 安装脚本、卸载方式、完整配置表、实现原理
- v1.6.0 改动说明 —— 气泡触发逻辑重编的根因、改法与验证清单
📝 更新日志
版本序列连续(v1.0.0 → v1.1.0 → v1.2.0 → … → v1.6.0 → v2.0.0),只有 v2.0.0 是破坏性变更。
每条的根因分析、修法与验证清单见 CHANGELOG.md。
- v2.0.0(2026-10-09)改名 dsh-deepseek-chat → dsh-deepseek-web-relay(菜单项显示名 DeepSeek Relay),并补上插件图标与双语元数据。这是一次破坏性改名:包名、路由前缀、slot id、浏览器用户数据目录全部变化,旧版必须先卸载(见下方「从旧版升级」)。
- v1.6.0(2026-10-06)气泡触发逻辑重编 —— 不再干扰日常划词。默认由「划词即弹」改为「按住 Alt 划词 / 划完词补按 Alt / 右键选区」才弹;新增语义区域闸门,输入框、搜索框、代码块、按钮、菜单、侧栏、表格、筛选标签等区域一律不弹;补上此前缺失的滚动 / 缩放 / 失焦收起(气泡不再滚动后悬在界面上);新增 bubbleAutoHideMs 自动消失兜底;快捷键直发不再走选区缓存兜底。详见改动说明。
- v1.5.0(2026-10-01)气泡命中容错重编:药丸加大 + 22px 透明命中光环(点光环任意位置都算点中,有效面积近 6 倍),成功态延长到 1.5s;新增 CDP 自动化自测 tools/selftest-bubble.cjs(三项全部 PASS);埋点补齐来源标记与「气泡遮挡自检」。
- v1.4.0(2026-10-01)新增快捷键直发(默认 Ctrl+Shift+S),物理绕开壳层吞指针事件导致的「点好几下没反应」;气泡改在鼠标光标处冒出(不再锚选区顶部);注入后把真正收到内容的那一页精确拉到前台;成功提示带内容预览。
- v1.3.0(2026-10-01)新增配置 bubbleTrigger:contextmenu 模式下划词不再冒气泡,对选区右键时「🐋 传给Chat」才出现在光标处(更安静,适合常驻第二实例);发送失败时气泡变为「✗ 失败,点击重试」留在原地可立即重试;窗口没开时点气泡会自动打开窗口再注入。
- v1.2.0(2026-10-01)划词气泡可靠性修复:修掉点击竞态(「点一下没反应、要连点好几下」)、React 重渲染导致选区塌缩(气泡根本不冒)、选区落在 Shadow DOM 内读不到三类问题;选区缓存兜底延长到 4 秒;CDP 自愈链路提速,杜绝「点了 20 秒没反应」。
- v1.1.0(2026-09-30)新增「分支到 DSH 新对话」:网页端每条 AI 回复末尾一键把上下文带进 DSH 新会话;新增配置 branchButtonText / branchMaxChars / branchIncludeHistory。
- v1.0.0(2026-09-29)初始版本正式发布。实现在 DSH 左侧边栏一键打开 DeepSeek 独立窗口,并支持双向划词互传。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
acdsh4869/dsh-deepseek-web-relay
DSH (DeepSeek Harness) 插件:在左侧边栏加原生菜单项打开 chat.deepseek.com(独立窗口 + 登录态持久化),并支持 DSH 与网页端双向划词互传(基于 CDP)。
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,489已汉化DSH
73.1
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,918已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,453已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
Download DS Bot for Windows 10/11 64-bit / 下载 Windows…
★ 5,293已汉化DSH
71.2
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,797已汉化DSH
71.1
这是你的仓库?认领条目