关于 GDD (Giggly-Dazzling-Duckling)
GDD 是一款 MCP 服务,可运行相互隔离的 Chromium 浏览器,在模拟设备上测试网站。它支持并行操作与诊断,也提供可选的桌面界面以便手动控制。
主要功能
- 01并行运行隔离的 Chromium 实例
- 0222 种设备预设及自定义模拟
- 03浏览器交互与截图
- 04网络和地理位置控制
- 05控制台与性能诊断
- 06可选的桌面浏览器网格
适用场景
- 01跨手机和桌面尺寸测试注册流程
- 02检查慢速或离线网络下的页面
- 03截取页面并检查 JavaScript 错误
MCP 相关
通过 HTTP 向 MCP 客户端提供浏览器管理、导航、交互、模拟、截图和诊断工具。服务也可无头运行以支持自动化。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/cap-of-tea/gdd:1.5.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/cap-of-tea/gdd:1.5.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GDD — Giggly-Dazzling-Duckling
在你的机器上运行由 AI 控制的浏览器集群
在 22 种设备类型上模拟多个真实用户——像正式发布日一样测试你的网站。
工作原理
你: 打开 3 部 iPhone 和一台桌面设备,访问 myapp.com,在所有设备上测试注册表单
Claude Code 会创建 4 个启用设备模拟的浏览器,分别访问你的应用、填写表单、截取屏幕截图并检查控制台错误——所有操作并行执行。
gdd_add_players(3, device="iPhone 15 Pro") → players [1, 2, 3]
gdd_add_players(1, device="Desktop 1080p") → player [4]
gdd_navigate(1, "https://myapp.com") → all 4 browsers open your app
gdd_tap(1, "#signup-btn") → taps signup on iPhone
gdd_screenshot(1) → captures the result
gdd_get_console(1, level="error") → checks for JS errors
GDD 运行 N 个相互隔离的 Chromium 实例,每个实例都有自己的配置文件、Cookie、设备模拟、地理位置和网络条件。它通过 HTTP 在 localhost:9700 上提供 39 个 MCP 工具。
安装
GDD 提供两种版本。服务端是无头版本——它只是 MCP 后端,可在任何地方运行(包括没有显示器的设备),纯 AI 自动化只需使用它。桌面应用则增加了 GUI:显示浏览器缩略图的实时网格,你可以点击缩略图,手动接管会话。服务端运行在端口 9700,桌面应用运行在端口 9800,因此可以同时运行两者。
服务端(无头)——MCP 后端:
| 平台 | 下载 | 运行 |
|---|---|---|
| Linux | GDD-Server-Linux.tar.gz | chmod +x GDD.Headless && ./GDD.Headless |
| macOS ARM | GDD-Server-macOS-ARM.tar.gz | bash Scripts/setup-macos.sh && ./GDD.Headless |
| macOS Intel | GDD-Server-macOS-Intel.tar.gz | bash Scripts/setup-macos.sh && ./GDD.Headless |
| Windows | GDD-Server-Windows.zip | .\GDD.Headless.exe |
| Docker | ghcr.io/cap-of-tea/gdd | docker run -p 9700:9700 ghcr.io/cap-of-tea/gdd |
| Claude Desktop | Win / Mac ARM / Mac Intel (.mcpb) | 打开 .mcpb 文件——将其安装为桌面扩展 |
桌面应用(GUI)——显示浏览器缩略图的实时网格,你可以点击缩略图:
| 平台 | 下载 | 运行 |
|---|---|---|
| Windows | GDD-Desktop-Windows.zip | 解压并运行 GDD.exe(需要 WebView2) |
| Linux | GDD-Desktop-Linux.tar.gz | bash Scripts/install-deps.sh && ./GDD.Desktop |
| macOS ARM | GDD-Desktop-macOS-ARM.tar.gz | bash Scripts/setup-macos.sh && ./GDD.Desktop |
| macOS Intel | GDD-Desktop-macOS-Intel.tar.gz | bash Scripts/setup-macos.sh && ./GDD.Desktop |
Windows 应用使用 WebView2;Linux/macOS 应用(基于 Avalonia 构建)会操控停靠在屏幕外的真实 Chromium 窗口。独立二进制文件,约 70 MB。无需安装 .NET。首次启动时会自动下载 Chromium。
一行命令(Linux):
curl -sL https://github.com/Cap-of-tea/GDD/releases/latest/download/GDD-Server-Linux.tar.gz | tar xz && chmod +x GDD.Headless && ./GDD.Headless
Docker
# Run (headless, port 9700)
docker run -p 9700:9700 ghcr.io/cap-of-tea/gdd
# Or build locally
docker build -t gdd .
docker run -p 9700:9700 gdd
Docker 镜像以无头模式运行,并已预装所有 Chromium 依赖项。
默认情况下,浏览器以有头模式(显示窗口)启动。在 CI/CD 中使用时添加 --headless。其他标志:用于反机器人屏蔽的 --stealth 和 --stealth-max、用于自行更新的 --update,以及 --version 和 --help。下方的配置部分列出了所有标志和环境变量。
连接到 AI 客户端
添加到 .mcp.json,然后重启 AI 客户端:
{
"mcpServers": {
"gdd": {
"url": "http://localhost:9700/mcp"
}
}
}
就这样。启动 GDD,然后让 Claude 或 Cursor 测试你的应用。
**Claude Desktop 用户:**从 Releases 下载
.mcpb文件并打开,即可将 GDD 安装为一键式桌面扩展。无需手动配置。
配置文件位置
| 客户端 | 项目配置 | 全局配置 |
|---|---|---|
| Claude Code | <project>/.mcp.json | ~/.claude/.mcp.json |
| Cursor | <project>/.cursor/mcp.json | ~/.cursor/mcp.json |
| VS Code / Windsurf / Antigravity | <project>/.vscode/mcp.json | IDE settings.json |
全局配置和项目配置会合并,两者中的服务都可同时使用。只有重启 AI 客户端会话后,配置更改才会生效。
基于 VS Code 的 IDE(Windsurf、Antigravity、Copilot)
基于 VS Code 的 IDE 使用的配置格式与 Claude Code / Cursor 不同。
项目配置 — .vscode/mcp.json:
{
"servers": {
"gdd": {
"type": "http",
"url": "http://localhost:9700/mcp"
}
}
}
全局配置 — 通过 Cmd+Shift+P → “Open User Settings (JSON)”打开:
{
"mcp": {
"servers": {
"gdd": {
"type": "http",
"url": "http://localhost:9700/mcp"
}
}
}
}
全局 settings.json 的位置:macOS — ~/Library/Application Support/<IDE>/User/settings.json,Linux — ~/.config/<IDE>/User/settings.json,Windows — %APPDATA%/<IDE>/User/settings.json。将 <IDE> 替换为你的编辑器名称(Code、Windsurf、Antigravity 等)。
stdio-proxy 替代方案(.vscode/mcp.json):
{
"servers": {
"gdd": {
"type": "stdio",
"command": "bash",
"args": ["/absolute/path/to/Scripts/mcp-proxy.sh"]
}
}
}
权限(Claude Code)
默认情况下,Claude Code 每次调用 MCP 工具时都会请求确认。如需允许 GDD 工具运行而不弹出提示,请添加到 ~/.claude/settings.json:
{
"permissions": {
"allow": [
"mcp__gdd__*"
]
}
}
这个通配符即可涵盖全部 39 个 GDD 工具。编辑后重启 Claude Code。
通过 stdio 代理自动启动(替代方案)
当 AI 客户端连接时,代理脚本会自动启动 GDD:
Windows:
{
"mcpServers": {
"gdd": {
"command": "powershell",
"args": ["-ExecutionPolicy", "Bypass", "-File", "C:/path/to/Scripts/mcp-proxy.ps1"]
}
}
}
Linux / macOS:
{
"mcpServers": {
"gdd": {
"command": "bash",
"args": ["/path/to/Scripts/mcp-proxy.sh"]
}
}
}
在 args 数组中添加 "--headless",以用于 CI/CD。
**提示:**首次启动时,GDD 会下载 Chromium(约 80 MB)。如果 AI 客户端超时,请先手动运行 GDD,然后重新连接。
作为服务自动启动(macOS / Linux)
macOS(launchd):
bash Scripts/install-launchd.sh # headed (default)
bash Scripts/install-launchd.sh --headless # for CI/CD
管理:launchctl list | grep gdd / bash Scripts/install-launchd.sh --uninstall
Linux(systemd):
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/gdd.service << 'EOF'
[Unit]
Description=GDD Multi-Browser Testing Server
[Service]
ExecStart=/path/to/GDD.Headless
WorkingDirectory=/path/to/gdd-directory
Restart=on-failure
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now gdd
直接使用 HTTP(无需 AI 客户端)
curl -X POST http://localhost:9700/mcp -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gdd_add_players","arguments":{"count":1}}}'
GDD 使用标准 JSON-RPC 2.0,可与 curl、Python、Node.js 或任何 HTTP 客户端配合使用。
功能
- 多设备 — 运行 N 个相互隔离的 Chromium 实例,提供 22 种设备预设(手机、平板、桌面设备)
- 原生支持 AI — 提供 39 个 MCP 工具,可用于 Claude Code、Cursor 或任何兼容 MCP 的客户端
- 跨平台 — 在 Windows、Linux 和 macOS 上提供带实时视频墙的原生 GUI,并支持用于 CI/CD 的无头服务端
- 全面交互 — 可导航、点击、输入、按键和快捷键、拖动、滑动、滚动、悬停、处理对话框、截取屏幕截图
- 真实键盘输入 — 输入会发送真实可信的按键事件(完整的 keydown→input 事件链),因此输入掩码、自动补全和
maxlength的行为与真实用户操作完全一致,并支持富文本(contenteditable)编辑器;gdd_press可处理单个按键和快捷键,例如 Enter、Tab、Escape 和 Ctrl+A - 物理键盘布局 — 按键事件携带模拟地区键盘对应的真实
code/keyCode:俄语 ЙЦУКЕН 布局将「а」映射到物理按键KeyF,法语 AZERTY 和德语 QWERTZ 会重新映射按键,死键重音符号和 AltGr 符号也可正常使用。布局会根据gdd_set_language自动设置(US、RU、DE、FR) - 类人输入 —
humanize=true会驱动连续的光标路径(带缓动和微抖动的三次贝塞尔曲线),并在点击、悬停和拖动之间延续;轻触只会触发一种适合设备的输入方式(触摸或鼠标),绝不会同时触发两种 - 反机器人隐身 — 启用
--stealth可掩盖常见的自动化特征(navigator.webdriver等);--stealth-max还会规避无头模式和数据中心检测(协调一致的 user-agent 客户端提示、可信的 WebGL 厂商信息、逼真的设备指标)——在无头容器中,这将 CreepJS 的无头模式评分降低了一半 - 代理支持 — 使用
GDD_PROXY将所有浏览器的流量路由至上游代理(可选身份验证) - 重写标头 —
gdd_set_headers可移除X-Frame-Options/CSPframe-ancestors,以便在 iframe 中加载网站;也可添加或替换响应标头 - 设备模拟 — 屏幕尺寸、DPR、触摸、user agent、地理位置、时区、语言
- 网络控制 — 可为每个浏览器模拟 4G、Fast 3G、Slow 3G 或离线状态
- 诊断 — 控制台错误、网络流量、性能指标、推送通知
- 错误信标 — 每次工具响应都会自动提示所有浏览器中的 JS 错误
- 支持 Docker — GHCR 上的官方镜像(
ghcr.io/cap-of-tea/gdd),已列入 MCP Registry - 自动更新 — 内置版本检查和一键更新
MCP 工具(39 个)
播放器管理
| 工具 | 描述 |
|---|---|
gdd_add_players | 添加 N 个浏览器实例,可选设备预设 |
gdd_remove_player | 按播放器 ID 移除浏览器实例 |
gdd_list_windows | 列出所有活动浏览器及其当前状态 |
导航
| 工具 | 描述 |
|---|---|
gdd_navigate | 导航至 URL |
gdd_wait | 等待 CSS 选择器出现(可设置超时) |
gdd_reload | 重新加载页面(hard=true 可绕过缓存) |
gdd_back | 返回上一页 |
gdd_forward | 前进至下一页 |
交互
| 工具 | 描述 |
|---|---|
gdd_tap | 按 CSS 选择器或坐标点击元素;根据设备发送单次输入(触屏设备使用触摸输入,桌面设备使用鼠标输入),不会同时发送两者。humanize=true 会生成连续、仿人类的光标路径 |
gdd_swipe | 滑动手势(上/下/左/右) |
gdd_drag | 通过真实指针事件将元素拖到 (x, y) 或另一个元素上(支持 dnd-kit 和 HTML5 拖放) |
gdd_scroll | 滚动页面或元素 |
gdd_type | 使用真实、可信的按键输入文本(CDP dispatchKeyEvent——遮罩、自动补全和 maxlength 的行为与真实用户操作一致;适用于 contenteditable)。物理按键码遵循模拟的键盘布局(US/RU/DE/FR);humanize=true 会为每次按键添加抖动;paste=true 会一次性粘贴 |
gdd_press | 按下单个键或快捷键(Enter、Tab、Escape、方向键、F1–F12 或字符),可选修饰键(Control/Alt/Shift/Meta);字符键遵循模拟的键盘布局 |
gdd_hover | 将鼠标悬停在元素上。humanize=true 会生成连续、仿人类的光标路径 |
gdd_select | 从 <select> 下拉菜单中选择选项 |
gdd_dialog | 处理 JS alert/confirm/prompt 对话框 |
读取与截图
| 工具 | 描述 |
|---|---|
gdd_read | 读取元素的文本内容 |
gdd_read_all | 读取所有匹配元素的文本 |
gdd_screenshot | 以 CSS 像素分辨率截取 JPEG 屏幕截图 |
模拟
| 工具 | 描述 |
|---|---|
gdd_set_device | 设置设备预设(22 种设备:手机、平板、桌面设备) |
gdd_set_viewport | 设置自定义视口尺寸 |
gdd_set_location | 设置地理位置、时区和区域设置 |
gdd_set_network | 设置网络条件(4G、3G、离线) |
gdd_set_language | 设置浏览器语言 |
gdd_set_headers | 重写响应标头——移除 X-Frame-Options/CSP 以允许嵌入 |
状态与诊断
| 工具 | 描述 |
|---|---|
gdd_get_state | 浏览器状态:URL、标题、设备、身份验证状态 |
gdd_get_console | 控制台输出和未捕获的异常 |
gdd_get_network | 网络请求及其耗时和状态 |
gdd_get_notifications | 收到的推送通知 |
gdd_get_performance | 性能指标(JS 堆、DOM 节点、FPS) |
gdd_clear_logs | 清除控制台和/或网络日志 |
身份验证与执行
| 工具 | 描述 |
|---|---|
gdd_quick_auth | 使用生成的凭据自动注册并登录 |
gdd_execute_js | 执行 JavaScript 并返回结果 |
浏览器存储
| 工具 | 描述 |
|---|---|
gdd_storage | 读取/写入/清除 localStorage/sessionStorage |
gdd_cookies | 读取或清除浏览器 Cookie |
帮助与更新
| 工具 | 描述 |
|---|---|
gdd_get_manual | 供 AI 自主学习的完整 GDD 手册 |
gdd_check_update | 检查是否有更新版本 |
gdd_update | 下载并安装更新(重启 GDD) |
设备预设(22)
手机(11)
| 设备 | 分辨率 | 缩放比例 | 触控 |
|---|---|---|---|
| iPhone SE | 375 x 667 | 2.0x | 是 |
| iPhone 14 | 390 x 844 | 3.0x | 是 |
| iPhone 15 Pro | 393 x 852 | 3.0x | 是 |
| iPhone 15 Pro Max | 430 x 932 | 3.0x | 是 |
| iPhone 16 Pro | 402 x 874 | 3.0x | 是 |
| iPhone 16 Pro Max | 440 x 956 | 3.0x | 是 |
| Pixel 9 | 412 x 915 | 2.625x | 是 |
| Pixel 9 Pro | 412 x 915 | 2.625x | 是 |
| Galaxy S24 | 360 x 780 | 3.0x | 是 |
| Galaxy S24 Ultra | 412 x 915 | 3.0x | 是 |
| OnePlus 12 | 412 x 915 | 3.5x | 是 |
平板(6)
| 设备 | 分辨率 | 缩放比例 |
|---|---|---|
| iPad Mini | 744 x 1133 | 2.0x |
| iPad Air | 820 x 1180 | 2.0x |
| iPad Pro 11" | 834 x 1194 | 2.0x |
| iPad Pro 13" | 1024 x 1366 | 2.0x |
| Galaxy Tab S9 | 800 x 1280 | 2.0x |
| Pixel Tablet | 800 x 1280 | 2.0x |
桌面设备(5)
| 设备 | 分辨率 | 缩放比例 |
|---|---|---|
| 笔记本 HD | 1366 x 768 | 1.0x |
| 笔记本 HiDPI | 1440 x 900 | 2.0x |
| 台式机 1080p | 1920 x 1080 | 1.0x |
| 台式机 1440p | 2560 x 1440 | 1.0x |
| 台式机 4K | 3840 x 2160 | 2.0x |
架构
Client (AI agent / curl / script)
│ POST /mcp (JSON-RPC 2.0)
▼
McpServer (:9700)
Streamable HTTP + SSE
│
▼
McpToolRegistry (39 tools)
Player · Navigation · Interaction · Read
Emulation · Auth · State · Diagnostics
│
▼
IPlayerManager
MainViewModel (WPF) / DesktopPlayerManager (Avalonia) / HeadlessPlayerManager
│
▼
IBrowserEngine Instances
WebView2 (Win GUI) | Playwright (Desktop GUI + headed/headless server)
Each: own profile, CDP session, emulation
版本
GDD 基于一个共享核心推出三个应用。两个 GUI 仅桌面工具包不同(Windows 上使用 WebView2,Linux/macOS 上使用 Avalonia);三个应用均提供相同的 39 个 MCP 工具。
| Windows GUI | 桌面 GUI | 服务端 | |
|---|---|---|---|
| 二进制文件 | GDD.exe | GDD.Desktop | GDD.Headless(添加 --headless 可不显示窗口) |
| 引擎 | WebView2 | Playwright(有头) | Playwright(有头/无头) |
| UI | WPF 视频墙 | Avalonia 视频墙 | 无 — 仅 HTTP API |
| MCP 端口 | 9700 | 9800 | 9700 |
| 平台 | Windows | Linux、macOS | Windows、Linux、macOS |
技术栈
| 层 | 技术 |
|---|---|
| 运行时 | .NET 8.0(独立部署) |
| UI(Windows) | WPF + CommunityToolkit.Mvvm |
| UI(Linux/macOS) | Avalonia + CommunityToolkit.Mvvm |
| 浏览器(Windows GUI) | Microsoft WebView2 |
| 浏览器(桌面 GUI + 服务端) | Microsoft Playwright |
| 协议 | MCP(Model Context Protocol) |
| 浏览器控制 | Chrome DevTools Protocol(CDP) |
| 日志记录 | Serilog |
项目结构
BrowserXn.sln
├── src/
│ ├── GDD.Core/ ← Shared library (net8.0)
│ │ ├── Abstractions/ ← IBrowserEngine, IPlayerManager, ...
│ │ ├── Mcp/ ← MCP server, tools, protocol
│ │ ├── Models/ ← Device, Location, Network presets
│ │ ├── Services/ ← CDP, Emulation, Monitoring services
│ │ └── Collections/ ← RingBuffer
│ ├── BrowserXn/ ← Windows GUI (WPF + WebView2)
│ │ ├── Engines/ ← WebView2ControlAdapter
│ │ ├── ViewModels/ ← MVVM (MainViewModel : IPlayerManager)
│ │ ├── Views/ ← XAML + VideoWallPanel
│ │ └── ...
│ ├── GDD.Desktop/ ← Linux/macOS GUI (Avalonia + Playwright)
│ │ ├── Engines/ ← PlaywrightHeadedEngine (headed, parked off-screen)
│ │ ├── ViewModels/ ← MainViewModel (DesktopPlayerManager)
│ │ ├── Views/ ← AXAML + VideoWallPanel
│ │ └── Scripts/ ← mcp-proxy.sh, setup-macos.sh, install-deps.sh
│ └── GDD.Headless/ ← Cross-platform server (Playwright)
│ ├── Engines/ ← PlaywrightEngine
│ ├── Platform/ ← HeadlessPlayerManager
│ └── Scripts/ ← mcp-proxy.sh, mcp-proxy.ps1
└── .github/workflows/ ← CI/CD (8 build targets + auto-release)
配置
可执行文件旁的 appsettings.json:
{
"GDD": {
"FrontendUrl": "about:blank",
"BackendUrl": "http://localhost:8080/api/v1",
"BotToken": "",
"McpPort": 9700,
"DataFolderRoot": "",
"Stealth": false
}
}
| 键 | 说明 | 默认值 |
|---|---|---|
FrontendUrl | 新建浏览器的默认 URL | about:blank |
BackendUrl | 身份验证服务的后端 API | http://localhost:8080/api/v1 |
BotToken | Telegram 机器人令牌(用于 TG 测试) | — |
McpPort | MCP 服务端口(自动回退 +1..+9) | 9700 |
DataFolderRoot | 浏览器配置文件存储根目录 | %LOCALAPPDATA%\GDD\Profiles(Win)、~/.local/share/GDD/Profiles(Linux/macOS) |
Headed | 显示浏览器窗口 | true(可用 --headless 覆盖) |
Stealth | 可选启用反机器人屏蔽功能 — 启动 Chromium 时禁用 AutomationControlled,并隐藏常见的自动化特征(navigator.webdriver 等)。仅适用于 Playwright 引擎(GDD.Desktop、GDD Server) | false |
命令行标志
| 标志 | 说明 |
|---|---|
--headed | 显示浏览器窗口(默认) |
--headless | 不显示 UI — 用于 CI/CD |
--stealth | 启用反机器人屏蔽功能(等同于 GDD_STEALTH=true) |
--stealth-max | 完全隐身 — 伪装客户端提示 UA 元数据、WebGL/设备/时区;同时启用 --stealth(等同于 GDD_STEALTH_MAX=true) |
--update | 检查是否有较新版本,并在有可用版本时安装 |
--version | 输出版本并退出 |
--help | 显示用法并退出 |
环境变量
适用于 Docker 和 CI,在这些场景中使用 appsettings.json 文件不太方便:
| 变量 | 描述 |
|---|---|
GDD_STEALTH | 设置为 true/1 可启用反机器人屏蔽(等同于 --stealth) |
GDD_STEALTH_MAX | 设置为 true/1 可启用完整隐身模式(等同于 --stealth-max) |
GDD_PROXY | 所有浏览器使用的上游代理,例如 http://host:3128 或 socks5://host:1080(Server / Playwright 引擎) |
GDD_PROXY_USER / GDD_PROXY_PASS | 经过身份验证的代理凭据 |
GDD_CHROME_CHANNEL | 启动已安装的 Chrome 版本(例如 chrome、chrome-beta),而非捆绑的 Chromium |
GDD_PLAYER_IDLE_TIMEOUT_MINUTES | 仅限无头服务。若某个播放器在此分钟数内未被操作,则自动将其移除并回收其浏览器。默认值为 30;设为 0 可禁用。避免远程客户端断开连接却未移除播放器时内存不断累积 |
GDD_TRACE | 设置为 true/1 可启用详细跟踪日志 |
从源代码构建
需要 .NET 8 SDK。
# Windows GUI (requires Windows 10/11 + WebView2)
dotnet publish src/BrowserXn/BrowserXn.csproj -c Release -p:PublishSingleFile=true -o ./publish/win-gui
# Cross-platform headless
dotnet publish src/GDD.Headless/GDD.Headless.csproj -c Release -r linux-x64 --self-contained -o ./publish/linux-x64
dotnet publish src/GDD.Headless/GDD.Headless.csproj -c Release -r osx-arm64 --self-contained -o ./publish/osx-arm64
dotnet publish src/GDD.Headless/GDD.Headless.csproj -c Release -r win-x64 --self-contained -o ./publish/win-x64
Chromium 会在首次运行时自动安装。
文档
- GDD-MANUAL.md — 完整使用手册,包含工作流示例
- GDD-ARCHITECTURE.md — 架构深入解析
- GDD-PROMPT.md — 用于 MCP 集成的 Claude Agent 指令
- docker-compose.prod.yml — 在 Caddy bearer-token 代理后将 GDD 自托管为远程 MCP 服务
- CONTRIBUTING.md — 贡献指南
隐私
隐私政策
GDD 完全在您的本地计算机上运行。不进行遥测、分析或数据收集。
- 数据不会离开您的计算机 — 所有浏览器配置文件、屏幕截图、日志和 Cookie 均保存在本地存储中
- 浏览器配置文件 — 存储在
%LOCALAPPDATA%\GDD\Profiles(Windows)或~/.local/share/GDD/Profiles(Linux/macOS) - 无第三方服务 — 除了用于可选更新检查的 GitHub Releases,GDD 不会联系任何外部 API
- 更新检查 —
gdd_check_update会向api.github.com发送一次只读请求。您可以不调用该工具以选择退出,或在appsettings.json中设置CheckForUpdates: false - MCP 服务 — 仅监听
localhost(默认端口为 9700),绝不会暴露到网络
联系方式:[email protected]
许可证
imVS©,可免费用于个人用途。
源代码可用 — 非商业用途。可免费用于个人用途、教育和研究。商业用途需要付费许可证。完整条款请参阅 LICENSE。
商业授权:[email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。