dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Windows 全局划词助手:Cherry 同款取词基础,复用 DSH 模型翻译、解释与总结。MIT 开源。
让常开的 DeepSeek Harness 顺便接管全局划词,不再为这一个功能多留一整套聊天软件。
Windows 划词工具条:翻译 / 解释 / 总结,另有可输入、粘贴 OCR 文字的快捷翻译窗口。复用 Cherry Studio 所用的 MIT selection-hook 取词基础,界面、提示词和 DSH 集成独立实现。
开发预览版。 支持 Windows 10/11 + DSH Desktop 0.2.x(从 0.2.0-rc.2 起,含 0.2.1-rc.2)。兼容声明覆盖同系列更新;跨到 0.3 后需重新验证。已接入真实宿主,三种模型操作完成,用户确认自动划词和译文正常。自动化测试不等于各类应用都兼容;详见验证记录与资源实测。不宣称零进程或固定内存占用。
以下截图由纯示例文字生成,没有真实选区、模型请求或私人数据。



ctx.llm.stream 使用 DSH 已配置的模型;不复制 API Key,不启动完整 Agent,不开放文件/命令工具,不创建一堆“未分组”会话。{{targetLanguage}}。显式独立模型或跟随 DSH 全局默认模型,不是跟随当前打开的会话。Ctrl+Alt+D 可手动取词。Ctrl+Alt+T 或双击托盘打开快捷翻译。支持输入、粘贴、清空、目标语言、复制、停止、重试及 Ctrl+Enter 翻译;也可用 Alt+Tab 找回窗口。DSH Host 插件 Node 取词伴生进程 C# WPF 原生界面
模型/设置/取消 ← stdio → selection-hook 2.1.1 ← stdio → 工具条/结果/设置/托盘
增加两个辅助进程,不增加 Chromium/WebView2 进程。 取词 native addon 不装入 DSH 主宿主,异常的 UIA provider 不应拖住整个 DSH。WPF 使用 Windows 现有的 .NET Framework 4.8,首次加载用系统 C# 编译器从本仓库源码构建,输出缓存到插件数据目录;不下载编译器、不要求管理员、不修改 DSH 安装包。
窗口只做 UI,不联网;辅助进程环境采用 OS 字段白名单,不继承模型 API Key、DSH 认证变量或 NODE_OPTIONS。模型凭据只留在 DSH。
优先通过 DSH 的 插件 → 添加插件,输入:
github:bjcdeshu/dsh-selection-assistant
仓库不需要 JavaScript 构建步骤。selection-hook 包含 Windows 原生预编译依赖;不同包管理器可能询问是否允许其 node-gyp-build 安装脚本。请先审阅再决定,不要授权不相关的生命周期脚本。源码开发可以先 pnpm install --ignore-scripts,本项目已通过直接加载 prebuild 验证,不要求自动重编译 native addon。
CLI 示例(仅在你的运行实例确实使用此 profile 时):
dsh plugin --profile desktop add github:bjcdeshu/dsh-selection-assistant
应用自有 profile 可能不同,优先在当前实例的插件页面安装,不要盲目修改其他 profile。宿主提示需要重启时,请先保存当前任务再重启;本插件不会自行重启 DSH。
首次加载会出现托盘图标,右键打开设置:
Ctrl+Alt+D;需要模拟复制的应用才显式打开剪贴板兜底。$DSH_HOME/plugin-data/dsh-selection-assistant/settings.json(未定义 DSH_HOME 时为用户目录的 .dsh 下同一路径)。这里仅有偏好和自定义提示词,没有模型密钥、选区或结果。window-state.json,在调整后自动保存,不依赖原生编译缓存。原文和译文不会写入此文件。native-cache。希望清除设置时先停用插件,再自行删除这个明确的插件数据目录,不要删除整个 DSH 数据目录。选区本身可能含敏感数据。应用黑名单与明显凭据格式拦截只是一层辅助,不是全面密码/隐私检测保证。不需要时暂停;不要把敏感选区提交给云模型。模型服务的计费、存储及 DSH 自身诊断策略仍适用。
开启剪贴板兜底可能模拟复制并短暂接触剪贴板,无法保证所有第三方应用都完全无副作用。默认关闭。不开管理员权限来绕过 UIPI;提权应用、图片/扫描 PDF、canvas 和特殊编辑器可能无法取词。首版不包含 OCR、原文替换、翻译历史、自动上传、自动联网搜索或自动执行工具。
结果支持安全的轻量 Markdown(标题、列表、引用、粗体、行内码、代码块);不执行 HTML、不自动打开链接。复杂表格/公式不是浏览器级排版。
本项目直接在 main 分支开发,验证后同步 GitHub,保持单一主分支。
需要 Node 22.19+;原生 UI 构建在 Windows 使用已安装的 .NET Framework 4.8(精简版 Windows 可能缺失)。
pnpm install --ignore-scripts
pnpm verify # JS 语法 + 无 hook / 无模型调用的单元测试
pnpm build:native # 系统 csc 编译原生 UI
pnpm demo # 仅示例 UI 的冒烟测试和本地截图;不监听真实选区
node scripts/verify-window-restart.mjs # 独立原生进程重启、尺寸/透明度恢复与语言提交
node scripts/verify-window-preferences.mjs # 偏好文件、原子保存及异常恢复
node scripts/verify-languages.mjs # 语言搜索、选择与旧设置兼容
node scripts/verify-toolbar-placement.mjs # 松开点对齐、边缘避让和多种缩放
node scripts/verify-host-icon.mjs # 已安装宿主的多尺寸图标与原生窗口图标
node scripts/verify-theme.mjs # 系统主题通知、已打开窗口、固定主题与退出清理
node scripts/verify-popup-keyboard.mjs # 弹层键盘优先级,不误停翻译或关窗
示例截图仅写入 gitignored 的 .local/。demo 不加载取词库、不注册全局快捷键、不访问剪贴板、不调用模型。CI 在 Linux/Windows 运行纯逻辑测试,并在 Windows 编译 UI。
node scripts/benchmark-native.mjs 会显示合成窗口并记录固定流式文本和十次关闭重开的界面资源样本。它只测原生 UI,不代表两个 helper 的总占用或与 Cherry 的对照。
本地源码链接不提供 JS 热更新:DSH 0.2.0-rc.2 的插件开关可能复用已加载的模块。修改 Host JS 或构建器后需要在任务停止时正常重开 DSH;只改原生界面时,可通过插件开关重载。构建缓存指纹包含全部 C# 文件、manifest 和 app.config;native-cache/<hash>/ui-status.json 只保存最近的进程、热键注册和错误类型,不含原文、译文或密钥。
本项目 MIT。第三方许可见 THIRD_PARTY_NOTICES.md。selection-hook 为 MIT;Cherry Studio 主程序为 AGPL-3.0。这里没有复制 Cherry 的应用源码、图标或长提示词,也不宣称由 Cherry/DeepSeek 官方开发。
问题反馈:Issues。请不要上传 API Key、私人选区、聊天日志或完整本机配置。