Tachyon browser
Skill quantum-box/agent-packages/plugins/tachyon/skills/tachyon-browser
Use the Tachyon k3s Cloudflare Mesh remote Chromium CDP gateway with agent-browser, Playwright, Codex, or Claude Code. Trigger when a task needs a browser reachable from Sakura VPS or another Mesh client, remote CDP automation, temporary browser sessions, named browser sessions, or AgentCore Browser-like session-per-Pod browser control through browser-cdp.intra.quantum-box.com.From its SKILL.md
npx -y skills add quantum-box/agent-packages --skill tachyon-browserAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.8 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Tachyon Browser
Use this skill to control the k3s-hosted Chromium CDP gateway at:
browser-cdp.intra.quantum-box.com:9222
The gateway creates one Chromium Pod per /sessions/<session_id> and exposes it as a CDP WebSocket URL. It is intended for Cloudflare Mesh / WARP clients, such as Sakura VPS Claude Code, local Codex, and local automation.
Rules
- Always pass a
ws://.../sessions/<id>CDP URL toagent-browser. - Do not pass
http://.../sessions/<id>toagent-browser; its HTTP CDP handling drops the path and falls back to the shared root browser. - Use the same value for the remote session id and
agent-browser --sessionwhen possible. This avoids local daemon confusion. - Session ids must match
[A-Za-z0-9._-]{1,96}. - Named session state, including cookies, localStorage, and cache, persists while the session Pod is alive.
- Session state is lost when the Pod is deleted by idle timeout, TTL, or explicit DELETE.
- Idle timeout is 30 minutes. Absolute TTL is 6 hours.
Named Session
Use a named session when the user wants to reconnect to the same browser during a task.
SESSION_ID="sakura-job-001"
agent-browser \
--cdp "ws://browser-cdp.intra.quantum-box.com:9222/sessions/${SESSION_ID}" \
--session "${SESSION_ID}" \
open https://example.com
Continue using the same SESSION_ID for subsequent commands:
agent-browser \
--cdp "ws://browser-cdp.intra.quantum-box.com:9222/sessions/${SESSION_ID}" \
--session "${SESSION_ID}" \
snapshot -i
Delete the remote browser when done:
curl -sS -X DELETE "http://browser-cdp.intra.quantum-box.com:9222/sessions/${SESSION_ID}" | jq .
Temporary Session
Use a temporary session when the user does not care about the session id.
SESSION_JSON="$(curl -sS -X POST http://browser-cdp.intra.quantum-box.com:9222/sessions)"
SESSION_ID="$(printf '%s' "$SESSION_JSON" | jq -r .session_id)"
CDP_WS="$(printf '%s' "$SESSION_JSON" | jq -r .cdp_ws_url)"
agent-browser \
--cdp "$CDP_WS" \
--session "$SESSION_ID" \
open https://example.com
curl -sS -X DELETE "http://browser-cdp.intra.quantum-box.com:9222/sessions/${SESSION_ID}" | jq .
Wrapper Script
Prefer the bundled helper when doing one-off checks. In Claude Code, the plugin's bin/ directory is added to PATH, so use remote-browser directly:
remote-browser \
--temporary \
--cleanup \
-- open https://example.com
When using this skill folder directly outside a Claude plugin install, resolve the script path relative to this skill directory:
scripts/remote-browser.sh \
--temporary \
--cleanup \
-- open https://example.com
Use a named browser:
scripts/remote-browser.sh \
--session-id sakura-job-001 \
-- open https://example.com
Create a temporary session and keep it:
scripts/remote-browser.sh \
--temporary \
--keep \
-- open https://example.com
The script prints the remote session_id and cdp_ws_url to stderr before running agent-browser.
Inspect Sessions
curl -sS http://browser-cdp.intra.quantum-box.com:9222/readyz
curl -sS http://browser-cdp.intra.quantum-box.com:9222/sessions | jq .
curl -sS http://browser-cdp.intra.quantum-box.com:9222/sessions/<session_id>/json/version | jq .
The session list includes last_access_at, idle_seconds, idle_timeout_seconds, and ttl_seconds.
Playwright
For Playwright or direct CDP clients, connect to the WebSocket URL:
import { chromium } from 'playwright';
const browser = await chromium.connectOverCDP(
'ws://browser-cdp.intra.quantum-box.com:9222/sessions/sakura-job-001',
);
Troubleshooting
- If commands affect the wrong browser, check whether the command used
http://.../sessions/<id>instead ofws://.../sessions/<id>. - If a session has stale local
agent-browserstate, close it withagent-browser --session <name> closeand reconnect with the WebSocket CDP URL. - If
remote-browseris not found in Claude Code, verify the plugin is enabled and run/reload-plugins. - If the gateway is unreachable, verify the machine is on Cloudflare Mesh / WARP and check
/readyz. - If Japanese text appears as boxes, verify the running session Pod uses the Playwright image with
fonts-noto-cjk; the current gateway template installs it at startup. - If durable browser profile state is required after Pod deletion, the current gateway does not provide that yet. It needs per-session PVC-backed
--user-data-dir.
What ships with it: 2 files
3.3 KB alongside SKILL.md, 1 of them executable
agents/
- openai.yaml208 B
scripts/
- remote-browser.shruns3.1 KB