Back to directory

ego-browser

Curated pick

fisfzy/ego-browser

Drive ego-lite Chromium via 13 ego_* tools (semantic snapshot, click, fill, screenshot, CDP, task-space isolation) with a realtime observation overlay.

20

stars

3

forks

2026-08-07

Created

2026-08-17

Last push

README

ego-browser — 看得见的 Agent 浏览器

<p align="center"> <a href="https://dshfind.com/zh/plugins/Fisfzy/ego-browser?ref=badge"><img src="https://dshfind.com/api/badge/Fisfzy/ego-browser?lang=zh" alt="dshfind - ego-browser"></a> <a href="https://dshfind.com/zh/plugins/Fisfzy/ego-browser"><img src="https://dshfind.com/api/card/Fisfzy/ego-browser?lang=zh" alt="ego-browser card"></a> </p>

仓库github.com/Fisfzy/ego-browser(私有 · 内测)|版本历史见 CHANGELOG.md|详情页:dshfind

⚠️ 发布说明:本插件用于 DeepSeek Harness 生态,已在 dshfind 公开展示。仓库保持维护状态,不发布到 npm / 公共 registry;如需转载本仓库内容请注明出处,不要创建用于分发的公开 fork / 镜像。

CitroLabs/ego-lite(给 AI Agent 用的 Chromium)接入 DeepSeek Harness:以 32 个结构化 ego_* 工具驱动浏览器,并配一套实时观察前端口——agent 后台操作网页时,你能像看直播一样看到它正在浏览的每个页面,还能直接操作它。

一点私藏的独特之处(self-observation):agent 用的就是这一个 Chromium——连它操作 DSH 自身(管理会话、任务看板、调设置)时,观察窗也实时显示、你能随时接手。不只是"看得见 agent 在网页上干活",连 agent 操作 DSH 界面本身都是全程可见、可掌控的。

开箱即用:插件包内置 ego 运行时(runtime/,MIT,见 THIRD_PARTY_NOTICES.md)——无需克隆官方仓库、无需手动构建,--no-sandbox wrapper 随包自带,root / Docker / 无显示器一键跑。


我们的真正优势(不是口号,是能对照代码和竞品核实的能力)

同样把 ego-lite 接进 DSH,市面上已有同类插件用它只做了 3 个工具——一个 run 脚本、一个 help 指南、一个 status 体检,浏览器仍是后台黑盒ego-browser 走的是另一条路:把黑盒打开,并且一上来就把"看"和"控"的能力做到位

能力 ego-browser(本仓库) 同类插件(Da1dr1em/dsh-ego-browser)
结构化工具数 32 个,职责单一、可确定性调用 3 个run/help/status
实时观察窗(SSE screencast 推流 + 标签条 + 历史抽屉) ✅ 有 ❌ 无
监控窗鼠标直接操作真实浏览器(点击/拖拽/滚动回传 CDP) ✅ 有 ❌ 无
worker 单实例守卫 + 崩溃/重复自愈 ✅ 有 ❌ 无
下载捕获 ego_download / 人机验证检测 ego_captcha/ego_page_info ✅ 有 ❌ 无
平台自适应(Linux/macOS/Windows 自动探测 + root/无头/--no-sandbox 兜底) ✅ 全平台 仅 Windows 预览宿主,需手动配
登录态落盘持久化 ego_auth_flush ✅ 有 ⚠️ 仅文档级说明

关键差异两条:

  • 看得到:别家是"跑完告诉你结果"的黑盒;我们实时推流,你看着 agent 操作,卡在验证码/走岔立刻发现。
  • 控得住:别家只读;我们监控窗直接驱动同一个 agent 浏览器,需要时你亲手接管(缩放/拖拽/点击),不必打断 agent 重来。

以上对比基于公开可见的可核实事实:本仓库代码(bin/ego-cast-worker.mjs 实时推流 + CDP 输入回传、lib/index.js 32 个注册工具、lib/cast-server.js host 桥接)与同类插件的源码/README。此文档不含对任何他人的贬低——我们只陈述自己多实现并验证了哪些能力。

相对 ego-lite 本体,我们多做了这些(都可对照本仓库代码核实):

