dsh-inapp-browser:DeepSeek Harness 内置浏览器面板

前言

在开发 DeepSeek Harness 智能体时,让 AI 具备网页操作能力通常需要调用繁琐的浏览器自动化接口,或者让用户手动操作多个窗口,这种方式效率较低。dsh-inapp-browser 插件提供了一个内置的浏览器面板,让 AI 与用户在同一个上下文中操作网页,支持从打开网址、点击交互到截图读取的完整流程。

这是什么

dsh-inapp-browser 是一个客户端插件,由开发者 alllllinnrann 维护。它利用 Chrome DevTools Protocol (CDP) 在 Better Sidebar 中渲染一个独立的浏览器实例。默认情况下,该浏览器会启动必应搜索页面,且用户的登录资料会按聊天会话保存,互不干扰。

核心功能

插件提供了丰富的工具集,覆盖了网页浏览和交互的主要场景。

浏览控制

  • 标签管理:支持多标签页操作。通过 iab_tabs 查看当前标签列表,使用 iab_select 切换标签,iab_close_tab 关闭标签(至少保留一个标签)。
  • 导航与刷新:支持 iab_open 打开网址或搜索词(支持 Bing、百度、Google 引擎),iab_back 后退,iab_forward 前进,以及 iab_reload 刷新页面。
  • 弹窗处理:提供 iab_dialog 接口,用于确认或取消网页的 JavaScript 弹窗(如 alert、confirm、prompt)。

页面交互

  • 点击与输入:支持鼠标点击 iab_click(可指定左、右、中键),支持向聚焦控件输入中文 iab_type,以及拖拽操作 iab_drag。
  • 滚动与按键:支持页面滚动 iab_scroll(可指定方向和位置),以及模拟键盘按键 iab_key(支持组合键,如全选 Ctrl+A)。
  • 等待机制:提供 iab_wait 接口,在执行下一步操作前等待页面加载,范围 0-10000 毫秒。

信息读取

  • 页面快照:调用 iab_snapshot 可获取当前页面的网址、标题、文字内容、控件列表(含位置、标签、是否在视口内)及视口尺寸。
  • 高清截图:调用 iab_screenshot 可获取当前页面的图片附件及视口信息。注意,截图需要宿主支持图片输入的模型。

安装与依赖

使用此插件前,需确保环境满足以下版本要求:

  • DeepSeek Harness:0.1.5-rc.2
  • Node.js:22.19 或更高版本
  • Better Sidebar:0.19.1 到 0.19.x

典型用法

以下为插件提供的典型工具调用示例。工具会自动使用当前聊天会话,无需传入聊天 ID。

打开网址并搜索

{
  "name": "iab_open",
  "arguments": {
    "url": "https://www.bing.com",
    "engine": "bing",
    "newTab": false
  }
}

输入文字

{
  "name": "iab_type",
  "arguments": {
    "text": "Hello World"
  }
}

点击坐标

{
  "name": "iab_click",
  "arguments": {
    "x": 100,
    "y": 200,
    "button": "left"
  }
}

截图

{
  "name": "iab_screenshot"
}

配置与注意事项

环境变量

可以通过设置环境变量来定制浏览器路径和数据目录:

  • DSH_IAB_BROWSER_PATH:指定浏览器可执行文件路径,默认自动查找 Edge、Chrome 或 Chromium。
  • DSH_IAB_DATA_DIR:浏览器资料根目录,默认为 ${DSH_HOME}/storages/dsh-inapp-browser/。
  • DSH_HOME:Harness 数据根目录,默认为用户目录下的 .dsh。
  • DSH_IAB_HOME_URL:新会话的首页,默认为 https://www.bing.com/。

坐标与按键规则

  • 坐标系统:iab_click 和 iab_drag 中的 x、y 参数为网页视口的 CSS 像素,不是侧栏图片缩放后的坐标。如果模型端对截图进行了缩放,需要换算回原始视口坐标。
  • 组合键:iab_key 中的 modifiers 使用位掩码组合:Alt=1、Ctrl=2、Meta=4、Shift=8。例如,全选操作为 {"key": "a", "modifiers": 2}。

其他限制

  • 截图功能依赖支持图片输入的模型及宿主附件服务。
  • 插件不接管用户日常已经打开的浏览器,它运行在独立的进程中,仅用于当前 Harness 聊天会话。

总结

dsh-inapp-browser 通过 CDP 协议为 DeepSeek Harness 带来了原生的浏览器控制能力。它解决了 AI 操作网页时的上下文割裂问题,通过共享登录态和可视化面板,大幅降低了网页自动化开发的门槛。更多细节可查看 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