内容
# 架构工具
> 可靠的本地浏览器层,适用于任何 AI 代理 — 驱动您真实的登录会话(无需 API 令牌,无需计量),并通过观察学习站点工作流程,而不是需要每个站点的代码。
<!-- 英雄演示:记录每个 docs/DEMO_WHATSAPP_REPLAY.md,导出到 docs/media/hero-demo.gif,然后取消注释:

-->
向您的代理展示一个任务 **一次** — 它会观察,编译演示为参数化工作流程,并 **永久** 重演,无需 **任何 LLM 令牌**,在 DOM 偏移过程中生存下来。所有操作都在本地运行:一个 Go 二进制文件驱动您的真实 Chrome 会话,通过 CDP,暴露给任何代理作为 MCP 服务器。
## 快速入门 (MCP)
一条命令 — 下载最新版本并在存在时与 Claude Code 注册:
```bash
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/liamparker17/architect-tool/master/scripts/install.sh | sh
```
```powershell
# Windows
irm https://raw.githubusercontent.com/liamparker17/architect-tool/master/scripts/install.ps1 | iex
```
或手动:
```bash
go install github.com/liamparker17/architect-tool@latest # 或获取发布二进制文件
claude mcp add architect-tool -- architect-tool mcp # Claude Code
```
任何 MCP 客户端都有效 — 服务器命令只是 `architect-tool mcp`。
浏览器在第一次使用时打开;手动登录到您的站点,会话在运行之间持续。
**支持所有代理界面** — Claude Code/Desktop、Codex CLI、Cursor、ChatGPT 连接器(`architect-tool mcp --http`),或通过 REST + `architect-tool schema` 的任何函数调用模型。参见 [docs/INTEGRATIONS.md](docs/INTEGRATIONS.md)。
## 为什么选择 Architect.tool?
- **演示一次,永久重演** — 观察模式记录人类执行任务;编译的工作流程在无需令牌的情况下永久重演,具有自我验证的步骤和选择器旋转回退
- **无需 API 令牌** — 代理通过浏览器与服务交互,使用现有的会话和订阅
- **为不熟悉的页面构建** — 可访问性树 `read_page` 大纲和自由文本 `find` 胜过基于截图的猜测,节省令牌成本
- **无绕过缓存** — 请求通过与真实用户相同的 CDN、速率限制和缓存层
- **完全编排** — 不仅仅是自动化,还有并行代理、服务桥和一个运行时中的强制防护措施
## 核心概念
| 概念 | 说明 |
|---------|-------------|
| **浏览器控制** | 通过 Chrome DevTools 协议与网站交互 — 点击、输入、滚动、导航、截图、评估 JS |
| **代理** | 在多个浏览器选项卡上并行运行工作项,共享身份验证和防护措施 |
| **桥接** | 通过可插拔的注册表连接到外部服务(ChatGPT、未来:NotebookLM 等) |
| **规则手册** | 通过必须/应该/首选规则强制执行安全、结构化的代理行为,这些规则与二进制文件一起提供 |
## 先决条件
基于 Chromium 的浏览器 — **Chrome、 Brave 或 Edge**。仅此而已。
## 安装
### macOS(推荐:双击 .app)
1. 从 [最新版本](https://github.com/liamparker17/architect-tool/releases/latest) 下载:
- Apple Silicon (M1/M2/M3/M4) → `architect-tool-darwin-arm64.app.zip`
- Intel → `architect-tool-darwin-amd64.app.zip`
2. 解压并将 `.app` 拖到 `/Applications`。
3. **仅首次启动:** 右键单击 `.app` → **打开** → 点击警告中的 **打开**。macOS 记住批准;未来的双击操作正常工作。
Studio 在几秒钟内在 Chrome 窗口中打开。参见 [docs/MAC_INSTALL.md](docs/MAC_INSTALL.md) 以获取 macOS Sequoia 15 回退(`xattr -cr`)和裸 Mach-O 选项。
### macOS(CLI 二进制文件)
如果您更喜欢跳过 `.app` 包装器,则裸 Mach-O 二进制文件位于 `architect-tool-darwin-arm64` / `architect-tool-darwin-amd64`。两者都是临时代码签名(≥ v1.16.1),因此内核将在 Apple Silicon 上启动它们 — 较旧版本将不会。
```bash
curl -L -o architect-tool https://github.com/liamparker17/architect-tool/releases/latest/download/architect-tool-darwin-arm64
chmod +x architect-tool
sudo mv architect-tool /usr/local/bin/architect-tool
xattr -cr /usr/local/bin/architect-tool # 清除隔离
```
### Windows
从 [发布](https://github.com/liamparker17/architect-tool/releases/latest) 页面下载 `architect-tool-windows-amd64.exe`。将其放在您的 PATH 中,或直接双击启动 Studio。
### 从源代码(需要 Go 1.26+)
```bash
go install github.com/liamparker17/architect-tool@latest
```
### 验证
```bash
architect-tool --version
architect-tool --help
```
## 桌面 UI(Studio)
v1.7.0 新增(在 v1.11.0 中改版)。Studio 设计使得具有零技术知识的人可以在五分钟内从下载二进制文件到拥有一个可用的 AI 浏览器助手 — 无需终端、无需配置文件、无需术语。
```bash
architect-tool # 打开 Studio(或仅双击 .exe)
architect-tool studio # 相同,显式
```
### 零配置引导
安装教程通过四个纯英文步骤引导新用户:
1. **欢迎** — 用一句话解释 architect-tool 的功能,无需术语
2. **登录** — 告诉用户在浏览器窗口中登录他们的站点。实时指示器检测他们何时实际登录(通过 CDP 轮询打开的选项卡)并实时更新
3. **连接您的 AI 应用** — 自动扫描机器上的已安装 AI 应用(Claude Desktop、Cursor、Windsurf、Continue)并提供一键配置修补。尚未拥有一个的用户会获得带有下载链接的分步安装指南,链接到每个应用。高级用户可以展开手动配置面板,复制粘贴 JSON 而不是。连接的应用可以稍后从汉堡菜单中断开
4. **试用** — 显示三个准备好的示例提示(浏览站点,通过观察模式教它工作流程,在站点上执行真实工作),根据步骤 3 中连接的应用量身定制
每个步骤都有一个后退按钮、一个跳过链接和进度点。教程可以随时从汉堡菜单中重新打开。完成教程后,**快速参考卡** 在操作日志下方显示六件事,用户可以要求 AI 执行 — 每个都有一个可以直接复制的示例提示。
### 实时监控
Studio 显示 AI 在浏览器中执行的所有操作的实时操作日志 — 每个导航、点击、输入和截图都带有时间戳和持续时间。循环提示栏向新用户教授一个功能。点击学习帮助弹出窗口在首次点击时解释 UI 的每个部分。
### 幕后工作原理
Studio 自动启动守护进程(如果尚未运行),并在窗口关闭时保持其运行,因此您的 AI 在后台继续工作。窗口是一个无边框的 Chrome `--app=...` 实例,指向一个环回控制服务器 — 无需 webview 运行时,无需 cgo,无需额外依赖项。在 Windows 上,双击资源管理器中的 `architect-tool.exe` 直接启动 Studio。在 macOS 上,从 `/Applications` 双击 `.app` 也是如此 — 参见 [docs/MAC_INSTALL.md](docs/MAC_INSTALL.md)。
### MCP 守护进程代理(v1.11.0)
当 MCP 客户端(Claude Desktop、Cursor 等)调用 `architect-tool mcp` 时,MCP 服务器检测到正在运行的 Studio 守护进程,并通过 `POST /execute` 将浏览器工具调用代理到它。这意味着 Studio 和您的 AI 应用共享同一个 Chrome 会话 — 无配置文件冲突,无第二个浏览器窗口,AI 执行的每个操作都显示在 Studio 的实时日志中。如果没有运行守护进程,MCP 服务器会退回到启动自己的 Chrome。
## 快速开始
```bash
# 打开一个可见的浏览器并导航
architect-tool navigate --url "https://example.com" --visible
# 保持浏览器打开以执行后续命令
architect-tool navigate --url "https://google.com" --visible --keep-alive
# 输出:Session: abc123
# 使用该会话输入、点击、截图
architect-tool type --selector "textarea[name='q']" --text "hello world" --session abc123
architect-tool screenshot --output page.png --session abc123
# 运行 JavaScript
architect-tool evaluate --expr "document.title" --session abc123
```
## 四种交互模式
| 模式 | 命令 | 用例 |
|------|---------|----------|
| **Studio** | `architect-tool`(无参数)或 `architect-tool studio` | 新用户 — 教程、状态栏、实时操作日志在原生桌面窗口中 |
| **一次性 CLI** | `architect-tool navigate --url ...` | 单个操作、脚本 |
| **守护进程** | `architect-tool daemon --visible` | 通过 JSON stdin/stdout 进行 AI 代理集成 |
| **MCP 服务器** | `architect-tool mcp` | Claude Code、Cursor、Windsurf 等 |
---
## 浏览器控制
通过 CDP 实现完整的浏览器自动化:
- 导航、点击、输入、插入文本(批量)、滚动(CDP 鼠标滚轮)、键盘快捷键、悬停、选择、文件上传
- DOM 查询(CSS 选择器 + XPath)、JavaScript 评估
- 截图(完整页面、元素级)、PDF 生成
- Cookie 管理、网络拦截
- 导航历史、等待元素/导航
- `--visible` 标志实时观察自动化
## 代理
在并行浏览器选项卡上运行数百个项目。
```bash
# 1. 创建一个带有 {{变量}} 的脚本
cat > ~/.architect-tool/scripts/update-title.json << 'EOF'
{
"name": "update-title",
"steps": [
{"action": "navigate", "params": {"url": "{{url}}"}},
{"action": "click", "params": {"selector": ".edit-btn"}},
{"action": "type", "params": {"selector": "#title", "text": "{{title}}"}},
{"action": "click", "params": {"selector": "#save"}}
],
"variables": ["url", "title"]
}
EOF
# 2. 分发 — 3 个选项卡并行
architect-tool dispatch --script update-title --items-file pages.csv --concurrency 3 --visible
```
从守护进程模式:
```json
{
"id": "1",
"action": "dispatch",
"params": {
"items": [
{"script": "update-title", "vars": {"url": "https://cms/page/1", "title": "Title 1"}, "url": "https://cms/page/1"},
{"script": "update-title", "vars": {"url": "https://cms/page/2", "title": "Title 2"}, "url": "https://cms/page/2"}
],
"concurrency": 5,
"scopeLock": true,
"actionBudget": 500
}
}
```
**工作原理:** 调度器打开 N 个选项卡,分配项目(无两个代理共享 URL),流式传输每个项目的結果,并检测常见模式以自动提升为可重用脚本。
**防护措施:**
| 防护措施 | 说明 |
|-------|-------------|
| **作用域锁定** | 代理 **只能** 导航到工作项中的 URL |
| **操作预算** | 对所有代理的操作总数设置上限 — 达到上限时调度被终止 |
## 观察模式
观察模式允许代理通过观察人类执行来学习浏览器任务。 它 **不是** 命令记录器 — 它不捕获 LLM 输入的内容,而是捕获人类在浏览器中执行的操作,守护进程已经驱动。 在代理需要通过演示学习不熟悉的站点或工作流程时使用。
- `observe_start {task, instruction, total_runs?}` — 注入内容脚本横幅并开始捕获。横幅在 **空闲** 状态下显示;捕获不会在用户点击开始前开始。
- `observe_stop` — 完成当前运行并写入跟踪文件。
- `observe_status` — 轮询横幅状态(`idle` / `observing` / `done_received` / `cancelled`)以及事件计数和间隙标记。
- `analyze_traces {task}` — 读取任务下的每个运行并返回结构化的经验单元。输出使用故意非权威的名称(`common_target_tuples`、`candidate_step_counts`、`seen_in_runs`)— 工具报告观察结果,LLM 进行推理。
实时观察操作需要守护进程(运行 `architect-tool daemon` 或通过 MCP 客户端连接)。离线分析可通过 CLI 实现:`architect-tool observe analyze --task <name>`。
跟踪位于 `~/.architect-tool/traces/<task>/run_<NNN>/` 下,文件名为 `meta.json`、`trace.jsonl`、`network.jsonl` 和快照 HTML 文件。参见 `docs/REFERENCE.md` 以获取完整参考。
## 交互模式强制执行
每个域都有一个运行时交互模式,控制代理可以执行的操作:
| 模式 | 行为 |
|------|----------|
| **未设置**(默认) | 允许导航、截图和系统操作。交互和 JS 评估在用户确认模式之前被阻止。 |
| **`cdp_only`** | 允许所有 CDP 交互。禁止修改 JS 评估 — 只有只读表达式(DOM 查询、测量)通过。 |
| **`js_first`** | 允许所有操作,包括 JS 评估。 |
**工作原理:**
1. 当代理导航到某个域时,策略引擎检查嵌入的站点规则以获取预配置的模式(例如,`chatgpt.com` 为 `cdp_only`)
2. 如果未设置模式,则交互操作返回 `CONFIRMATION_REQUIRED` — 代理必须询问用户并调用 `confirm_interaction_mode`
3. `PolicyExecFunc` 是单一强制边界 — 每个操作都通过它
4. 页面级绕过检测被动监控违反强制执行
评估允许列表使用基于正则表达式的启发式方法来区分只读表达式(`document.title`、`el.getBoundingClientRect()`)和突变(`el.click()`、`el.innerHTML = '...'`)。这是尽力而为的过滤器,而不是安全边界。
## 桥接
桥接通过可插拔的注册表将 AI 代理连接到外部服务。每个桥接注册其操作,注册表处理路由、健康检查、缓存和活动跟踪。
```
代理调用 ask_chatgpt
-> 注册表路由到 ChatGPT 桥接
-> 健康检查通过
-> 活动事件发出
-> 桥接执行操作
-> 响应缓存(如果可缓存)
-> 返回结果并带有活动日志
```
**可用桥接:**
- **ChatGPT**(内置)— `ask_chatgpt` 通过已登录的浏览器会话将提示发送到 ChatGPT。
- **内存**(内置)— 一个本地引用桥接,由 `~/.architect-tool/memory.db` 处的 SQLite 支持。三个操作:`remember`(持久化键/值注释)、`recall`(按键或标签读取)、`forget`(删除注释)。无需浏览器;验证桥接框架端到端。
**桥接操作:**
| 操作 | 说明 |
|--------|-------------|
| `list_bridges` | 发现已注册的桥接、其状态和可用操作 |
| `bridge_activity` | 跨所有桥接的近期活动事件 |
| `stop_bridge` | 取消正在进行的桥接操作 |
在 MCP 服务器中,未知的工具名称会自动通过桥接注册表路由 — 任何桥接操作都作为 MCP 工具使用,无需额外配置。
## 规则手册
主规则手册与二进制文件一起提供,并对 AI 代理强制执行纪律。 七个内置规则,严重性为 `must`:
- 在开始工作之前检查可用上下文
- 使用检索桥接代替原始文档解析
- 严格按照桥接操作返回的服务规则
- 在假设能力之前发现可用桥接
- 向用户报告桥接错误,不要静默重试
- 永远不要自动化登录 — 告诉用户手动登录
- 尊重交互模式 — 当操作返回 `CONFIRMATION_REQUIRED` 时,询问用户使用哪种模式
用户可以通过 `~/.architect-tool/rules/master.json` 添加自定义规则:
```json
{
"add": [{"id": "my-rule", "rule": "Always summarize responses", "severity": "should"}],
"disable": ["some-non-must-rule"]
}
```
严重性为 must 的规则无法禁用。
---
## ChatGPT 桥接
通过浏览器自动化使用现有的订阅向 ChatGPT 发送消息 — 无需 API 密钥。
**守护进程模式**(操作/参数格式):
```json
{"action": "ask_chatgpt", "params": {"message": "Critique this error message for clarity", "session": "ux-copy", "system_context": "You are a UX copywriter."}}
```
**MCP 模式**(名称/参数格式):
```json
{"name": "ask_chatgpt", "arguments": {"message": "Critique this error message for clarity", "session": "ux-copy", "system_context": "You are a UX copywriter."}}
```
> **注意:** 守护进程也接受 MCP 样式的 `name`/`arguments` 作为 `action`/`params` 的别名。
**会话** 在调用之间持续。省略 `session` 以通过关键字重叠自动路由。您也可以通过其 `AT-XXXX` 标签恢复会话(见下文)。
**对话标记和侧边栏导航:** 在新会话中的第一个消息之后,桥接会自动:
1. 抓取 ChatGPT 自动生成的标题
2. 生成唯一的 `AT-XXXX` 标签
3. 将侧边栏中的对话重命名为标签
当恢复会话时,桥接使用 3 级查找:URL 快速路径 → 侧边栏扫描 → ChatGPT 搜索。这意味着对话在 URL 更改后仍然存在,并且可以在浏览器关闭并重新打开后找到。
**CDP-only 交互:** 所有 ChatGPT 交互都使用 Chrome DevTools 协议输入事件(鼠标点击、键盘输入、鼠标滚轮滚动)。 ChatGPT 使用 ProseMirror,它会静默忽略 DOM 操作和 JS 点击 — CDP 事件是唯一可靠的方法。
**幕后工作原理:** 自动启动带有调试配置文件的 Chrome,注入隐身补丁,应用类似人类的节奏(共享的 `bridge/cadence` 包),检测流媒体完成,处理 Cloudflare 挑战。 登录在首次手动登录后持续存在。
### 响应提取 — 需要了解的竞态条件
ChatGPT 的 DOM 有三个微妙之处,会破坏简单的响应抓取。所有这三个问题都已由 bridge 处理,但值得为任何扩展 bridge 的人记录:
1. **空流占位符。** 在流式传输过程中,ChatGPT 会创建一个带有空 `<p>` 标签的 `.result-thinking .markdown` div *,在任何 token 流入之前*。如果不进行过滤,`querySelectorAll("div[data-message-author-role='assistant'] .markdown")` 会返回这个空 div 作为“最新响应”。`readLastResponse` 向后遍历并 **跳过空元素**,返回最后一个非空 `.markdown` 文本。
2. **过时基准竞争。** 如果你在点击发送后立即轮询 `readLastResponse`,你会得到 *前一个* 响应 — 新的 `.markdown` 尚未填充。稳定性检测器随后看到“稳定文本”并返回过时的响应。解决方法:在发送之前快照响应文本(`baselineText`),并在稳定性循环中跳过 `currentText == baselineText` 的任何轮询。
3. **导航后的 DOM 填充延迟。** 在导航到对话 URL 后立即,`.markdown` 子元素可能尚未填充,即使助理 `<div>` 存在。`readLastResponse` 可能返回空值,这使得基准值变得无用(任何非空文本看起来都是“新的”)。bridge 在发送之前会轮询非空基准值(最多 5 秒)。
4. **DOM 虚拟化。** ChatGPT 虚拟化长对话 — 一次只有几个最近的回合在 DOM 中。不要依赖“计数助理 div”作为任何其他信号 *变更*;绝对计数是无意义的。
`chatgpt/extractor.go` 中的稳定性检测器需要 *文本稳定性和* 停止按钮消失,才能宣布响应完成。仅要求其中一个会导致 GPT 中途暂停时响应被截断。
## WordPress 迁移
6 阶段管道:收集 ACF 字段,组织成块,评估布局,通过 WP REST API 解析图像,注入块 + 预览,验证输出。
```bash
architect-tool migrate --post 8550 --session isp4 --visible # 停止在预览
architect-tool migrate verify --post 8550 --session isp4 # 自动检查
architect-tool migrate publish --post 8550 --session isp4 # 重新验证,然后发布
```
永不自动发布。WordPress 修订版本是回滚机制。
## 守护进程模式
```bash
architect-tool daemon --visible # 新浏览器,观察它发生
architect-tool daemon --session abc123 # 重新连接现有
```
```json
{"id":"1","action":"navigate","params":{"url":"https://example.com"}}
-> {"id":"1","status":"ok","result":{"url":"https://example.com/","title":"Example Domain"}}
```
第一个命令应该是 `capabilities` — 返回可用操作、已注册的 bridge、主规则书、脚本、调度配置和代理指南。
**操作:** `navigate`、`click`、`type`、`insertText`、`scroll`、`shortcut`、`select`、`hover`、`setFiles`、`evaluate`、`screenshot`、`pdf`、`cookies`、`query`、`waitForSelector`、`clickAndWait`、`reload`、`back`、`forward`、`dispatch`、`agentStatus`、`confirm_interaction_mode`、`list_bridges`、`bridge_activity`、`stop_bridge`、`run_tasks`、`run_status`、`capabilities`
## MCP 服务器
```json
{
"mcpServers": {
"architect-tool": {
"command": "architect-tool",
"args": ["mcp"]
}
}
}
```
20 多种工具。浏览器基元、ChatGPT、bridge 管理、任务运行器、设置流程。未知工具会自动落入 bridge 注册表。主规则书包含在初始化说明中。
## 用户脚本
重放和自动检测可重用的操作序列。
```bash
architect-tool script run login-flow --profile mysite
architect-tool script list
architect-tool script candidates # 自动检测模式
```
工具会记录每个操作。会话后分析器会检测重复模式(出现 3 次或以上)并将它们保存为具有模板变量的脚本候选项。
## 站点规则
针对标准自动化失败的站点嵌入交互规则。当代理导航到已知域时,响应包括特定于站点的选择器、快捷方式和工作流程。
```bash
architect-tool rules list
architect-tool rules show docs.google.com
```
**内置:** Google Docs、Sheets、Slides、Drive、Gmail、Calendar、ChatGPT。每个规则都可以声明一个 `interaction_mode`(`cdp_only`、`js_first` 或未设置)来控制工具如何与站点交互。在 `~/.architect-tool/rules/` 中放置一个 JSON 文件即可添加您自己的规则。
## CLI 参考
| 命令 | 描述 |
|---------|-------------|
| `navigate` | 导航到 URL |
| `click` | 点击元素 |
| `type` | 在元素中输入文本 |
| `insertText` | 在光标处插入文本(批量)|
| `shortcut` | 键盘快捷键(`--key b --ctrl` 表示粗体)|
| `hover` | 悬停在元素上 |
| `select` | 选择下拉选项 |
| `setfiles` | 在文件输入上设置文件 |
| `evaluate` | 执行 JavaScript |
| `screenshot` | 捕获截图 |
| `pdf` | 生成 PDF |
| `query` | 查询 DOM 元素 |
| `cookies` | 管理 cookie |
| `back` / `forward` / `reload` | 导航历史 |
| `waitforselector` | 等待元素 |
| `clickandwait` | 点击并等待导航 |
| `dispatch` | 并行多选项卡执行 |
| `migrate` | WordPress 迁移管道 |
| `daemon` | 守护进程模式(JSON 标准输入/输出)|
| `mcp` | MCP 服务器 |
| `rules` | 站点特定规则 |
| `script` | 管理脚本 |
| `profile` | 管理配置文件 |
| `sessions` | 管理浏览器会话 |
### 标志
| 标志 | 默认值 | 描述 |
|------|---------|-------------|
| `--visible` | `false` | 显示浏览器窗口 |
| `--headless` | `true` | 无头模式 |
| `--chrome-path` | 自动 | 浏览器二进制文件路径 |
| `--timeout` | `30s` | 操作超时 |
| `--keep-alive` | `false` | 命令后保持浏览器打开 |
| `--session` | | 重新连接现有会话 |
| `--connect-port` | | 附加到 Chrome 调试端口 |
| `--user-data-dir` | | Chrome 用户数据目录 |
## 架构
```
architect-tool/
├── bridge/ # 统一桥接框架
│ ├── bridge.go # 接口、类型(HealthStatus、ActionSpec、Rule)
│ ├── registry.go # 操作路由、健康状况、缓存、活动
│ ├── activity.go # 事件发射、日志记录、桥接停止
│ ├── cache.go # 带 TTL 的 LRU 响应缓存
│ ├── cadence/ # 共享计时 — 抖动延迟、速率限制器
│ └── rulebook/ # 主规则、用户覆盖、合并逻辑
├── cdp/ # Chrome DevTools 协议客户端
├── browser/ # 浏览器发现、启动、生命周期
├── page/ # 高级页面 API(导航、点击、隐身)
├── chatgpt/ # ChatGPT 桥接适配器、会话、流式传输
├── session/ # 守护进程模式、命令调度
├── orchestrator/ # 多代理调度、工作队列、防护措施、PolicyExecFunc
├── policy/ # InteractionPolicy、评估允许列表、模式强制执行
├── mcp/ # MCP 服务器(JSON-RPC 2.0 via stdio)
├── runner/ # 具有重试和状态持久性的任务运行器
├── scripts/ # 脚本引擎、录制、变量替换
├── journal/ # 操作日志(JSONL)
├── analyzer/ # 模式检测、SQLite 存储
├── rules/ # 站点特定规则(嵌入式 + 用户覆盖)
├── migrate/ # WordPress ACF 迁移管道
├── profiles/ # 配置文件管理、加密凭据
├── whitelist/ # URL/选择器允许列表
└── cmd/ # CLI 命令(Cobra)
```
## 已知问题
请参阅 [KNOWN_ISSUES.md](KNOWN_ISSUES.md) 获取当前已知的 bug、工作区和修复方向。
## 许可证
[商业源代码许可证 1.1](LICENSE) — 免费用于非商业用途和小团队(<10 名员工)。在 4 年后转换为 Apache 2.0。提供商业许可证。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器