中文EN

dsh-doyourweb

browser已测通过npmMIT

通过可搜索的原生侧栏或 @ 引用已登录的 Chrome / Edge 标签页、已授权的本地 HTML 和运行中的 Windows 应用。扩展连接、断开或标签页变化时,已打开的浏览器候选与网页侧栏自动更新,无需修改搜索词。Windows 应用列表跳过身份信息无法读取的受保护进程,保留其他运行中的应用。读取局部快照、批量操作、截图及调用可用的 WebMCP 工具;支持授权上传、拖放和按需网络元数据。浏览器动作失败后保留执行证据,可显式指定后置观察范围,并在末尾检查一次可见性、文本、输入值或 URL 条件,不自动重放副作用。可展开引用保留模型内容;可收纳批注支持绑定会话的暂存队列与编辑、删除、恢复,

下载量 / Downloads
3,481
依赖体积 / node_modules
28.55 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-doyourweb

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-doyourweb

本地 HTML:在 Chrome / Edge 扩展详情中开启“允许访问文件网址”,重新加载扩展后,已打开的 file:// 页面会出现在 @ 菜单,可读取、操作和批注。该开关由浏览器管理。

让 DeepSeek Harness 引用并操作你已经打开、保持登录的 Chrome 和 Edge 页面,用精简的页面上下文和批量操作减少重复读取。

0.2.2 在配套扩展连接、断开或标签页变化时刷新已打开的 @ / / 浏览器候选与网页侧栏,无需修改搜索词;同时修复 Windows 遇到受保护进程时整份应用列表不显示的问题,侧栏和 @ 菜单继续列出其他正在运行的应用窗口。浏览器动作失败后保留执行证据,可用 observation 显式缩小后置快照,并用 expect 在批次末尾检查一次结果条件。保留桌面安静读取与控件分页。用法见[浏览器工作流与诊断](docs/browser-workflow.md)、[架构优化说明](docs/architecture-optimization.md)和[批注与应用控制](docs/annotations-and-apps.md)。

![CI](https://github.com/SheepofSheep/dsh-doyourweb/actions/workflows/ci.yml)

![License](LICENSE)

![Node.js](package.json)

![Playwright](package.json)

[English](README.md) | 简体中文

[在线体验说明](#local-demo) · [快速开始](#quick-start) · [使用文档](#usage)

使用已安装 DSH 的 React 和 UI 图元渲染当前浏览器面板,网页为示例数据。这是组件预览,不是完整 DSH 宿主截图。


01 · 项目介绍

网页任务常常依赖已经打开的页面和已经登录的账号。dsh-doyourweb 面向希望直接在 DeepSeek Harness 中处理这些页面的用户,不需要另开自动化浏览器,也不需要导出 Cookie。

项目由 DSH 插件和配套的 Manifest V3 浏览器扩展组成。插件接入原生 @、/ 菜单,扩展提供标签页信息和控制通道。完成一次配对后,扩展会在后台重连,不必一直打开弹窗。

当前版本为 0.2.2,包和浏览器扩展版本一致,变更见[更新记录](CHANGELOG.md)。

02 · 功能预览

1. 在 DSH 输入 /browser,打开连接页面并查看扩展目录。

2. 在 Chrome 或 Edge 加载扩展,核对并批准四位配对码。

3. 点左导航“浏览器”,或使用 @,将已打开页面加入当前会话草稿,写好任务后再发送。

真实批注组件在本地测试页上的画面。收起保留工具栏;收纳变为页面边缘小按钮,并保留草稿和位置。

真实连接页面使用示例配对请求渲染,以上预览不是自动化任务录像。

<a id="local-demo"></a>

在线体验说明

项目没有公共在线演示。启用 DSH 插件后,默认本地连接页面为 http://127.0.0.1:43187/setup。浏览器控制通过这个本地桥接服务和已安装的扩展完成。

03 · 核心功能

功能 · 当前实现

复用已有页面 · 连接 Chrome、Edge 的普通 HTTP/HTTPS 和已授权的本地 file:// 标签页,保留登录状态。

原生页面引用 · 在 DSH 的 @、/ 菜单中展示页面标题、站点和图标。

浏览器侧栏 · 左导航“浏览器”打开当前会话右侧面板,查看网页、运行应用和本地诊断;点击只追加引用到草稿,发送后才可使用。

上下文收纳 · 网页、应用、批注和手动引用的日志显示为可展开引用,保留发送给模型的原始上下文。

精简读取 · 使用可访问性快照,支持选择器、查询过滤和游标分页;初始引用上下文默认共用 2,400 字符预算。

批量操作 · 单次最多 12 步,支持上传;失败或文档导航时停止,query/hash 变化仅让观察或无目标动作继续。

结果提取 · 按需返回 text、value、href 字段,每次提取最多 20 行。

局部回执 · summary 不生成新快照;handle 返回句柄和游标、不返回正文,使用 refs 前先读游标;observation 显式缩小后置快照范围。

末尾确认 · 可选 expect 在批次末尾检查一次可见性、包含文本、准确输入值或完整 URL;确认结果与已完成动作分开,不重放副作用。

文件上传 · 隐藏 input、自定义选择器和 iframe;需已选标签页及用户明确提供的绝对文件路径。

拖拽与投放 · 在同一 frame 内拖拽元素,或向目标元素投放已授权本地文件及 MIME 数据。

网络元数据 · 显式开始与停止,最多保留 200 条;默认每页 10 条、最多 20 条,可筛选。不记录查询参数、凭据、请求头和正文。

本地诊断 · 有界内存记录命令阶段、耗时与错误码,可停用、清空、导出或主动引用到草稿。

浏览器停止 · 输入时显示独立停止按钮与目标光环,取消后报告已完成及可能不确定的效果。

页面截图 · 将 PNG 保存到本地,返回文件路径,不把 base64 塞进文本上下文。

后台连接 · 保存配对配置、自动重连,并在空闲时释放调试连接。

元素批注 · 选择元素后可暂存多条批注、逐条编辑或删除;队列绑定原会话,随浮窗收起、收纳与重附着保留。确认后加入聊天草稿,由你发送。

应用引用 · @ 搜索运行中的 Windows 窗口,显示程序图标,用进程启动时间和窗口句柄防止旧引用误控新进程。

MCP / CLI · 默认查询匹配的 MCP;支持本机 stdio、Streamable HTTP、自定义连接器和有来源的配置提议。

安装确认 · DSH 原生提问或 /apps 本地页面批准安装;固定包版本,npm 禁用安装脚本,关闭重复询问仅限已审阅和信任的来源。

桌面回退 · 使用 Cua Driver MCP,默认只读有限控件树、按需截图;尽量显示所选窗口,也支持后台执行,反复读取无变化时停止。

键盘输入 · app_type 支持文本加 Enter、Tab、Esc 或组合键;可选 expect 一次读取校验结果。

鼠标操作 · app_mouse 支持点击、双击、右键、滚动和拖拽,一次画面读取最多执行 8 个已知目标动作;前台操作单独确认。

浏览器输出预算按 JavaScript 字符计算,包含 JSON 转义和元数据;应用工具的 limit 限制正文,状态、步骤和图片路径等元数据另计。MCP 不重复返回相同 JSON,CLI 的 stdout 与 stderr 共用正文预算。字符数不等于模型 token 数,输出预算也不限制 DOM 遍历耗时。

WebMCP 优先控制(实验性)

0.1.1 会先检测页面提供的 WebMCP 工具。有适合任务的工具就调用,没有再读取普通页面快照。页面和工具注册未变化时,复用目录和参数校验器;成功调用后返回新的单次凭据,连续操作不用反复列工具。WebMCP 需要浏览器 API 和网站工具支持,普通网页仍使用 DOM 操作。浏览器要求、工具用法和本地测试见[实验说明](docs/webmcp-experiment.md)。

04 · 技术架构

层级 · 技术

DSH 主机插件 · Node.js 22+、JavaScript ESM、Cordis 集成

原生客户端 UI · React、DSH UI primitives

浏览器引擎 · Playwright Core 1.64.0、Chrome DevTools Protocol

网站工具 · document.modelContext、Ajv 8.20.0 参数校验

本地桥接 · WebSocket(ws)、Zod 校验

浏览器扩展 · Manifest V3、chrome.tabs、chrome.debugger

应用连接器 · 官方 MCP SDK 1.32.1、stdio / Streamable HTTP、无 shell 字符串的 CLI 参数调用

构建与检查 · esbuild、Node.js 测试运行器、GitHub Actions

flowchart LR
    subgraph DSH["DeepSeek Harness"]
        UI["原生 @ / 菜单"]
        Host["主机插件"]
        Grants["会话授权与上下文预算"]
        Engine["Playwright 引擎"]
        Bridge["本地 WebSocket / CDP 转发"]
    end
    subgraph Browser["已有 Chrome / Edge"]
        Extension["Manifest V3 扩展"]
        Tabs["已登录的 HTTP/HTTPS 页面"]
    end
    UI <-->|"Strict Remote RPC"| Host
    Host --> Grants --> Engine
    Engine <-->|"CDP"| Bridge
    Bridge <-->|"来源校验与配对令牌"| Extension
    Extension <-->|"标签页信息与调试接口"| Tabs
    Engine -->|"快照、回执、PNG 路径"| Host
    Host --> Apps["应用发现与人类审批"]
    Apps --> Structured["官方 / 社区 MCP 与 CLI"]
    Apps --> Desktop["Cua Driver 桌面回退"]

模型的浏览器工具只能访问用户在当前会话中引用的标签页。网页内容是不可信数据,不会作为用户指令或操作授权。

<a id="quick-start"></a>

05 · 快速开始

安装要求

  • Node.js 22+ 和 npm。
  • DeepSeek Harness;插件 API 已对照 0.2.0-rc.2 检查兼容性。
  • 基于 Chromium 的 Chrome 或 Edge 125+,允许开启开发者模式并加载解压后的扩展。

安装 DSH 插件

通过 npm 安装时,在 DSH 打开 插件 > 添加插件,安装源选择 npm 官方源,输入:

dsh-doyourweb

这种方式需要包已经发布。若官方源返回 404,可用下面的本地安装方式。新版本在镜像源中的同步可能有延迟。

构建并安装本地版本

git clone --branch ver0.2.2 https://github.com/SheepofSheep/dsh-doyourweb.git
cd dsh-doyourweb
npm ci
npm run build

在 DSH 中打开 插件 > 添加插件,填入构建完成后的项目目录绝对路径。插件启用时会启动桥接服务,不需要另开开发服务器。

连接浏览器

1. 在 DSH 输入 /browser,打开本地连接页面。

2. 打开 edge://extensions 或 chrome://extensions,开启开发者模式,将项目中的 extension/ 目录作为解压后的扩展加载。

3. 核对扩展徽标上的四位码与连接页面中的待配对请求,然后批准。

4. 回到 DSH,用 @ 选择标签页并发送任务。

配对页面和扩展弹窗都可以关闭。安装 DSH 插件不会自动安装浏览器扩展。

升级 DSH 插件后,需要从托盘完全退出 DSH 再重新打开,确保加载新版本的主机模块。

配置

默认配置位于 [cordis.patch.yml](cordis.patch.yml):

配置项 · 默认值 · 用途

`

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:13,最后更新 2026-11-04

链接

GitHub · Homepage · npm

同类插件