oh-my-hermes 浏览器适配器指南:租约管理 + Trace 录制,让 Agent 的网页操作稳如老狗
2026/9/21 16:45:39 网站建设 项目流程

oh-my-hermes 浏览器适配器指南:租约管理 + Trace 录制,让 Agent 的网页操作稳如老狗

【免费下载链接】oh-my-hermesAll in one plugin for Hermes Agent ⚚ the coding intelligence, a long-term memory system and model optimized workflow packages项目地址: https://gitcode.com/GitHub_Trending/ohm/oh-my-hermes

oh-my-hermes是 Hermes Agent 的一体化增强插件,内置编码智能、长期记忆系统与模型优化工作流。它的浏览器适配器(Browser Adapter)通过"浏览器租约管理"为每次网页任务发放有边界的访问凭证,并配合工作流 trace 录制(workflow trace recording)把一次成功的网页操作沉淀为可审计、可回放的证据包。下面用 4 个部分带你快速理解它的设计与用法。

🎯 为什么需要"浏览器租约"?

让 AI Agent 直接操作浏览器,最大的风险是失控:它可能打开不该开的页面、点击不该点的按钮、把 Cookie 和表单内容泄露出去。oh-my-hermes 的思路是——Agent 不能"直接开车",必须先申请一张限时驾照(租约/lease)

核心机制可以概括为三点:

机制作用
显式准入(admission)只有宿主(Hermes)明确接受某条浏览器请求后,才注册omh_browser工具;300 秒后自动过期
有限租约每个租约最多 4 个标签页、64 次观察/操作、300 秒 TTL,全部动作都受 OS 文件锁保护
只读语义默认操作是惰性的语义read,原生browser_*工具调用在适配器启用期间被全部拦截

也就是说:配置开启 ≠ 可以使用。租约、能力发现、页面状态都有独立的生命周期和上限,任何一步不满足就直接失败关闭(fail closed)。

🔑 租约生命周期:从 acquire 到 release

租约由BrowserSessionManager管理,一次完整流程是:

  1. acquire—— 声明任务、认证边界、允许的域名/动作,生成带哈希身份的租约;
  2. capabilities()—— 宿主返回有界的browser_adapter_capabilities/v1快照,每个租约最多查一次;
  3. start/observe—— 宿主自行解析登录态并返回标签页;观察只回传 URL 摘要、主机修订号和最多 32 个语义元素(role/name/key),DOM 原文一律不落地
  4. act—— 执行前必须做一次新鲜观察,原子复核页面修订号,杜绝"点到了过时的按钮";
  5. release—— 只有在宿主真正回收资源({reaped: true})后才记录为终态;会话结束钩子会自动清理。

想深入细节可以看官方参考文档:docs/BROWSER-ADAPTER.md,宿主回调接口定义在 src/workflows/browser_adapter.py,租约持久化实现在 src/workflows/browser_lease_store.py。

💡 隐私设计亮点:页面状态里只有observed_origin+ URL 摘要(digest),没有路径、查询参数、凭据,也没有 DOM 和截图。

📼 工作流 trace 录制:把成功操作变成"证据"

光能安全地操作还不够。oh-my-hermes 的browser_workflow_trace/v1契约可以把一次已明确选中、且带成功证明的网页操作录制为离线 trace,用于后续回放验证,而不会启动浏览器、执行提交或调用模型。

操作者命令长这样(都是控制平面命令,默认不会自动运行):

omh web-qa trace record --project-root . --input trace.json omh web-qa trace inspect --project-root . --trace-id bwt-0123456789abcdef omh web-qa trace approve --project-root . --trace-id bwt-0123456789abcdef --digest <sha256> omh web-qa trace replay --project-root . --trace-id bwt-0123456789abcdef --observation observation.json omh web-qa trace status --project-root . --trace-id bwt-0123456789abcdef

trace 的边界非常克制:

  • 只存放在 Git 仓库根下的.omh/web-visual-qa/traces/离开 Git 根目录直接失败关闭
  • 解析器会规范化域名、剥掉 URL 查询串,并在持久化前丢弃 Cookie、凭据、DOM、截图等一切敏感元数据;
  • 单条 trace 不超过 256 KiB / 64 步,每步最多 8 个定位候选;
  • 回放时零匹配或有歧义就停下,绝不"猜一个最像的";提交类操作永不自动重试

契约细节见 docs/BROWSER-WORKFLOW-TRACES.md,存储实现见 src/workflows/browser_workflow_learning_store.py,示例数据在 benchmarks/browser-trace-replay/。

✅ 想验证?跑一跑官方基准与测试

项目自带可运行的验证套件(使用内存宿主,不需要真实浏览器):

PYTHONPATH=tests uv run python -m unittest tests/test_browser_adapter.py \ tests/test_browser_adapter_boundaries.py tests/test_browser_admission.py \ tests/test_browser_adapter_benchmark.py -v uv run python tools/benchmarks/browser_adapter.py --repetitions 20

测试覆盖了:重复 acquire 不重复回调、owner/标签页/修订号不匹配前置拒绝、租约过期回收、崩溃后保持unknown而不自动重启、容量上限与墓碑保留等边界场景。基准脚本入口在 tools/benchmarks/browser_adapter.py,回放基准在 tools/benchmarks/browser_trace_replay.py。

📚 小结

  • 租约管理:给 Agent 的浏览器访问发"限时驾照",默认只读、超限即拒、失败关闭;
  • trace 录制:把成功的网页操作变成可审计、可回放的离线证据,敏感数据全部脱敏;
  • 相关文档集中在 docs/BROWSER-ADAPTER.md、docs/BROWSER-WORKFLOW-TRACES.md 与 docs/BROWSER-EFFECTS.md;
  • 需要"点击/提交"等有副作用的操作时,另有显式开启的 effect 审批链路(effect_preview/effect_execute/effect_abort),默认仍是惰性的。

一句话:oh-my-hermes 的浏览器适配器不追求"Agent 想干啥就干啥",而是让每一次网页操作都留痕、限时、可回收——这正是生产级 Agent 该有的样子。

【免费下载链接】oh-my-hermesAll in one plugin for Hermes Agent ⚚ the coding intelligence, a long-term memory system and model optimized workflow packages项目地址: https://gitcode.com/GitHub_Trending/ohm/oh-my-hermes

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询