feat(browser): install chromium + agent-browser for agent-browser skill

Root cause of agent-browser skill failing:
- Skill loaded but 'agent-browser' CLI wasn't installed
- Debian bookworm main has no chromium (moved to backports)
- Chrome for Testing has no Linux ARM64 builds

Fix:
- Add bookworm-backports (via TUNA mirror) + install chromium + sandbox
- npm i -g agent-browser (pins to CLI version 0.26.0)
- Set env vars to pin chromium path for agent-browser/Playwright/Puppeteer

Verified in container:
  chromium 147.0.7727.101
  agent-browser 0.26.0
  agent-browser screenshot https://example.com -> 3742 bytes PNG saved

Usage: just run commands like
  agent-browser open https://...
  agent-browser screenshot <url> <out>
No need to pass --executable-path; env var AGENT_BROWSER_CHROMIUM_PATH
(and equivalents for Playwright/Puppeteer) makes chromium the default.
This commit is contained in:
gongzhiyong
2026-04-24 23:51:44 +08:00
parent ab2ea0730e
commit a42aa34f5a
+20
View File
@@ -48,6 +48,26 @@ RUN curl -sL https://packages.microsoft.com/keys/microsoft.asc \
&& apt-get update && apt-get install -y --no-install-recommends azure-cli \
&& rm -rf /var/lib/apt/lists/*
# Chromium(从 bookworm-backports 拉;Debian 12 主源已移除 chromium,
# 且 agent-browser 在 Linux ARM64 上需要系统 chromium,不走 Chrome for Testing)
RUN echo 'deb https://mirrors.tuna.tsinghua.edu.cn/debian bookworm-backports main' \
> /etc/apt/sources.list.d/backports.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends -t bookworm-backports \
chromium chromium-sandbox \
fonts-liberation fonts-noto-cjk fonts-noto-color-emoji \
&& rm -rf /var/lib/apt/lists/*
# agent-browser CLI(配合 ~/.claude/skills/agent-browser 使用)
RUN npm install -g agent-browser
# 让 agent-browser / Playwright / Puppeteer 统一用系统 chromium,不再尝试下载
ENV AGENT_BROWSER_CHROMIUM_PATH=/usr/bin/chromium \
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium \
PUPPETEER_SKIP_DOWNLOAD=1 \
PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
RUN pip install --break-system-packages --no-cache-dir \
uv ruff black pytest pytest-asyncio httpx