ego-browser(中文小标题「看得见的 Agent 浏览器」)是 DeepSeek Harness 的原生插件,把给 AI Agent 用的 Chromium(ego-lite)接进 DSH,给出一组结构化 ego_* 工具(职责单一、可确定性调用)外加一套实时观察窗。注意 README 对工具数量两处口径不一致(正文"33 个"、工具清单标题"32 个"),以 ego_help 的完整索引为准。同类插件的中文清单与安装形态见 完整插件清单与汉化避坑指南。
工具地图:八类,各管一段
八类工具(前缀 ego_):任务空间、页面读取(ego_snapshot 语义树)、导航等待、交互、执行调试、输出、会话安全、元工具。读取与交互分开、等待独立成类——这个分组本身就是用法。各工具名以 ego_help 索引为准。
组合套路:快照 → 定位 → 交互 → 校验
先 ego_snapshot 拿语义树,知道有哪些可达的交互元素;再挑出目标(必要时 ego_read_element 看细节);然后用 ego_click / ego_fill 这类语义定位工具操作,而不是硬编码选择器;最后用 ego_wait_for_selector / ego_wait_for_url / ego_wait_for_response 之一确认状态真的变了。第 4 步最常被省掉、也最吃亏。快照有个真实边界——Linux 上语义树用 CDP DOMSnapshot 重建,不是 macOS 内核级,复杂 iframe / 画布可能降级,可退回 ego_js 或 ego_cdp。
等待与脚本
ego_wait 是定时等待,ego_wait_for_* 三件套是条件等待,快时立刻返回、慢时继续等,比固定 sleep 可靠。典型组合是"点击 → 等响应 → 再读":ego_click 触发 XHR,ego_wait_for_response 等它回来,再 ego_snapshot 读新页面。
动作超过三五步、或需按数据分支时,用 ego_script 把多步逻辑写成脚本一次执行;README 提到 v0.7.0 起它的超时 timeoutMs 真正生效。建议"外层用工具、内层用脚本":需要被观察、可能被接管的节点留在工具层,连续取值、循环翻页封进脚本。
三个逃生门:ego_http、ego_js、ego_cdp
ego_http 在浏览器上下文里发请求,共享会话与 cookie,而不是从宿主进程另起 HTTP 客户端——带登录态取接口时这点是决定性的;ego_js 在页面里求值;ego_cdp 直接下发原始 CDP;再往下还有 ego_cli。机制上:所有 ego_* 参数会被拼成 JS 脚本,经 ctx.subprocess 交给 ego-browser nodejs,结果以 @@DSH_RESULT@@ 哨兵行解析;且所有调用经进程内互斥锁串行化,别当它可以并行乱发。
决定行为边界的几个开关
|
开关
|
默认
|
作用
|
| --- | --- | --- |
|
isolateSpaces
|
关
|
任务空间沙盒隔离
|
|
idleTimeoutMin
|
0(关)
|
空闲 N 分钟后自动回收后台浏览器
|
|
disableFrameRelay
|
关
|
禁用画面回传
|
|
githubMirror
|
——
|
替换 https://github.com 下载源
|
disableFrameRelay 开启后不再回传画面、不启动 ego-cast worker,/api/ego/stream、/api/ego/video 改为返回 {"ok":false,"reason":"frame relay disabled"};但 ego_* 工具不受影响。githubMirror 用于可选 FFmpeg 安装的下载:
空间隔离与登录态
ego_space_open / ego_space_close 显式开闭任务空间,多个空间之间 cookie 相互隔离——要在某空间用某站点的登录态,就得在该空间里登录;isolateSpaces 打开后走沙盒隔离路线。登录态两条边界:ego_auth_flush 负责落盘;重启 DSH 后运行期登录态会被清空(Chrome 运行期 cookie 只在优雅关闭时落盘)。要跨重启保留,用 ego_login_import 从系统浏览器导入更可靠。
安装与版本坐标
npm 包名 dsh-ego-browser(不是 @dsh-external/ego-browser),latest 0.8.6;engines.dsh 地板 >=0.1.2-rc.1(0.1.0-rc.x / 0.1.1-rc.x 需用 v0.8.0 及更早);Node ≥ 22;信任档位已验证。插件本体 MIT;内置运行时嵌入 ego-lite 的 MIT 代码;可选 FFmpeg 构建涉及 GPL-3.0-or-later。
总结
把 ego_* 用好的关键不是记住每个工具,而是记住几条固定组合——快照找路、条件等待定序、脚本收敛多步、逃生门补边界,再用开关收窄行为边界;想对照同类插件的中文清单与安装形态见 完整插件清单与汉化避坑指南。
适合与不适合
适合:要把浏览器操作做成确定流程、并希望每一步都可核对的场景;要用登录态在浏览器上下文里取数据的任务;需要多任务空间隔离会话的多站点工作流。 不适合:要求内核级无头快照与大规模并发抓取的场景——Linux 上语义树是 CDP DOMSnapshot 重建的,且 ego_* 调用串行化;Windows 上的复杂多步流程——底层 ego-lite 宿主仍是非 Windows 官方支持的社区移植;只想要受管 FFmpeg 主程序却还指望有 ffprobe / ffplay 的场景——托管安装只提取 FFmpeg 主程序。
标签:ego-browser、DeepSeek Harness、进阶用法、ego_* 工具、浏览器自动化
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。