hermes agent 支持通过browserbase挂载扩展目录、cdp参数加载、docker卷映射及skill脚本注入四种方式启用chrome扩展。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Hermes Agent 时希望为其控制的 Chrome 浏览器添加特定功能(如广告拦截、请求监控或 Cookie 管理),但发现扩展未生效或无法加载,则可能是由于 Hermes Agent 默认运行于无头或受限配置模式,未启用扩展加载机制。以下是实现 Chrome 扩展支持的具体操作路径:
一、通过 Browserbase 启动时注入扩展目录
Hermes Agent 借助 Browserbase 启动 Chrome 实例,该方式支持以本地文件系统路径挂载已打包的 CRX3 或解压后的扩展目录。此方法绕过 Chrome Web Store 安装限制,适用于开发调试与定制化插件集成。
1、将目标扩展解压至一个不含中文与空格的路径,例如 /home/.hermes/extensions/adblock-plus。
2、在 Hermes Agent 配置文件 ~/.hermes/.env 中添加环境变量:BROWSERBASE_EXTENSIONS_PATH=/home/.hermes/extensions。
3、重启 Hermes Agent 并执行浏览器任务,Browserbase 将自动为每个新 Chrome 实例加载该路径下所有子目录作为已启用扩展。
二、修改 CDP 启动参数强制加载 unpacked 扩展
当 Hermes Agent 直接通过 Chrome DevTools Protocol(CDP)连接本地 Chrome 时,需显式传入 --load-extension 参数,否则扩展不会被识别。该方式适用于已安装桌面版 Chrome 且需复用用户配置的场景。
1、确认本地 Chrome 可执行路径,通常为 /usr/bin/google-chrome(Linux)或 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome(macOS)。
2、编辑 Hermes Agent 的浏览器启动配置,在 ~/.hermes/config.yaml 中定位 browser.launch_args 字段,追加:--load-extension=/home/.hermes/extensions/ublock-origin,/home/.hermes/extensions/react-devtools。
3、确保所列扩展目录结构合法(含 manifest.json 且版本 ≥3),启动后可通过 chrome://extensions 页面验证“已加载解压的扩展”状态。
三、利用 Docker 沙箱挂载并预置扩展包
在 Docker 模式下运行 Hermes Agent 时,宿主机的扩展资源无法直接被容器内 Chrome 访问。必须通过卷映射(volume mount)将扩展目录同步进容器文件系统,并在容器启动时注入对应参数。
1、创建映射目录并复制扩展:mkdir -p /opt/hermes-ext && cp -r /path/to/your/extension /opt/hermes-ext/。
2、启动容器时添加卷挂载与参数:docker run -v /opt/hermes-ext:/ext:ro -e CHROME_ARGS="--load-extension=/ext" ... hermes-agent。
3、进入容器执行 ls -l /ext 确认扩展存在,再触发浏览器任务观察扩展图标是否出现在地址栏右侧。
四、通过 Hermes Skill 动态注入扩展脚本(Content Script 方式)
对于无需完整扩展架构、仅需在目标页面注入 JS 行为的轻量需求(如自动点击、表单填充、DOM 监听),可跳过扩展安装流程,直接编写 Hermes Skill 使用 page.evaluate 或 page.addScriptTag 注入逻辑。
1、在 ~/.hermes/skills/ 下新建文件 inject-analytics.js,内容为标准 IIFE 格式 JavaScript。
2、在 Skill 定义 YAML 中声明触发条件与执行动作,其中包含:action: page.addScriptTag({ path: "/home/.hermes/skills/inject-analytics.js" })。
3、调用该 Skill 后,Hermes Agent 将在当前页面上下文中执行脚本,效果等效于扩展 content script,但无需 Chrome 权限声明与用户手动启用。











