返回目录
其他 插件

dsx

kemi-20/dsx

该仓库暂未提供项目说明。

Stars
1
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:kemi-20/dsx

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

DSX

DSX 是 DeepSeek Harness 的原生桌面外壳。它把官方 DSH 直接打包成双击即用的桌面应用,并额外内置了一个可供 AI 模型直接调用的 Chromium 浏览器。

核心亮点:内置 AI 浏览器 + 图片 OCR

DSX 在 Electron 中内置了一个真正的浏览器,并把浏览器与图片识别合并进同一个 dsx 插件:

  • 默认后台常驻、隐藏运行,像 Codex 一样,不会因为模型调用浏览器就突然弹窗。
  • 点击右上角的侧栏按钮才从右侧滑入显示,关闭时平滑滑出,并可左右拖动分隔条调整宽度。
  • 支持多标签页、地址栏、前进/后退/刷新等完整交互。
  • 通过一个自包含的 DSH Cordis 插件(packages/dsx)桥接,模型可直接调用 browser_openbrowser_snapshotbrowser_clickbrowser_typebrowser_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: <你的 API Key>
  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-token Cookie),否则一律 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

产物输出到 release/

CI 自动打包

.github/workflows/build.yml 会在推送到 main、创建 v* 标签以及发起 Pull Request 时自动构建:

  • Windows:NSIS 安装包(windows-latest
  • macOS:DMG(macos-latest
  • v* 标签时自动发布 GitHub Release

安装包使用固实 7z 最大压缩(-mx=9),并在打包时剔除 README、License、Source Map、TypeScript 声明、测试/示例/文档目录等非运行文件,尽量减小体积。

开发

npm install
npm start

启动后 DSH 会监听一个随机本地端口,DSX 自动加载 Web UI。关闭窗口只是隐藏;在托盘菜单中选择「退出 DSX」才会完全停止。

工作原理

DSX 把固定版本的 DSH 依赖闭包打包成 resources/dsh-runtime.asar,首次启动时解压到 Electron 用户数据目录并复用,之后启动无需联网下载。依赖闭包按 package-lock.json 精确复制,避免 Electron 打包器剪掉 DSH 动态加载的插件。

内置浏览器是挂在主窗口上的 WebContentsView 侧边面板;Cordis 插件负责在模型与浏览器之间通过 DSH 插件 IPC 转发命令。语音转写同样由插件后端直连多模态 API,浏览器页面只负责录音与展示结果。

数据位置

  • DSH 主目录:~/.dsh(与官方 CLI 共享)
  • Windows 日志:%APPDATA%/DSX/logs/dsh.log
  • macOS 日志:~/Library/Application Support/DSX/logs/dsh.log
  • 运行时缓存:Electron 用户数据目录(自动管理)

目录结构

src/                         Electron 主进程与 preload
packages/dsx                 DSH Cordis 插件:AI 浏览器桥接 + 图片 OCR + 语音输入
scripts/                     构建、运行时准备与安装辅助脚本
build/                       打包资源(Windows / macOS 图标)
.github/workflows/            Windows / macOS / Release 自动构建

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。