neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
코딩 에이전트를 위한 토큰 효율적인 브라우저 자동화, 압축된 접근 스냅샷·UID 동작·바이트 정확 복구, Playwright MCP 대안
Token-efficient browser automation for coding agents: compressed accessibility snapshots, uid actions, byte-exact recovery. A Playwright MCP alternative.
개발 도구Go · JavaScriptGitHub @JuliusBrussee직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A token-efficient alternative to Playwright MCP for coding agents. One Go
binary that attaches to the Chrome you already run, reads the real
accessibility tree, compresses it, and gives your agent four tools that cost
297 tokens of catalog — versus 3,422 for Playwright MCP (0.0.79) and 4,507
for Chrome DevTools MCP (1.7.0), measured live 2026-08-14.README 전문 보기 ↗A token-efficient alternative to Playwright MCP for coding agents. One Go binary that attaches to the Chrome you already run, reads the real accessibility tree, compresses it, and gives your agent four tools that cost 297 tokens of catalog — versus 3,422 for Playwright MCP (0.0.79) and 4,507 for Chrome DevTools MCP (1.7.0), measured live 2026-08-14.
| caveman-browse | Playwright MCP | Chrome DevTools MCP | |
|---|---|---|---|
| Tool-definition cost (measured 2026-08-14) | 297 tokens (4 tools) | 3,422 tokens (24 tools) | 4,507 tokens (29 tools) |
| Page representation | compressed a11y tree | aria-YAML (lossy) | a11y snapshot |
| Focused query on a 200-row page | ~98 tokens | ~15.7k (full ARIA) | full snapshot |
| Byte-exact recovery of the original tree | yes (CCR) | no | no |
| Runtime | 1 static Go binary + your Chrome | Node + Chromium | Node + Puppeteer + Chromium |
Numbers are inferred token counts measured with an offline o200k_base
counter on pinned fixtures — see BENCHMARK.md for methodology,
reproduction commands, and the cases where Playwright's bare ARIA text is
smaller (tiny pages; we print those too).
Full-task head-to-head (same headless agent, same task, server swapped; provider-reported session tokens; 2026-08-14 pilot, n=1/cell, all arms passed): finding one row in a 200-row table cost 150k total input tokens through caveman-browse vs 203k (Playwright MCP) / 223k (Chrome DevTools MCP); counting matching rows 168k vs 358k / 223k. On the action-heavy checkout task caveman-browse lost (668k vs 362k / 312k) — its settle-proof loop re-snapshots after every action instead of trusting dispatch. Full tables, causes, and claim boundaries: benchmarks/agentloop/RESULTS.md, benchmarks/toolcatalog/RESULTS.md, benchmarks/snapshot/RESULTS.md.
Claude Code (plugin — server + usage skill):
/plugin marketplace add JuliusBrussee/caveman-browse
/plugin install caveman-browse@caveman-browse
Claude Code (MCP only):
claude mcp add caveman-browse -- npx -y caveman-browse
Cursor / any MCP host (.mcp.json / mcp.json):
{ "mcpServers": { "caveman-browse": { "command": "npx", "args": ["-y", "caveman-browse"] } } }
Gemini CLI:
gemini extensions install https://github.com/JuliusBrussee/caveman-browse
The npm shim downloads a signature-verified prebuilt binary on first run. No Node runtime is involved after launch; no Chromium is bundled — it drives your installed Chrome with a dedicated automation profile.
browser_snapshot(url?, wait?, query?, interactive?) — compact accessibility
tree with [uid] action handles plus one accounting line
(caveman before=… after=… ratio=… basis=inferred handle=ccr_…).
query keeps the ≤12 best-matching nodes plus ancestors — the
token-efficient path on large pages. interactive: true keeps only
actionable nodes.browser_act(action, uid, text?, option?) — click, type, select,
scroll, wait. Returns settled:false until a focused re-snapshot proves
the app updated; the driver never claims success it hasn't seen.browser_eval(expression) — JS escape hatch.browser_recover(recovery_handle, query?) — the byte-exact original
Accessibility.getFullAXTree payload behind any snapshot (CCR-backed), or
BM25-narrowed sections with a query. Compression here is never a one-way
door.npx caveman-browse snapshot http://127.0.0.1:3000
npx caveman-browse snapshot http://127.0.0.1:3000 "save settings" # focused
npx caveman-browse snapshot -i http://127.0.0.1:3000 # actionable only
npx caveman-browse act <uid> click
npx caveman-browse recover <handle>
npx caveman-browse close
Direct commands share one detached, isolated Chrome until close. Navigation
allows http(s), about:blank, and bounded data:text/html; file:,
javascript:, and privileged schemes fail closed with cave_snake_code
errors.
inferred (offline BPE count), never provider
usage, never billing, never re-projected to a period.go build ./cmd/caveman-browse
CAVEMAN_BROWSE_CHROME="/path/to/Chrome" go test -tags=integration ./...
Source and binaries ship under the Apache License 2.0. Third-party notices: NOTICE. Part of the Caveman efficiency stack; the a11y compressor and CCR live in the Caveman engine.