kemi-20/dsx--packages-dsh-browser-tool ↗★ 1
@dsx/dsh-browser-tool
DSH model tools backed by the DSX embedded Chromium browser
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗DSX
DSX 是 DeepSeek Harness 的原生桌面外壳。它把官方 DSH 直接打包成双击即用的桌面应用,并额外内置了一个可供 AI 模型直接调用的 Chromium 浏览器。
核心亮点:内置 AI 浏览器 + 图片 OCR
DSX 在 Electron 中内置了一个真正的浏览器,并把浏览器与图片识别合并进同一个 dsx 插件:
- 默认后台常驻、隐藏运行,像 Codex 一样,不会因为模型调用浏览器就突然弹窗。
- 点击右上角的侧栏按钮才从右侧滑入显示,关闭时平滑滑出,并可左右拖动分隔条调整宽度。
- 支持多标签页、地址栏、前进/后退/刷新等完整交互。
- 通过一个自包含的 DSH Cordis 插件(
packages/dsx)桥接,模型可直接调用browser_open、browser_snapshot、browser_click、browser_type、browser_screenshot等工具。 - 图片先 OCR 再进模型:你上传的图片会先经过多模态模型识别成文字,再交给当前使用的文本模型,DeepSeek 等纯文本模型也能直接看图。
- 语音输入:输入框右侧新增语音按键,录音后由同一个多模态模型(mimo-v2.5 等)转成文字插入输入框;录音中直接按发送键或回车,会先转写拼接再自动发送。
- 浏览器截图、图片 OCR 与语音输入共用同一套多模态配置:多模态模型接口地址、API Key、模型名称,以及「开启浏览器视觉」「开启图片 OCR」两个开关,都在「插件管理 → DSX」中配置,设置完全走 DSH 官方的插件设置接口。
- 首次升级会自动把旧插件
dsx-browser-tool的设置迁移到新的dsx命名空间,已有配置不丢失。 - 插件以 npm 包名
@kemi-20/dsx维护,后续可直接发布到 npm 供 DSH 按名安装。
多模态模型(浏览器视觉 / OCR / 语音共用)
在「插件管理 → DSX」中配置一个 OpenAI 兼容的多模态端点,例如小米 MiMo:
dsx:
visionApiUrl: https://api.xiaomimimo.com/v1
visionApiKey:
visionModel: mimo-v2.5
- 浏览器截图、上传图片 OCR、语音转写共用这一份配置,无需分别设置。
- 所有多模态请求都关闭模型思考(
thinking: { type: "disabled" }),截图与图片只返回识别内容,语音只返回转写文本,不夹带推理过程。 - 语音转写由 DSH 插件后端直连 API(与 OCR 同一条链路),不经过浏览器页面,因此不受 CORS 限制,可直连任意 OpenAI 兼容网关。
旧插件目录 packages/dsh-browser-tool 已合并为 packages/dsx,不再被引用,可手动删除。
为什么要 DSX
- 不再需要
npx @deepseek-ai/dsh web,也不需要一直开着命令行窗口。 - 完全复用官方
~/.dsh:密钥、会话、技能、插件系统、Agent 预设全部兼容,不另建.dsx目录。 - 无标题栏、原生窗口控制,系统托盘常驻;关闭窗口只是隐藏,不会退出。
- 单实例运行,DSH 意外退出后自动重启。
- macOS:点 Dock 图标重新唤出隐藏窗口,菜单栏模板图标自动适配深浅色,DSH 独立进程组退出不残留。
安全:不再监听固定 3080 端口
DSH 不再绑定众所周知的 127.0.0.1:3080:每次启动由操作系统分配一个随机端口,并生成一次性访问令牌。
- 所有 HTTP 请求与 WebSocket 升级都必须携带令牌(Electron 窗口自动带上
dsx-tokenCookie),否则一律 401/断开。 - 浏览器、curl、其他本地进程都无法再直接访问 DeepSeek Harness 的 Web UI 或 API——只有 DSX 窗口本身能访问。
- 随机端口每次启动都不同,不存在可猜测的固定入口。
构建与安装
npm ci
# Windows NSIS 安装包
npm run dist:win
# macOS DMG(当前机器架构)
npm run dist:mac
# 未打包目录,便于本地快速检查
npm run dist:dir