让模型直接开网页截图,还能 OCR 图片与语音输入
27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kemi-20/dsx该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 30 处,展示前 29 条)
- 发起网络请求packages/dsh-browser-tool/index.js:118
const response = await fetch(visionEndpoint(apiUrl), { - 发起网络请求packages/dsx/client.js:760
const streamResponse = await fetch(endpoint, { - 发起网络请求packages/dsx/client.js:773
const fallbackResponse = await fetch(endpoint, { - 发起网络请求packages/dsx/index.js:111
const response = await fetch(visionEndpoint(apiUrl), { - 发起网络请求packages/dsx/index.js:124
const fallback = await fetch(endpoint, { - 发起网络请求packages/dsx/index.js:258
const response = await fetch(visionEndpoint(apiUrl), { - 读取本地文件packages/dsx/index.js:338
source = readFileSync(file, "utf8"); - 写入本地文件packages/dsx/index.js:346
writeFileSync(file, migrated, "utf8"); - 写入剪贴板src/context-menu.ts:36
template.push({ label: "复制链接地址", click: () => clipboard.writeText(params.linkURL) }); - 写入本地文件src/dsh-service.ts:123
this.log = createWriteStream(logPath, { flags: "a" }); - 执行外部命令来自配置/变量src/dsh-service.ts:132
const child = spawn(process.execPath, dshArgs, { - 执行外部命令固定命令src/dsh-service.ts:310
const killer = spawn("taskkill.exe", args, { windowsHide: true, stdio: "ignore" }); - 发起网络请求src/dsh-service.ts:332
const response = await fetch(url, { - 写入本地文件src/main.ts:61
mkdirSync(logDirectory, { recursive: true }); - 读取本地文件src/main.ts:139
if (existsSync(marker)) { - 删除本地文件递归src/main.ts:145
rmSync(staging, { recursive: true, force: true }); - 写入本地文件src/main.ts:146
mkdirSync(staging, { recursive: true }); - 写入本地文件src/main.ts:148
writeFileSync(path.join(staging, ".ready"), version); - 删除本地文件递归src/main.ts:149
rmSync(destination, { recursive: true, force: true }); - 写入本地文件src/main.ts:150
renameSync(staging, destination); - 读取本地文件src/main.ts:169
if (!existsSync(sourceFile)) continue; - 读取本地文件src/main.ts:170
const sourceBytes = readFileSync(sourceFile); - 读取本地文件src/main.ts:173
targetBytes = readFileSync(path.join(targetRoot, file)); - 写入本地文件src/main.ts:178
mkdirSync(targetRoot, { recursive: true }); - 写入本地文件src/main.ts:179
writeFileSync(path.join(targetRoot, file), sourceBytes); - 读取本地文件src/runtime-cache.ts:8
if (!existsSync(base)) return; - 读取本地文件src/runtime-cache.ts:9
for (const entry of readdirSync(base, { withFileTypes: true })) { - 读取本地文件src/runtime-cache.ts:14
if (readFileSync(marker, "utf8") !== entry.name) continue; - 删除本地文件递归src/runtime-cache.ts:15
rmSync(candidate, { recursive: true, force: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 打开网页截图
- OCR图片识别
- 语音输入
README
由 DeepSeek 最新模型翻译生成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 等)转成文字插入输入框;录音中直接按发送键或回车,会先转写拼接再自动发送。
展开完整文档(README 剩余 1 节)
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-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 自动构建预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kemi-20/dsx
让模型直接开网页截图,还能 OCR 图片与语音输入
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,125已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,465已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,457已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,710已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,378已汉化DSH
70.2
这是你的仓库?认领条目