DeepSHPlugins
dsh-browser-control 项目预览
GITHUB / COMMUNITY PROJECT

dsh-browser-control

工具与集成JavaScriptMIT

dsh-browser-control:操控浏览器插件——通过 CDP / Playwright 驱动浏览器,让 DSH agent 能打开页面、点击、填表、抓取控制台日志并截图(当前为脚手架阶段)。

1 StarsPangYiMing 更新时间 2026-08-13
访问 GitHub 仓库
dsh-browser-control 项目预览

项目介绍

中文

dsh-browser-control:操控浏览器插件——通过 CDP / Playwright 驱动浏览器,让 DSH agent 能打开页面、点击、填表、抓取控制台日志并截图(当前为脚手架阶段)。

English

Browser control via CDP / Playwright — lets the DSH agent open pages, click, fill forms, capture console logs and take screenshots (scaffold stage).

项目信息与收录信号

快照 2026-09-11
作者 / 组织
PangYiMing
仓库
PangYiMing/dsh-browser-control
GitHub Stars
1
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-13
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

50/ 100
维护活跃
80
文档与实用信息
85
生态关注度
9
安装便捷信号
75
项目声明信号
100

README 含完整安装与使用说明;关注度尚低(1)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin add github:PangYiMing/dsh-browser-control

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-browser-control

DeepSeek Harness 插件 · 操控浏览器 / DSH plugin for controlling browsers

通过 CDP(Chrome DevTools Protocol) 驱动浏览器:复用日常 Chrome 登录态、导航、抓 console / pageError / networkError、截图、执行任意 JS。

核心资产:

  • scripts/launch.sh — 登录态复用的 CDP 启动器(起 :9222 调试实例)
  • scripts/drive.mjs — CDP 驱动:导航 / 截图 / console / eval / mobile 仿真

Drives browsers over CDP (Chrome DevTools Protocol): reuse your everyday Chrome login state, navigate, capture console / pageError / networkError, screenshot, and eval JS.

快速开始 Quick start

./scripts/launch.sh   # 起 :9222 调试实例(复用日常 Chrome 登录态;已在跑则复用)

node scripts/drive.mjs "<url>" \
  --out /tmp/shot.png \
  [--mobile] [--wait 4000] [--eval "<expr>"]

输出 JSON:title / url(注意 SPA 跳转后的最终地址)/ bodyPreview / console / pageErrors / networkErrors / screenshot 路径。

为什么绕这一圈(登录态复用原理)

新版 Chrome 禁止在默认 user-data-dir 上开 --remote-debugging-port。launch.sh 的做法:把日常 Chrome 的登录态文件(Cookies / Login Data / Local Storage / IndexedDB 等)只读拷贝到隔离目录 /tmp/chrome-e2e-profile,再用隔离目录起调试实例。单向不回写、懒同步(仅首次或 --refresh)、端口探测复用、精确 pkill——详见 docs/cdp-login-reuse.md。

能力与避坑

  • canvas / 可视化库(G6 / echarts / D3 / WebGL)截图:后台 tab 的 raf 会被节流导致截图空白,修法是新建 tab + Page.bringToFront + 踢 raf,且别用 getImageData 判渲染——见 docs/cdp-canvas-pitfalls.md
  • --mobile:390x844 视口 + iPhone UA 仿真
  • --eval:在页面执行任意 JS(验证 DOM 状态 / 读 window 全局 / 调库 API)

DSH 工具 Tools

安装插件后,以下 browser_* 工具自动注册进 agent 的工具集:

工具说明
browser_status探测 CDP 实例是否在跑(默认 9222)
browser_launch幂等启动 CDP 调试 Chrome(复用日常登录态;refresh 强制重同步)
browser_kill关闭 CDP 调试实例
browser_open导航到 URL 并返回 title / 最终 URL / 文本预览 / console / pageError / networkError / 截图
browser_screenshot导航并截图,返回截图路径
browser_eval导航后在页面执行 JS 表达式并返回结果
# 安装后直接在 agent 会话里用自然语言触发:
#   "browser_launch 起 Chrome,然后 browser_open 打开 https://example.com 截图给我看"
dsh plugin --profile demo add dsh-browser-control

路线图 Roadmap

  • [x] 登录态复用启动器(scripts/launch.sh,含 --refresh / --kill / --status)
  • [x] CDP 驱动(scripts/drive.mjs:导航 / 截图 / console / eval / mobile)
  • [x] 封装为 DSH 工具(6 个 browser_* tools)
  • [ ] 点击 / 填表 / 表单交互
  • [ ] Playwright 后端
  • [ ] 多标签 / 多窗口管理

安装 Install

# 发布到 npm 后
dsh plugin --profile demo add dsh-browser-control

# 或从 GitHub 安装(源码安装需要 prepare 构建)
dsh plugin --profile demo add github:PangYiMing/dsh-browser-control

许可证 License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目