能力 说明(对应代码)
观察窗前端口 ego-lite 本体是无头 CLI(只有 heredoc 脚本 + 文本输出);我们在其上加了 SSE 实时推流 + 标签条 + 历史抽屉 + 监控窗鼠标直操bin/ego-cast-worker.mjslib/cast-server.jslib/client.js),让"看"和"控"成为一等能力
开箱即用 + 跨平台自足 resolveEgoEnv 自动探测 Chrome/Edge/Brave,内置 --no-sandbox wrapper,root / Docker / 无显示器免配置(lib/index.js);不必像官方那样先装一个 GUI 宿主
健壮性层 冷启动自动重试(只重试 CDP 瞬态,不吞真错)、worker 单实例守卫 + 崩溃自动重启、插件卸载 fire-and-forget 不阻塞宿主退出、前端帧缓存上限(withWarmupRetry / makeEnsureWorker / frameCache
运维型工具 ego_doctor(环境体检)、ego_captcha(人机验证探测)、ego_auth_flush(登录落盘)、ego_http(浏览器上下文请求)等,是原生 CLI helper 没有的一层
self-observation agent 操作 DSH 自身界面时同样实时可见、可接手

我们不声称媲美官方 macOS App 的内核级快照或原生多窗口体验;本仓库解决的是"把同一套浏览器能力带进 DSH + Linux/WSL + 看得见"这件事。


它解决什么问题

通用浏览器不是为 agent 设计的,而 Web 上大量交互(登录态、验证码、动态渲染、表单、需真人会话的站点)只有真浏览器能面对——这正是 ego 系 "让 agent 用你已登录的浏览器,而不打扰你"官网)的由来。

ego-browser 把它接进 DSH,并把最痛的一点——你看不见 agent 在干什么、也插不上手——用一套观察窗解决:

🌐 小球一点看直播;🟦 标签条切换/关闭;🕘 历史抽屉回看;🔍 缩放拖拽;🖱️ 监控窗直接接管真实浏览器。一句话:让 agent 在浏览器里干活,你在旁边既看得见、又随时能接手。

几个常见的上手场景

  • 文献 / 数据抓取:让 agent 登录知网 / 谷歌学术翻页收集,你在观察窗看着它滚动、点下一页、下载 PDF,中途卡住立刻能发现。
  • 表单与登录:agent 填表到一半,观察窗弹出验证码——你直接接管把验证码点了,再交还给 agent 继续。
  • QA / 冒烟测试:让 agent 在自己产品上点一圈,观察窗等于一台"会说话的录屏",顺手还能回看历史轨迹。
  • 看 agent 操作 DSH 自身(self-observation):agent 在管理会话 / 调设置时,观察窗同样全程可见、可接手。

✨ 近期亮点

  • v0.7.0:观察窗状态灯干活常绿、空闲呼吸ego_script 每次运行超时 timeoutMs 真正生效;前端 frameCache/pageMeta 按标签清理 + 上限兜底,杜绝长会话内存增长;状态路径家目录回退改 os.homedir() 跨平台化;新增 .gitattributes 统一 LF 换行。
  • v0.6.1:卸载不再阻塞宿主退出(自愈链路稳定);观察窗 worker 单实例守卫 + stale 状态清理;登录/人机验证引导条可关闭且互斥;观察窗主动跟随 agent 正在操作的页面(不再被后台重绘页抢占视图)。
  • v0.6.0:工程收敛——lib/ 定为唯一源,build 改语法校验,杜绝"一构建全回归"。
  • v0.5.0:实时 SSE 推流 + 监控窗直接操作 agent 浏览器。
  • v0.4.0:Windows 适配。
  • 完整历史见 CHANGELOG.md

前置条件

要求 说明
Node ≥ 22 harness 环境自带
任意 Chrome / Chromium / Brave / Edge 自动发现,或 EGO_LINUX_CHROME 指定;root 下用自带 wrapper
DSH + dshx 插件装载机制
带图形界面的 DSH Web(观察窗) headless 会话仍可用 ego_* 工具,仅无观察窗

安装

dshx install ego-browser <ego-browser.tgz>                             # tarball 或 git URL 均可
dshx list                                                # 应显示:[on] ego-browser

可选配置(~/.dsh/config.yaml 该插件条目下):egoBindefaultSpacemaxOutputBytesgraceMs

