🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

AI 内置浏览器 kemi-20/dsx

DeepSeek Harness
kemi-2080 天前有提交已提供中文文档扫描:含敏感能力

让模型直接开网页截图,还能 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
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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 自动构建
预览分享卡片长什么样 ↓kemi-20/dsx
分享 · DeepSeek Harness Hub
kemi-20/dsx

让模型直接开网页截图,还能 OCR 图片与语音输入

这是你的仓库?认领条目

回到顶部