在侧边栏实时观看智能体操作浏览器与桌面并随时接管
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Kuaizr/dsh-vps-live该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
命令参数由运行时变量拼接读写/删除本地文件
查看扫描证据(共 16 处,展示前 16 条)
- 写入本地文件build.mjs:5
mkdirSync('lib', { recursive: true }) - 执行外部命令运行时拼接build.mjs:8
execSync( - 执行外部命令运行时拼接build.mjs:15
execSync( - 读取本地文件build.mjs:21
const raw = readFileSync('lib/client.raw.js', 'utf8') - 删除本地文件build.mjs:22
rmSync('lib/client.raw.js') - 写入本地文件build.mjs:23
writeFileSync('lib/client.js', `window.__ModuleLoader__.load({ - 执行外部命令固定命令src/desktop-tools.ts:11
execFile('xdotool', args, { env: { ...process.env, DISPLAY } }, (error, stdout, stderr) => { - 读取本地文件src/index.ts:24
const dirs = readdirSync(cache).filter(d => d.startsWith('chromium_headless_shell-')).sort().reverse() - 读取本地文件src/index.ts:27
if (existsSync(candidate)) return candidate - 读取本地文件src/index.ts:30
const fullDirs = readdirSync(cache).filter(d => d.startsWith('chromium-')).sort().reverse() - 读取本地文件src/index.ts:34
if (existsSync(candidate)) return candidate - 执行外部命令来自配置/变量src/index.ts:79
const chrome = spawn(EXECUTABLE, [ - 删除本地文件递归src/index.ts:95
await rm(userDataDir, { recursive: true, force: true }).catch(() => {}) - 写入本地文件src/index.ts:244
try { appendFileSync(debugFile, `${new Date().toISOString()} ${message}\n`) } catch {} - 写入本地文件src/index.ts:276
try { appendFileSync(clientErrorLog, `${new Date().toISOString()} ${body.slice(0, 4000)}\n`) } catch {} - 删除本地文件递归src/index.ts:309
await rm(userDataDir, { recursive: true, force: true }).catch(() => {})
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 实时观看浏览器操作
- 实时观看桌面操作
- 随时接管操作
为 DeepSeek Harness 提供 Codex 风格的实时浏览器与桌面镜像
README
由 DeepSeek 最新模型翻译生成dsh-browser-live
Codex 风格的实时浏览器与桌面镜像,专为 DeepSeek Harness 打造。 实时观看智能体干活——带虚拟光标——随时可以接管控制权。
中文说明
面板入口 Browser Live 和 Desktop Live 会作为面板出现在 Web GUI 右侧边栏。
Desktop Live
Desktop Live:智能体的完整虚拟桌面(dwm + Firefox),实时串流进 DSH Web GUI。
它能做什么
一个 DSH 插件,在 Web GUI 右侧边栏里提供两个实时画面:
| 面板 | 你能得到什么 |
| Browser Live | 实时镜像智能体驱动的浏览器(JPEG 帧,走 CDP Page.startScreencast),一个虚拟光标 + 点击涟漪,显示智能体正在做什么,还有一个 Take over 按钮,把输入控制权交给你(手动释放)。 |
| Desktop Live | 完整虚拟桌面(Xvfb + dwm + x11vnc),通过 WebSocket 桥接的 VNC(websockify 风格)串流。直接点击、拖拽、滚动、打字——不用切换。 |
外加一个智能体侧工具 desktop,让模型操作虚拟桌面(通过 xdotool 点击 / 拖拽 / 打字 / 按键 / 滚动)——每个动作你都能实时看到。
展开完整文档(README 剩余 1 节)
dsh-browser-live Codex 风格的实时浏览器与桌面镜像,专为 DeepSeek Harness 打造。 实时观看智能体干活——带虚拟光标——随时可以接管控制权。 中文说明 面板入口 Browser Live 和 Desktop Live 会作为面板出现在 Web GUI 右侧边栏。 Desktop Live Desktop Live:智能体的完整虚拟桌面(dwm + Firefox),实时串流进 DSH Web GUI。 它能做什么 一个 DSH 插件,在 Web GUI 右侧边栏里提供两个实时画面: | 面板 | 你能得到什么 | | Browser Live | 实时镜像智能体驱动的浏览器(JPEG 帧,走 CDP Page.startScreencast),一个虚拟光标 + 点击涟漪,显示智能体正在做什么,还有一个 Take over 按钮,把输入控制权交给你(手动释放)。 | | Desktop Live | 完整虚拟桌面(Xvfb + dwm + x11vnc),通过 WebSocket 桥接的 VNC(websockify 风格)串流。直接点击、拖拽、滚动、打字——不用切换。 | 外加一个智能体侧工具 desktop,让模型操作虚拟桌面(通过 xdotool 点击 / 拖拽 / 打字 / 按键 / 滚动)——每个动作你都能实时看到。 工作原理 ┌─ 你(浏览器,位于 Cloudflare Access 或任意认证之后)─────────────┐ │ Browser Live 画布 Desktop Live 画布(noVNC) │ └───────────────┬────────────────────────┬───────────────────────┘ │ WebSocket /browser-live/ws WebSocket /desktop-live/ws ┌─ dsh-web 宿主 ─┴────────────────────────┴───────────────────────┐ │ browser-live 插件 │ │ • 启动带 CDP 端点的 Chromium(127.0.0.1:9222) │ │ • browser-use 服务商接入同一个浏览器,所以智能体驱动的 │ │ 正是你看到的 │ │ • Page.startScreencast → JPEG 帧 → WS │ │ • 接管输入 → CDP Input.dispatch* │ │ • 智能体光标 → Runtime.addBinding 页面脚本 │ │ • /desktop-live/ws → 认证 → 原始 TCP 桥 → x11vnc:5999 │ └───────────────┬──────────────────────────┬──────────────────────┘ │ attach (CDP) │ RFB Chromium(headless shell) Xvfb :99 + dwm + x11vnc 浏览器为什么不用 VNC?CDP screencast 由画面变化驱动(静态页面几乎零流量),不需要 X 服务器,还能给出像素级精确坐标用于注入输入。桌面为什么不用 CDP?桌面不是浏览器——VNC 才是这里诚实的工具,而一条跑在已认证 WebSocket 上的原始 TCP 桥就是全部桥接逻辑(不需要 websockify 进程)。 环境要求 - DeepSeek Harness 0.1.7-rc.2(web 配置档),并挂载了 @deepseek-ai/dsh-experimental-browser-use-playwright-mcp 服务商 - 宿主机上有一个 Playwright Chromium(headless shell 或完整版) - 桌面实时画面需要:xvfb、dwm、x11vnc、feh、picom(任意窗口管理器都行) 安装 1. 构建插件 git clone https://github.com/Kuaizr/dsh-vps-live.git cd dsh-vps-live npm install npm run build # produces lib/index.js and lib/client.js 2. 接入 DSH web 配置档 在 $DSH_HOME/profiles/web/package.json 中: "@aether/dsh-browser-live": "link:/path/to/dsh-vps-live" 在 $DSH_HOME/profiles/web/cordis.patch.yml 中,把 Playwright MCP 服务商切换为 attach 模式(这样智能体就能驱动镜像出来的浏览器),并插入插件: - insert: - id: browser-live name: "@aether/dsh-browser-live" - id: browser-use name: "@deepseek-ai/dsh-browser-use" - id: browser-use-playwright name: "@deepseek-ai/dsh-experimental-browser-use-playwright-mcp" config: mode: attach endpoint: http://127.0.0.1:9222 然后在配置档里执行 pnpm install,重启 dsh-web。 3. 桌面实时画面(可选) 跑一个虚拟显示,配上窗口管理器和 x11vnc,并绑定到 loopback,例如用 systemd 用户单元: ~/.config/systemd/user/xvfb.service [Service] ExecStart=/usr/bin/Xvfb :99 -screen 0 1600x900x24 -nolisten tcp ~/.config/systemd/user/desktop-wm.service (see autostart/ for an example) [Service] Environment=DISPLAY=:99 ExecStart=/bin/sh /path/to/autostart.sh # wallpaper, picom, dwm ~/.config/systemd/user/x11vnc.service [Service] ExecStart=/usr/bin/x11vnc -display :99 -rfbport 5999 -localhost -nopw -shared -forever -noxdamage 插件会在 DSH 鉴权之后,把 /desktop-live/ws 代理到 127.0.0.1:5999 —— VNC 永远不会监听公网接口。 配置(环境变量) | 变量 | 默认值 | 用途 | | BROWSER_LIVE_PORT | 9222 | attach 模式服务商使用的 CDP 端点端口 | | BROWSER_LIVE_EXECUTABLE | 自动检测 | Chromium / headless-shell 可执行文件 | | BROWSER_LIVE_DISPLAY | :99 | desktop 工具使用的显示 | | BROWSER_LIVE_DEBUG_LOG | 未设置 | 设为某个路径后,把 WS 生命周期日志写到那里 | 安全模型 - 两条 WebSocket 路由都走 DSH 自己的连接服务鉴权(connection.requestRejection)—— 没有新增匿名端点。 - x11vnc 和 CDP 端口只绑定 loopback;没有对外暴露任何新东西。保护你 DSH GUI 的那套机制(比如 Cloudflare Access)同样保护实时画面。 - 接管是独占的:你握着控制权时,其他观看者的输入会被丢弃(智能体的工具仍可用,与 Codex 行为一致)。 已知限制 - 智能体光标靠 DOM 事件跟踪;CDP 派发的移动如果没有 DOM hover,只在点击时显示。 - 投屏由画面变化驱动 —— 连接时先到第一帧(插件会主动抓一帧),之后有变化才推。 - Chromium 完整构建如果 crashpad 坏了,可能起不来;内置的自动检测优先选 Playwright headless shell,它不用 crashpad。 - desktop 工具返回文本结果;截图交给模型(持久附件)这一步留给 DSH 自带的 computer-use 服务商处理。 License MIT © Kuaizr 中文说明 面向 DeepSeek Harness 的 Codex 风格实时浏览器 / 桌面镜像插件。 实时观看智能体操作(带虚拟光标),随时接管控制。 功能 | 面板 | 能力 | | Browser Live | 实时镜像智能体正在操作的浏览器(CDP Page.startScreencast JPEG 帧流);虚拟光标 + 点击涟漪显示智能体动作;一键接管输入(手动释放) | | Desktop Live | 完整虚拟桌面(Xvfb + dwm + x11vnc),WebSocket 桥接 VNC(websockify 式);直接点击 / 拖拽 / 滚动 / 打字 | 另注册智能体工具 desktop:模型可通过 xdotool 操作虚拟桌面(click / drag / type / key / scroll),你的面板实时可见。 原理 - 插件启动 Chromium 并暴露仅本机的 CDP 端口(默认 127.0.0.1:9222); browser-use 的 Playwright MCP 服务商配置为 attach 模式连接同一浏览器,因此 智能体操作的页面 = 你看到的页面。 - Page.startScreencast 是变化驱动的:静态页面几乎零流量;客户端接入时插件主动抓取一帧,之后按变更推帧。 - 接管的输入通过 CDP Input.dispatchMouseEvent / dispatchKeyEvent 注入。 - 智能体光标由页面注入脚本经 Runtime.addBinding 回报坐标。 - 桌面通道:/desktop-live/ws 完成 DSH 认证后,做 WebSocket ↔ VNC 裸 TCP 桥(内置于插件,无需额外 websockify 进程),并带协议层 keepalive 防止 Cloudflare 掐断空闲连接。 安装 git clone https://github.com/Kuaizr/dsh-vps-live.git cd dsh-vps-live && npm install && npm run build 在 $DSH_HOME/profiles/web/package.json 加入: "@aether/dsh-browser-live": "link:/path/to/dsh-vps-live" 在 cordis.patch.yml 中把 playwright provider 改为 attach 模式并插入插件(见上文英文部分的 YAML 示例),然后 pnpm install 并重启 dsh-web。 桌面环境(可选) 需要 xvfb、任意窗口管理器(示例用 dwm)、x11vnc(仅监听 127.0.0.1)。 autostart/ 目录有可直接使用的会话脚本示例。 环境变量 | 变量 | 默认 | 说明 | | BROWSER_LIVE_PORT | 9222 | CDP 端口 | | BROWSER_LIVE_EXECUTABLE | 自动探测 | Chromium / headless shell 路径 | | BROWSER_LIVE_DISPLAY | :99 | desktop 工具使用的显示器 | | BROWSER_LIVE_DEBUG_LOG | 未设置 | 设置为路径时记录 WS 生命周期日志 | 安全模型 - 两条 WS 路由都走 DSH 自带认证(connection.requestRejection),无匿名端点 - x11vnc 与 CDP 端口只绑定 127.0.0.1,不新增公网暴露面 - 接管为独占式:你持有控制权时其他观看者的输入被丢弃 兼容性 针对 DeepSeek Harness 0.1.7-rc.2(web profile)开发与验证。 DSH 仍处于 Developer Preview,后续版本可能需要适配。 许可 MIT © Kuaizr
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Kuaizr/dsh-vps-live
在侧边栏实时观看智能体操作浏览器与桌面并随时接管
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目