
GDD - AI-Controlled Browser Farm
io.github.imVSmirnov由 GitHub 帳號 imVSmirnov 發布v1.5.0更新於 Oct 24, 2026
AI-controlled browser farm: N isolated Chromium instances with 36 MCP tools
概覽
在使用者電腦上執行多個彼此隔離的 Chromium 瀏覽器,讓助理能平行地在模擬裝置上測試網頁應用程式。
- 可以做什麼
- GDD 會啟動 N 個彼此隔離的 Chromium 實例,每個都有自己的設定檔、Cookie、裝置模擬、地理位置與網路條件,並透過 localhost 上的 HTTP 提供 39 個 MCP 工具。工具涵蓋瀏覽器實例管理、導覽、互動(點擊、滑動、拖曳、捲動、輸入、按鍵、懸停、下拉選單、對話框)、讀取與截圖、模擬預設、診斷(主控台、網路、效能、通知)、快速驗證、JavaScript 執行,以及瀏覽器儲存與 Cookie。它提供無介面伺服器、具即時瀏覽器網格的桌面 GUI 與 Windows GUI,三者暴露相同的工具。
- 適用情境
- 適合讓助理像多個真實使用者一樣同時操作網頁應用程式:多裝置響應式檢查、註冊與表單流程、追查主控台與網路錯誤,或類似 CI 的瀏覽器執行。適合已在使用 Claude Code、Cursor 或基於 VS Code 的 IDE 等 MCP 用戶端的團隊。
- 執行需求
- 在 Windows、Linux 或 macOS 上以本機程序執行,或使用 Docker 映像 ghcr.io/cap-of-tea/gdd。MCP 端點是 localhost:9700 上的 HTTP(桌面 GUI 為 9800);用戶端透過 URL 或隨附的 stdio 代理指令碼連線。首次啟動會自動下載 Chromium(約 80 MB)。從原始碼建置需要 .NET 8 SDK。未宣告需要帳號或 API 金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 GDD - AI-Controlled Browser Farm,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
GDD — Giggly-Dazzling-Duckling
AI-controlled browser farm on your machine
Simulate multiple real users across 22 device types — test your site like it's launch day.
[Release] [Platforms] [MCP] [MCP Registry] [License]
How It Works
You: Open 3 iPhones and a desktop, navigate to myapp.com, test the signup form on all devices
Claude Code creates 4 browsers with device emulation, navigates each to your app, fills in the form, takes screenshots, checks console for errors — all in parallel.
GDD runs N isolated Chromium instances, each with its own profile, cookies, device emulation, geolocation, and network conditions. It exposes 39 MCP tools via HTTP on localhost:9700.
[GDD Video Wall — 3 devices testing simultaneously]
Install
GDD comes in two flavours. The Server is headless — it's just the MCP backend, runs anywhere (including boxes with no display), and is all you need for pure AI automation. The Desktop app adds a GUI: a live grid of browser thumbnails you can click into to take over a session by hand. The Server runs on port 9700, the Desktop app on 9800 — so you can run both side by side.
Server (headless) — the MCP backend:
Desktop app (GUI) — a live grid of browser thumbnails you can click into:
The Windows app uses WebView2; the Linux/macOS app (built with Avalonia) drives real Chromium windows parked off-screen. Self-contained binary, ~70 MB. No .NET installation needed. Chromium downloads automatically on first launch.
One-liner (Linux):
Docker
The Docker image runs in headless mode with all Chromium dependencies pre-installed.
By default, browsers launch in headed mode (visible windows). Add --headless for CI/CD. Other flags: --stealth and --stealth-max for anti-bot masking, --update to self-update, --version and --help. The Configuration section below lists every flag and environment variable.
Connect to Your AI Client
Add to .mcp.json and restart your AI client:
That's it. Start GDD, tell Claude or Cursor to test your app.
Claude Desktop users: Download the
.mcpbfile from Releases and open it — GDD installs as a one-click desktop extension. No manual config needed.
Config file locations
Global and project configs are merged — servers from both are available simultaneously. Changes are picked up only when restarting the AI client session.
VS Code-based IDEs (Windsurf, Antigravity, Copilot)
VS Code-based IDEs use a different config format than Claude Code / Cursor.
Project config — .vscode/mcp.json:
Global config — open via Cmd+Shift+P → "Open User Settings (JSON)":
Global settings.json location: macOS — ~/Library/Application Support/<IDE>/User/settings.json, Linux — ~/.config/<IDE>/User/settings.json, Windows — %APPDATA%/<IDE>/User/settings.json. Replace <IDE> with your editor name (Code, Windsurf, Antigravity, etc.).
stdio-proxy alternative (.vscode/mcp.json):
Permissions (Claude Code)
By default, Claude Code asks for confirmation on every MCP tool call. To allow GDD tools without prompts, add to ~/.claude/settings.json:
This single wildcard covers all 39 GDD tools. Restart Claude Code after editing.
Auto-launch via stdio proxy (alternative)
Proxy scripts start GDD automatically when your AI client connects:
Windows:
Linux / macOS:
Add "--headless" to the args array for CI/CD.
Tip: On first launch, GDD downloads Chromium (~80 MB). If your AI client times out, run GDD manually first, then reconnect.
Autostart as service (macOS / Linux)
macOS (launchd):
Manage: launchctl list | grep gdd / bash Scripts/install-launchd.sh --uninstall
Linux (systemd):
Direct HTTP (without AI client)
GDD uses standard JSON-RPC 2.0 — works with curl, Python, Node.js, or any HTTP client.
Features
- Multi-device — Run N isolated Chromium instances with 22 device presets (phones, tablets, desktops)
- AI-native — 39 MCP tools for Claude Code, Cursor, or any MCP-compatible client
- Cross-platform — Native GUI with a live video wall on Windows, Linux & macOS, plus a headless server for CI/CD
- Full interaction — Navigate, tap, type, press keys and shortcuts, drag, swipe, scroll, hover, handle dialogs, take screenshots
- Real keyboard — Typing sends genuine, trusted keystrokes (the full keydown→input chain), so input masks, autocomplete and
maxlengthbehave exactly as they do for a real user, and rich-text (contenteditable) editors work;gdd_presshandles single keys and shortcuts like Enter, Tab, Escape and Ctrl+A - Physical keyboard layouts — Keystrokes carry the real
code/keyCodeof the emulated locale's keyboard: Russian ЙЦУКЕН puts «а» on the physicalKeyF, French AZERTY and German QWERTZ remap their keys, dead-key accents and AltGr symbols work. The layout followsgdd_set_languageautomatically (US, RU, DE, FR) - Human-like input —
humanize=truedrives a continuous cursor path (cubic Bézier with easing and micro-jitter) that carries over between clicks, hovers and drags; taps fire a single device-appropriate input (touch or mouse), never both - Anti-bot stealth — opt-in
--stealthmasks the usual automation tells (navigator.webdriver, etc.);--stealth-maxadds headless/datacenter evasions (coherent user-agent client hints, a plausible WebGL vendor, realistic device metrics) — on a headless container this halved CreepJS's headless score - Proxy support — Route every browser through an upstream proxy with
GDD_PROXY(with optional auth) - Header rewriting —
gdd_set_headerscan stripX-Frame-Options/CSPframe-ancestorsto load a site in an iframe, or add/replace response headers - Device emulation — Screen size, DPR, touch, user agent, geolocation, timezone, language
- Network control — Simulate 4G, Fast 3G, Slow 3G, or offline per browser
- Diagnostics — Console errors, network traffic, performance metrics, push notifications
- Error beacon — Every tool response warns about JS errors across all browsers automatically
- Docker-ready — Official image on GHCR (
ghcr.io/cap-of-tea/gdd), listed on the MCP Registry - Self-updating — Built-in version check and one-command update
MCP Tools (39)
Player Management
Navigation
Interaction
Reading & Screenshots
Emulation
State & Diagnostics
Auth & Execution
Browser Storage
Help & Updates
Device Presets (22)
Phones (11)
Tablets (6)
Desktops (5)
Architecture
Editions
GDD ships as three apps over one shared core. The two GUIs differ only in the desktop toolkit (WebView2 on Windows, Avalonia on Linux/macOS); all three expose the same 39 MCP tools.
Tech Stack
Project Structure
Configuration
appsettings.json next to the executable:
Command-line flags
Environment variables
Handy for Docker and CI, where an appsettings.json file is awkward:
Documentation
- GDD-MANUAL.md — Full usage manual with workflow examples
- GDD-ARCHITECTURE.md — Architecture deep-dive
- GDD-PROMPT.md — Claude agent instructions for MCP integration
- docker-compose.prod.yml — Self-host GDD as a remote MCP server behind a Caddy bearer-token proxy
- CONTRIBUTING.md — Contribution guidelines
Privacy
Privacy Policy
GDD runs entirely on your local machine. No telemetry, no analytics, no data collection.
- No data leaves your machine — all browser profiles, screenshots, logs, and cookies stay in local storage
- Browser profiles — stored in
%LOCALAPPDATA%\GDD\Profiles(Windows) or~/.local/share/GDD/Profiles(Linux/macOS) - No third-party services — GDD does not contact any external APIs except GitHub Releases for optional update checks
- Update checks —
gdd_check_updatemakes a single read-only request toapi.github.com. Opt out by not calling the tool, or setCheckForUpdates: falseinappsettings.json - MCP server — listens on
localhostonly (default port 9700), never exposed to the network
Contact: [email protected]
License
imVS©, free for personal use.
Source Available — Non-Commercial. Free for personal use, education, and research. Commercial use requires a paid license. See LICENSE for full terms.
Commercial licensing: [email protected]
來源:README.md,提交 12a4e4f
工具
0版本歷史
1- v1.5.0最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。