Repository navigation
Releases: WJPGKZ/dsh-ego-local-browser
Releases · WJPGKZ/dsh-ego-local-browser
Release list
v1.2.0 — 真实浏览器优先 + 桥自启动
解决真实 Chrome/Edge 与 agent 浏览器同时运行时的通道串扰问题,让不同浏览器实例能够稳定、明确地接收命令。
亮点
- 按客户端实例路由:扩展轮询时上报
clientId和角色(real或agent),桥按实例区分客户端,避免真实浏览器与 agent 浏览器抢占同一通道。 - 真实浏览器优先:页面类
ego_*操作默认只选择真实浏览器;只有在browserMode=agent时才使用 agent 客户端。动作结果会返回客户端实例、角色和选择信息,便于诊断。 - 独立的 agent 扩展副本:插件加载时自动生成 agent 专用扩展目录,真实 Chrome/Edge 与 agent 浏览器使用各自的扩展配置。
- 投递目标固定:命令携带目标
clientId,桥只向选定实例投递,修复多个浏览器实例之间的竞态。 - 桥自动启动:新增
autoStartBridge配置,默认开启。插件加载后即可启动桥;关闭后仍可由ego_real按需启动。 - 诊断信息更完整:
ego_real_doctor现在包含客户端详情、桥启动次数、最近一次启动错误以及 agent 扩展目录等信息。
修复
- 修复
/status在生成byBrowser信息时返回 500(object is not iterable)的问题。 - 修复稳定性测试心跳请求缺少 token、导致返回 403 的问题。
- 更新策略测试,使其覆盖
clientRole和clientSelection字段。 - 修复早期版本中
export位于函数体内导致整包无法导入的问题。
验证
- 在 Chrome real、Chrome agent、Edge real 三个客户端并存时,不指定客户端的
ego_page_info、ego_real tabs和ego_js均命中真实 Chrome,agent 客户端未被选中。 - 指定
client=edge时命中真实 Edge,Canvas GE1362 四次 quiz 均获得 10/10。 - 指定
client=chrome时命中真实 Chrome,PASS CS1315 Assignment 1 最高取得 40/40(出现 3 次),正式提交状态为Pending for marking。 hand_read在真实 Edge 上可逐块显示内容。- 插件加载后无需先调用
ego_*,/status即可访问,桥启动次数为 1。 - 所有改动文件通过
node --check,node --test结果为 10/10;本次提交没有删除文件。
升级说明
- 下载并使用
v1.2.0版本(产物为v1.2.0.tar.gz)。 - 在真实 Chrome/Edge 中加载
real-browser/extension/;agent 浏览器使用插件加载时自动生成的real-browser/extension-agent/副本。 - 如需关闭插件加载时自动启动桥,可将
autoStartBridge设为false,之后通过ego_real按需启动。 - 旧扩展未上报
clientId时仍可使用,桥会将其登记为legacy:<browser>,并默认视为真实浏览器。
已知限制
- Edge 开启“效率模式”或标签休眠时,MV3 service worker 可能被节流;指定
client=edge的命令可能排队至 90 秒后超时。执行前可先在 Edge 中打开一个标签页以唤醒扩展。 - 严格 CSP 站点(例如 GitHub)会禁止 MAIN-world eval,因此鲸鱼娘动画和
ego_js可能降级;其他动作不受影响。
v1.1.6 — 修复 bridge 残留,DSH 更新/覆盖安装不再被阻塞
v1.1.6 — bridge 生命周期修复
修复 DSH 退出后本地浏览器 bridge 残留,导致官方更新 / 官网覆盖安装无法替换 DeepSeek Harness.exe(NSIS 静默安装失败) 的问题。
改动
real-browser/bridge/server.mjs:新增 owner watchdog —— 宿主进程(dsh-desktop-host)消失后 ~0.75 秒内自动退出;ESRCH判为宿主已退出,EPERM/ 未知异常保持存活并记录日志(60 秒限频,避免误杀与刷屏)。lib/real-browser-tools.mjs:跟踪本宿主 spawn 的 bridge 子进程,并在ctx.effect(() => () => stopRealBrowserBridge())中注册 disposer —— 插件 dispose / HMR 时主动结束;非本宿主启动的 bridge 不做处理。
评审
- GitHub Copilot CLI 三轮代码评审:首轮发现并修正
ctx.effectdisposer 写法错误;最终结论 “可接受”。
验证
- 隔离测试:宿主存活时 bridge 正常,宿主退出后 bridge 自动退出、端口关闭。
- 真实退出 DSH:bridge 进程消失,无孤儿
DeepSeek Harness.exe进程。 - 重启后
ego_real正常、bridge 稳定存活(watchdog 不误杀)。
升级
- 覆盖安装 / 更新后重启一次 DSH 即可;数据与登录态不受影响。
- 中间版本 1.1.4 / 1.1.5 为本地迭代,GitHub 以 1.1.6 为最终版本。
完整变更见 CHANGELOG.md。
dsh-ego-local-browser v1.1.3
dsh-ego-local-browser v1.1.3 — 真实浏览器模式 + 鲸鱼娘(最终版)
真实浏览器模式(Real Taskbar Browser Mode):不动 profile、不读 cookie、不开调试端口,直接操作你任务栏里的真实 Chrome/Edge。
ego_real/ego_real_doctor:status / tabs / open / navigate / page_info / snapshot / read / click / fill / js / scroll / screenshot / wait_selector / wait_url / hand_read / hand_click / hand_fill / extensionopen= 你点任务栏图标:真实 profile 打开 URL 并回传新标签页- 鲸鱼娘光标(npm whale-maid-cursor,内嵌 base64):粉色
阅读中…/点击/填写标签 + 元素粉框 + 平滑滚动逐块阅读;2.5s 自动淡出、pointer-events:none - 登录策略:
snapshot返回likelyLoginPage;需要登录时 agent 停下请你本人登录,绝不自动登录 - 桥:127.0.0.1:18765,按客户端(chrome/edge)路由、严格结果契约、超时/取消、poll 健康统计
- 扩展补丁(重载一次生效):ping/PROTOCOL=2 握手、结果校验、30s 看门狗、MV3 keepalive、截图/激活重试
保留:原版克隆 profile 的 agent 浏览器模式与 32 个 ego_* 工具(无人值守用)。
验证
real-browser/bridge/verify.mjs:Edge 17/17、Chrome 17/17,连续 3 轮稳定;staged 扩展在一次性 Edge profile 13/13- 鲸鱼娘证据:
whale-edge-read-mid.png、whale-edge-read-move.png(Edge/Canvas MA1508 已登录)、whale-chrome-fill.png、whale-chrome-click.png - 真实浏览器打开证据:Chrome 主进程无
--user-data-dir,桥可见该标签页
已知限制(诚实说明)
- 严格 CSP 站点(GitHub 等)禁止 MAIN-world
eval→ 可见鲸鱼娘动画与js降级;点击/填写/导航/快照/截图正常。 - 扩展补丁需在 chrome://extensions 与 edge://extensions 各「重新加载」一次(不重载也兼容旧版)。
文档:docs/REAL-BROWSER.md、README.md(双模式 + 图标)、docs/CHANGELOG-v1.1.0.md、docs/VERIFICATION.md。
dsh-ego-local-browser v1.0.2
dsh-ego-local-browser v1.0.2
DSH plugin that drives the user's own installed Chrome/Edge with their real login state.
- Minimal profile copy:
Local State+<profile>\Network\Cookiesonly (App-Bound v20 cookies decrypt), trimmed to a domain allowlist. - 32 baseline
ego_*tools + realtime watch panel +ego_local_doctor/ego_local_sync+ a 本地浏览器 settings page. - Hardened after an external review: minimal
--import-chrome-profile,ego_login_importre-routed to the safe sync, cookie-value reads blocked in raw-CDP/script tools, home restricted toE:\AI\DeepSeek\data\, service-level sync mutex, live-profile lock owner checks, live copy opt-in with fingerprint verification, atomic status/config writes, 6-way concurrent cookie deletion (~11s → ~7s). - All data stays outside the source profile; the source profile is never written (verified by size/mtime/sha256).
See docs/DESIGN.md, docs/VERIFICATION.md, docs/ROLLBACK.md, and docs/CHANGELOG-v1.0.1.md in the repository.