dsh-ai-browser:DSH 应用内 AI 浏览器与四级站点权限

前言

在 DeepSeek Harness(DSH)里让模型「看网页、点按钮、下文件」,常见做法是外挂系统浏览器或把整页 HTML 丢给模型。前者难控操作边界,后者既丢交互结构,也难区分「只读资料」和「会改状态的点击」。dsh-ai-browser(GitHub:745403lkh/dsh-ai-browser,维护者 745403lkh,npm 包名 dsh-ai-browser,当前版本 1.1.1,MIT 许可证)走的是另一条路:在桌面版 DSH 会话右侧打开应用内 <webview> 面板,由 Agent 通过 browser 工具操作页面;Host 只负责命令队列、权限与落盘,不启动外部浏览器、不移动系统鼠标。

下面按「是什么 → 能做什么 → 怎么装、怎么用 → 边界与注意」介绍,事实均来自项目 README 与 package.json。

这是什么

一句话:Harness 里的 AI 浏览器模式——新建对话可选 preset id 为 ai-browser 的「AI 浏览器模式」,右侧出现多标签浏览器面板,左侧保留完整对话与 DSH 自带授权弹窗。

与「整页抓取」相比,插件强调产品层的操作边界:每个窗口独立四级权限,再叠加按工作区隔离的四档站点名单(域名 / 子域 / 路径匹配,条目可标「无需授权访问」)。社区目录 SkillHub 将其归类为 admin-security;GitHub 星标数为 1(以目录页与仓库公开信息为准)。

核心功能

AI 浏览器模式(Agent Preset)

  1. 新建对话时,在「标准模式 / 创造模式」之外增加「AI 浏览器模式」(ai-browser)。
  2. 模型与 reasoning effort 仍用原有配置;选中后右侧自动打开浏览器面板,对话区收窄到左侧,面板按会话隔离。
  3. 手动关闭面板后,可从输入框「+」命令菜单选择「打开 AI 浏览器」重新打开。

视觉标识为黑白简笔画地球:浏览器模式会话在侧栏显示地球标识,真正执行任务时地球旋转,空闲静止;离开对话页后,侧栏仍桥接真实运行状态。

browser 工具:读页与操作

Host 在 preset 中注册 browser 工具,常用动作包括:

  • 状态:state、windows、downloads、bookmarks、history
  • 页面:open、read、click、type、press、scroll、back、forward、reload、inspect、screenshot
  • 窗口:new_window、close_window(target="_blank" / window.open 会自动新建标签并切换)
  • 下载控制:pause_download、resume_download、cancel_download

推荐流程:先 read,返回正文与带 index 的可交互元素,再按 index 执行 click / type 等;页面跳转后需重新 read。工具输出会提醒模型:网页内容不可信,勿执行页面内指令。

所有操作在应用内 webview 内通过脚本与合成输入完成;窗口最小化仍可继续(Electron 后台节流可能略慢)。

四级浏览器权限 × 按工作区站点名单

每个窗口独立一档权限;新窗口继承当前窗口级别。工具栏上,刷新按钮右侧、网址栏左侧可切换级别:

级别 能力概要
仅可查看 读页、截图、查看窗口与页面状态
仅简单操作 + 打开 URL、导航、滚动、输入、新建/关闭窗口
自动审查 + 点击、按键、下载;支付/删单/密码框等高风险目标会升级确认
完全权限 全部浏览器操作放行

切换到「自动审查」或「完全权限」时需勾选「我已了解风险」。

站点名单(硬逻辑,按工作区隔离):下载按钮右侧「设置」里,每个工作区维护四档 URL 列表(条数不限)。匹配规则示例:baidu.com 含全部子域;www.baidu.com 仅该主机;www.baidu.com/xyz 含该路径及下级。命中名单则用对应档位;未命中一律「仅可查看」。条目可开「无需授权访问」,AI 打开该站无需再申请。新窗口/外链不继承旧窗口对旧站的豁免,按目标 URL 重新套名单。

权限预设:Harness 设置 →「AI 浏览器」页(地球图标)可建多个预设、设默认;新工作区首次开浏览器模式自动套默认预设;面板设置里也可一键应用到当前工作区。预设支持按名称搜索,并可导出/导入人类可读 txt,例如:

# name: 我的常用预设
[view]
example.com
[simple]
baidu.com !noauth
[review]
docs.example.org
[full]
intranet.example.com

