在任意网页浮窗里让 AI 读取并操作当前页面
28/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add flymysql/dsh-browser-client该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 64 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/7) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/index.js:73
const existing = await readFile(tokenFile, 'utf8') - 写入本地文件lib/index.js:81
await mkdir(dirname(tokenFile), { recursive: true }) - 写入本地文件lib/index.js:82
await writeFile(tokenFile, token, { mode: 0o600 }) - 发起网络请求lib/index.js:237
const response = await handler.fetch(upstream) - 发起网络请求lib/tools.js:49
const result = await bridge.request(name, args, { - 发起网络请求lib/workflow/executor.js:198
return bridge.request(tool, args, { signal, timeoutMs }) - 发起网络请求lib/workflow/explorer.js:38
return bridge.request(tool, args, { signal, timeoutMs })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-host-apiproxy给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- AI读取当前页面
- AI操作当前页面
- 网页浮窗工作流
README
由 DeepSeek 最新模型翻译生成DSH 浏览器客户端
让 LLM 通过浏览器浮窗会话,理解并操作用户当前浏览的任意页面。
核心能力:在任意网页右下角浮窗中运行 DSH 会话 —— LLM 通过 page_ 工具读取页面快照、执行 JS、点击/输入/滚动、截图,操作的是用户已登录的真实浏览器(cookie/SSO/内网权限天然现成)。
┌─ 浏览器 ──────────────────────────────────────────────┐ │ content script(页面内执行 snapshot/eval/act) │ │ ↕ chrome.runtime.sendMessage │ │ 面板 iframe(聊天 UI + 双向 control WebSocket) │ │ ↕ HTTP RPC (/ext-api) + WS (/ext-api-control) │ ├─ DSH Host ─────────────────────────────────────────────┤ │ dsh-browser-host 插件 │ │ · /ext-api RPC 代理(复用官方 apiProxy 通道) │ │ · /ext-events.mux 事件流 │ │ · /ext-api-control 双向通道(工具请求↔回包) │ │ · page_ 工具注册(harness → tools.re
展开完整文档(README 剩余 1 节)
DSH 浏览器客户端 让 LLM 通过浏览器浮窗会话,理解并操作用户当前浏览的任意页面。 核心能力:在任意网页右下角浮窗中运行 DSH 会话 —— LLM 通过 page_ 工具读取页面快照、执行 JS、点击/输入/滚动、截图,操作的是用户已登录的真实浏览器(cookie/SSO/内网权限天然现成)。 ┌─ 浏览器 ──────────────────────────────────────────────┐ │ content script(页面内执行 snapshot/eval/act) │ │ ↕ chrome.runtime.sendMessage │ │ 面板 iframe(聊天 UI + 双向 control WebSocket) │ │ ↕ HTTP RPC (/ext-api) + WS (/ext-api-control) │ ├─ DSH Host ─────────────────────────────────────────────┤ │ dsh-browser-host 插件 │ │ · /ext-api RPC 代理(复用官方 apiProxy 通道) │ │ · /ext-events.mux 事件流 │ │ · /ext-api-control 双向通道(工具请求↔回包) │ │ · page_ 工具注册(harness → tools.register) │ └───────────────────────────────────────────────────────┘ 结构 lib/ index.js # 插件入口:路由/WS/工具注册 bridge.js # 双向通道:工具请求挂起/回包路由/超时/断连 tools.js # 6 个 page_* 工具定义(中继到扩展执行) browser-ext/extension/ manifest.json # MV3 扩展(storage/activeTab/scripting/tabs) content/content.js # 浮窗气泡 + Shadow DOM 面板注入 content/page-tools.js # 页面执行核心(snapshot/eval/act/...) background/background.js # 配置 + URL→目录映射 + 截图 panel/ # 浮窗聊天 UI common/dsh-client.js # 双向 wire client docs/ BUSINESS_PLAN.md # 完整商用方案 USER_GUIDE.md # 安装/使用/故障排查 test/ bridge-unit-test.mjs # 通道生命周期单测(通过) e2e-page-tool.mjs # 全链路 E2E(LLM→工具→通道→扩展→回包→回答) 页面工具 | 工具 | 作用 | | page_snapshot | 页面结构化快照(URL/标题/可见文本/交互元素+坐标) | | page_eval | 页面 MAIN world 执行任意 JS 读数据 | | page_act | 点击/输入/滚动/键盘/清除(坐标或选择器) | | page_navigate | 跳转/后退/前进/刷新 | | page_wait | 等待选择器/网络空闲/延时 | | page_screenshot | 截图(视口/元素/整页) | | page_network | 读取页面 fetch/XHR 请求(URL/方法/状态/响应体预览) | ⚠ 工具名用下划线不用点号(page_snapshot 而非 page.snapshot):腾讯 intranet 网关拒绝含点号的工具名。详见 docs/BUSINESS_PLAN.md 的踩坑记录。 快速开始 1. Host 插件:把 cordis.patch.yml 插入 DSH profile,重启 DSH。启动日志打印 token 并注册 6 个工具。 2. 扩展:Chrome → chrome://extensions → 开发者模式 → 加载已解压 → 选 browser-ext/extension。 3. 配置:面板 ⚙ 填 Host 地址 + token($DSH_HOME/browser-client-token)。 4. 使用:浮窗里问"这个页面现在显示什么?" → LLM 调 page_snapshot 回答。 详见 docs/USER_GUIDE.md。 测试 1. 通道单元测试(不需要 DSH 进程) node test/bridge-unit-test.mjs 2. 全链路 E2E(需要:DSH 测试实例 + LLM key) boot test/env 实例 + 模拟扩展回包,验证 LLM→工具→通道→页面→回答 node test/e2e-page-tool.mjs node test/e2e-page-network.mjs 3. 真实浏览器 E2E(需要:360Chrome 加载扩展 + DSH 实例)真实面板 + 真实 content script 执行 page_snapshot,LLM 读取真实页面数据 node test/live-e2e-real.mjs 实机验证记录 在 360Chrome(Chromium 132)加载扩展 + DSH host(:3999)实测通过: - 页面右下角浮窗注入(Shadow DOM)✅ - 面板连接 host、绑定工作区、加载会话列表 ✅ - 真实链路:面板提问 → LLM 调用 page_snapshot → 控制通道 → 面板 → content script → 读取真实页面 DOM("机械键盘 ¥299 / 降噪耳机 ¥899 / 4K 显示器 ¥1999")→ 回传 → LLM 完整作答 ✅ ⚠ Chrome 151+ 在 macOS 上禁用了 --load-extension 命令行加载;实测 360Chrome 支持。Chrome 用户需通过 chrome://extensions 开发者模式手动加载。 状态 - ✅ 阶段 1(双向通道 + 6 个 page_* 工具 + E2E 验证)完成 - 🔜 阶段 2(操作审批流、页面笔记、多 tab 编排) - 🔜 阶段 3(浮窗 UI 升级、打包 crx、视觉闭环打磨) 详见 docs/BUSINESS_PLAN.md。 验证规范(重要) 绝不启停 3080 生产实例。所有验证通过独立新端口实例进行: 启动隔离实例(默认 4101,可指定任意端口) ./test/verify-boot.sh 4101 停止 ./test/verify-boot.sh 4101 stop 指向该实例跑测试(token 是 per-port 的) DSH_BASE=http://127.0.0.1:4101 TOKEN_FILE=test/env/browser-client-token-4101 \ node test/workflow-store-test.mjs - 每个端口实例有独立 token 文件(browser-client-token-)和日志(boot-.log) - 存储后端共享 $DSH_HOME,天然验证跨实例持久化 网页工作流功能(面向非研发人员) 用户用对话描述重复性网页工作 → LLM 生成可保存/重跑的工作流 → 自动执行。 能力一览 | 能力 | 说明 | | workflow_generate 工具 | LLM 把对话需求转化为结构化工作流并保存 | | page_record / page_highlight | 录制用户演示 + 元素高亮确认 | | 执行器 | 按步执行:navigate/action/extract/wait/ask/approve/loop/subflow/branch,重试+ask-user 自愈 | | 持久化 | storageDomain(跨实例验证) | | 定时触发 | trigger.kind=schedule,30s tick 检查 | | 技能封装 | 每个工作流自动注册为 DSH skill(模型可发现) | | 斜杠命令 | /workflows 列出、/run 运行 | | 场景模板 | 6 类高频场景(批量填表/采集/搬运/批量操作/多账号/巡检) | | 模板分享 | export/import 参数化 JSON | | 面板 UI | 工作流 tab:列表/运行/删除/模板/进度 | 工作流数据模型见 lib/workflow/schema.js(WorkflowDefinition + ElementTarget 多路语义定位)。 测试 node test/workflow-store-test.mjs # 保存/校验/持久化 node test/workflow-executor-test.mjs # 执行器全链路(ask/approve/重试) 探索模式(复杂任务的关键能力) 用户需求复杂时,LLM 可能无法一次给出方案。探索模式让 LLM 边操作边学: explore_start → 反复 explore_act(试错,成功/失败都记录)→ explore_check 验证目标 → explore_finish 把验证过的成功路径提炼成干净的工作流(失败的尝试自动丢弃)。 node test/explore-mode-test.mjs # 探索→提炼→保存 闭环验证 面向非研发人员的交互 - 系统提示词段:LLM 用大白话沟通、复述确认需求、主动引导、失败说人话 - 面板探索横幅:实时显示"正在尝试… / 需要你回答… / 完成" - 场景模板 + 引导式提问,不让普通用户面对空白画布
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
flymysql/dsh-browser-client
在任意网页浮窗里让 AI 读取并操作当前页面
相关插件 · 浏览器
智能体插件框架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
这是你的仓库?认领条目