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

真实浏览器桥接 titanwings/dsh-better-browser

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

DSH 真实浏览器插件:通过 Kimi WebBridge 让智能体操作你已登录的浏览器,并提供 13 个 webbridge_* 工具。

33.1/100
综合分
10
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add titanwings/dsh-better-browser
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-better-browser(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/17 10:24:40

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 发起网络请求
    lib/index.js:75
    response = await fetch(`${baseUrl}/command`, {
  • 读取本地文件
    lib/index.js:259
    workspaceRoot = await realpath(workspace);
  • 读取本地文件
    lib/index.js:269
    info = await stat(file);
  • 读取本地文件
    lib/index.js:270
    canonicalFile = await realpath(file);
  • 发起网络请求
    lib/types/client.js:75
    response = await fetch(`${baseUrl}/command`, {
  • 读取本地文件
    lib/types/tools.js:149
    workspaceRoot = await realpath(workspace);
  • 读取本地文件
    lib/types/tools.js:162
    info = await stat(file);
  • 读取本地文件
    lib/types/tools.js:163
    canonicalFile = await realpath(file);
  • 发起网络请求
    src/client.ts:121
    response = await fetch(`${baseUrl}/command`, {
  • 读取本地文件
    src/tools.ts:179
    workspaceRoot = await realpath(workspace)
  • 读取本地文件
    src/tools.ts:191
    info = await stat(file)
  • 读取本地文件
    src/tools.ts:192
    canonicalFile = await realpath(file)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 操作用户已登录浏览器
  • 提供13个桥接工具

README

由 DeepSeek 最新模型翻译生成
🌐 dsh-better-browser 让智能体使用你已经登录的真实浏览器。 🔐 需要智能体操作已经登录的网站,又不想复制 Cookie 或重新登录? 🧭 需要导航、点击、填写、截图和网络检查组成一条完整工作流? 🧠 希望浏览器状态留在本机,而不是不断塞进模型上下文? ✨ dsh-better-browser 把用户真实浏览器变成 13 个智能体工具。 通过本机 Kimi WebBridge 复用登录态、已有标签页和活动会话;DSH 负责模型工具,浏览器状态继续留在浏览器里。 真实浏览器 + 本地桥接 + 13 个工具 → 智能体可执行的完整浏览器工作流 为什么需要它 · 核心能力 · 安装 · 快速开始 · 工具 · 安全边界 English · 简体中文 dsh-better-browser:让智能体使用真实浏览器 🎯 为什么需要 dsh-better-browser 无头浏览器适合隔离测试,却无法自然复用你正在使用的登录态、Cookie、标签页和站点会话。dsh-better-browser 连接 Kimi WebBridge 的本地守护进程,让 DSH 中的智能体操作用户自己的浏览器。
展开完整文档(README 剩余 1 节)
🌐 dsh-better-browser

让智能体使用你已经登录的真实浏览器。

🔐 需要智能体操作已经登录的网站,又不想复制 Cookie 或重新登录?
🧭 需要导航、点击、填写、截图和网络检查组成一条完整工作流?
🧠 希望浏览器状态留在本机,而不是不断塞进模型上下文?

✨ dsh-better-browser 把用户真实浏览器变成 13 个智能体工具。

通过本机 Kimi WebBridge 复用登录态、已有标签页和活动会话;DSH 负责模型工具,浏览器状态继续留在浏览器里。

真实浏览器 + 本地桥接 + 13 个工具 → 智能体可执行的完整浏览器工作流

为什么需要它 · 核心能力 · 安装 · 快速开始 · 工具 · 安全边界

English · 简体中文

dsh-better-browser:让智能体使用真实浏览器

🎯 为什么需要 dsh-better-browser

无头浏览器适合隔离测试,却无法自然复用你正在使用的登录态、Cookie、标签页和站点会话。dsh-better-browser 连接 Kimi WebBridge 的本地守护进程,让 DSH 中的智能体操作用户自己的浏览器。

| | 无头浏览器 | dsh-better-browser |
| 登录态 | 通常需要重新登录或注入凭据 | 复用用户浏览器现有状态 |
| 标签页 | 工具独立维护 | 使用真实标签页与标签组 |
| 浏览器状态 | 容易进入工具输出或模型上下文 | 保留在浏览器与本地守护进程 |
| 适合场景 | 隔离测试、抓取 | 登录后工作流、真实页面检查 |

本插件不包含浏览器驱动代码。真正的浏览器操作由 Kimi WebBridge 守护进程和浏览器扩展完成;本插件只把它的本地协议适配为 DSH 模型工具。

✨ 核心能力

🌍 操作用户真实浏览器

导航页面、读取无障碍快照、点击、填写与执行 JavaScript,同时保留登录状态和已经打开的标签页。

🔎 看见页面之外的证据

智能体可以截图、检查网络活动、上传文件并保存 PDF,不必把整个浏览器状态放进模型请求。

🗂️ 一个任务,一个标签组

稳定的 session 名把同一任务的标签页归到一起。不同任务互不混用,用户仍然可以在自己的浏览器中看见并接管全过程。

🔌 零 DSH Core Patch

插件作为 Cordis bundle 安装,注册稳定的 webbridge 行与 13 个 webbridge_ 工具;卸载 bundle 即可移除能力。

⚡ 安装

1. 安装 Kimi WebBridge

Kimi WebBridge 是月之暗面的独立产品,本仓库不包含它的守护进程或浏览器扩展。
请先参考 Kimi 官方产品页与帮助中心:

curl -fsSL https://cdn.kimi.com/webbridge/install.sh | bash
kimi-webbridge status # 期望看到 "extension_connected": true

同时需要从官方商店安装 Kimi WebBridge 扩展:

- Google Chrome
- Microsoft Edge

安装并启用扩展后保持浏览器运行,再执行 kimi-webbridge status。只有 "extension_connected": true 才表示浏览器、守护进程和本插件的完整链路已就绪。

2. 安装 DSH 插件

dsh plugin --profile web add github:titanwings/dsh-better-browser#v0.3.6

重启 dsh web 并刷新页面。模型随后即可看到 webbridge_ 工具。守护进程未运行时,工具会返回 daemon_unreachable,不会静默降级。

🚀 快速开始

安装完成后,可以直接让智能体:使用我的真实浏览器打开 GitHub,找到当前仓库的 Issues,检查最新三个问题,不要关闭我已有的标签页。

智能体会为任务选择稳定的 session,依次导航、读取页面并执行交互。浏览器动作采用排他调度,不会并行修改共享标签页。

navigate → snapshot → click/fill → snapshot → screenshot/network

标签页只会在用户明确要求时关闭;任务结束不会自动清理用户浏览器。

🧰 13 个浏览器工具

| 工具 | 用途 |
| webbridge_navigate | 打开 URL,并为任务设置标签组标题 |
| webbridge_find_tab | 重新选择任务标签页或借用当前活动标签 |
| webbridge_snapshot | 读取页面无障碍树与 @e 元素引用 |
| webbridge_click | 按 @e 引用或 CSS selector 点击 |
| webbridge_fill | 填写 input、textarea 或 contenteditable |
| webbridge_evaluate | 在页面中运行同步或异步 JavaScript |
| webbridge_screenshot | 截取页面或指定元素并返回文件路径 |
| webbridge_list_tabs | 列出当前 session 的标签页 |
| webbridge_network | 启停并检查网络活动 |
| webbridge_upload | 通过文件输入上传调用 Agent 工作区内的文件 |
| webbridge_save_as_pdf | 将当前页面保存为 PDF |
| webbridge_close_tab | 关闭 session 的当前标签页 |
| webbridge_close_session | 关闭 session 的全部标签页 |

🛡️ 会话与安全边界

- 一个任务 = 一个 session = 一个标签组。 每次调用保持相同 session 名。
- 关闭由用户发起。 只有用户明确要求时才关闭标签页或整个 session。
- 浏览器动作串行执行。 所有工具声明 isConcurrencySafe=false,避免共享标签页发生交错修改。
- 主机路径限制在授权范围内。 上传文件必须在调用 Agent 的工作区内;插件会解析规范路径并拒绝符号链接逃逸。截图和 PDF 路径只接受 WebBridge 专用临时目录。
- 导航只允许 Web Origin。 navigate 与 find_tab 仅接受绝对 http/https URL,拒绝本地文件与脚本协议。
- 本地优先不等于零风险。 Agent 操作的是真实登录会话;发送消息、提交表单、发布内容等动作仍应遵守 DSH 的确认与权限策略。
- 模型能看到下一步所需证据。 snapshot 无障碍树、标签页、network detail 以及截图/PDF 路径会随 summary 一起进入工具结果;单次模型可见内容最多 32,000 字符,超出时会明确标记截断。

🔧 技术细节

配置

| 字段 | 默认值 | 含义 |
| baseUrl | http://127.0.0.1:10086 | 守护进程的 http/https 地址 |
| timeoutMs | 30000 | 单次工具调用超时预算(毫秒) |

- id: webbridge
config:
baseUrl: http://127.0.0.1:10086
timeoutMs: 30000

非法 URL 或非正整数超时会在插件挂载时响亮失败。

从旧名称升级

已经安装旧包的 profile 需要先移除,再安装新版本:

dsh plugin --profile web remove @dsh-external/dsh-kimi-browser
dsh plugin --profile web add github:titanwings/dsh-better-browser#v0.3.6

@dsh-external/dsh-better-browser 包身份、webbridge 行 id、全部工具名和配置字段保持稳定。GitHub 仓库归属变化不会改变 Cordis bundle 身份。

当前限制

- 严格检查 event.isTrusted 的站点可能忽略合成 click/fill。
- snapshot、click、fill 与 evaluate 只作用于顶层 frame,不穿透跨域 iframe。
- screenshot 返回守护进程写入的临时文件路径,需要 Read 工具查看。
- 标签组由守护进程维护;重启守护进程会清空它们。

开发与测试

DSH 官方包尚未发布到公共 npm,开发工具链需要一个 DSH 源码 checkout:

pnpm link:dsh -- /path/to/dsh
pnpm typecheck
pnpm test
pnpm build
pnpm check

测试覆盖守护进程客户端、13 个工具、Cordis 生命周期、配置校验和 Loader 冒烟。
设置 KIMI_WEBBRIDGE_IT=1 可对真实守护进程运行集成测试。

📄 License 与 WebBridge 边界

本插件使用 BSD-3-Clause,见 LICENSE。它只兼容 Kimi WebBridge 协议,不包含 Kimi 的守护进程、扩展或代码。Kimi WebBridge 是月之暗面的产品与商标,需根据 Kimi 自身条款另行安装和使用。
预览分享卡片长什么样 ↓titanwings/dsh-better-browser
分享 · DeepSeek Harness Hub
titanwings/dsh-better-browser

DSH 真实浏览器插件:通过 Kimi WebBridge 让智能体操作你已登录的浏览器,并提供 13 个 webbridge_* 工具。

回到顶部