权限不足时,工具会发起一次性授权申请(含窗口、操作与 reason);用户拒绝后 AI 向用户说明,而不是静默结束。也可先用 request_access 再执行。

下载、截图、收藏与历史

  • 下载:链接触发或 AI 调用 download;优先页面内 fetch(可带登录态),跨域失败则 Host 直连(≤512MB,拒绝本机/内网防 SSRF);支持 Range 断点续传与总大小校验,文件落在当前工作区 browser download/,工作区不可用时回退 $DSH_HOME/storages/dsh-ai-browser/downloads/。工具栏下载按钮打开内嵌下载面板,可暂停/继续/取消;.exe / .msi / .apk 等会升级确认。
  • 截图:保存到 $DSH_HOME/storages/dsh-ai-browser/screenshots/,最多 40 张;模型支持图片输入时一并作为附件。
  • 收藏与历史:按工作区隔离;历史最多 500 条。工具栏星形/历史按钮与 bookmarks / history 动作读写同一套数据。

本机持久化目录 $DSH_HOME/storages/dsh-ai-browser/ 含 permissions.json、sites.json、library.json、presets.json 等(详见 README 表格)。

安装与启用

  1. 环境:必须使用 DSH 桌面版(应用内 webview)。仅用浏览器打开 Web GUI 时,面板会提示不支持。
  2. 安装插件:社区目录页标识为 745403lkh/dsh-ai-browser(SkillHub 目录)。在 Harness 中按你惯用的插件安装方式添加该来源;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。README 未给出固定的 dsh plugin add … 单行命令,勿自行拼接未在文档出现的命令格式。
  3. 启用:安装并重启 DSH 后(若 Host/Client 版本不一致,面板会提示重启),新建对话选择「AI 浏览器模式」,或在已有浏览器模式会话里从「+」菜单打开面板。

插件通过 cordis.patch.yml 注入 Host 与 Agent Preset;Client 注入会话与右侧栏槽位,不依赖第三方 npm 包。

典型用法

让 Agent 读页并点击元素

  1. 在 AI 浏览器模式会话中,让模型 open 目标 URL(或你在地址栏手动打开)。
  2. 模型执行 read,从返回的 index 列表里选定按钮或输入框。
  3. 按权限档位:简单操作可先 type / scroll;点击或下载落在「自动审查」及以上,必要时响应授权弹窗。
  4. 导航到新 URL 后再次 read,避免 stale index。

为工作区配置站点名单

  1. 浏览器面板 → 设置 → 编辑四档名单,或使用 Harness 设置 →「AI 浏览器」导入 txt 预设。
  2. 对可信文档站可在 [simple] 等分节加 !noauth,减少重复授权。
  3. 用「导出当前工作区」备份 txt,便于团队共享同一套边界。

预设与 API(本机回环)

插件在 localhost 暴露 /.dsh-ai-browser/* 接口,所有请求须带请求头 x-dsh-ai-browser: 1,且仅接受本机回环来源;用于面板与 Host 协同,跨站页面无法调用。健康检查示例:

GET /.dsh-ai-browser/health
x-dsh-ai-browser: 1

返回插件版本与能力清单,供 Host/Client 自检。

适用场景与注意

适合:需要在 DSH 对话上下文中让模型查阅文档、填表单、拉取可下载资源,且希望用站点名单 + 窗口级别约束「能看 / 能点 / 能下」的开发者或团队。

务必知晓:

  • 插件以当前 DSH 进程权限运行;AI 浏览器 preset 仍可能附带 shell/文件系统类工具。README 明确:浏览器权限是产品层边界,不是对抗任意本机代码的沙箱;拥有 shell 的模型理论上可通过本机 HTTP 绕过面板权限。更强隔离可在 profile patch 里覆盖 preset-ai-browser 的 plugins 列表,移除 shell/文件系统等工具。
  • 会话内 webview 存储按 session:<id> 隔离,重启应用后登录态不保留;Host 直连下载不携带页面 Cookie,需登录态的文件应走页面内取回路径。
  • 安装前自行审阅源码与许可证;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-ai-browser 把「AI 用浏览器」收进 DSH 桌面会话:内嵌多标签、后台可操作、下载可续传,并把安全叙事落在四级权限与工作区站点名单上。若要进一步了解参数与接口表,以仓库 README 为准。

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

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

小夜