dsh-helper-plugin-workspace-browser:工作区独立 Chrome 与 workspace_browser_* 工具

前言

在 DSH 里让模型读网页、点按钮,常见做法是装浏览器扩展,走 browser_* 工具,连的是你日常在用的那个 Chrome。扩展方便复用已有登录态,但画面多以文本快照为主,且和本机主浏览器绑在一起。

如果你希望每个工作区有自己的浏览器进程和登录态,并在右侧栏看到实时画面,同时用一套独立前缀的工具名与扩展类插件并存,dsh-helper-plugin-workspace-browser 就是面向这个场景的联网工具插件。下面介绍它是什么、怎么装、怎么用,以及和扩展路线的差别。

这是什么

维护者 x102201 在 GitHub 开源的 DSH 插件(当前 package 版本 0.1.0,MIT 许可证)。它为当前工作区单独启动一个带调试端口的 Chrome:你在 DSH 右侧栏看画面,模型通过 workspace_browser_* 阅读和操作页面。

它不接管日常浏览器,也不安装扩展。每个工作区有独立 profile 与登录态;本机需已安装 Chrome,插件不会代为下载浏览器。社区目录分类为「联网工具」,SkillHub 目录页:https://www.skillhub.cn/plugins/x102201/dsh-helper-plugin-workspace-browser。

和扩展类插件的差别

扩展路线(例如 dsh-browser-control)通过扩展加调试桥,连的是正在使用的浏览器;本插件另起一个 Chrome 进程,无扩展,直连调试端口。

扩展路线 本插件
和浏览器的关系 扩展加调试桥 无扩展,直连调试端口
准备 安装扩展 点胶囊里的「启动」
登录态 日常浏览器里已有的 工作区自己的 profile,站点要再登一次
你看到的画面 以文本快照为主 右侧栏实时画面
工具名 browser_* workspace_browser_*,可与扩展同时装

核心功能

适合做的事

  • 打开网页,让模型读正文并总结(总结由模型写,插件只交出页面文字)。
  • 按页面控件完成点击、填字、翻页;控件用当次快照编号(如 e1、e2)指认,不靠截图认字。
  • 把跑通的步骤存成技能,下次从输入框再调出。

不适合:操作已登录的日常浏览器;让模型自己写页面脚本或点击坐标。

模型工具(前缀 workspace_browser_)

工具在插件加载时注册,不随浏览器启停增减;浏览器未启动时调用会返回带说明的错误。

类型 工具
读 snapshot、get_text、list_tabs、select_tab、screenshot
写 click、type、press、scroll、navigate、open_tab、close_tab、back、forward、reload、wait
保存技能 save_skill(需先在对话里确认)

默认没有 evaluate。snapshot 先给可见正文再给可操作控件编号;点击和填字用编号,不用 CSS 或坐标。页面文字包在不可信标记里,模型不应把它们当成指令。读写页面使用 playwright-core 连到已启动的 Chrome;进程、标签、画面和截图走 Chrome 调试协议。

界面与数据

点输入框旁胶囊打开小面板,点「启动」后 Chrome 窗口出现,右侧栏展开画面。默认上下两块:上面是当前焦点页,下面是标签缩略图(胶片条);中间分隔条可拖。

工作区数据目录:

<workspace>/.workspace-browser/
├── chrome-profile/     # 本工作区登录态
├── skills/             # 技能说明
├── shots/              # 截图
└── endpoint.json       # 端口线索,不代表浏览器仍存活

无工作区会话时使用 <DSH_HOME>/workspace-browser/_ungrouped/。

安装与启用

需要 Node.js 20 或更高,以及本机 Chrome。安装会修改当前 web profile 的 package.json(依赖和 dsh.profile.bundles)。装完后重启 dsh --profile web(或 dsh web);bundle 列表只在启动时读一次。

通过 GitHub 安装(推荐,无需克隆仓库):

dsh plugin --profile web add github:x102201/dsh-helper-plugin-workspace-browser

本机已有源码、需要跟着改时,可用绝对路径 link 安装:

dsh plugin --profile web add link:/absolute/path/to/dsh-helper-plugin-workspace-browser

注意:cordis.patch.yml 已插入 loader id workspace-browser,profile 里再插同一 id 会报 duplicate loader entry id;同名工具装两次也会导致加载失败。本插件工具前缀与 browser_* 不冲突。

插件在 DSH 宿主进程权限下运行;安装前建议在 GitHub 查看源码与 MIT 许可证:https://github.com/x102201/dsh-helper-plugin-workspace-browser。

典型用法

打开本工作区浏览器

胶囊点「启动」;关窗后约半秒内胶囊回到「未启动」,需再点「启动」。未找到 Chrome、版本过低或多个候选时,小面板会说明原因;可在插件配置区指定 chrome.exe 路径。

/browser 命令

在输入框使用 /browser(未注册的 /命令 会被 DSH 直接拒绝):

输入 插件行为 模型看到
/browser 启动窗口并打开画面 无新消息
/browser https://… 已有同 URL 用该标签,否则后台新开 URL 与标签 id
/browser https://… 后面的话 同上 再加这段话
/browser 无 URL 的一段话 开窗口和画面,不开新标签 整段话,由模型决定去路
/browser --new https://… 强制新开标签 同有 URL 的一行

交给模型的是芯片式上下文;展开说明要求只用 workspace_browser_*,不要用 DSH 自带网页抓取或 browser_*。已打开标签也可从胶片条「加入对话」。

技能

技能记在 <workspace>/.workspace-browser/skills/<名字>.md,不是宿主 .dsh/skills/。可用 /browser 新增技能、/browser 保存技能 等发起,模型复述步骤并经你同意后才写入。输入框 @ 可选技能;胶片条右键可加入对话、查看、删除等。

配置要点

侧边栏「插件」→「已安装」中本插件卡片,配置写在 profile 的 cordis.patch.yml 用户层(namespace 为 loader row id workspace-browser)。常见项包括:capsuleEnabled(胶囊)、debugPort(0 自动分配)、userDataDir(留空用工作区目录)、instanceOnDshExit(keep 或 close)、画面流帧率与质量等。用户数据目录、调试端口、跨域和退出行为在下次启动浏览器时生效。

适用场景与注意

适合:需要与工作区绑定的独立 Chrome、右侧实时预览、与 browser_* 扩展插件并行;重复网页操作想沉淀为工作区本地技能。

注意:站点登录态与日常浏览器分离,需在本插件 profile 里重新登录。写操作由工具直接执行。DeepSeek Harness 生态是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

仓库与设计说明(接口与实测):https://github.com/x102201/dsh-helper-plugin-workspace-browser(DESIGN.zh.md)。

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

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

Xiaoye