web-api-extractor
# WebAPIExtractor


-orange)
**把「只能手动点网页的系统」,变成 AI 能直接调用的工具 —— 你不用写一行代码。**
---
## 这是什么
很多系统只有网页界面,没有 API。你想让 AI 助手帮你查数据、提工单、导报表,
却卡在「它碰不到这个系统」这一步。
WebAPIExtractor 的做法很直接:
> **你在浏览器里怎么点,它就记下来,然后把这些操作变成 AI 可以调用的工具。**
你不用看接口文档,不用写代码,也不用理解任何技术名词。
---
## 谁适合用
- 手上有一套**只能登录网页、手动点操作**的系统(OA、ERP、CRM、工单、报表、
内部管理后台……)
- 想让 AI 助手替你完成里面的重复操作
- 没有 API 文档,也没有开发资源
**你需要准备:**
- 一个支持「技能 / Skill」的 AI 助手桌面客户端
- 你自己的电脑(所有数据都留在本机)
- 对该系统的**合法授权** —— 只对你自己有权使用的系统使用
---
## 三步就能用起来
### 第一步 · 拿到导入包
你需要一个 `.zip` 导入包。两种拿法:
- **别人给了你 `web-api-extractor-agent.zip`** —— 直接用它,跳到第二步。
- **自己打一个** —— 下载本仓库后运行一次打包脚本:
```powershell
powershell -ExecutionPolicy Bypass -File .\package-agent.ps1
```
生成的 `web-api-extractor-agent.zip` 就是导入包。
### 第二步 · 导入你的 AI 助手
打开你的 AI 助手客户端,找到 **「技能 / Skill」** 相关的设置页,选择导入,
把上面那个 zip 加进去。
不同客户端的入口位置不一样,但都在技能设置里。导入成功后,技能列表中会出现
**web-api-extractor** 这一项。
这一步之后,你的 AI 助手就多了一项能力:**陪你在浏览器里完成登录、记录你的操作、
并把它们做成工具。**
> 首次使用需要装一点运行环境(含一个浏览器内核),AI 会带你完成,之后不用再管。
### 第三步 · 用对话告诉它你要什么
这一步不用记任何命令,像平常聊天一样:
```
你:帮我给我们的 OA 系统做一套 MCP 工具
AI:(打开浏览器)请在弹出的窗口里完成登录,然后告诉我
你:登录好了
AI:登录态已保存。现在请你在浏览器里,把你想变成工具的功能都操作一遍
—— 比如查列表、点开详情、提交一张单子
你:(操作完)好了
AI:收到,抓到 23 个接口。其中登录接口用了密码加密,我先核实一下再生成
……
生成完成,包含这些工具:
· 查我的待办 · 查工单详情
· 提交工单 · 导出报表
以后你(或任何接上它的 AI)就能直接调用它们了
```
**整个过程你只需要做两件事:在浏览器里登录,然后正常点一遍你要的功能。**
---
## 你会得到什么
一套**可以长期使用、随时能加功能**的工具集:
| 你得到的 | 意味着 |
|---|---|
| AI 能直接操作那个系统 | 不用再手动点网页 |
| 登录一次,长期复用 | 不用每次重新登录 |
| 后续想加功能,再操作一遍就行 | 不用推倒重做 |
| 可以把分发包给同事 | 对方只能调用,无法改动你的工具 |
---
## 它是怎么做到的
一句话:**它陪你打开一个真实浏览器,记录你做的每一次操作,再把它们整理成工具。**
中间发生了什么不用你操心 —— 那是 AI 的事。
> 想了解技术实现(接口归一化、凭据脱敏、加密识别、生成器能力、环境变量、
> 21 个工具的完整清单),见 **[docs/reference.md](docs/reference.md)**。
---
## 常见问题
| 问题 | 回答 |
|---|---|
| 我需要会编程吗? | 不需要。全程对话 + 在浏览器里操作。 |
| 我的账号密码安全吗? | 密码不由它保存或转发;抓到的数据里凭据值一律被抹成 `***`。登录态只存在你本机。 |
| 数据会上传到云端吗? | 不会。所有记录都在你电脑的数据目录里(`~/.webapiextractor`)。 |
| 支持哪些系统? | 只要你能用浏览器登录并操作,就能做 —— 包括需要验证码、短信验证、单点登录的内部系统。 |
| 生成的工具只能我自己用吗? | 也可以把分发包给同事;拿到的人只能调用,不能修改工具集。 |
| 系统改版了怎么办? | 再操作一遍,让 AI 补上变化的部分,不用重做。 |
| 这是 Skill 还是 MCP? | 你不用区分。它底层是一个 MCP 服务,上层是 Agent 可调用的技能 —— 导入技能就能用。 |
---
## 许可说明
本项目的使用边界与授权约束以 [LICENSE](LICENSE) 为准:
- 允许个人学习、测试和非商业自用
- 修改后再分发须保留原始来源说明
- 基于本项目开发的衍生工作应当开源
- 不允许直接商用
## 免责声明(适用范围)
本项目仅用于合法合规的开发、测试、接口分析、文档生成、集成验证与合规评估场景,目的在于帮助使用者研究、理解和管理**自己拥有授权的系统**接口行为。
使用者必须遵守中华人民共和国法律法规及当地适用法律,并自行确认其使用行为的合法性。下列用途均不被视为本项目的合法用途:
- 用于未经授权的系统探测、攻击、绕过认证、破坏服务可用性或违反网站/平台使用条款的行为
- 用于窃取、泄露、篡改、篡用他人数据或敏感信息
- 用于非法访问、非法抓取、非法分析或非法加工受保护的接口与数据
- 用于造成目标系统宕机、服务中断、拒绝服务或其他损害他人合法权益的行为
- 用于任何违反适用法律、合同、行业规范和安全要求的目的
本项目不对使用者的任何行为承担责任。将本项目用于外部系统时,使用者必须事先确认具备相应授权、合法依据,并自行承担安全与合规责任。
TDQS
Scored across 21 tools
Multiple tools overlap in purpose without descriptions, e.g., probe_login, http_login, open_browser_login all concern login but lack clarity; confirm_login, confirm_login_ready, and request_login_confirm_dialog have overlapping names and functions. Even described tools like confirm_login_ready and confirm_login could be confused for similar actions.
Most tools follow a verb_noun snake_case pattern (e.g., analyze_traffic, start_capture, list_sessions, export_project). A few exceptions like http_login and confirm_login_ready deviate slightly, but overall the naming convention is consistent and predictable.
21 tools is on the heavier side but not extreme. The server's scope (login, capture, diff, merge, generate) could justify this count, but many tools lack descriptions and some overlap, making the set feel bloated.
The server covers a full lifecycle from login and capture to diff, merge, and server generation. However, missing tools like list_endpoints or delete_endpoint create gaps, and 13 tools without descriptions make it hard to assess whether the surface is complete.