MoggingLabs/highwire
GitHub: MoggingLabs/highwire
通过自定义 MCP server 将 GoHighLevel 的内部 API 暴露给 Claude,实现对话式 CRM 全功能操作与工作流自动化构建。
Stars: 0 | Forks: 0
**整个 GoHighLevel 平台 — 由 Claude 驱动。**
通过一个与 GoHighLevel *内部* API 交互的自定义 MCP server,读取、梳理并构建工作流、联系人、pipeline、日历和对话,并配备拟人化的速率限制,让你在操作时保持低调。
[](https://www.gohighlevel.com/)
[](https://modelcontextprotocol.io/)
[](https://www.python.org/)
[](https://nodejs.org/)
[](./LICENSE)
## 🎯 我们在构建什么
GoHighLevel 的**公开** API 只暴露了有限的工具集,且**无法创建或编辑工作流**。但在 GHL Web 应用中的每一次点击,实际上都会触发一次**内部 API 调用**。Highwire 捕获了这些内部 endpoint,并将其作为简洁的 **MCP server** 重新暴露给 Claude — 因此,Claude 几乎可以*完成人类在 UI 中能做的任何事*,而且完全支持对话式交互。
```
You ──▶ Claude ──▶ Highwire MCP ──▶ paced client ──▶ GHL internal API ──▶ Your CRM
│
human-timed, budgeted,
backoff-aware, auditable
```
## ✨ 这能实现什么
| 功能 | 公开 GHL API | **Highwire** |
| :--- | :---: | :---: |
| 读取联系人、商机、pipeline | ✅ | ✅ |
| 读取日历和对话 | 部分 | ✅ |
| **逐步读取每一个工作流** | ❌ | ✅ |
| **创建和编辑工作流**(触发器、条件、操作、邮件) | ❌ | ✅ |
| 用于仪表盘的全账户数据提取 | ❌ | ✅ |
| 在 Claude 中通过对话驱动这一切 | ❌ | ✅ |
| 内置速率限制以避免封号 | 不适用 | ✅ |
最终状态:**停止在 GHL 中繁琐点击**。只需一句话即可梳理整个账户并构建序列,从而将你的时间释放出来,投入到真正能让代理机构业绩增长的工作中 — 销售、线索、客户。
## 🧱 工作原理
Highwire 是搭建在钢丝上的四个层级:
1. **Token 提取器** — 一个微型且可审计的 Chrome 扩展程序(或通过 DevTools 手动捕获),用于从你已登录的会话中读取 GoHighLevel 的 **Firebase refresh token**。你只需执行**一次**,客户端就会自动用它生成新的短期 ID token。
2. **内部 API 客户端**(Python) — 针对每个对象的类型化函数,重放 Web 应用发出的精确请求,并携带你真实的 header/user-agent 指纹。
3. **节奏控制层** — 安全网。包含模拟人类时间的抖动、串行写入、每小时/每天预算、指数退避和断路器。这是 Highwire 的*核心*组件,而非附加组件。**慢慢走过钢丝。**
4. **MCP server** — 封装客户端,使 Claude(Claude Code、桌面版或 API)每个操作都能获得一个对应的工具。
## 🚀 快速开始
```
# 1. 克隆
git clone git@github.com:MoggingLabs/highwire.git
cd highwire
# 2. 配置你的本地 secrets(切勿提交)
cp .env.example .env
# → 打开 .env 并粘贴你的 refresh token + location id
# 3. 安装
python -m venv .venv && . .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
npm install
# 4. 在 Claude 中注册 MCP
# → 具体的单行命令请参见 docs/USAGE.md
```
然后只需与 Claude 对话:
完整指南:**[docs/USAGE.md](./docs/USAGE.md)**
## 🔐 安全第一 — 永不涉及密钥
- 你的 refresh token 和 location ID **仅**存在于本地、已被 gitignored 的 `.env` 文件中。本仓库提供的 `.env.example` **仅包含占位符**。
- 任何关于*我们*或你账户的信息都不会被提交。请参阅 **[docs/SECURITY.md](./docs/SECURITY.md)** 以及仓库的 [SECURITY.md](./SECURITY.md)。
- 如果 token 不慎泄露,**请在源头将其撤销** — 仅仅删除提交记录是不够的。
## ⚖️ 负责任的使用免责声明
Highwire 与 GoHighLevel **未公开的内部** API 进行通信。这**极有可能违反了 GoHighLevel 的服务条款**,使用它会面临真实的账号被暂停的风险。Highwire 旨在自动化操作**你自己的**账户,并包含速率限制以表现得像普通人类用户 — **而非**用于滥用平台、大规模针对第三方,或为了不良目的规避滥用保护机制。
**你对自身的使用方式负责。**请先在测试/子账户上进行测试。本项目基于 MIT 许可证提供,不包含任何担保。与 GoHighLevel/HighLevel 或 Anthropic 无任何关联、背书或赞助。
## 🗺️ 路线图
Highwire 分阶段构建 — 请参阅 [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md#build-phases)。
- [ ] **P1** 认证:捕获 refresh token + 交换 ID token
- [ ] **P2** 逆向工程读取 endpoint(全部六种对象类型)
- [ ] **P3** 带有节奏控制的读取客户端 + 全量提取快照
- [ ] **P4** 逆向工程写入 endpoint(首先实现工作流创建)
- [ ] **P5** 带有节奏控制的写入客户端(试运行 + 确认机制)
- [ ] **P6** MCP server
- [ ] **P7** 端到端验证 + 仪表盘导出
## 🤝 贡献
欢迎提交 PR — 请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。请保持 pacing 层完好无损,且切勿提交密钥。
## 📄 许可证
[MIT](./LICENSE) © MoggingLabs.
标签:Claude, CRM集成, CVE检测, GNU通用公共许可证, GoHighLevel, MCP服务器, MITM代理, Node.js, Python, 无后门, 自动化API, 逆向工具