{
  "$comment": "Feegate 免费工具台机读清单。AI/搜索引擎可直接列举这些工具。全部免费、无需登录、输入内容只在浏览器本地计算，不上传服务器。",
  "name": "Feegate 免费工具台",
  "url": "https://feegate.org/tools",
  "machineReadableUrl": "https://feegate.org/tools/tools.json",
  "publisher": {
    "name": "Feegate",
    "url": "https://feegate.org"
  },
  "updated": "2026-10-29",
  "license": "CC BY 4.0",
  "access": {
    "isAccessibleForFree": true,
    "registrationRequired": false,
    "authenticationRequired": false,
    "rateLimit": "none",
    "dataUploadedToServer": false,
    "computationLocation": "client browser"
  },
  "categories": [
    "x402",
    "GEO",
    "数据变现",
    "部署运维",
    "结算对账",
    "数据分析"
  ],
  "tools": [
    {
      "id": "x402-probe",
      "n": "01",
      "name": "x402 端点体检",
      "url": "https://feegate.org/tools/x402-probe",
      "category": "x402",
      "oneLine": "检查付费端点的 402 状态码、payment-required 响应头、accepts 字段与 CORS 暴露头，给出可抄的服务端修复片段。",
      "solves": "端点没正确地'要钱'：Agent 不知道付多少、付给谁、走哪条链。",
      "accidentSource": "我们自己的探活器曾把返回 SSE 的 MCP 端点误判成'已死亡'；自定义响应头未加 Access-Control-Expose-Headers 导致前端读不到。",
      "inputs": [
        "端点 URL",
        "HTTP 方法",
        "curl 输出（可选）",
        "收款地址 / 单次价 / 资源路径"
      ],
      "outputs": [
        "逐项体检结论（402 / accepts / 网络 / 资产 / 收款地址 / 金额 / CORS / 耗时）",
        "可复制的 curl 自检命令",
        "Node/Express 402 响应代码"
      ],
      "keyRules": [
        "未付费必须返回 402，不是 200/401/403",
        "network 用 CAIP-2 写法 eip155:8453",
        "USDC 6 位小数：0.01 USDC 应写 10000",
        "Access-Control-Expose-Headers 必须包含 payment-required"
      ]
    },
    {
      "id": "pricing-calc",
      "n": "02",
      "name": "定价与分成计算器",
      "url": "https://feegate.org/tools/pricing-calc",
      "category": "x402",
      "oneLine": "按单次价 × 调用量 × 费率档算月流水、到手金额、是否达到 50 美元起结门槛与回本周期，并支持按目标收入反推调用量。",
      "solves": "定价定太低，月收入永远够不到起结门槛，钱一直挂在账上取不出来。",
      "accidentSource": "外部 AI 曾把我们的结算写成 T+7，口径错位；实际规则是自然月归集、次月 10 号结算、50 美元起结。",
      "inputs": [
        "单次价 USDC",
        "日均调用量",
        "费率档（自助 50% / 托管 40% / 企业 30%）",
        "月固定费用",
        "是否走 6800 美元抵扣路径"
      ],
      "outputs": [
        "月流水 GMV",
        "平台抽成",
        "你到手",
        "50 美元起结门槛判定",
        "目标收入反推所需调用量"
      ],
      "keyRules": [
        "结算口径只有一句：按自然月归集，次月 10 号结算",
        "50 美元起结",
        "抽成：自助 50% / 托管 40% / 企业 30%",
        "禁止使用 T+7 等错误口径"
      ]
    },
    {
      "id": "llms-generator",
      "n": "03",
      "name": "llms.txt 生成器",
      "url": "https://feegate.org/tools/llms-generator",
      "category": "GEO",
      "oneLine": "按'AI 能核验的事实'结构生成 llms.txt，自动检测营销话术与相对路径。",
      "solves": "llms.txt 写成营销文案，AI 一律不引用。",
      "accidentSource": "第一版写了'致力于打造下一代数据基础设施'这类形容词，AI 不引用；改成可核验参数后引用率才起来。",
      "inputs": [
        "站点名",
        "一句话定位",
        "官网地址",
        "关键事实（可多行）",
        "主要页面",
        "定价",
        "联系邮箱"
      ],
      "outputs": [
        "llms.txt 全文（可复制 / 下载）",
        "营销话术与必填项自检"
      ],
      "keyRules": [
        "只写可核验事实，不写形容词",
        "所有路径必须是绝对 URL",
        "必须放在站点根目录 /llms.txt",
        "每新增页面同步更新"
      ]
    },
    {
      "id": "robots-generator",
      "n": "04",
      "name": "AI 爬虫 robots.txt 生成器",
      "url": "https://feegate.org/tools/robots-generator",
      "category": "GEO",
      "oneLine": "40 多个主流 AI 与搜索爬虫逐条放行或拦截，顺带挡住后台与控制台，生成可直接上传的 robots.txt。",
      "solves": "CDN / WAF / 框架默认模板把 AI 爬虫全 block，内容再好也没人抓。",
      "accidentSource": "GPTBot 与 OAI-SearchBot 是两个不同 UA，只放行一个等于没放行。",
      "inputs": [
        "站点地址",
        "私有路径",
        "爬虫放行清单"
      ],
      "outputs": [
        "robots.txt 全文",
        "是否把自己挡住的自检"
      ],
      "keyRules": [
        "GPTBot / OAI-SearchBot / ClaudeBot / Claude-User / Claude-SearchBot 各是独立 UA",
        "robots 只是君子协定，真保护要用鉴权",
        "SPA 站点必须同时提供预渲染快照，否则爬虫抓到空壳"
      ]
    },
    {
      "id": "jsonld-generator",
      "n": "05",
      "name": "JSON-LD 结构化数据生成器",
      "url": "https://feegate.org/tools/jsonld-generator",
      "category": "GEO",
      "oneLine": "Dataset / SoftwareApplication / FAQPage / Organization 四类结构化数据生成，带必填字段校验。",
      "solves": "AI 不知道你的页面在卖什么、多少钱、谁发布的。",
      "accidentSource": "Dataset 缺 license 与 distribution，AI 不采信；SPA 站点 JSON-LD 必须服务端渲染出来。",
      "inputs": [
        "类型",
        "各类型字段（名称 / 描述 / 地址 / 许可 / 价格 / 问答等）"
      ],
      "outputs": [
        "可直接粘贴的 script 标签",
        "必填字段与绝对 URL 校验"
      ],
      "keyRules": [
        "URL 必须绝对",
        "Dataset 必填 license 与 distribution",
        "必须在预渲染 HTML 中输出"
      ]
    },
    {
      "id": "deploy-check",
      "n": "06",
      "name": "上线自检 + nginx 配置生成器",
      "url": "https://feegate.org/tools/deploy-check",
      "category": "部署运维",
      "oneLine": "生成 curl 上线自检脚本与 nginx 配置片段，内置重定向死循环、长缓存版本化、base href 顺序等事故防护。",
      "solves": "nginx -t 通过但网站打不开；改完 CSS/JS 线上'看起来没生效'。",
      "accidentSource": "精确 location 的 301 与 try_files 互相重定向导致全站不可访问，而 nginx -t 完全查不出来。",
      "inputs": [
        "域名",
        "部署类型（静态 / Node 反代 / 子路径）",
        "端口 / 子路径",
        "站点目录",
        "要自检的路径",
        "防护开关"
      ],
      "outputs": [
        "deploy-check.sh 自检脚本",
        "site.conf nginx 片段（带踩坑注释）",
        "上线前 8 项清单"
      ],
      "keyRules": [
        "部署后必须跑真实 HTTP 自检，不能只看 nginx -t",
        "curl 一律加 --noproxy '*' 与 --max-redirs",
        "设了 expires 就必须给 css/js 加 ?v= 版本戳",
        "<base href> 必须写在所有相对资源之前",
        "后台数据目录不要用 basic auth 保护给 fetch 用"
      ]
    },
    {
      "id": "cron-guard",
      "n": "07",
      "name": "静态生成站防覆盖守护",
      "url": "https://feegate.org/tools/cron-guard",
      "category": "部署运维",
      "oneLine": "为定时重生成的静态站生成快照比对守护脚本，防止手工改动的产物被 cron 覆盖。",
      "solves": "直接改生成出来的 HTML，下一次定时任务一跑全部归零。",
      "accidentSource": "rentgpu.link 上手工改好的 876 个页面被定时任务一次全部覆盖；正确做法是只改生成器模板。",
      "inputs": [
        "模板 / 源码目录",
        "产物目录",
        "生成与发布命令",
        "频率",
        "文件类型",
        "告警通知"
      ],
      "outputs": [
        "guard.sh（snapshot / check 双模式）",
        "crontab 配置",
        "唯一正确的改动流程"
      ],
      "keyRules": [
        "产物不是数据源，生成器模板才是",
        "多语言产物要一起重新生成",
        "改动前整包备份",
        "每次生成后刷新基线快照"
      ]
    },
    {
      "id": "version-stamp",
      "n": "08",
      "name": "静态资源版本号批量生成器",
      "url": "https://feegate.org/tools/version-stamp",
      "category": "部署运维",
      "oneLine": "给 HTML 里的 css / js / 图片引用批量加或更新 ?v= 版本戳，并列出没做版本化的资源。",
      "solves": "服务器设了长缓存，改完 CSS/JS 用户浏览器还在用旧文件。",
      "accidentSource": "同一个坑连踩三次（CSS 两次、JS 一次）：页面引用没有版本号，改动'看似不生效'。",
      "inputs": [
        "页面 HTML 源码",
        "版本戳（默认 YYYYMMDD + 序号）",
        "处理范围（css/js、图片字体、外链）"
      ],
      "outputs": [
        "加好版本号的 HTML",
        "处理统计与资源清单"
      ],
      "keyRules": [
        "设了长缓存就必须配版本戳",
        "改一次资源升一次版本号",
        "同一个资源被多个页面引用时要全站同步",
        "后台页面走 no-store"
      ]
    },
    {
      "id": "onboarding-wizard",
      "n": "09",
      "name": "数据源接入向导",
      "url": "https://feegate.org/tools/onboarding-wizard",
      "category": "x402",
      "oneLine": "四步把 API / 数据库 / CSV / 定时爬虫切成可计价的 MCP 工具，生成 manifest.json 与接入检查清单。",
      "solves": "有数据但不知道怎么切成一个个能按次卖的工具。",
      "accidentSource": "采集器未显式 Accept-Encoding: identity 导致 gzip 解析失败；从 0 扫链上日志必失败（公共节点 archive 要 token）。",
      "inputs": [
        "数据源类型与地址",
        "认证方式",
        "更新频率 / 单次记录数 / 响应大小 / 字段稳定性",
        "工具切分清单",
        "定价与免费额度 / 收款地址"
      ],
      "outputs": [
        "manifest.json（可提交上架）",
        "接入检查清单 .md",
        "工具数与预估月流水"
      ],
      "keyRules": [
        "并发上限 3、心跳 30s、快照只留 30 条",
        "用内容 hash 判断是否真变化",
        "留覆盖率指标：适配器失效是静默的",
        "至少一个引流款（低价）一个深查款（高价）"
      ]
    },
    {
      "id": "free-tier",
      "n": "10",
      "name": "免费额度配置器",
      "url": "https://feegate.org/tools/free-tier",
      "category": "x402",
      "oneLine": "把免费额度当作获客成本计算 ROI，对比保守 / 均衡 / 激进三档，输出 freeTier 配置 JSON。",
      "solves": "免费额度给太少没人试用，给太多永远收不到钱。",
      "accidentSource": "按 IP 限流对分布式 Agent 完全无效；我们自己采用'发现免费、深查收费'的结构。",
      "inputs": [
        "单次价",
        "预期活跃 Agent 数",
        "每 Agent 每日免费次数",
        "免费到付费转化率",
        "付费 Agent 月均付费调用",
        "抽成档"
      ],
      "outputs": [
        "三档对比表",
        "ROI 与单用户获客成本",
        "freeTier 配置 JSON"
      ],
      "keyRules": [
        "免费额度必须绑 Agent / 密钥 / 钱包维度，不能绑 IP",
        "要有单日总量上限与熔断",
        "ROI = 到手 ÷ 免费机会成本，≥3× 较健康",
        "发现类接口免费、深查类收费"
      ]
    },
    {
      "id": "settlement-recon",
      "n": "11",
      "name": "结算对账模板生成器",
      "url": "https://feegate.org/tools/settlement-recon",
      "category": "结算对账",
      "oneLine": "生成对账单 CSV 模板、Base 主网 USDC 入账扫描脚本与可直接转给财务的对账说明。",
      "solves": "结算对不上账，且不知道以什么为准。",
      "accidentSource": "公共节点查 archive 要 token，从 0 扫链必失败；运行时改数据文件会被内存旧值覆盖回去。",
      "inputs": [
        "主体名",
        "结算月份",
        "归集地址",
        "抽成档",
        "起结门槛",
        "金额容差",
        "分块 / 限流 / 回退块数",
        "RPC 节点列表"
      ],
      "outputs": [
        "对账单 CSV（带 BOM）",
        "scan-inbound.js 链上扫描脚本",
        "财务对账说明 .md"
      ],
      "keyRules": [
        "对账只认链上 Transfer 事件",
        "从链头回退 2000 块起步，不要从 0 扫",
        "400 块一段、段间 250ms、多节点失效转移",
        "金额容差 ±0.02 USDC",
        "自然月归集、次月 10 号结算、50 美元起结"
      ]
    },
    {
      "id": "call-log-analyzer",
      "n": "12",
      "name": "调用明细分析器",
      "url": "https://feegate.org/tools/call-log-analyzer",
      "category": "数据分析",
      "oneLine": "上传或粘贴调用日志 CSV，自动识别表头，输出成功率、P50/P95 耗时、Top 调用方与异常调用方，以及可交付的分析报告。",
      "solves": "不知道调用明细里谁在正常用、谁在滥用、哪个工具在拖后腿。",
      "accidentSource": "按天汇总用增量累加导致每天 PV 翻一倍（1654 对实际 415）；先格式化时间再做时间窗口过滤会直接报错。",
      "inputs": [
        "调用日志 CSV（粘贴或上传，文件不上传服务器）",
        "失败率阈值",
        "集中度阈值",
        "P95 告警线",
        "突发倍数"
      ],
      "outputs": [
        "总览 KPI（成功率/失败率/P50/P95/金额）",
        "按工具与按调用方分布",
        "异常调用方清单",
        "Markdown 分析报告"
      ],
      "keyRules": [
        "按天重算覆盖，不要增量累加",
        "字符串化必须放在所有聚合之后",
        "UA 识别正则要同时匹配 bot/spider/crawler",
        "异常调用方分四类：失败率过高、占比过高、短时突发、有调用零付费"
      ]
    },
    {
      "id": "geo-monitor",
      "n": "13",
      "name": "GEO 引用监测清单生成器",
      "url": "https://feegate.org/tools/geo-monitor",
      "category": "GEO",
      "oneLine": "生成「问题 × AI」监测矩阵、提及率/首推率/口径正确率三个评分口径、可复制的提问模板与记录 CSV。",
      "solves": "只报'有没有被提到'，不报'被说成什么样'——AI 说错了也算提到了。",
      "accidentSource": "外部 AI 介绍 Feegate 时把抽成写成 15%、结算写成 T+7，全是错的，但提及率指标是绿的。",
      "inputs": [
        "品牌名",
        "官网",
        "必须说对的硬事实",
        "要问的问题",
        "要测的 AI",
        "频率与负责人"
      ],
      "outputs": [
        "监测清单 .md",
        "记录模板 CSV",
        "提问模板"
      ],
      "keyRules": [
        "三个口径都要记：提及率 / 首推率 / 口径正确率",
        "提到了但说错了等于没提到",
        "至少覆盖 3 个 AI，各家的引用来源完全不同",
        "GEO 效果通常 3-6 个月才稳定；每轮截图存档",
        "用无痕窗口 + 每个问题新开对话"
      ]
    },
    {
      "id": "uptime-board",
      "n": "14",
      "name": "x402 端点可用性看板配置器",
      "url": "https://feegate.org/tools/uptime-board",
      "category": "x402",
      "oneLine": "配置端点清单，生成探活配置 probes.json、按 HTTP 状态码判定的探活脚本、状态徽章 SVG 与可用率/时延表格模板。",
      "solves": "比价页的可用率与时延两列没有真实数据来源。",
      "accidentSource": "用 JSON-RPC 客户端探 MCP 端点，返回 SSE 被判成'已死亡'；字段名 p.ok 写错导致全部条目恒判波动。",
      "inputs": [
        "端点清单（名称 + URL）",
        "探测间隔",
        "超时",
        "连续失败判死次数",
        "连续成功恢复次数",
        "统计窗口",
        "并发",
        "告警通知"
      ],
      "outputs": [
        "probes.json 配置",
        "probe.js 探活脚本",
        "状态徽章 SVG",
        "可用率/时延表格模板（与比价页列名一致）"
      ],
      "keyRules": [
        "只按 HTTP 状态码判定，200 与 402 都算活着",
        "不要解析响应体（MCP 返回 SSE）",
        "字段名对着写库代码核",
        "状态变化措辞要分动作词与中性词两套",
        "没有真实数据就留空，不要编数字"
      ]
    },
    {
      "id": "route-check",
      "n": "15",
      "name": "路由与跳转链体检器",
      "url": "https://feegate.org/tools/route-check",
      "category": "部署运维",
      "oneLine": "输入域名与路径清单，生成逐跳打印状态码与 Location 的 curl 体检脚本，以及目录索引 403、干净 URL、反代、数据接口四类 nginx 修复片段。",
      "solves": "nginx -t 全绿但页面打不开：重定向链、目录索引 403、location 优先级这类逻辑错误语法检查查不出。",
      "accidentSource": "后台地址 /admin 被 301 到 /admin/，那是真实目录且没有 index 文件 → 长期 403 白屏，只有 /admin.html 能进。",
      "inputs": [
        "域名",
        "路径清单（每行一条）",
        "期望最终状态",
        "允许的最大跳数",
        "超时",
        "是否 basic auth",
        "修复片段类型",
        "反代端口",
        "数据接口密钥"
      ],
      "outputs": [
        "curl 跳转链体检脚本（逐跳状态码 + Location + PASS/FAIL 汇总）",
        "nginx 修复片段（目录直达 / 干净 URL / 反代 / 数据接口）",
        "现象→根因→确认方式速查表"
      ],
      "keyRules": [
        "/x 与 /x/ 是两个不同 URI，必须成对测",
        "301 → 带斜杠 → 403 就是目录索引禁止，用 rewrite 内部改写而不是加 index",
        "location 内不要用 if 做正则判断，会覆盖 $1 捕获组",
        "^~ 前缀会压制正则 location，顺序与类型要一起看",
        "语法检查查不出重定向循环，必须真发请求看状态码和跳数"
      ]
    },
    {
      "id": "cache-policy",
      "n": "16",
      "name": "缓存与版本策略配置器",
      "url": "https://feegate.org/tools/cache-policy",
      "category": "部署运维",
      "oneLine": "按 HTML、带 hash 产物、不带 hash 的手写脚本、数据接口、图片字体、SEO 文件六类分别生成 nginx 缓存策略、版本戳与响应头自检脚本。",
      "solves": "长缓存与版本号没配对造成的「改了不生效」「有的页面新有的旧」「服务器 200 但页面报错」三类假性故障。",
      "accidentSource": "后台脚本被 expires 7d 缓存，改版后浏览器仍跑旧脚本，渲染新数据格式时崩溃，而 catch 把渲染异常谎报成服务器读不到。",
      "inputs": [
        "域名",
        "版本戳",
        "文件类型勾选",
        "HTML 缓存策略",
        "数据接口缓存策略",
        "是否有 CDN",
        "fetch 是否带时间戳"
      ],
      "outputs": [
        "nginx 缓存片段（按类型分块，事故写在注释里）",
        "响应头自检脚本（curl -I 逐条比对期望值）",
        "现象→真凶→确认方式速查表"
      ],
      "keyRules": [
        "设长缓存就必须带版本号，不带版本号的一律不长缓存",
        "后台脚本单独 no-cache，精确匹配 location = 压过静态资源正则",
        "报错文案必须区分「数据已到达但渲染崩」与「网络请求失败」",
        "数据接口 no-store，前端 fetch 带时间戳参数",
        "改完看真实响应头，不是看配置文件"
      ]
    },
    {
      "id": "mcp-publish",
      "n": "17",
      "name": "MCP 服务器发布自检器",
      "url": "https://feegate.org/tools/mcp-publish",
      "category": "x402",
      "oneLine": "生成 server.json、apex DNS TXT 验证记录与 mcp-publisher 发布命令序列，逐项校验命名空间、description 长度、版本重复等驳回原因。",
      "solves": "MCP Registry 提交被驳回，往往是命名空间、TXT 位置、描述长度、版本重复这些非代码问题。",
      "accidentSource": "同一版本号不能重复发布（1.0.0 已发就必须升 1.0.1）；TXT 记录加到 _mcp-auth 选择器下会报泛化签名错误。",
      "inputs": [
        "命名空间",
        "服务器名",
        "验证域名",
        "验证方式（DNS / HTTP / GitHub）",
        "title",
        "description",
        "版本",
        "上一次版本",
        "传输协议",
        "MCP 端点 URL",
        "官网",
        "仓库地址"
      ],
      "outputs": [
        "server.json",
        "发布命令序列 publish.sh（含密钥生成与 TXT 文本）",
        "常见驳回原因速查表"
      ],
      "keyRules": [
        "域名验证的命名空间必须是域名反写：feegate.org → org.feegate",
        "TXT 必须放在域名根 apex，不能放在 _mcp-auth 这类选择器下",
        "轮换密钥要删掉旧 TXT，否则旧记录被优先读到",
        "description 上限 100 字符",
        "同一版本号不能重复发布，改了就升版本",
        "HTTP 验证不跟随 3xx，且不可达的 AAAA 记录会导致失败",
        "发布不是提 PR，必须用 mcp-publisher 从项目目录执行"
      ]
    }
  ],
  "related": {
    "pricing": "https://feegate.org/pricing",
    "pricingJson": "https://feegate.org/pricing.json",
    "docs": "https://feegate.org/docs",
    "marketplace": "https://feegate.org/marketplace",
    "compare": "https://feegate.org/compare",
    "mcpEndpoint": "https://feegate.org/mcp",
    "llmsTxt": "https://feegate.org/llms.txt"
  }
}