xylt369/dsh-browser
Browser capability for DeepSeek Harness: headed Edge/Playwright provider, SSRF-safe navigation, a11y-ref clicking, permission gate with auto-remember, gated evaluate
项目介绍Project Overview
dsh-browser 为 DeepSeek Harness(dsh)补齐浏览器能力,让 AI 能打开真实网页、读取内容、点击按钮、填写表单、截图,默认复用本地 Microsoft Edge 窗口,登录态持久保存。适用自动化浏览、登录受限站点、抓取强反爬页面等场景。需注意:浏览器窗口使用中勿关,serverless/无桌面环境不可用,部分高风控站点可能仍识别人机。
dsh-browser adds browser capabilities to DeepSeek Harness (dsh), letting AI open real web pages, read content, click elements, fill forms, and capture screenshots using a persistent local Microsoft Edge window with saved login state. Use it for automated browsing, logged-in workflows, or scraping sites with strict anti-bot defenses. Note: keep the Edge window open during use, it requires a desktop session, and strong anti-bot sites may still detect automation.
请帮我了解并安装插件:【dsh-browser】【https://github.com/xylt369/dsh-browser】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add \
把 xylt369/dsh-browser 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-browser
English | 中文 | Español | Français | Русский | العربية
为 DeepSeek Harness(dsh)提供完整的浏览器能力:导航、可读快照、点击与填表、多标签、截图,以及可接入识图模型的图像附件。
目标宿主:dsh 0.1.0-rc.7 / 0.1.1-rc.2。默认驱动本机 Microsoft Edge(持久登录态 + 轻量反检测),并兼容 Clash / Surge 的 fake-ip DNS。
当前发布版本:
| 包 | 版本 |
|---|---|
@yeesy369/dsh-browser |
0.6.0 |
@yeesy369/dsh-browser-playwright |
0.8.1 |
@yeesy369/dsh-tool-browser |
0.7.0 |
@yeesy369/dsh-web-permission |
0.6.1 |
仓库与发行说明:https://github.com/xylt369/dsh-browser/releases/tag/v0.8.1
安装
- 确认已安装
dsh(dsh --version)。未安装时执行npm i -g @deepseek-ai/dsh。 - 安装插件:
dsh plugin --profile web add \
@yeesy369/dsh-browser-playwright@0.8.1 \
@yeesy369/dsh-tool-browser@0.7.0 \
@yeesy369/dsh-web-permission@0.6.1
- 重启
dsh web。 - 在对话中请求打开网页;需要登录时在弹出的 Edge 窗口中完成一次即可(状态保存在
~/.dsh/edge-profile)。
升级已有安装时,请使用上方带版本号的 plugin add,然后重启 dsh web。
配置界面(0.8.x)
配置入口为 dsh Web → 设置 → 插件配置。安装并重启后,该页会出现两张官方插件卡片(主路径不再是手写 YAML)。
网页权限门
控制浏览器 / 抓取工具可访问的主机。保存后立即生效(热更新)。
| 控件 | 说明 |
|---|---|
| 允许的主机 | 每行一个主机名;命中则放行 |
| 拒绝的主机 | 每行一个;优先于允许名单(默认含 localhost、metadata.google.internal) |
| 受管控的工具名 | 需要检查 url 参数的工具列表(如 browser_navigate、browser_fill、web_fetch) |
| 名单外主机的默认动作 | 允许 或 询问 |
| 批准后写入允许名单 | 询问 且用户批准后,自动追加到允许名单 |
卡片底部提供 放弃 / 保存;字段被用户覆盖时可 恢复默认。
浏览器窗口
控制 Playwright 启动形态与网络兼容。保存后需重启 dsh,或等待下一次启动浏览器后生效。
| 控件 | 说明 |
|---|---|
| 窗口模式 | 可见窗口 / 隐藏窗口 / 无头 |
| 轻量反检测补丁 | 默认开启(抹除常见自动化指纹) |
| 允许代理 fake-ip DNS | 默认开启;放行 Clash/Surge 的 198.18.0.0/15 解析结果 |
| 窗口模式 | 适用场景 | 注意 |
|---|---|---|
| 可见窗口 | 手动登录、验证码、所见即所得 | 会占用桌面窗口 |
| 隐藏窗口 | 真浏览器、不打扰桌面 | 无法直接看窗口;需要桌面会话 |
| 无头 | 服务器 / CI | 强风控站点仍可能识别;无法手动登录 |
可选包 @yeesy369/dsh-browser-settings 提供侧栏面板。日常配置请优先使用上方「插件配置」卡片。
模型可用能力
| 能力 | 工具 / 行为 |
|---|---|
| 打开页面 | browser_navigate(经 URL 守卫) |
| 阅读页面 | browser_snapshot(含可点击 ref,如 e1、f29e86) |
| 交互 | browser_click / type / fill / press / scroll / wait / back / forward |
| 多标签 | browser_tabs / open_tab / switch_tab / close_tab(按会话隔离) |
| 截图 | browser_screenshot → 持久附件 + image ContentBlock(可送识图模型) |
| 页面内 JS | browser_evaluate(默认关闭;需 YAML/cordis.patch.yml 显式开启) |
安全模型
- 仅允许公网
http(s);拦截内网、回环、link-local、云元数据地址(packages/browser-playwright/src/url-guard.ts)。 - 默认允许代理 fake-ip(
198.18.0.0/15);真实内网段仍拦截。可在「浏览器窗口」卡片关闭。 - 权限门默认对名单外主机为「允许」;需要人工审批时改为「询问」。
- 反检测为轻量实现,不能保证绕过全部风控。
YAML / cordis.patch.yml 仍可作为部署层配置;Web 卡片写入同一 settings 命名空间。
包职责
| 包 | 职责 |
|---|---|
@yeesy369/dsh-browser |
服务定义:ctx.browser |
@yeesy369/dsh-browser-playwright |
Playwright 实现 + 「浏览器窗口」设置卡片 |
@yeesy369/dsh-tool-browser |
面向模型的 browser_* 工具 |
@yeesy369/dsh-web-permission |
tools/pre-execute 权限门 + 「网页权限门」设置卡片 |
@yeesy369/dsh-browser-settings |
可选侧栏配置面板 |
可选:YAML / 高级项
多数选项应在 Web 卡片中修改。以下仅用于自动化部署或尚未进卡片的字段。
# $DSH_HOME/settings.yaml — web-permission(热更新)
web-permission:
defaultAction: ask
remember: true
# ~/.dsh/profiles/web/cordis.patch.yml
- id: browser-playwright
config:
windowVisibility: visible
stealth: true
allowFakeIp: true
- id: tool-browser
config:
evaluate: false
开发
pnpm install
pnpm build && pnpm typecheck && pnpm test
文档:架构 · 贡献与发版 · AGENTS · 许可证 MIT
卸载:
dsh plugin --profile web remove \
@yeesy369/dsh-browser-playwright \
@yeesy369/dsh-tool-browser \
@yeesy369/dsh-web-permission
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase
Tencent/WeKnora