Skip to content

feat: add agent-browser skill and Dockerfile.heavy#1861

Merged
afjcjsbx merged 1 commit intosipeed:mainfrom
amirmamaghani:feat/agent-browser-skill-heavy-dockerfile
Mar 21, 2026
Merged

feat: add agent-browser skill and Dockerfile.heavy#1861
afjcjsbx merged 1 commit intosipeed:mainfrom
amirmamaghani:feat/agent-browser-skill-heavy-dockerfile

Conversation

@amirmamaghani
Copy link
Contributor

Summary

  • Add agent-browser skill to the default workspace — a complete CLI reference for browser automation via Chrome/Chromium CDP (snapshot-ref interaction pattern, auth strategies, session management, JS eval)
  • Add Dockerfile.heavy — a batteries-included container image for deployments that need browser automation and rich tool support
  • The skill includes a runtime guard: it instructs the agent to check which agent-browser before use, so lightweight images degrade gracefully instead of failing

Dockerfile.heavy

Builds on top of node:24-alpine with:

Component Version
Node.js + npm 24.x
Python + pip 3.12
uv latest
Chromium + Playwright bundled
agent-browser latest (npm global)

Runs as non-root picoclaw user (UID/GID 1000), includes the default workspace with all skills, and exposes a persistent workspace volume.

This complements the existing minimal Dockerfile (alpine, no runtime deps) and Dockerfile.full (node + python, no browser) for use cases that require full browser automation.

Test plan

  • docker build -f docker/Dockerfile.heavy -t picoclaw:heavy . builds successfully
  • Container starts, health check passes (/health returns ok)
  • All 7 skills loaded, 13 tools available
  • agent-browser, node, python3, uv all available inside container
  • Agent can run agent-browser open + agent-browser screenshot end-to-end
  • Lightweight images (Dockerfile, Dockerfile.full) skip browser skill gracefully

Add agent-browser skill to the default workspace with complete CLI
reference for browser automation via Chrome/Chromium CDP. The skill
includes a runtime guard that checks for the binary before use.

Add Dockerfile.heavy — a batteries-included container image with:
- Node.js 24 + npm
- Python 3 + pip + uv
- Chromium + Playwright (for agent-browser)
- agent-browser CLI pre-installed
- Non-root picoclaw user (UID/GID 1000)
- Default workspace with all skills
- Persistent workspace volume

This complements the existing minimal Dockerfile and Dockerfile.full
for deployments that need browser automation and rich tool support.
@amirmamaghani
Copy link
Contributor Author

@alexhoshina @yinwm @mattn guys this one is simple yet powerful, please take a look

Copy link
Collaborator

@alexhoshina alexhoshina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@afjcjsbx afjcjsbx self-requested a review March 21, 2026 18:46
@afjcjsbx afjcjsbx merged commit 5286464 into sipeed:main Mar 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants