10x-chat
- Repo stars 36
- Author repo 10x-chat
10x-chat — AI Agent Skill
Use 10x-chat to send prompts to web-based AI agents via automated browser sessions. Supports chat, image generation, deep research, and video generation. Sessions use a shared persisted profile by default.
Architecture (v0.9.0+)
10x-chat uses an HTTP browser daemon — a persistent local Node.js server wrapping Playwright:
- One daemon, multiple sessions: parallel CLI runs share a single Chrome instance via HTTP RPC
- Auto-start/stop: daemon launches on first use, shuts down after 30 min idle
- Crash recovery: if daemon dies, next CLI run auto-restarts it
- No zombie Chrome: proper tab ref-counting and graceful shutdown
- State file:
~/.10x-chat/browser-daemon.json(port, PID, bearer token, chmod 600)
Installation
No install needed. Always use @latest:
npx 10x-chat@latest --version
Use npx (not bunx — symlink conflicts in parallel).
When to use
- Stuck on a bug: ask another model for a fresh perspective
- Code review: send PR diff to GPT / Claude / Gemini for cross-review
- Cross-validation: compare answers from multiple models
- Knowledge gaps: leverage a model with different training data
- Image generation: DALL-E via ChatGPT or Imagen via Gemini
- Deep research: long-form analysis via Perplexity, ChatGPT, or Gemini
- Video generation: text/image-to-video via Google Flow (Veo) or Dreamina (Seedance)
Providers
| Provider | Chat | Image | Research | Video | Models | Notes |
|---|---|---|---|---|---|---|
| chatgpt | ✅ | ✅ (DALL-E) | ✅ | ❌ | — | Runs headed by default (anti-bot) |
| gemini | ✅ | ✅ (Imagen) | ✅ | ❌ | Fast, Thinking (default), Deep Think (Ultra tool), Pro | --model switches mode |
| claude | ✅ | ❌ | ❌ | ❌ | — | Runs headed by default |
| grok | ✅ | ✅ | ❌ | ❌ | — | UI changes often, use @latest |
| perplexity | ✅ | ❌ | ✅ | ❌ | — | Best for research with citations |
| notebooklm | ✅ | ❌ | ❌ | ❌ | — | Add sources first, then chat |
| flow | ❌ | ❌ | ❌ | ✅ (Veo) | Veo 3.1 Fast/Quality, Veo 2 Fast/Quality | Google login (shared with Gemini) |
| dreamina | ❌ | ❌ | ❌ | ✅ (Seedance) | Seedance 2.0 Fast (default)/2.0; 1.x often plan-locked | login dreamina (CapCut); text + image-to-video |
Commands
# Login (one-time per provider — opens browser for auth)
npx 10x-chat@latest login chatgpt
npx 10x-chat@latest login gemini
npx 10x-chat@latest login claude
npx 10x-chat@latest login grok
npx 10x-chat@latest login perplexity
npx 10x-chat@latest login notebooklm
# Chat
npx 10x-chat@latest chat -p "Review this code for bugs" --provider chatgpt --file "src/**/*.ts"
npx 10x-chat@latest chat --provider gemini --file "path/to/prompt.md" -p "Complete this task"
npx 10x-chat@latest chat --provider gemini --model Pro -p "Solve this math problem"
npx 10x-chat@latest chat --provider gemini --model "Deep Think" -p "Solve this hard problem"
# Image generation
npx 10x-chat@latest image -p "A fox astronaut in space" --provider chatgpt
npx 10x-chat@latest image -p "Watercolor landscape" --provider gemini --save-dir ./images
# Deep research (long-form, 5-10 min)
npx 10x-chat@latest research -p "Latest breakthroughs in quantum computing" --provider perplexity
npx 10x-chat@latest research -p "Hard technical research" --provider gemini --model "Deep Think"
npx 10x-chat@latest research -p "Market analysis of EVs" --provider chatgpt --timeout 600000
# Video generation (Flow / Veo default, or Dreamina / Seedance)
npx 10x-chat@latest video -p "Drone shot over snowy peaks at sunrise" --provider flow
npx 10x-chat@latest video -p "Neon street, rain" --provider flow --model "Veo 3.1 - Quality" --orientation portrait
npx 10x-chat@latest login dreamina # one-time CapCut login for Dreamina
npx 10x-chat@latest video -p "A paper boat in a rain gutter, macro" --provider dreamina --aspect 9:16 --duration 4
npx 10x-chat@latest video -p "The glowing orb floats up" --provider dreamina --image ref.png --ref-mode omni
# Dry run / clipboard
npx 10x-chat@latest chat --dry-run -p "Debug this error" --file src/
npx 10x-chat@latest chat --copy -p "Explain this" --file "src/**"
# Provider chat history + local session management
npx 10x-chat@latest history --provider gemini
npx 10x-chat@latest history --provider all --limit 10
npx 10x-chat@latest status
npx 10x-chat@latest session <id> --render
# NotebookLM
npx 10x-chat@latest notebooklm list
npx 10x-chat@latest notebooklm create "My Research"
npx 10x-chat@latest notebooklm add-url <id> https://...
npx 10x-chat@latest notebooklm add-file <id> ./paper.pdf
npx 10x-chat@latest notebooklm sources <id>
npx 10x-chat@latest notebooklm summarize <id>
# Install bundled skill to coding agent
npx 10x-chat@latest skill install
Parallel sessions (v0.9.0+)
HTTP daemon makes parallel runs stable. All providers share one Chrome:
# Login all once
npx 10x-chat@latest login gemini
npx 10x-chat@latest login claude
npx 10x-chat@latest login chatgpt
# Run concurrently — each opens a tab in the shared daemon
npx 10x-chat@latest chat --provider gemini -p "Your prompt" --file context.md &
npx 10x-chat@latest chat --provider claude -p "Your prompt" --file context.md &
npx 10x-chat@latest chat --provider chatgpt -p "Your prompt" --file context.md &
wait
Browser mode
- Headless (default for gemini, grok, perplexity): no visible window
- Headed (default for chatgpt, claude): visible Chrome window (anti-bot protection)
- Force headed:
--headedflag on any provider
The daemon stores the headless/headed mode in its state file. If you switch modes, the daemon restarts automatically.
Profile modes
Shared (default): One browser profile, all providers share cookies. Login once per Google account covers Gemini + NotebookLM.
Isolated: Separate profile per provider (backward compat): --isolated-profile
# Migrate from isolated to shared
npx 10x-chat@latest migrate
Daemon management
# Check daemon state
cat ~/.10x-chat/browser-daemon.json
# Force stop daemon
# (CLI calls stopDaemon() on Ctrl+C automatically)
kill $(cat ~/.10x-chat/browser-daemon.json | python3 -c "import sys,json; print(json.load(sys.stdin)['pid'])")
Tips
- Always use
@latest: ensures newest fixes - Login first:
login <provider>once per provider. Sessions persist in~/.10x-chat/profiles/ - Use
--headedif a provider is flaky (Grok especially) - Keep file sets small: fewer files + focused prompt = better answers
- Research needs longer timeouts:
--timeout 600000for 10-min research jobs - Image gen can take 1-2 min: use
--timeout 120000when needed - Video gen can take 1-5 min: Dreamina queues generations; keep the default 10-min timeout. For image-to-video, pass
--image(Dreamina) or--start-frame/--end-framewith--mode frames(Flow) - Dreamina models are plan-gated:
Seedance 2.0 Fast(cheapest) and2.0are generally available; the CLI errors clearly if a requested model is locked - Use
--dry-runto preview what will be sent
Known issues
- Grok: UI changes frequently. Always use
@latest. Use--headedfor best reliability - ChatGPT/Grok sessions expire quickly: login again if you get "Not logged in" errors
- Some provider UIs are flaky under automation: retry with
--headedbefore assuming a hard failure
Safety
- Never include credentials, API keys, or tokens in the bundled files
- The tool opens a real browser with real login state. Treat it like your own browser session
- Fluxly category
- Engineering
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @MikeChongCan · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- macOS · Linux · Windows
- Runtime requirements
- Node.js
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. 10x-chat uses an HTTP browser daemon — a persistent local Node.js server wrapping Playwright: One daemon, multiple sessions: parallel CLI runs share a single Chrome instance via HTTP RPC Auto-start/stop: daemon launches on first use, shuts down after 30 min…
No install needed. Always use @latest: Use npx (not bunx — symlink conflicts in parallel).
Stuck on a bug: ask another model for a fresh perspective Code review: send PR diff to GPT / Claude / Gemini for cross-review Cross-validation: compare answers from multiple models
Provider · Chat · Image · Research · Video · Models · Notes chatgpt · ✅ · ✅ (DALL-E) · ✅ · ❌ · — · Runs headed by default (anti-bot) gemini · ✅ · ✅ (Imagen) · ✅ · ❌ · Fast, Thinking (default), Deep Think (Ultra tool), Pro · --model switches mode
Commands
HTTP daemon makes parallel runs stable. All providers share one Chrome:
# 10x-chat — AI Agent Skill
Use 10x-chat to send prompts to web-based AI agents via automated browser sessions. Supports chat, image generation, deep research, and video generation. Sessions use a shared persisted profile by default.
## Architecture (v0.9.0+)
10x-chat uses an **HTTP browser daemon** — a persistent local Node.js server wrapping Playwright:
- **One daemon, multiple sessions**: parallel CLI runs share a single Chrome instance via HTTP RPC
- **Auto-start/stop**: daemon launches on first use, shuts down after 30 min idle
- **Crash recovery**: if daemon dies, next CLI run auto-restarts it
- **No zombie Chrome**: proper tab ref-counting and graceful shutdown
- **State file**: `~/.10x-chat/browser-daemon.json` (port, PID, bearer token, chmod 600)
## Installation
No install needed. Always use `@latest`:
```bash
npx 10x-chat@latest --version
```
Use `npx` (not `bunx` — symlink conflicts in parallel).
## When to use
- **Stuck on a bug**: ask another model for a fresh perspective
- **Code review**: send PR diff to GPT / Claude / Gemini for cross-review
- **Cross-validation**: compare answers from multiple models
- **Knowledge gaps**: leverage a model with different training data
- **Image generation**: DALL-E via ChatGPT or Imagen via Gemini
- **Deep research**: long-form analysis via Perplexity, ChatGPT, or Gemini
- **Video generation**: text/image-to-video via Google Flow (Veo) or Dreamina (Seedance)
## Providers
| Provider | Chat | Image | Research | Video | Models | Notes |
|----------|------|-------|----------|-------|--------|-------|
| chatgpt | ✅ | ✅ (DALL-E) | ✅ | ❌ | — | Runs headed by default (anti-bot) |
| gemini | ✅ | ✅ (Imagen) | ✅ | ❌ | Fast, **Thinking** (default), Deep Think (Ultra tool), Pro | `--model` switches mode |
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Architecture (v0.9.0+) → Installation → When to use → Providers → Commands → Parallel sessions (v0.9.0+)
terms -> HTTP browser daemon · One daemon, multiple sessions · Auto-start/stop · Crash recovery · No zombie Chrome · State file · Stuck on a bug · Code review
files/cmd -> ~/.10x-chat/browser-daemon.json · @latest · npx · bunx · --model · login dreamina · --headed · --isolated-profile
body sha256 -> db9508946f1f
Decide Fit First
Design Intent
How To Use It
Boundaries And Review