ApiTap
](https://www.npmjs.com/package/@apitap/core)  
将任何网站变成API的CLI、MCP服务器和npm库-无文档、无SDK、无浏览器。
ApiTap是一个CLI、MCP服务器和npm库,它允许AI代理(和你)通过API而不是浏览器浏览网页。它与 6400+预映射端点 跨280多个API(Stripe、GitHub、Twilio、Slack、Spotify等)——安装时即可查询。对于不在数据库中的网站,它捕获来自任何网站的API流量,生成可重复使用的“技能文件”,并使用 fetch().没有DOM,没有选择器,没有古怪的等待。与浏览器自动化相比,令牌成本下降了20-100倍。
网络是为人眼而建的;ApiTap使其原生于机器。
# Import 280+ APIs instantly — no browser needed
apitap import --from apis-guru --limit 100
Done: 87 imported, 3 failed, 10 skipped
1,847 endpoints added across 87 APIs
# Replay any imported endpoint immediately
apitap replay api.stripe.com get-listcharges limit=5
# Or capture a site's private API
apitap capture https://polymarket.com
apitap replay gamma-api.polymarket.com get-events
# Or read content directly
apitap read https://en.wikipedia.org/wiki/Node.js
✓ Wikipedia decoder: ~127 tokens (vs ~4,900 raw HTML)不要刮。没有浏览器。只是API。
______________________________________________________________________
运作原理
ApiTap有三种方法来构建其API知识:
- 导入 (即时)--从导入OpenAPI/Swagger规范 APIs.guru 2500多个公共API的目录,或来自任何规范URL/文件。端点根据规格质量获得置信度得分。无需浏览器。
- 捕捉 (30秒)——启动浏览器,访问网站,正常浏览。ApiTap通过CDP拦截所有网络流量,过滤噪音,并生成技能文件。或使用
apitap attach从已运行的Chrome中捕获。 - 发现 (自动)-ApiTap自动检测框架(WordPress、Next.js、Shopify),并在公共路径上探测OpenAPI规范。无需浏览器即可工作。
所有三条路径都会产生相同的工件:a 技能档案 -API端点的可移植JSON映射,存储在 ~/.apitap/skills/.
Import: OpenAPI spec → Converter → Merge → skill.json (confidence 0.6-0.85)
Capture: Browser → CDP listener → Filter → Skill Generator → skill.json (confidence 1.0)
Attach: Running Chrome → CDP attach → Filter → skill.json (confidence 0.8-1.0)
Replay: Agent → Replay Engine (skill.json) → fetch() → API → JSON response
↑ no browser in this path置信度模型
每个端点都跟踪它是如何被发现的:
| 来源 | 信心 | 含义 |
|---|---|---|
| 用响应体捕获 | 1.0 | 完全捕获——响应形状已验证 |
| OpenAPI导入,高质量 | 0.85 | Spec有响应示例 |
| CDP骨架(真实流量,无正文) | 0.8 | 端点存在,正文已从Chrome缓冲区中删除 |
| OpenAPI导入,基本 | 0.6 | 瘦规格,无示例 |
首次成功回放时,导入的端点会自动升级到置信度1.0。合并是累加的——捕获的数据永远不会被导入覆盖,导入会填补捕获丢失的空白。
安装
npm install -g @apitap/core克劳德代码 --一个命令将其连接起来:
claude mcp add -s user apitap -- apitap mcp就是这样。12个MCP工具,准备就绪。需要Node.js 20+。
注:npx @apitap/core mcp由于以下原因而无法工作 .使用npx apitap mcp或apitap-mcp相反。
可选: 使用capture和browse(打开真实浏览器),也运行: ``bash npx playwright install chromium`这read,peek,discover,以及import` 工具不用它也能工作。
快速开始
立即导入API
# Import from the APIs.guru directory (2,500+ public APIs)
apitap import --from apis-guru --limit 100
# Import a specific API by name
apitap import --from apis-guru --search stripe
# Import a single OpenAPI spec from URL
apitap import https://api.apis.guru/v2/specs/stripe.com/2022-11-15/openapi.json
# Import a local spec file (JSON or YAML)
apitap import ./my-api-spec.json
# Skip auth-required APIs (open endpoints only)
apitap import --from apis-guru --limit 500 --no-auth-only
# Preview what would be imported
apitap import --from apis-guru --search twilio --dry-run
# Update previously imported APIs (skip unchanged)
apitap import --from apis-guru --update导入会产生一个差异,显示发生了什么变化:
Importing api.stripe.com from OpenAPI 3.0 spec...
✓ 12 existing captured endpoints preserved
+ 34 new endpoints added from OpenAPI spec
~ 8 endpoints enriched with spec metadata
· 0 skipped (already imported)
Skill file: ~/.apitap/skills/api.stripe.com.json (54 endpoints)捕获的端点永远不会被覆盖。导入填补了空白,并从规范中添加了元数据(描述、响应模式、查询参数枚举)。
捕获API流量
# Capture from a single domain (default)
apitap capture https://polymarket.com
# Capture all domains (CDN, API subdomains, etc.)
apitap capture https://polymarket.com --all-domains
# Include response previews in the skill file
apitap capture https://polymarket.com --preview
# Stop after 30 seconds
apitap capture https://polymarket.com --duration 30ApiTap打开浏览器窗口。正常浏览网站——点击、滚动、搜索。每个API调用都会被捕获。完成后按Ctrl+C。
连接到正在运行的Chrome
# Launch Chrome with remote debugging enabled
google-chrome --remote-debugging-port=9222
# Attach to your signed-in Chrome — captures all tabs
apitap attach --port 9222
# Filter to specific domains
apitap attach --port 9222 --domain *.github.com
# Ctrl+C to stop — generates signed skill files for each captured domain无需单独的浏览器,无需重新登录。使用您的所有Cookie和身份验证令牌从您的真实Chrome会话中捕获。当响应体从Chrome的缓冲区中移出时(在高流量页面上很常见),骨架端点将以0.8的置信度写入,而不是被丢弃。
列出并探索API
# List all skill files
apitap list
✓ api.stripe.com 446 endpoints 5m ago [imported-signed]
✓ gamma-api.polymarket.com 3 endpoints 2h ago [signed]
✓ api.github.com 499 endpoints 1h ago [imported-signed]
# Show endpoints for a domain
apitap show api.stripe.com
[ ] GET /v1/account object (22 fields)
[ ] GET /v1/charges object (4 fields)
[ ] GET /v1/customers/:customer object (30 fields)
# Search across all skill files
apitap search stripe重播端点
# Replay with captured defaults
apitap replay gamma-api.polymarket.com get-events
# Override parameters
apitap replay gamma-api.polymarket.com get-events limit=5 offset=10
# Machine-readable JSON output
apitap replay gamma-api.polymarket.com get-events --json文本模式浏览
ApiTap包括一个文本模式浏览管道-- peek 和 read --它允许代理在不启动浏览器的情况下消费网络内容。七个内置解码器以代币成本的一小部分从热门网站提取结构化内容:
| 站点 | 解码器 | 典型令牌 | 与原始HTML |
|---|---|---|---|
reddit | ~627 | 93%更小 | |
油管 youtube | ~36 | 99%更小 | |
| 维基百科 | wikipedia | ~127 | 97%更小 |
| 黑客新闻 | hackernews | ~200 | 90%更小 |
| Grokipedia | grokipedia | ~150-5000+ | 因文章长度而异 |
| 推特/X | twitter | ~80 | 95%更小 |
| 任何其他网站 | generic | 变化 | 平均约74% |
平均代币节省:在83个测试域中节省74%。
# Triage first — zero-cost HEAD request
apitap peek https://reddit.com/r/programming
✓ accessible, recommendation: read
# Extract content — no browser needed
apitap read https://reddit.com/r/programming
✓ Reddit decoder: 12 posts, ~627 tokens
# Works for any URL — falls back to generic HTML extraction
apitap read https://example.com/blog/post对于MCP试剂, apitap_peek 和 apitap_read 是消费网络内容的最快方式——在访问之前使用它们 apitap_browse 或 apitap_capture.
预加载API
ApiTap可以立即从 APIs.guru 2500多个公共API规范的目录。只需一个命令即可填充本地模式数据库:
apitap import --from apis-guru --limit 500一些现成的API:
| API | 端点 | 授权 |
|---|---|---|
| 条纹 | 446 | neneneba API密钥 |
| GitHub | 499 | OAuth |
| Jira/Atlassian | 487 | API密钥 |
| Twilio | 199+ | API密钥 |
| Slack | 175 | OAuth |
| DigitalOcean | 290 | Bearer |
| Linode | 350 | 熊 |
| SendGrid | 334 | API 密钥 |
| Spotify | 90 | OAuth |
| 广场 | 200 | OAuth |
| Plaid | 198 | API密钥 |
| 阿萨纳 | 167 | 熊 |
| 推特 | 163 | OAuth |
| Vimeo | 326 | OAuth |
| OpenAI | 28 | API密钥 |
需要身份验证的API作为带有响应模式的端点映射导入——您可以在设置凭据之前探索可用的内容并查看响应形状。首次成功回放真实身份验证会自动将端点升级到完全捕获状态。
为什么选择ApiTap?
为什么不直接使用公共API? 大多数网站都没有,或者它受到严重的费率限制。为SPA提供动力的内部API通常更丰富、更快,并且已经处理了身份验证。
为什么不直接使用剧作家/木偶师? 对于AI代理,浏览器自动化每页需要花费50-200K令牌。ApiTap捕获API一次,然后您的代理以1-5K令牌直接调用它。没有DOM,没有选择器,没有古怪的等待。
为什么不手动反向驱动API? 您可以打开DevTools并手动复制标题。ApiTap在30秒内完成,并为您提供任何代理都可以使用的便携式文件。
为什么不直接使用OpenAPI规范? 你可以! apitap import 将OpenAPI/Swagger规范直接转换为技能文件。但许多网站不发布规范——ApiTap从实时流量中捕获他们的API。
这不是一个MITM代理吗? 不是的。ApiTap是只读的,它使用Chrome DevTools协议来观察响应。没有证书设置,没有请求修改,没有代码注入。
可回放级别
每个捕获的端点都按重放难度分类:
| 层级 | 含义 | 重播 |
|---|---|---|
| 绿色 | 公共、许可CORS、无签名 | 适用于 fetch() |
| 黄色 | 需要身份验证,无签名/反机器人 | 适用于存储的凭据 |
| 橙子 | CSRF令牌、会话绑定 | 脆弱——可能需要刷新浏览器 |
| 红 | 请求签名、反机器人(Cloudflare) | 需要完整浏览器 |
通过将Playwright响应与原始响应进行比较,在捕获过程中自动验证GET端点 fetch() 响应。
MCP服务器
ApiTap包括一个MCP服务器,其中有12个工具,用于Claude Desktop、Cursor、Windsurf和其他MCP兼容客户端。
# Start the MCP server
apitap mcp
# Also works via npx (no global install needed)
npx apitap mcp遗产apitap-mcp二进制仍然有效,但apitap mcp是首选。npx @apitap/core mcp做 不 work——npm无法解析具有多个bin的作用域包的默认bin(#46).
克劳德代码 --看 安装 上面。
克劳德桌面/光标/风帆 --添加到您的MCP配置中:
{
"mcpServers": {
"apitap": {
"command": "apitap",
"args": ["mcp"]
}
}
}VS代码(GitHub副本) --添加 .vscode/mcp.json:
{
"servers": {
"apitap": {
"command": "apitap",
"args": ["mcp"]
}
}
}MCP工具
| 工具 | 说明 |
|---|---|
apitap_browse | 高级“只需为我获取数据”(在一次通话中发现+回放) |
apitap_peek | 零成本URL分类(仅限HEAD) |
apitap_read | 无需浏览器即可提取内容(7个解码器) |
apitap_discover | 无需启动浏览器即可检测网站的API |
apitap_search | 搜索可用技能文件 |
apitap_replay | 回放捕获的API终结点 |
apitap_replay_batch | 跨域并行回放多个端点 |
apitap_capture | 通过插入指令的浏览器捕获API流量 |
apitap_capture_start | 启动交互式捕获会话 |
apitap_capture_interact | 与实时捕获会话交互(单击、键入、滚动) |
apitap_capture_finish | 完成或中止捕获会话 |
apitap_auth_request | 请求站点的人工身份验证 |
您还可以将单个技能文件作为专用MCP服务器提供 apitap serve --每个端点都成为自己的工具。
Chrome 扩展
可选。 ApiTap在没有扩展的情况下完全工作。如果您希望被动发现API,或希望从已登录的浏览器会话中捕获,请安装它。
该扩展直接从浏览器捕获API流量-没有Playwright,没有auth dance,没有浏览器弹出窗口。它还静默地构建了您在后台访问的每个API的映射。
为什么要使用扩展?
- 您已经登录到Spotify、Discord、Reddit——扩展程序会从您的实时会话中捕获
- 不
apitap auth request需要-自动捕获真实令牌 - 被动地构建您访问的每个API的地图,以便您的代理在询问之前知道可用的内容
设置
步骤1--安装ApiTap CLI (如果你还没有):
npm install -g @apitap/core步骤2——获取扩展源:
git clone https://github.com/n1byn1kt/apitap.git
cd apitap步骤3——构建扩展:
cd extension && npm install && npm run build步骤4——加载到Chrome中:
- 打开
chrome://extensions - 启用 开发人员模式 (切换,右上角)
- 点击 装载时未包装
- 选择
extension/克隆仓库内的文件夹
您应该看到ApiTap图标出现在工具栏中。
步骤5——连接本地消息传递(一次性):
apitap extension install --extension-id 在 chrome://extensions 页面(加载后显示在扩展名下)。
步骤6——验证连接:
在Chrome中单击ApiTap图标。弹出窗口应显示 “CLI:已连接”。如果显示已断开连接,请使用正确的扩展ID重新运行步骤5。
被动索引(始终打开)
安装后,扩展会在浏览时静默地观察API流量—没有信息栏,没有CDP,没有性能影响。它为每个域的API形状构建了一个轻量级索引:端点、HTTP方法、身份验证类型、分页模式。
# See everything the extension has discovered
apitap index
# Filter to a specific domain
apitap index discord.com指数位于 ~/.apitap/index.json 并由 apitap_discover MCP工具-因此,您的代理可以询问“您对Discord的API了解多少?”并在不触发全面捕获的情况下获得有用的答案。
晋升为完整技能档案
索引是一个映射——它知道存在哪些端点,但不知道它们的响应形状。要获得完整的可回放技能文件,请升级一个域:
从弹出窗口中: 点击ApiTap图标->查找域名-> 生成技能档案
通过代理人: 您的代理可以自动请求捕获。您将收到一个批准通知,扩展程序会短暂地附加CDP,捕获响应形状,然后分离。完整技能文件保存到 ~/.apitap/skills/.
自动学习(选择加入): 在扩展弹出窗口->设置->启用 自动学习。该扩展程序将自动推广您经常访问的域名。默认情况下为关闭。
手动捕获
对于没有被动索引的一次性捕获:
- 点击ApiTap图标-> 开始捕获
- 浏览网站-扩展记录API流量
- 点击 停止 ->技能文件自动保存到
~/.apitap/skills/
弹出窗口显示CLI连接状态和实时捕获统计信息。身份验证令牌在会话存储中使用AES-256-GCM加密,并自动持久化到 ~/.apitap/auth.enc 通过本地主机,使用 [stored] 导出技能文件中的占位符。
注: Chrome网上商店即将提交。现在,在开发人员模式下作为解包的扩展加载。
______________________________________________________________________
身份验证管理
ApiTap在捕获期间自动检测并存储身份验证凭据(承载令牌、API密钥、cookie)。凭据在静态时使用AES-256-GCM进行加密。
# View auth status
apitap auth api.example.com
# List all domains with stored auth
apitap auth --list
# Refresh expired tokens via browser
apitap refresh api.example.com
# Force fresh token before replay
apitap replay api.example.com get-data --fresh
# Clear stored auth
apitap auth api.example.com --clear技能档案
技能文件是存储在以下位置的JSON文档 ~/.apitap/skills/.json.它们包含回放API所需的一切-端点、头、查询参数、请求主体、分页模式和响应形状。
{
"version": "1.2",
"domain": "gamma-api.polymarket.com",
"baseUrl": "https://gamma-api.polymarket.com",
"endpoints": [
{
"id": "get-events",
"method": "GET",
"path": "/events",
"queryParams": { "limit": { "type": "string", "example": "10" } },
"headers": {},
"responseShape": { "type": "object", "fields": ["id", "title", "slug"] },
"confidence": 1.0,
"endpointProvenance": "captured"
}
]
}技能文件是可移植和可共享的。身份验证凭据单独存储在加密存储中,从不存储在技能文件本身中。
进口/出口
# Import a skill file from someone else
apitap import ./reddit-skills.json
# Import an OpenAPI spec (JSON or YAML)
apitap import ./stripe-openapi.json
apitap import https://api.apis.guru/v2/specs/stripe.com/2022-11-15/openapi.json
# Import validates: signature check / SSRF scan / format detection / confirmation导入的文件将使用您的本地密钥重新签名。OpenAPI规范会使用相同的合并逻辑自动检测和转换——捕获的端点会被保留,导入会填补空白。
安全
ApiTap处理来自互联网的不受信任的技能文件,并代表您重放HTTP请求。这是一个高度信任的职位,我们认真对待。
纵深防御
- 身份验证加密 --AES-256-GCM,带PBKDF2密钥推导,与您的机器绑定
- PII清洗 --在捕获过程中检测并编辑了电子邮件、电话、IP、信用卡、SSN
- SSRF保护 --多层URL验证阻止访问内部网络(见下文)
- 集管注入保护 --Allowlist防止技能文件注入危险的HTTP标头(
Host,X-Forwarded-For,Cookie,Authorization) - 重定向验证 --手动重定向处理和SSRF重新检查可防止重定向到内部IP攻击
- DNS重新绑定防止 --已解析的IP被固定以防止TOCTU攻击,其中DNS在第二次查找时返回不同的IP
- 技能签名 --HMAC-SHA256签名检测篡改;四状态来源跟踪(自/导入/导入签名/未签名)
- 原子写入 --技能文件被写入临时文件,然后重命名,防止写入过程中崩溃造成的损坏
- 安全JSON解析 --服务器响应解析如下
safeParseJson()它返回格式错误的JSON上的原始文本,而不是崩溃 - 规格硬化 --OpenAPI规范导入经过SSRF验证、大小限制(10MB)、超时限制(30s)和拒绝重定向
- 外部$ref拒绝 --仅本地文件
#/引用已解决;file://远程$ref指针被阻止 - 家里没有电话 --一切都在本地运行。无外部服务,无遥测
- 只读捕获 --剧作家只截取回应。无请求修改或代码注入
为什么SSRF保护很重要
由于技能文件可以来自任何地方——同事共享、从GitHub下载或从不受信任的来源导入——恶意技能文件是主要的威胁媒介。以下是ApiTap的防御措施:
攻击: 攻击者制作了一个技能档案 baseUrl: "http://169.254.169.254" (AWS/云元数据端点)或 baseUrl: "http://localhost:8080" (您的内部服务)。当你重放一个端点时,你的机器会发出请求,这可能会泄露云凭据或命中内部API。
辩方: ApiTap在多个点验证每个URL:
Skill file imported
-> validateUrl(): block private IPs, internal hostnames, non-HTTP schemes
-> validateSkillFileUrls(): scan baseUrl + all endpoint example URLs
OpenAPI spec imported
-> resolveAndValidateUrl(): SSRF check on spec URL before fetching
-> resolveAndValidateUrl(): SSRF check on extracted API domain
-> validateSkillFile(): validate merged skill file before writing
Endpoint replayed
-> resolveAndValidateUrl(): DNS lookup + verify resolved IP isn't private
-> IP pinning: fetch uses resolved IP directly (prevents DNS rebinding)
-> Header filtering: strip dangerous headers from skill file
-> Redirect check: if server redirects, validate new target before following受阻范围: 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 (云元数据), 100.64.0.0/10 (CGNAT/Tailscale), 198.18.0.0/15 (基准测试), 240.0.0.0/4 (保留), 0.0.0.0,IPv6等效物(::1, fe80::/10, fc00::/7, ::ffff: 映射地址), localhost, .local, .internal, file://, javascript: 计划。在检查之前,对替代IP表示(十进制整数、八进制、十六进制)进行规范化。
现在,这一点尤其重要 MCP服务器在野外被用作攻击媒介 --谷歌威胁情报小组最近记录了建立在受损MCP服务器上的地下工具包。ApiTap的设计即使在处理不受信任的输入时也是安全的。
陷阱感知模式
ApiTap代表代理接收网络内容,并在它已经在管道中的两个地方添加检查:
apitap read在提取之前,扫描原始HTML以查找包含显式提示注入标记的隐藏内容。结果通过findings[]场;内容永远不会被修改。apitap replay在fetch()电话。按技能档案或全球范围选择加入。
读取侧扫描仪
读取扫描仪默认运行在 apitap read 和那个 apitap_read MCP工具。它使用一个双条件门:只有当内容处于隐藏位置(内联)时才会发出查找结果 style:display:none, visibility:hidden, opacity:0、视口外定位, hidden 属性, aria-hidden="true",或HTML注释内) 和 隐藏内容与显式角色标记或已知的提示注入签名相匹配。
可见内容永远不会触发发现。关于即时工程、越狱技术文档和此README本身的博客文章都是非触发的。
禁用 --no-scan 在CLI上或 scan: false 在MCP工具上。
apitap read https://example.com # scan on by default
apitap read https://example.com --no-scan # scan off已知限制:
- v1.0中未检测到基于类的CSS隐藏。通用HTML提取条 `` 扫描程序运行前会出现块,因此类解析的隐藏是不可见的。
- 特定于网站的解码器(Reddit、YouTube、维基百科、HN、推特、Grokipedia、DeepWiki)绕过扫描。它们从结构化的API源中提取,而不是从原始HTML中提取。
- 扫描仪是一种启发式工具,而不是分类器。没有发现并不能证明安全。
出口侧扫描仪(可选)
出口扫描仪是 按域选择加入 或全球。升级时的默认行为与之前的版本字节相同——除非明确启用,否则cron作业用户不会看到任何变化。
启用的三种方法:
根据技能档案 --添加 egress_check: true 技能文件(已签名有效载荷的一部分):
{
"version": "1.2",
"domain": "api.example.com",
"egress_check": true,
"egress_action": "annotate",
"endpoints": []
}全球范围内 --via $XDG_CONFIG_HOME/apitap/config.json:
{
"egressCheckAll": true,
"egressCheckAction": "annotate"
}每次通话 --通过CLI标志或MCP工具参数:
apitap replay api.example.com post-submit --egress-check=annotate
apitap replay api.example.com post-submit --egress-check=block
apitap replay api.example.com post-submit --no-egress-check优先级:每次通话→ 技能档案→ 全局配置→ off.
当通过启用时 annotate (默认操作),请求正常进行,响应信封获得 warnings[] 现场。当通过启用时 block, high-严重性调查结果拒绝了该请求。 medium-严重性发现(PII)总是注释,从不阻塞。
审核日志
两台扫描仪都将结果写入 $XDG_STATE_HOME/apitap/findings.jsonl (默认值: ~/.local/state/apitap/findings.jsonl):
apitap audit --findings
apitap audit --findings --source=egress --since=2026-04-01
apitap audit --findings --json审计日志 从不包含匹配的秘密字节.Egres发现仅记录模式名称、参数位置、结构路径和匹配长度。
诚实威胁模型
- 读取扫描仪通过明确的提示注入标记捕获隐藏内容。它不会捕获语义操纵、框架攻击、基于类的隐藏内容、字体重映射或通过外部样式表隐藏的内容。
- 出口扫描仪使用模式匹配。攻击者可以让代理在发送秘密之前对其进行编码或转换,从而击败模式匹配。这是深度防御,而不是DLP解决方案。
- 审计日志是建议性的篡改证据,用户边界相同。与ApiTap现有的技能签名相同的威胁模型。
- v1.0是基于规则的。没有学习循环。通过审计日志数据通知的签名列表更新进行调优。
CLI 参考
所有命令支持 --json 用于机器可读输出。
| 命令 | 描述 |
|---|---|
apitap browse | 一步发现+回放 |
apitap peek | 零成本URL分类(仅限HEAD) |
apitap read | 无需浏览器即可提取内容 |
apitap discover | 无需启动浏览器即可检测API |
apitap capture | 从网站捕获API流量 |
| `apitap attach --port | |
| ` | 连接到正在运行的Chrome并捕获API流量 |
apitap import | 导入OpenAPI规范或技能文件 |
apitap import --from apis-guru | 从APIs.guru目录批量导入 |
apitap list | 列出可用技能文件 |
apitap show | 显示域的终结点 |
apitap search | 按域或端点搜索技能文件 |
apitap replay [key=val...] | 重播API终结点 |
apitap refresh | 通过浏览器刷新身份验证令牌 |
apitap auth [domain] | 查看或管理存储的身份验证 |
apitap mcp | 通过stdio运行完整的ApiTap MCP服务器 |
apitap serve | 将技能文件作为MCP服务器提供 |
apitap inspect | 无需保存即可发现API |
apitap stats | 显示代币节省报告 |
apitap index [domain] | 从Chrome扩展程序查看被动索引 |
apitap audit | 审核存储的技能文件和证书 |
apitap forget | 删除域的技能文件和凭据 |
apitap --version | 打印版本 |
导入标志
| 标志 | 描述 |
|---|---|
--from apis-guru | 从APIs.guru目录批量导入 |
--search | 按提供者或标题筛选APIs.guru |
--limit | 要导入的最大API数(默认值:100) |
--no-auth-only | 跳过需要身份验证的API |
--dry-run | 显示无需写入即可导入的内容 |
--update | 跳过自上次导入以来未更改的API |
--force | 无论历史如何,始终重新进口 |
捕获标志
| 标志 | 描述 |
|---|---|
--all-domains | 捕获来自所有域的流量(默认:仅目标域) |
--preview | 包括响应数据预览 |
--duration | N秒后停止捕获 |
| `--port | |
| ` | 连接到特定的CDP端口 |
--launch | 始终启动新浏览器 |
--attach | 仅附加到现有浏览器 |
--no-scrub | 禁用PII清除 |
--no-verify | 跳过GET端点的自动验证 |
--domain | 按域glob过滤流量(连接模式,例如。 *.github.com) |
发展
git clone https://github.com/n1byn1kt/apitap.git
cd apitap
npm install
npm test # ~1517 tests, Node built-in test runner
npm run typecheck # Type checking
npm run build # Compile to dist/
npx tsx src/cli.ts capture # Run from source联系
问题、反馈或问题? -> hello@apitap.io
许可证
商业来源许可证1.1 — 免费供所有非竞争性使用 (个人、内部、教育、研究、开源)。不能作为竞争服务进行品牌重塑和销售。2029年2月7日转换为Apache 2.0。