无需宿主侧任何配置:resolveEgoEnv 自动探测 root / 无显示器并兜底。观察窗 host 路由(/api/ego/spaces 等)仅在有 HTTP server 时注册,headless 是安全 no-op。

工具清单(32 个,前缀 ego_,完整索引见 ego_help

类别 工具
任务空间 ego_space_open ego_space_close ego_status
页面读取 ego_snapshot(语义树) ego_page_info ego_read_element
导航/等待 ego_navigate(复用 tab) ego_wait ego_wait_for_selector ego_wait_for_url ego_wait_for_response
交互 ego_click ego_fill ego_hover ego_drag ego_select ego_check ego_key ego_scroll
执行/调试 ego_js(页面求值) ego_cdp(原始 CDP) ego_cli(任意 heredoc) ego_script(多步脚本)
输出 ego_screenshot ego_download ego_upload
会话/安全 ego_auth_flush(登录落盘) ego_captcha ego_dialog
元工具 ego_help ego_doctor ego_http

观察窗怎么用

右下角 🌐 常驻小球 → 点开:

  • 主画面:agent 当前页面实况;滚轮缩放、按住拖动、双击复位;Ctrl+滚轮缩放视图、Ctrl+拖动平移(v0.5.0)。
  • 标签页条:顶部横排,点选切换,× 关闭。
  • 历史抽屉(🕘):按时间回看访问轨迹。
  • 操作时下方网址行就地显示提示,2 秒后恢复。

登录态说明:多任务空间 Cookie 相互隔离,请在对应空间内登录。重启 DSH 后运行期登录态被清空(Chrome 运行期 Cookie 仅优雅关闭时落盘),需重登——扫码很快。

工作原理

  • 工具层:每个工具把参数拼成 JS 脚本,经 ctx.subprocessego-browser nodejs 喂给 stdin 运行,宿主经 CDP 驱动共享 Chromium。结果以 @@DSH_RESULT@@ 哨兵行解析。所有 ego_* 经进程内互斥锁串行化,错误统一归一。
  • 观察窗(三层):lib/client.js(前端)+ lib/cast-server.js(host 路由转发,懒启动、崩溃自动重启)+ bin/ego-cast-worker.mjs(attach 到 agent 正在用的浏览器,推实时帧)。worker 只读/见控,绝不动宿主环境。

开发

npm run build   # node --check lib/*.js(lib/ 为唯一权威源,不复编译覆盖)

直接改 lib/lib/index.js 工具层、lib/client.js 前端、bin/ego-cast-worker.mjs worker)。新工具在 registerActionToolst({...}) 加,并在 ego_help 索引补一条。

node_modules/ 仅含指向 DSH checkout 的符号链接(编译期类型解析);运行时由 harness 解析 @deepseek-ai/dsh-tools

已知限制(诚实说明)

  • Windows:插件层已做 v0.4.0 适配;底层 ego-lite 宿主仍是非 Windows 官方支持的社区移植,复杂多步流程稳定性可能弱于 macOS。
  • 快照质量:Linux 用 CDP DOMSnapshot 重建语义树,非 macOS 内核级,复杂 iframe/画布场景可能降级。
  • 宿主可靠性(Linux):未合并的社区 PR,跨 CLI 调用间可能丢 tab/空间状态;插件已内置防御,简单流程稳定,复杂流程可能需重试。
  • 登录态持久化:Chrome 运行期 Cookie 仅优雅关闭时落盘,强杀重启需重登。
  • 输出 schema 为宽松 additionalProperties: true,客户端以实际返回值为准。

许可与署名

插件本体 MIT。内置运行时嵌入 CitroLabs/ego-lite 的 MIT 代码(含 PR #234 的 Linux 移植)及一处本地代理补丁——详见 THIRD_PARTY_NOTICES.md


友链

同为 DeepSeek Harness 插件生态的作品,互相安利:

<p align="center"> <a href="https://dshfind.com/zh/plugins/Nagi-ovo/dsh-ads?ref=badge"><img src="https://dshfind.com/api/badge/Nagi-ovo/dsh-ads?lang=zh" alt="dshfind - dsh-ads"></a> <a href="https://dshfind.com/zh/plugins/Nagi-ovo/dsh-ads"><img src="https://dshfind.com/api/card/Nagi-ovo/dsh-ads?lang=zh" alt="dsh-ads card"></a> </p>

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.