developer 与 production 模式都强制依赖 Docker 和 Compose v2,Postgres 与 Redis 由 Docker 提供;Google AI Search 首次使用前必须在面板点 Build Cookies 手动过一次验证;YouTube 算子需 YT_ENGINE_URL 指向健康的 yt-engine 服务才可用,且本地默认端口非 3000/8000(web=34872、api=38473)。
HeadlessX
saifyxpro活跃维护自托管的无头浏览器自动化平台,基于 Camoufox(Firefox)实现极低检测率,适合需要隐蔽抓取和规模化自动化的场景。
The undetected self-hosted browser automation platform. Powered by Camoufox (Firefox) for 0% detection rates. Built for speed, privacy, and scalability.
npm install -g @headlessx-cli/core
headlessx init
headlessx statusREADME 未给出显存要求;最低 2 核 CPU、4 GB 内存、10 GB 磁盘,推荐 4 核以上、8-16 GB 内存、20 GB+ SSD;支持 macOS、Linux 及 Windows 11 WSL2。
自托管浏览器自动化平台,用 Camoufox 反检测抓取网页、搜索并接入 Agent 工作流
自托管的无头浏览器自动化平台,基于 Camoufox(Firefox)实现极低检测率,适合需要隐蔽抓取和规模化自动化的场景。
核心能力
- 用 Camoufox(Firefox)驱动浏览器降低被检测概率
- 提供抓取、爬取、站点地图、正文提取与截图算子
- 内置 Google AI Search、Tavily、Exa、YouTube 搜索算子
- 队列化任务并管理日志、API Key、代理与配置
- 通过 /mcp 暴露远程 MCP 端点供 Agent 调用
容易踩的坑
- v2.1.2v2.1.2 - 2026-03-25最新正式版2026-03-25 · 2026-03-25 09:59 UTC
HeadlessX v2.1.2
Released on March 25, 2026
HeadlessX
v2.1.2is the current CLI-first release for self-hosted operators, dashboard workflows, and agent-ready automation.What's new
CLI-first setup and updates
- published lifecycle flow around
headlessx init,start,stop,restart,status,doctor,logs, andinit update - modern interactive prompts with
@clack/prompts - improved health checks, loopback fallback, Docker log handling, and VPS operator UX
- workspace updates now reconcile missing env keys instead of only pulling the repo
Better self-hosting defaults
- rare default public host ports to avoid local conflicts:
- web
34872 - api
38473 - postgres
35432 - redis
36379 - html-to-md
38081 - yt-engine
38090
- web
- new
infra/domain-setupscaffold with Caddy for domain-based production deployment headlessx restartrebuilds Docker for self-host and production installs
Docker and browser runtime hardening
- fixed Docker startup issues around native dependencies and browser runtime boot
- switched API browser runtime to
headfox-js - stabilized browser release fetching for Linux Docker builds
- restored
yt-enginein the full Docker stack - web now waits for a healthy API before startup
Google AI Search improvements
- added shared-profile Google cookie bootstrap
- new
Build CookiesandStop Browserflow in the dashboard - first Google run now requires one manual bootstrap session on the shared persistent profile
- improved structured errors and runtime setup messaging
Dashboard and operator UX
- improved operators catalog startup recovery
- clarified operator availability errors, especially for YouTube
- improved website crawl results with page overlay inspection
- hardened crawl SSE behavior and reconnect flow
Important changes
- older installs should update with:
headlessx init updateheadlessx restart
- Google AI Search now requires a one-time cookie bootstrap before first real use
- full Docker includes
yt-engineby default - the tracked seeded browser profile has been removed; runtime profile data is now created and persisted on demand
Recommended update commands
Existing install on
mainnpm install -g @headlessx-cli/core@latest headlessx init update headlessx restart headlessx status headlessx doctor - published lifecycle flow around
- v2.1.1v2.1.1 - 2026-03-202026-03-20 · 2026-03-20 15:00 UTC
查看更新说明
HeadlessX v2.1.1
Released: 2026-03-20
Highlights
HeadlessX v2.1.1 focuses on operator-first API cleanup, Google AI Search improvements, a published CLI flow, Docker completeness, and runtime stability across the dashboard and backend.
What Changed
Operator-first routing
- reorganized public API routes under
/api/operators/* - added operator status at
/api/operators/status - reorganized playground routes under
/playground/operators/* - stabilized Website Scrape as a single frontend route with format switching inside the UI
Persistent browser runtime
- added one shared persistent Camoufox profile in the API
- kept cookies, storage, and browser state on disk
- made runtime prefer
apps/api/datafirst, thenapps/api/default-data - removed the old forced
1920x1080browser size and improved viewport behavior
Google AI Search
- renamed the old Google flow to Google AI Search
- added region, language, and time-filter targeting
- kept plain
google.comas the default start flow unless targeting is explicitly set - improved SSE stability and AI overview rendering
- made CAPTCHA progress messaging appear only when a real CAPTCHA is detected
- aligned the Google workbench UI with the Website UI
CLI
- published the CLI as
@headlessx-cli/core - standardized the command as
headlessx - made CLI output markdown-first by default
- updated login, auth, operator, and Google AI Search command flows
Crawl and queue reliability
- fixed crawl cancel behavior
- fixed the enqueue/cancel race window
- improved worker-side cancellation handling
- fixed crawl page budgeting
- made Website Crawl use the advanced timeout value correctly
Docker and self-hosting
- added
yt-engineto the full Docker stack - made full Docker closer to one-command setup
- aligned setup and API docs with the current runtime model
- documented that Website Crawl specifically requires Redis and the worker
Settings and UX cleanup
- simplified proxy settings UI
- replaced browser-native alerts with in-app feedback
- fixed operator Stop button behavior across workbenches
- cleaned settings layout and section structure
Docs and skills
- refreshed setup, API, CLI, and docs-site content for the current release
- added CLI and Agent Skills documentation
- added the HeadlessX CLI skill install flow for supported AI agents
Included Surfaces
- Website
- Google AI Search
- Tavily
- Exa
- YouTube
- Jobs
- Remote MCP
- Published CLI
Notes
- full Docker now includes
yt-engine headlessxuses the same backend API and browser state as the dashboard- Website Crawl remains the only website operator flow that requires Redis and the queue worker
- reorganized public API routes under
- v2.1.0v2.1.0 - 2026-03-162026-03-16 · 2026-03-16 09:52 UTC
查看更新说明
HeadlessX v2.1.0
Released on March 16, 2026
Summary
HeadlessX v2.1.0 expands the platform with new scraper workspaces, queue-backed website workflows, remote MCP support, updated setup and API docs, refreshed branding assets, and Docker fixes for browser runtime dependencies.
Highlights
Platform and Dashboard
- removed profile-based runtime and session flows
- simplified the dashboard around a global browser/runtime model
- improved settings, sidebar behavior, overview, logs, API keys, and playground UX
- added loading skeletons and aligned scraper workbench surfaces
- updated sidebar resource links for hosted docs and changelog
- refreshed version surfaces to
v2.1.0
Website Workflows and Jobs
- added queue-backed website workflows for scrape, crawl, map, and extraction
- improved worker and Redis handling for async jobs
- tightened stream progress and queue status behavior
- returned clearer queue-unavailable responses when Redis is missing
New Scraper Workspaces
- added Tavily workspace
- added Exa workspace
- added YouTube engine integration and workspace
- removed unsupported YouTube
webandtvfallback behavior
MCP
- added remote MCP endpoint at
/mcp - MCP now uses normal dashboard-created API keys
- kept
DASHBOARD_INTERNAL_API_KEYout of MCP access - improved job access scoping for queue and stream status
Docs and Setup
- added setup guide
- added API reference
- refreshed README for
v2.1.0 - added CONTRIBUTING guide
- aligned hosted docs links
- expanded env documentation to use the full current
.env.example - removed unused public env settings from docs
Docker
- Prisma migrations now run automatically on API and worker startup
- added missing browser libraries for Docker runtime:
libgtk-3-0libx11-xcb1
Live Scrapers
- Website
- Google SERP
- Tavily
- Exa
- YouTube
Coming Soon
- Google Maps
- Twitter / X
- Amazon
Important Changes
- profile-based flows were removed
- dashboard runtime is now global rather than profile-scoped
- MCP uses user-created API keys, not the dashboard internal key
- YouTube
webandtvfallback behavior was removed
Docs
- Setup Guide: https://headlessx.saify.me/docs/self-hosting/overview
- API Reference: https://headlessx.saify.me/docs/api-reference/overview
- MCP Setup: https://headlessx.saify.me/docs/get-started/mcp-setup
- Changelog: https://headlessx.saify.me/docs/changelog/
Included Work
feat: add tavily playground and repo cleanupfeat: add exa search workspace and unify playground shellsfeat: add youtube engine and unify playground workflowsfeat: add playground loading skeletons and simplify youtube clientsdocs: add setup and API guides and align scraper run actionsfeat(api): add remote MCP server and secure job accessdocs: refresh scraper visuals in READMEdocs: refresh v2.1.0 setup and contributor guidanceassets: update horizontal logodocs: remove unused env settingsfix(docker): add missing browser libraries
Deployment Notes
- PostgreSQL and Redis are required for full production use
- website crawl requires Redis plus the worker
- Docker users should follow the setup guide
- Docker browser runtime now includes the missing Linux libraries required by the API container
- v2.0.4v2.0.4 - 2026-03-072026-03-07 · 2026-03-07 14:23 UTC
查看更新说明
🖥️ UI & Dashboard UX Refactor
- Flatten Dashboard Chrome: Flattened the shared dashboard surface system by removing shadow-heavy styling, disabling blur and smooth transitions, and strengthening borders across cards, dialogs, lists, and controls.
- Normalize Layout Rhythm: Unified the dashboard shell around a single content width and flatter bordered surface system so page headers, cards, and scraper workspaces align on the same design rhythm.
- Unify Scraper Workspace UX: Aligned the Website Scraper workspace with the Google SERP workspace by matching the header shell, page framing, and configuration card structure. Converted output and config options into dropdown-style controls.
- Header Structure: Turned page headers into bordered section shells for a clearer screen structure.
- Logs Route Redesign: Added a full-width
/logsrequest workspace with a denser table, compact filter toolbar, and an overlay log details dialog to prevent compressing the table view. - Sidebar Adjustments: Kept Headless Mode enabled by default in settings, moved the collapse control into the header, and updated the primary logo text color to black and blue.
🛠️ Backend API Enhancements
- Automated Cloudflare Challenge Solver: Added automated Cloudflare turnstile bypass logic with simulated human mouse movements directly to the API, alongside retry logic and SSE progress rendering for the frontend.
- Markdown Improvements: Integrated Mozilla Readability & GitHub Flavored Markdown for improved markdown extraction, along with expanding/collapsing results panel UI reliability enhancements.
- Documentation: Added demo GIF and Cloudflare bypass proof images to the README.
🔗 Related GitHub Commits
refactor(web): flatten dashboard chrome and unify scraper workspace UX(@saifyxpro)refactor(web): normalize dashboard layout and improve logs workspace UX(@saifyxpro)feat(api): add automated cloudflare challenge solver(@saifyxpro)feat(api): enhance cloudflare challenge solver with retry and SSE progress(@saifyxpro)fix(website-scraper): improve markdown extraction and results panel expand button reliability(@saifyxpro)chore(web): update version to v2.0.4(@saifyxpro)style(web): update primary logo text color to black and blue(@saifyxpro)docs(readme): add demo gif and cloudflare bypass proof images(@saifyxpro)
- v2.0.3v2.0.3 - 2026-03-072026-03-06 · 2026-03-06 22:55 UTC
查看更新说明
🔒 Security
- Dashboard Auth Hardening: Removed the public
dashboard-internalfallback key and localhost trust path from the backend auth layer. - Protected Admin Routes: Added API key protection to dashboard, profile, proxy, and job management endpoints that were previously exposed without auth.
- Secret Storage Improvements:
- API keys are now stored as hashes instead of plaintext.
- Stored proxy and profile passwords are now encrypted at rest.
- Dashboard and API responses now redact credential values instead of returning raw secrets.
- Server-Side Dashboard Proxy: The dashboard now forwards
/api/*requests through a Next.js server route so browser clients no longer send reusable internal keys.
🛠️ Reliability & Behavior
- Cloudflare Handling: Website scraping now fails fast with explicit Cloudflare challenge metadata instead of returning challenge pages as successful output.
- REST/SSE Output Parity: Aligned
html-jsbehavior between the REST API and streaming endpoint to reduce timing drift on dynamic pages like Shopee. - DOM Stability Waiting: Added a DOM stability wait before HTML extraction and screenshot capture so selector matches do not return partially rendered documents.
- Streaming Job Cancellation: Job cancellation now interrupts active scraping work instead of only updating job status in the UI.
- PDF Capability Cleanup: Removed unsupported PDF scraping/export paths from the API contract and dashboard UI.
🖥️ Developer Experience
- Fresh Install Fixes: Fixed a frontend startup failure caused by an invalid
.npmrcencoding and resolved web/API port conflicts during local development. - Docker Fix: Corrected the web Dockerfile path mismatch so Compose builds now target the expected file.
- Security Environment Variables: Added and documented required
DASHBOARD_INTERNAL_API_KEYandCREDENTIAL_ENCRYPTION_KEYvalues for secure local and Docker deployments. - Browser Profile Stability: Fixed Firefox preference merging so timezone overrides no longer wipe other stealth-related preferences.
📚 Documentation & UI
- Documentation Navigation: Updated dashboard and docs links to point to the introduction page and removed obsolete sidebar references.
- Landing Page Messaging: Removed outdated PDF export claims so the marketing copy matches the current product surface.
- Changelog Coverage: This release now links the supporting GitHub issues and commit history directly for easier auditability.
🐛 GitHub Issues
- #34
Can't run Headless:- Fixed fresh-install startup failures in the frontend dev workflow.
- Resolved
.npmrcencoding problems and port collisions between web and API processes.
- #32
Frontend response is different from backend:- Fixed REST and streaming output drift for JS-rendered pages.
- Added DOM stabilization so API responses now match dashboard-rendered results more closely.
🔗 Related GitHub Commits
a9e2367chore: remove obsolete files and update documentation links in Sidebar componente1b91d9feat: update docs link to point to introduction7eb4a45feat(api,web): improve scrape reliability and remove unsupported PDF flow27bd3e3fix(web): resolve dev startup failures on fresh installs0abfb20fix(api): align REST and SSE HTML rendering for dynamic pages- [`3c
- Dashboard Auth Hardening: Removed the public
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Self-hosted operators for website extraction, search, and agent workflows powered by Headfox JS and Camoufox
Setup Guide • API Reference • MCP

What's next (v2.5)
I'm working on HeadlessX v2.5. I know the current dashboard and a lot of the system need a real redesign — cleaner UI, better UX, and a setup that actually fits how people use this with agents. That's what I'm building now.
v2.1.2 is still what you run today. v2.5 will replace the playground-style UI and add a proper agent chat that calls operators. Live agentic browser sessions and taught recipes stay in Helium CLI — HeadlessX will not ship Interact or YAML workflows. Headed operator work (Google cookie setup, later logins) will still embed KasmVNC in the dashboard so keyboard and mouse go into the real browser window. Postgres will ship in Docker only (no Supabase). Platform install will be headlessx-setup: pick self-host or VPS, auto-detect OS (self-host on Linux/macOS/Windows; VPS Linux only), check Docker/npm/Bun, then on VPS validate DNS before start and print the Dashboard/API links. There is no developer mode.
v2.5 launches Hexium (hexium-browser / Playwright launch() → Chrome 151). Not Camoufox. Not CloakBrowser.
v2.5 will live under HeadlessXLabs. This repo stays v2.1 on @saifyxpro until that ship. Watch HeadlessXLabs and the releases here until the move.
Inspired by
Overview
HeadlessX is a self-hosted scraping platform with a web dashboard, protected API, queue-backed workflows, and a remote MCP endpoint.
Current live operator surfaces:
- Website operator: scrape, crawl, map, content extraction, screenshots
- Google AI Search
- Tavily
- Exa
- YouTube
- Queue jobs, logs, API keys, proxy management, and config management
- Remote MCP over
/mcp
Important operator setup notes:
- Google AI Search requires a one-time
Build Cookiesrun in the dashboard before the first search - the saved Google session is kept in the shared persistent browser profile and reused later
- the YouTube workspace is active only when
YT_ENGINE_URLpoints at a healthyyt-engineservice
What Changed In v2.1.2
- Added the published HeadlessX CLI bootstrap flow with
headlessx init,start,logs,stop,restart,status, anddoctor - Upgraded the CLI prompt UX with guided modern setup and login prompts
- Added Docker plus Caddy production domain scaffolding under
infra/domain-setup - Moved local and Docker host defaults to rarer ports to avoid conflicts with common
3000and8000stacks - Refreshed setup, CLI, and self-hosting docs around the current operator-first platform layout
Sponsors
I'm thankful to the people and companies who support HeadlessX. NodeMaven, Thordata, and Mango Proxy have been solid partners — that support is a big part of why this project can keep moving. If you need proxies for scraping or automation, start with them.
Operators

Coming Soon
| Operator | Description | Status |
|---|---|---|
| Google Maps | Extract business listings, reviews, categories, ratings, contact details, opening hours, and location metadata from Google Maps search results. | Planned |
| Twitter / X | Capture profiles, posts, engagement metrics, media, hashtags, and conversation threads from public X pages. | Planned |
| Extract public company and profile data, role details, locations, website links, and business metadata from LinkedIn surfaces. | Planned | |
| Collect public profile data, captions, post metadata, media links, reels references, and engagement signals. | Planned | |
| Amazon | Extract product listings, seller data, pricing, ratings, reviews, availability, and catalog metadata from Amazon pages. | Planned |
| Capture public page data, posts, about fields, links, follower counts, and engagement metadata from Facebook pages. | Planned | |
| Extract subreddit, post, comment, author, score, flair, and discussion metadata from Reddit threads and listings. | Planned | |
| ThomasNet Suppliers Real-Time Scraper | Extract 70+ ThomasNet supplier fields including emails, phone numbers, company data, products, locations, certifications, and more. | Planned |
| TLS Appointment Booker | Automate TLS appointment availability checks and booking workflows with support for high-frequency monitoring and retry-safe session handling. | Planned |
| GlobalSpec Suppliers Scraper | Extract 200,000+ industrial supplier profiles from GlobalSpec Engineering360 with contact data, business type, product catalogs, specs, and datasheets. | Planned |
| ImportYeti Scraper | Extract supplier profiles, shipment records, and trade data from ImportYeti with 60+ fields including HS codes, shipping lanes, carriers, bills of lading, trading partners, and contact info. | Planned |
| MakersRow Scraper | Extract 11,600+ US manufacturer profiles from MakersRow with email, phone, address, website, GPS coordinates, capabilities, ratings, gallery images, and business hours. | Planned |
Agent Surfaces Coming Soon
| Surface | Description | Status |
|---|---|---|
Web AI Agent (/web) | Interactive AI agent workspace inside the dashboard that can use all HeadlessX operators and related workflow actions, including Website, Google AI Search, Tavily, Exa, and YouTube. | Planned |
Agent Skills
You can add the HeadlessX CLI skill to AI coding agents such as Cursor, Claude Code, Warp, Windsurf, OpenCode, OpenClaw, Antigravity, and similar tools that support the skills installer flow.
npx skills add https://github.com/saifyxpro/HeadlessX --skill cli
This installs the HeadlessX CLI skill from this repository so the agent can use the published headlessx command and follow the packaged usage guidance.
UI Screenshots
Google AI Search (Recently Tested with Arabic Lang & Region)

Website

Proof
BrowserScan


Pixelscan
![]()
Proxy Validation

Quick Start
System Requirements
| Item | Minimum | Recommended |
|---|---|---|
| OS | macOS, Linux, or Windows 11 with WSL2 | Ubuntu 22.04+/24.04, Debian 12, or Windows 11 with WSL2 |
| CPU | 2 cores | 4+ cores |
| RAM | 4 GB | 8-16 GB |
| Disk | 10 GB free | 20+ GB SSD |
| Network | outbound internet for installs, browser downloads, and APIs | stable broadband |
| Docker | Docker Engine + Compose v2 | current stable |
Mode requirements
Developer — apps run on the host; Docker is required. Postgres and Redis run in Docker Compose. You still need Node.js, pnpm, and Git for apps/web, apps/api, and the worker.
Production — the full stack runs in Docker, plus a domain layer (Caddy). You need:
- a public server / VPS with Docker + Compose v2
- two hostnames, for example
dashboard.yourdomain.comandapi.yourdomain.com - DNS
A/AAAArecords pointing both names at the server - ports
80and443open (Caddy issues TLS) - an email for Let's Encrypt (
--caddy-email)
headlessx init --mode developer
headlessx init --mode production --api-domain api.example.com --web-domain dashboard.example.com --caddy-email [email protected]
Runtime Dependencies
- Node.js 22+ and pnpm 10.32.1+ (developer mode; apps on the host)
- Git
- Docker + Compose v2 (required for developer and production)
- Python/uv for
yt-engine - Go for the HTML-to-Markdown sidecar (v2.1.2)
PostgreSQL and Redis are not a separate install in either mode — they come from Docker.
If your machine does not already use the pinned pnpm release, align it with:
corepack enable
corepack use [email protected]
Practical Sizing Notes
- 4 GB RAM is enough for light local testing
- 8 GB RAM is the better baseline for the web, API, worker, Redis, and browser runtime together
- 16 GB RAM is safer for heavier crawl jobs, YouTube flows, or multiple concurrent browser tasks
CLI Bootstrap
HeadlessX is now CLI-first for installation and local lifecycle management.
npm install -g @headlessx-cli/core
headlessx init
headlessx status
headlessx doctor
The CLI bootstraps HeadlessX into ~/.headlessx by default and supports two setup modes:
developer: clone the repo, keep app services local, Docker required for Postgres and Redisproduction: full Docker stack plus Caddy/domains (dashboard.yourdomain.comandapi.yourdomain.com)
Useful examples:
headlessx init --mode developer
headlessx init --mode production --api-domain api.example.com --web-domain dashboard.example.com --caddy-email [email protected]
headlessx init update
headlessx init update --branch develop
headlessx start
headlessx logs
headlessx restart
headlessx stop
For existing VPS or Docker installs, use headlessx init update to pull the latest repo state into ~/.headlessx/repo, reconcile missing env keys for the saved mode, then run headlessx restart.
For production, headlessx restart rebuilds Docker images before bringing the stack back up.
HeadlessX intentionally uses uncommon localhost defaults to avoid conflicts with other tools:
web=34872, api=38473, postgres=35432, redis=36379, html-to-md=38081, yt-engine=38090.
For deeper setup details, direct repo development, env files, Docker internals, and MCP/client notes, see docs/setup-guide.md.
Google AI Search First Run
The first Google AI Search run now uses a shared persistent browser profile instead of a seeded browser profile committed into the repo.
- Open
/playground/operators/google/ai-search - Click
Build Cookies - Let the shared browser open Google
- Browse normally and solve any Google or reCAPTCHA prompt once
- Click
Stop Browserto save the profile
After that, the saved shared profile is reused for later Google searches.
- Docker and VPS installs persist it in the
browser_profilevolume - local repo runs persist it under
apps/api/data/browser-profile/default - the old tracked
apps/api/default-data/browser-profilebundle has been removed
YouTube Workspace
The YouTube operator is live only when YT_ENGINE_URL is configured.
- CLI
developerandproductioninit flows write it automatically - custom local setups must point
YT_ENGINE_URLat a reachableyt-engineinstance
API Summary
All non-health backend routes are protected with x-api-key.
Core backend surfaces:
GET /api/healthGET/PATCH /api/configGET /api/dashboard/statsGET /api/logsGET/POST/PATCH/DELETE /api/keys- proxy CRUD under
/api/proxies - website operator routes under
/api/operators/website/* - Google AI Search routes under
/api/operators/google/ai-search/* - Tavily routes under
/api/operators/tavily/* - Exa routes under
/api/operators/exa/* - YouTube routes under
/api/operators/youtube/* - queue job routes under
/api/jobs/* - remote MCP endpoint at
/mcp
See the full route reference in docs/api-endpoints.md.
MCP
HeadlessX exposes a remote MCP endpoint from the API:
http://localhost:38473/mcp
Use a normal API key created from the dashboard API Keys page.
Do not use DASHBOARD_INTERNAL_API_KEY for MCP clients.
Example client config:
{
"mcpServers": {
"headlessx": {
"transport": "http",
"url": "http://localhost:38473/mcp",
"headers": {
"x-api-key": "hx_your_dashboard_created_key"
}
}
}
}
Monorepo Layout
apps/
api/ Express API + worker + MCP
web/ Next.js dashboard
yt-engine/ Python YouTube engine
go-html-to-md-service/ Go HTML-to-Markdown sidecar
docs/
setup-guide.md
api-endpoints.md
infra/docker/
Packages
| Package | Description | Status |
|---|---|---|
| @headlessx-cli/core | Published CLI package for HeadlessX operators, jobs, and search workflows. Command: headlessx | Available |
| HeadlessX Agent Skills | Installable agent skill pack from this repository for Cursor, Claude Code, Warp, Windsurf, OpenCode, OpenClaw, Antigravity, and similar tools. | Available |
Available
| Package | Description | Status |
|---|---|---|
| headfox-js | Published TypeScript launcher and Playwright helper for Headfox, currently powered by Camoufox-compatible browser bundles. | Available |
Coming Soon
| Package | Description | Status |
|---|---|---|
| hexium-browser | Playwright launch() for Hexium (Chrome 151). HeadlessX v2.5 will use this. Lives in HeadlessXLabs. | Public now |
Notes
- The dashboard uses the internal dashboard key for server-side internal requests
- MCP uses normal user-created API keys, not the dashboard internal key
- Queue-backed features return degraded/unavailable behavior when Redis is missing
- Docker support now covers the full runtime stack, including yt-engine
Contributing
See CONTRIBUTING.md for the current contribution workflow, local setup expectations, pull request guidance, and commit message conventions.
License
HeadlessX is open source under the GNU Affero General Public License v3.0. Anyone may use, study, modify, and share it — individuals, teams, and companies. If you run a modified version as a network service, you must also share the source.
Credits
v2.1.2 is powered by Camoufox — a Firefox-based anti-detect browser with C++ fingerprint patches.
v2.5 will run Hexium under HeadlessXLabs.
Crypto scam warning
Sketchy people are doing sketchy things with crypto tokens named "Camofox" now that this project is getting attention. Camofox is not a crypto project and will never be one. Any token, coin, or NFT using the Camofox name has nothing to do with us.