<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>云梯建站笔记</title><description>防坑·实操·省钱</description><link>https://www.yuntier.com/</link><templateTheme>Firefly</templateTheme><templateThemeVersion>6.8.1</templateThemeVersion><templateThemeUrl>https://github.com/CuteLeaf/Firefly</templateThemeUrl><lastBuildDate>2026年4月10日 17:48:15</lastBuildDate><item><title>2026最新：Antigravity 登录失败怎么办？从 Account not eligible 到浏览器授权不回跳的完整排查指南</title><link>https://www.yuntier.com/posts/ai-login-fixes/antigravity-login-fixes/</link><guid isPermaLink="true">https://www.yuntier.com/posts/ai-login-fixes/antigravity-login-fixes/</guid><description>这篇指南专门解决 Antigravity 登录失败、无法登录、Account not eligible、浏览器授权成功但 IDE 仍停在登录页等问题，按资格、年龄验证、地区、计划识别和回调失败逐项排查。</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;欢迎来到云梯建站笔记，我是瓦叔。&lt;/p&gt;
&lt;p&gt;废话少说，本篇文章专注解决Antigravity登录问题。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;一、 核心报错分类与根本原因追踪&lt;a href=&quot;#一-核心报错分类与根本原因追踪&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在动手修复之前，我们需要先对症下药。目前 Antigravity 的登录失败主要集中在以下四种情况，点击问题跳转解决方案：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#%E8%A7%A3%E5%86%B3-account-not-eligible-%E8%B4%A6%E5%8F%B7%E4%B8%8D%E7%AC%A6%E5%90%88%E8%A6%81%E6%B1%82-%E9%94%99%E8%AF%AF&quot;&gt;&lt;strong&gt;“Your current account is not eligible for Antigravity” (当前账号不符合要求)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E4%BF%AE%E5%A4%8Dunexpected-issue-%E8%AE%BE%E7%BD%AE%E8%B4%A6%E6%88%B7%E6%97%B6%E5%8F%91%E7%94%9F%E6%84%8F%E5%A4%96%E9%97%AE%E9%A2%98%E9%94%99%E8%AF%AF&quot;&gt;&lt;strong&gt;“There was an unexpected issue setting up your account” (浏览器提示认证成功，但 IDE 报错)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E8%A7%A3%E5%86%B3%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%90%E7%A4%BA%E7%99%BB%E5%BD%95%E6%88%90%E5%8A%9F%E4%BD%86antigravity%E6%B2%A1%E5%8F%8D%E5%BA%94&quot;&gt;&lt;strong&gt;“浏览器提示登录成功，但 IDE 没反应”&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#%E6%9C%80%E7%BB%88%E5%B0%9D%E8%AF%95&quot;&gt;&lt;strong&gt;无限 Loading 或点击 Sign in 毫无反应&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;二、 解决方案&lt;a href=&quot;#二-解决方案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;在解决问题前，先确认你的网络环境是否稳定、干净、安全，根据瓦叔经验，要求如下：&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;你的IP不能出现频繁切换的情况，尤其是登录过程中，频繁切换IP会被谷歌风控系统标记为异常行为；&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;你的IP地址没有被谷歌服务商标记为异常或黑名单，常见情况包括，IP被许多人同时使用，或者IP由于之前某个用户的恶劣行为已经被谷歌拉黑，你继续用这个IP，必然会被牵连，这种情况一般出现在使用公共VPN或劣质代理时；&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;你的IP地址所在国家，谷歌不提供Antigravity服务；&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;你的IP已经被谷歌服务标记为代理IP或者机房IP，这些IP在谷歌看来可信度比较低，通常会被标记为异常，导致登录失败；&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;要解决这个问题，瓦叔推荐自己正在使用的解决方案，也就是&lt;strong&gt;住宅IP+自建VPN&lt;/strong&gt;，具体配置可以参考&lt;a href=&quot;/olink/lisahost-docs/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;这篇文章&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;这个方案的好处是，既能保证IP的稳定性和干净程度（在谷歌看来，你的IP是正常的家庭IP），又能提供足够的速度和安全性，适合长期使用。瓦叔用Claude、Codex、Copilot、Antigravity等工具都没有遇到过登录问题。&lt;/p&gt;&lt;/blockquote&gt;&lt;section&gt;&lt;h3&gt;解决 “account not eligible” “账号不符合要求” 错误&lt;a href=&quot;#解决-account-not-eligible-账号不符合要求-错误&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;section&gt;&lt;h4&gt;&lt;strong&gt;先确认你的Google账号“有资格”&lt;/strong&gt;&lt;a href=&quot;#先确认你的google账号有资格&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;你登录的是个人 Google 账号，而不是 Workspace / 学校 / 公司托管账号；&lt;/li&gt;
&lt;li&gt;你是否真的拥有 Google AI Pro 或 Google AI Ultra会员；&lt;/li&gt;
&lt;li&gt;你的 Google 账号年龄状态是否已经满足 18+；&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;这三条是 Google 账号资格的基本门槛，任何一条不满足都会被直接拒绝登录。&lt;/p&gt;&lt;p&gt;最简单的验证方法是，先用同一账号登录 &lt;code&gt;https://gemini.google.com/&lt;/code&gt; ，看看能不能正常使用：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;如果Gemini功能异常，那就说明问题很可能在账号资格上&lt;/li&gt;
&lt;li&gt;如果Gemini页面加载异常，比如永远只能加载Gemini官网页面，无法进入到聊天页面，那么问题很可能在网络环境上，可以看&lt;a href=&quot;/olink/lisahost-docs/&quot; target=&quot;_blank&quot;&gt;这篇文章&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;同时右上角头像有&lt;strong&gt;高贵的彩色光圈&lt;/strong&gt;，这表明账号是 Google AI Pro 或 Google AI Ultra 会员，Antigravity目前仅向这两种会员开放。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Gemini 高贵的彩色光圈&quot; loading=&quot;lazy&quot; width=&quot;2546&quot; height=&quot;517&quot; src=&quot;/_astro/gemini-avatar.YyywIjEM_Z1zgnoG.webp&quot; srcset=&quot;/_astro/gemini-avatar.YyywIjEM_Z17OD2w.webp 640w, /_astro/gemini-avatar.YyywIjEM_ZlG8X9.webp 750w, /_astro/gemini-avatar.YyywIjEM_Z10uNYu.webp 828w, /_astro/gemini-avatar.YyywIjEM_16AINO.webp 1080w, /_astro/gemini-avatar.YyywIjEM_wPbnB.webp 1280w, /_astro/gemini-avatar.YyywIjEM_20BDO7.webp 1668w, /_astro/gemini-avatar.YyywIjEM_ZmKsQC.webp 2048w, /_astro/gemini-avatar.YyywIjEM_Z1zgnoG.webp 2546w&quot; /&gt;&lt;figcaption&gt;Gemini 高贵的彩色光圈&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;&lt;strong&gt;再确认你的账号归属国家/地区是否在支持范围内&lt;/strong&gt;&lt;a href=&quot;#再确认你的账号归属国家地区是否在支持范围内&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;建议google账号归属国家迁移到美国，我们一般需要使用 VPN 才能访问相关服务。如果你的VPN不稳定或者被服务商标记拉黑了，可能会导致归属地迁移失败。要解决该问题，可以看&lt;a href=&quot;/olink/lisahost-docs/&quot; target=&quot;_blank&quot;&gt;这篇文章&lt;/a&gt;。&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;如何确认账号归属国家&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;任意谷歌页面，右上角点击头像，在弹出页面中点击“服务条款”。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;如何查看账号归属国家-入口位置&quot; loading=&quot;lazy&quot; width=&quot;1191&quot; height=&quot;960&quot; src=&quot;/_astro/google-privacy-entrance.Bm_zmIYA_zQSWX.webp&quot; srcset=&quot;/_astro/google-privacy-entrance.Bm_zmIYA_2q0Euz.webp 640w, /_astro/google-privacy-entrance.Bm_zmIYA_1vTqE5.webp 750w, /_astro/google-privacy-entrance.Bm_zmIYA_Zw8F2v.webp 828w, /_astro/google-privacy-entrance.Bm_zmIYA_6z5zN.webp 1080w, /_astro/google-privacy-entrance.Bm_zmIYA_zQSWX.webp 1191w&quot; /&gt;&lt;figcaption&gt;如何查看账号归属国家-入口位置&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;在服务条款页面的上部，可以看到账号归属国家/地区。如果这里不是美国，建议迁移到美国以获得更好的服务兼容性和更快的访问速度。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;如何查看账号归属国家-归属国家&quot; loading=&quot;lazy&quot; width=&quot;2786&quot; height=&quot;1423&quot; src=&quot;/_astro/google-privacy-country.D5lE98Vt_1N0bjv.webp&quot; srcset=&quot;/_astro/google-privacy-country.D5lE98Vt_ZeVPQC.webp 640w, /_astro/google-privacy-country.D5lE98Vt_1HAapH.webp 750w, /_astro/google-privacy-country.D5lE98Vt_kryCe.webp 828w, /_astro/google-privacy-country.D5lE98Vt_LpzTr.webp 1080w, /_astro/google-privacy-country.D5lE98Vt_Z5zQSu.webp 1280w, /_astro/google-privacy-country.D5lE98Vt_1vI8Iu.webp 1668w, /_astro/google-privacy-country.D5lE98Vt_20Yw8H.webp 2048w, /_astro/google-privacy-country.D5lE98Vt_1CSlkF.webp 2560w, /_astro/google-privacy-country.D5lE98Vt_1N0bjv.webp 2786w&quot; /&gt;&lt;figcaption&gt;如何查看账号归属国家-归属国家&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;如果要修改归属国家，点击&lt;a href=&quot;https://policies.google.com/country-association-form&quot; target=&quot;_blank&quot;&gt;谷歌官方链接&lt;/a&gt;提交申请。瓦叔唯一一次申请，是按照这个选项进行的，你可以尝试一下。再次强调，进行切换前，先保证你的IP地址已经切换到美国，否则大概率会被拒绝。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;申请切换归属国家&quot; loading=&quot;lazy&quot; width=&quot;2267&quot; height=&quot;1641&quot; src=&quot;/_astro/google-privacy-change-country.C22Gw6Wn_ZxIgrb.webp&quot; srcset=&quot;/_astro/google-privacy-change-country.C22Gw6Wn_1vna7l.webp 640w, /_astro/google-privacy-change-country.C22Gw6Wn_Z1HIQNR.webp 750w, /_astro/google-privacy-change-country.C22Gw6Wn_Z1fcrX5.webp 828w, /_astro/google-privacy-change-country.C22Gw6Wn_Z2u2eG0.webp 1080w, /_astro/google-privacy-change-country.C22Gw6Wn_2i4oRk.webp 1280w, /_astro/google-privacy-change-country.C22Gw6Wn_Z28oB9v.webp 1668w, /_astro/google-privacy-change-country.C22Gw6Wn_Z2knVNI.webp 2048w, /_astro/google-privacy-change-country.C22Gw6Wn_ZxIgrb.webp 2267w&quot; /&gt;&lt;figcaption&gt;申请切换归属国家&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;修改归属地后，会有人工审核，一般要等待至少 24 小时，审核结果可以在谷歌邮箱中查看。&lt;/p&gt;&lt;p&gt;瓦叔最近刚申请过一次，修改成功的邮件是这样的：
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;修改成功的邮件通知&quot; loading=&quot;lazy&quot; width=&quot;2266&quot; height=&quot;1563&quot; src=&quot;/_astro/google-privacy-change-country-success.CJyTJiUh_Zc7Wrj.webp&quot; srcset=&quot;/_astro/google-privacy-change-country-success.CJyTJiUh_1B2iEl.webp 640w, /_astro/google-privacy-change-country-success.CJyTJiUh_1vX3G1.webp 750w, /_astro/google-privacy-change-country-success.CJyTJiUh_ZUliOW.webp 828w, /_astro/google-privacy-change-country-success.CJyTJiUh_Z1RN5xI.webp 1080w, /_astro/google-privacy-change-country-success.CJyTJiUh_20ICOG.webp 1280w, /_astro/google-privacy-change-country-success.CJyTJiUh_ZjGbBg.webp 1668w, /_astro/google-privacy-change-country-success.CJyTJiUh_h6CQi.webp 2048w, /_astro/google-privacy-change-country-success.CJyTJiUh_Zc7Wrj.webp 2266w&quot; /&gt;&lt;figcaption&gt;修改成功的邮件通知&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;修复“Unexpected issue” “设置账户时发生意外问题”错误&lt;a href=&quot;#修复unexpected-issue-设置账户时发生意外问题错误&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果你在浏览器里看到了“You have successfully authenticated”，但回到 Antigravity 却依然弹红叉报错，大概率是 CDP 协议缺失。&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;无论你平时用什么浏览器，&lt;strong&gt;请去下载并安装官方原版的 Google Chrome&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;将 Chrome 设置为系统默认浏览器。&lt;/li&gt;
&lt;li&gt;关闭并重新打开 Antigravity，重新走一遍 Sign in 流程。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;瓦叔提示：&lt;/strong&gt; 认证成功获取到本地 Token 后，如果你实在讨厌 Chrome，完全可以将其卸载，后续 Antigravity 的日常使用不再依赖它。&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;解决浏览器提示登录成功，但Antigravity没反应&lt;a href=&quot;#解决浏览器提示登录成功但antigravity没反应&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果浏览器登录谷歌账号的流程走完了，提示认证成功了，但 Antigravity 仍然停在登录页，没有自动切换到Antigravity，手动切换回Antrigravity页面时，仍停留在登录页面。如果你是个程序员，点击F12还会看到&lt;code&gt;oauth-success&lt;/code&gt;的错误日志，这时候你就会觉得很迷惑了，明明认证成功了，为什么Antigravity还停在登录页呢？&lt;/p&gt;&lt;p&gt;解决方案也简单，你的代理客户端开启TUN模式即可。如果不知道怎么弄，可以跟着这篇&lt;a href=&quot;/olink/lisahost-docs/&quot; target=&quot;_blank&quot;&gt;文档&lt;/a&gt;一步步执行。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;浏览器登录谷歌成功&quot; loading=&quot;lazy&quot; width=&quot;2130&quot; height=&quot;1730&quot; src=&quot;/_astro/antigravity-login-success.4dRkwN1v_2sisPT.webp&quot; srcset=&quot;/_astro/antigravity-login-success.4dRkwN1v_ZV57z6.webp 640w, /_astro/antigravity-login-success.4dRkwN1v_NwbDD.webp 750w, /_astro/antigravity-login-success.4dRkwN1v_Z2bJelY.webp 828w, /_astro/antigravity-login-success.4dRkwN1v_l5qoa.webp 1080w, /_astro/antigravity-login-success.4dRkwN1v_Z1sUNsr.webp 1280w, /_astro/antigravity-login-success.4dRkwN1v_pisSn.webp 1668w, /_astro/antigravity-login-success.4dRkwN1v_Z1lqGBi.webp 2048w, /_astro/antigravity-login-success.4dRkwN1v_2sisPT.webp 2130w&quot; /&gt;&lt;figcaption&gt;浏览器登录谷歌成功&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img alt=&quot;antigravity卡在登录页面&quot; loading=&quot;lazy&quot; width=&quot;2396&quot; height=&quot;1596&quot; src=&quot;/_astro/antigravity-login.tzxAKZla_Z1hWXr8.webp&quot; srcset=&quot;/_astro/antigravity-login.tzxAKZla_11n9Qr.webp 640w, /_astro/antigravity-login.tzxAKZla_Z1bqIgm.webp 750w, /_astro/antigravity-login.tzxAKZla_HJKQl.webp 828w, /_astro/antigravity-login.tzxAKZla_ZU1ze5.webp 1080w, /_astro/antigravity-login.tzxAKZla_23TmSy.webp 1280w, /_astro/antigravity-login.tzxAKZla_2e8gVp.webp 1668w, /_astro/antigravity-login.tzxAKZla_Z1lUN4w.webp 2048w, /_astro/antigravity-login.tzxAKZla_Z1hWXr8.webp 2396w&quot; /&gt;&lt;figcaption&gt;antigravity卡在登录页面&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img alt=&quot;oauth-success报错&quot; loading=&quot;lazy&quot; width=&quot;3172&quot; height=&quot;1666&quot; src=&quot;/_astro/oauth-success.BrRUOID-_1EupNf.webp&quot; srcset=&quot;/_astro/oauth-success.BrRUOID-_jdoQw.webp 640w, /_astro/oauth-success.BrRUOID-_Z2eY9In.webp 750w, /_astro/oauth-success.BrRUOID-_ZilN9r.webp 828w, /_astro/oauth-success.BrRUOID-_1rzirL.webp 1080w, /_astro/oauth-success.BrRUOID-_ZtvGqE.webp 1280w, /_astro/oauth-success.BrRUOID-_ZMX7Rh.webp 1668w, /_astro/oauth-success.BrRUOID-_Z2vuxMu.webp 2048w, /_astro/oauth-success.BrRUOID-_2lJ9qD.webp 2560w, /_astro/oauth-success.BrRUOID-_1EupNf.webp 3172w&quot; /&gt;&lt;figcaption&gt;oauth-success报错&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;最终尝试&lt;a href=&quot;#最终尝试&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果以上方法都无法解决问题，可以参考&lt;a href=&quot;https://www.reddit.com/r/google_antigravity/comments/1rvddee/fix_antigravity_hangingstuck_on_sign_in_with/&quot; target=&quot;_blank&quot;&gt;reddit&lt;/a&gt;上的这篇文章，尝试以下步骤：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先用浏览器登录目标 Google 账号&lt;/li&gt;
&lt;li&gt;打开 &lt;code&gt;aistudio.google.com&lt;/code&gt; 和 &lt;code&gt;console.cloud.google.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;接受两个站点的条款弹窗&lt;/li&gt;
&lt;li&gt;重新打开 Antigravity 测试登录&lt;/li&gt;
&lt;li&gt;如果还是卡住，继续如下尝试&lt;/li&gt;
&lt;li&gt;备份并修改 &lt;code&gt;main.js&lt;/code&gt;：&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;windows11在powershell中执行：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;copy &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:localappdata&lt;/span&gt;&lt;span&gt;\Programs\Antigravity\resources\app\out\main.js&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:localappdata&lt;/span&gt;&lt;span&gt;\Programs\Antigravity\resources\app\out\main.js.bak&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;notepad &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:localappdata&lt;/span&gt;&lt;span&gt;\Programs\Antigravity\resources\app\out\main.js&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Mac 在终端执行：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/Applications/Antigravity.app/Contents/Resources/app/out/main.js&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/Applications/Antigravity.app/Contents/Resources/app/out/main.js.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/Applications/Antigravity.app/Contents/Resources/app/out/main.js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Linux 在终端执行：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/share/antigravity/resources/app/out/main.js&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/share/antigravity/resources/app/out/main.js.bak&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/usr/share/antigravity/resources/app/out/main.js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;在文件最开头加入：&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;BigInt&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;prototype&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;toJSON&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;function&lt;/span&gt;&lt;span&gt;() { &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;this&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;toString&lt;/span&gt;&lt;span&gt;(); };&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;保存，重启 Antigravity，再次登录&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;总结&lt;a href=&quot;#总结&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Google Antigravity 作为一款前沿工具，目前在鉴权机制和底层逻辑上确实还存在一些粗糙的地方。遇到问题不要慌，按照 &lt;strong&gt;网络风控 -&amp;gt; 浏览器协议 -&amp;gt; 底层代码 Bug&lt;/strong&gt; 的排查链路，总能找到突破口。&lt;/p&gt;&lt;p&gt;你在安装和配置中还遇到了什么奇葩报错？欢迎在评论区留言交流，我们一起把开发环境调教到最佳状态。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;如果这篇内容对你的技术栈搭建有帮助，想了解更多关于网站部署、架构优化或者 AI 开发流整合的实战经验，请关注&lt;strong&gt;云梯建站笔记&lt;/strong&gt;。有什么特定的开发环境问题需要探讨吗？可以随时告诉我，我来帮你拆解！&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Code 使用指南：安装、CLAUDE.md 配置与 Skills 实战</title><link>https://www.yuntier.com/posts/claude-guide/claude-code/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/claude-code/</guid><description>Claude Code 是运行在终端里的 AI 编程助手，能直接读写文件、执行命令、操作 git。本文覆盖安装、CLAUDE.md 配置、常用工作流、Skills 调用、权限管理和高频问题排查。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Claude Code 是运行在终端里的 AI 编程助手。与网页版 Claude 不同，它能直接读写项目文件、执行 shell 命令、操作 git，不需要你手动复制粘贴代码和输出。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;安装&lt;a href=&quot;#安装&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;需要 Node.js 18 或以上版本。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 Node.js 版本&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;node&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 全局安装 Claude Code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@anthropic-ai/claude-code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证安装&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--version&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;首次运行需要登录 Anthropic 账号：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 终端会输出一个授权 URL，在浏览器里打开并授权&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;授权完成后，终端直接进入交互模式，可以开始对话。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;基本用法&lt;a href=&quot;#基本用法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;交互模式&lt;a href=&quot;#交互模式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在项目根目录运行 &lt;code&gt;claude&lt;/code&gt;，进入持续对话的交互模式：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-project&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 进入交互模式，Claude 自动读取目录结构&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Claude Code 启动时会扫描当前目录的文件结构，不需要手动描述项目布局。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;单次命令模式&lt;a href=&quot;#单次命令模式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;直接在命令后跟问题，执行后退出：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;review the changes I just made&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;the test in auth.test.ts is failing, fix it&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;找出所有没有处理错误的 async 函数&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;常用交互指令&lt;a href=&quot;#常用交互指令&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在交互模式下可以用斜杠命令：&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;指令&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/help&lt;/code&gt;&lt;/td&gt;&lt;td&gt;查看所有可用指令&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;&lt;td&gt;清除当前对话上下文&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;&lt;td&gt;压缩上下文，保留关键信息节省 token&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/cost&lt;/code&gt;&lt;/td&gt;&lt;td&gt;查看当前会话的 token 消耗&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;/exit&lt;/code&gt;&lt;/td&gt;&lt;td&gt;退出交互模式&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;CLAUDE.md：项目级持久指令&lt;a href=&quot;#claudemd项目级持久指令&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在项目根目录放 &lt;code&gt;CLAUDE.md&lt;/code&gt;，Claude Code 每次启动时自动加载，不需要每次重复说明背景。&lt;/p&gt;&lt;p&gt;作用等同于 Claude Projects 的 System Prompt，但专门针对命令行场景，且跟随项目 git 仓库，团队所有成员共享同一份指令。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;推荐写法&lt;a href=&quot;#推荐写法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 项目说明&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;这是一个 Fastify + Prisma 的 REST API 项目，TypeScript 编写。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## 技术栈&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; Node.js 22，TypeScript strict 模式&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; 测试框架：Vitest（不用 Jest）&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; ORM：Prisma，不写原生 SQL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## 代码约定&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; 函数式优先，避免 class&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; 变量命名用 camelCase&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; 提交信息格式：&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;type(scope): message&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt;，描述用中文&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## 常用命令&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;npm run dev&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 启动开发服务器&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;npm test&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 运行测试&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;npx prisma studio&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 打开数据库 GUI&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;多级 CLAUDE.md&lt;a href=&quot;#多级-claudemd&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude Code 会读取以下位置的 &lt;code&gt;CLAUDE.md&lt;/code&gt;，全部叠加生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/.claude/CLAUDE.md          # 全局指令，所有项目共用&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;project/CLAUDE.md            # 项目根目录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;project/src/CLAUDE.md        # 子目录，只在该目录内的操作时生效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;全局 &lt;code&gt;CLAUDE.md&lt;/code&gt; 适合放个人习惯（如偏好的代码风格、语言偏好），项目级放项目约束。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Skills：可复用提示词模块&lt;a href=&quot;#skills可复用提示词模块&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Skills 是通过 &lt;code&gt;/skill-name&lt;/code&gt; 调用的专项任务模块，避免重复描述同类任务的执行方式。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 生成符合规范的 git commit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/commit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 审查指定 PR&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/review-pr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;42&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 简化最近修改的代码&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/simplify&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;内置 Skills 和自定义 Skills 的完整说明见 &lt;a href=&quot;/posts/mcp-series/skills/&quot;&gt;Claude Code Skills&lt;/a&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;权限与安全&lt;a href=&quot;#权限与安全&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Code 有文件读写和命令执行权限，操作前会显示计划并请求确认。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;权限模式&lt;a href=&quot;#权限模式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;启动时可以指定权限级别：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 默认模式：每次敏感操作都请求确认&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 自动批准所有操作（适合脚本化场景，谨慎使用）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--dangerously-skip-permissions&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;哪些操作会请求确认&lt;a href=&quot;#哪些操作会请求确认&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;写入或删除文件&lt;/li&gt;
&lt;li&gt;执行 shell 命令&lt;/li&gt;
&lt;li&gt;git 操作（commit、push 等）&lt;/li&gt;
&lt;li&gt;网络请求&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;只读操作（读文件、搜索代码、运行测试）不需要额外确认。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;在生产环境目录下运行 Claude Code 时，&lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; 可能造成不可逆的文件修改。建议只在开发环境或明确知道操作范围时使用。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;典型工作流&lt;a href=&quot;#典型工作流&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;修复测试&lt;a href=&quot;#修复测试&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;auth.test.ts 里的第 3 个测试在报 TypeError，帮我修复&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Claude 读取测试文件和被测文件，定位问题，直接修改代码&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;代码审查&lt;a href=&quot;#代码审查&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;review the changes I just made, focus on security issues&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Claude 读取 git diff，输出审查意见&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;跨文件重构&lt;a href=&quot;#跨文件重构&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;把项目里所有用 callbacks 写的异步函数改成 async/await，保持逻辑不变&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Claude 搜索整个项目，批量修改，修改前显示计划&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;理解陌生代码库&lt;a href=&quot;#理解陌生代码库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;解释一下 src/auth 目录的整体结构，以及各文件之间的调用关系&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Claude 遍历目录，输出结构说明&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;搭配 MCP 使用&lt;a href=&quot;#搭配-mcp-使用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude Code 本身不直接使用 MCP，但可以和配置了 MCP 的 Claude Desktop 互补：Claude Code 负责文件操作和 git，Claude Desktop 负责需要外部工具（数据库查询、GitHub API 等）的任务。MCP 配置方式参考 &lt;a href=&quot;/posts/mcp-series/mcp/&quot;&gt;MCP 系列&lt;/a&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;claude 命令找不到，提示 command not found&lt;a href=&quot;#claude-命令找不到提示-command-not-found&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;npm 全局安装后，&lt;code&gt;claude&lt;/code&gt; 命令需要在 PATH 里。检查：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看 npm 全局安装目录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm root -g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看全局 bin 目录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm bin -g&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出如 /usr/local/bin，确认这个路径在你的 PATH 里&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;如果不在 PATH 里，在 `~/.zshrc` 或 `~/.bashrc` 里追加：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export PATH=&quot;$(npm bin -g):$PATH&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;然后 `source ~/.zshrc` 使配置生效。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;授权完成后还是提示未登录&lt;a href=&quot;#授权完成后还是提示未登录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;删除本地凭证文件，重新走一遍授权：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rm -rf ~/.claude/credentials.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 重新走授权流程&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Claude Code 会读取哪些文件？&lt;a href=&quot;#claude-code-会读取哪些文件&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude Code 读取你主动提及的文件、当前目录的结构（文件名和路径），以及执行任务时它认为相关的文件（会先告知再读取）。不会主动读取 &lt;code&gt;.gitignore&lt;/code&gt; 里排除的文件或目录外的文件。敏感信息建议放在 &lt;code&gt;.env&lt;/code&gt; 并加入 &lt;code&gt;.gitignore&lt;/code&gt;。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;如何控制 Claude Code 不修改某些文件？&lt;a href=&quot;#如何控制-claude-code-不修改某些文件&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;CLAUDE.md&lt;/code&gt; 里明确说明：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```markdown&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;## 禁止修改的文件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- `src/config/production.ts`：生产配置，不要直接修改&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- `*.lock` 文件：不要手动编辑依赖锁定文件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;也可以在对话里直接说&quot;不要修改 X 文件&quot;，Claude Code 会遵守。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;token 消耗太快怎么控制？&lt;a href=&quot;#token-消耗太快怎么控制&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;几个降低 token 消耗的方法：① 用 &lt;code&gt;/compact&lt;/code&gt; 压缩上下文；② 任务完成后用 &lt;code&gt;/clear&lt;/code&gt; 开新对话，不要把多个不相关任务堆在一个会话里；③ 用单次命令模式（&lt;code&gt;claude &quot;...&quot;&lt;/code&gt; 而不是交互模式）处理独立任务，避免上下文积累。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;延伸阅读&lt;a href=&quot;#延伸阅读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/claude-code-china-guide/&quot;&gt;Claude Code 国内使用指南：代理、中转站与 Router 方案对比&lt;/a&gt; — 解决国内直连问题&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/claude-code-troubleshooting/&quot;&gt;Claude Code 报错速查手册&lt;/a&gt; — 安装、认证、运行时报错逐项排查&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/claude-plan-comparison/&quot;&gt;Claude Pro、Max 5x、Max 20x 怎么选&lt;/a&gt; — 三档套餐核心差异与超量计费说明&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/cost-comparison/&quot;&gt;Claude Code 国内使用成本对比：4 种方案&lt;/a&gt; — 官方订阅、API 中转、国产模型横向对比&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/register/&quot;&gt;国内订阅 Claude Pro：支付宝买 Apple 礼品卡全流程&lt;/a&gt; — 无境外信用卡的完整订阅方案&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/claude-guide/tips/&quot;&gt;Claude 使用技巧&lt;/a&gt; — Projects 配置、提示词技巧、MCP 接入&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，Claude Code 版本：最新稳定版。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Code 国内使用指南：代理、中转站与 Router 方案对比</title><link>https://www.yuntier.com/posts/claude-guide/claude-code-china-guide/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/claude-code-china-guide/</guid><description>在中国大陆使用 Claude Code 的三种方案：官方 HTTPS_PROXY 代理、API 中转站（Novita/OpenRouter）、Claude Code Router。含配置步骤与安全性对比。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Claude Code 默认连接 &lt;code&gt;api.anthropic.com&lt;/code&gt;，该域名在中国大陆无法直连。有三种方式解决这个问题，各有适用场景和取舍。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;三种方案对比&lt;a href=&quot;#三种方案对比&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;方案&lt;/th&gt;&lt;th&gt;配置难度&lt;/th&gt;&lt;th&gt;费用&lt;/th&gt;&lt;th&gt;安全性&lt;/th&gt;&lt;th&gt;稳定性&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;官方 HTTPS_PROXY&lt;/td&gt;&lt;td&gt;低（需梯子）&lt;/td&gt;&lt;td&gt;按 API 用量计费&lt;/td&gt;&lt;td&gt;高（流量不经第三方）&lt;/td&gt;&lt;td&gt;取决于梯子质量&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;API 中转站&lt;/td&gt;&lt;td&gt;低&lt;/td&gt;&lt;td&gt;按用量计费，含溢价&lt;/td&gt;&lt;td&gt;中（代码经第三方服务器）&lt;/td&gt;&lt;td&gt;较稳定&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Code Router&lt;/td&gt;&lt;td&gt;中&lt;/td&gt;&lt;td&gt;按路由模型计费&lt;/td&gt;&lt;td&gt;高（自建或官方服务）&lt;/td&gt;&lt;td&gt;高&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;如果你已有稳定代理，优先用方案一。如果没有梯子且对代码安全要求不高，用方案二。需要把请求路由到其他模型（如 DeepSeek）降低成本时，用方案三。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;方案一：配置 HTTPS_PROXY&lt;a href=&quot;#方案一配置-https_proxy&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 的所有请求走你已有的 HTTP/HTTPS 代理。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 临时生效（仅当前终端会话）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HTTPS_PROXY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;7890&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HTTP_PROXY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;7890&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 永久生效：写入 shell 配置文件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;export HTTPS_PROXY=http://127.0.0.1:7890&apos;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;~/.zshrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;export HTTP_PROXY=http://127.0.0.1:7890&apos;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;~/.zshrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;source&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.zshrc&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;端口 &lt;code&gt;7890&lt;/code&gt; 是 Clash 的默认 HTTP 代理端口，根据你的代理工具实际端口替换。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Claude Code 只支持 HTTP/HTTPS 代理，&lt;strong&gt;不支持 SOCKS5 代理&lt;/strong&gt;。如果你的工具只提供 SOCKS5，需要在工具里额外开启 HTTP 代理端口。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;验证代理是否生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http://127.0.0.1:7890&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.anthropic.com/v1/models&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 返回 JSON 而不是连接超时，说明代理正常&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;企业网络（SSL 证书拦截）&lt;a href=&quot;#企业网络ssl-证书拦截&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果公司网络会解包 HTTPS 流量（常见于企业防火墙），需要额外信任内部 CA：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NODE_EXTRA_CA_CERTS&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span&gt;path&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;to&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;company-ca&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;crt&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;方案二：API 中转站&lt;a href=&quot;#方案二api-中转站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;中转站在海外部署服务器代理 Anthropic API 请求，你只需修改 API 地址，不需要梯子。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 以 Novita 为例&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;https&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;novita&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ai&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;v3&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;openai&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;你的中转站 &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;常用中转站：&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;服务&lt;/th&gt;&lt;th&gt;特点&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita&lt;/a&gt;&lt;/td&gt;&lt;td&gt;价格低，支持信用卡，按量计费&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OpenRouter&lt;/td&gt;&lt;td&gt;多模型聚合，支持信用卡&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Camel API&lt;/td&gt;&lt;td&gt;国内团队运营，中文支持好&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;使用中转站时，你的代码和对话内容会经过第三方服务器。涉及商业机密或敏感代码时，评估这一风险后再使用。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;永久写入配置：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 写入 ~/.claude/.env（Claude Code 会自动加载）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;~/.claude/.env&lt;/span&gt;&lt;span&gt; &amp;lt;&amp;lt; &lt;/span&gt;&lt;span&gt;&apos;EOF&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ANTHROPIC_BASE_URL=https://novita.ai/v3/openai&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ANTHROPIC_API_KEY=你的中转站 Key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;方案三：Claude Code Router&lt;a href=&quot;#方案三claude-code-router&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/musistudio/claude-code-router&quot; target=&quot;_blank&quot;&gt;Claude Code Router&lt;/a&gt; 是一个本地代理层，可以把 Claude Code 的请求路由到不同模型（如将复杂任务发给 Claude Opus，简单任务发给 DeepSeek）。&lt;/p&gt;&lt;p&gt;安装：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;claude-code-router&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;启动 Router，然后让 Claude Code 指向它：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 终端 1：启动 Router（默认监听 8080）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ccr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 终端 2：配置 Claude Code 指向 Router&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;localhost&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;8080&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Router 的配置文件 &lt;code&gt;~/.claude-code-router/config.json&lt;/code&gt; 控制路由规则，详细配置参考项目文档。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见连接问题&lt;a href=&quot;#常见连接问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;超时（connect ETIMEDOUT）&lt;/strong&gt;：代理未生效或代理本身不稳定。先用 &lt;code&gt;curl&lt;/code&gt; 验证代理可访问 &lt;code&gt;api.anthropic.com&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SSL 证书错误（CERT_UNTRUSTED）&lt;/strong&gt;：企业网络拦截了 HTTPS，参考上方企业网络配置。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;地区限制提示（App unavailable in region）&lt;/strong&gt;：这是安装时的地区检测，不影响 API 使用。用方案一或二配置后即可正常调用。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SOCKS5 代理不生效&lt;/strong&gt;：Claude Code 不支持 SOCKS5，需要在代理工具里开启 HTTP 代理端口。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;更多安装问题见 &lt;a href=&quot;/posts/claude-guide/claude-code-troubleshooting/&quot;&gt;Claude Code 报错速查手册&lt;/a&gt;。Claude Code 功能与工作流说明见 &lt;a href=&quot;/posts/claude-guide/claude-code/&quot;&gt;Claude Code 使用指南&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Code 报错速查手册：安装、认证、运行时问题全覆盖</title><link>https://www.yuntier.com/posts/claude-guide/claude-code-troubleshooting/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/claude-code-troubleshooting/</guid><description>Claude Code 常见报错的快速解决指南，涵盖安装失败、npm 超时、PATH 未配置、OAuth 认证错误、overloaded_error 等运行时问题，以及 /doctor 自诊断工具使用。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;遇到报错，先运行自诊断命令：&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/doctor&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;&lt;code&gt;/doctor&lt;/code&gt; 会检查安装版本、配置文件语法、MCP 服务器状态，并给出修复建议。如果 &lt;code&gt;claude&lt;/code&gt; 命令本身打不开，按下表定位问题再跳转对应章节。&lt;/p&gt;























































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;症状&lt;/th&gt;&lt;th&gt;类别&lt;/th&gt;&lt;th&gt;跳转&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;npm install&lt;/code&gt; 超时或失败&lt;/td&gt;&lt;td&gt;安装&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E5%AE%89%E8%A3%85%E7%B1%BB%E9%97%AE%E9%A2%98&quot;&gt;安装类问题&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;command not found: claude&lt;/code&gt;&lt;/td&gt;&lt;td&gt;安装&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#path-%E6%9C%AA%E9%85%8D%E7%BD%AEcommand-not-found&quot;&gt;PATH 未配置&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;安装中途进程被终止&lt;/td&gt;&lt;td&gt;安装&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E5%86%85%E5%AD%98%E4%B8%8D%E8%B6%B3%E5%AE%89%E8%A3%85%E4%B8%AD%E9%80%94%E5%A4%B1%E8%B4%A5&quot;&gt;内存不足&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;OAuth error: Invalid code&lt;/code&gt;&lt;/td&gt;&lt;td&gt;认证&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E8%AE%A4%E8%AF%81%E7%B1%BB%E9%97%AE%E9%A2%98&quot;&gt;认证类问题&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;授权后仍提示未登录&lt;/td&gt;&lt;td&gt;认证&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E7%99%BB%E5%BD%95%E5%90%8E%E4%BB%8D%E6%8F%90%E7%A4%BA%E6%9C%AA%E8%AE%A4%E8%AF%81&quot;&gt;登录后仍提示未认证&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;App unavailable in region&lt;/code&gt;&lt;/td&gt;&lt;td&gt;认证&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E5%9C%B0%E5%8C%BA%E9%99%90%E5%88%B6%E6%8F%90%E7%A4%BA&quot;&gt;地区限制&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;overloaded_error&lt;/code&gt;&lt;/td&gt;&lt;td&gt;运行时&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#%E8%BF%90%E8%A1%8C%E6%97%B6%E6%8A%A5%E9%94%99&quot;&gt;运行时报错&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;Write failed: InputValidationError&lt;/code&gt;&lt;/td&gt;&lt;td&gt;运行时&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#write-failed-inputvalidationerror&quot;&gt;Write failed&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;WSL 无法完成登录&lt;/td&gt;&lt;td&gt;特殊场景&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;#wsl-%E7%89%B9%E6%AE%8A%E5%9C%BA%E6%99%AF&quot;&gt;WSL 场景&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;安装类问题&lt;a href=&quot;#安装类问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;npm 安装超时或失败&lt;a href=&quot;#npm-安装超时或失败&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：&lt;code&gt;npm install -g @anthropic-ai/claude-code&lt;/code&gt; 长时间无响应或报 &lt;code&gt;ETIMEDOUT&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;npm 安装方式已被官方标注为废弃，建议改用原生安装方式（Native Installer），下载速度更快，且不依赖 Node.js 版本：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# macOS / Linux&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fsSL&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://claude.ai/install.sh&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果原生安装也超时（安装包从 &lt;code&gt;storage.googleapis.com&lt;/code&gt; 下载），需要先配置代理：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HTTPS_PROXY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;7890&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fsSL&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://claude.ai/install.sh&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;sh&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;PATH 未配置（command not found）&lt;a href=&quot;#path-未配置command-not-found&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：安装完成，但运行 &lt;code&gt;claude&lt;/code&gt; 提示 &lt;code&gt;command not found&lt;/code&gt;。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查找 claude 实际安装位置&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;which&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;claude&lt;/span&gt;&lt;span&gt; || &lt;/span&gt;&lt;span&gt;find&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.local&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;claude&quot;&lt;/span&gt;&lt;span&gt; 2&amp;gt;&lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;head&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-5&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;把安装目录加入 PATH：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# npm 全局安装的情况&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;PATH&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;$(&lt;/span&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; bin &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt;):&lt;/span&gt;&lt;span&gt;$PATH&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 原生安装默认路径&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;PATH&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$HOME&lt;/span&gt;&lt;span&gt;/.local/bin:&lt;/span&gt;&lt;span&gt;$PATH&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;将以上行写入 &lt;code&gt;~/.zshrc&lt;/code&gt; 或 &lt;code&gt;~/.bashrc&lt;/code&gt;，然后 &lt;code&gt;source&lt;/code&gt; 使配置生效。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;内存不足（安装中途失败）&lt;a href=&quot;#内存不足安装中途失败&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：Linux 系统上安装进程被终止，无明确报错。&lt;/p&gt;&lt;p&gt;Claude Code 安装需要至少 4 GB 可用内存。内存不足时 Linux OOM Killer 会直接结束进程。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查可用内存&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;free&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-h&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 临时增加 swap（2GB）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fallocate&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-l&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2G&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/swapfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;600&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/swapfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkswap&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/swapfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;swapon&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/swapfile&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;认证类问题&lt;a href=&quot;#认证类问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;OAuth error: Invalid code&lt;a href=&quot;#oauth-error-invalid-code&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：登录时浏览器完成授权，终端报 &lt;code&gt;OAuth error: Invalid code&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;登录码有效期很短（约 30 秒）。复制 URL 后需要立即在浏览器完成授权，不能等待。重新运行 &lt;code&gt;claude&lt;/code&gt; 走完整登录流程。&lt;/p&gt;&lt;p&gt;如果终端无法自动打开浏览器（如 WSL）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 终端会输出类似：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Open this URL to authenticate: https://claude.ai/auth?code=xxxx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 手动复制该 URL，粘贴到 Windows 浏览器打开&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;OAuth 不支持 SOCKS5&lt;a href=&quot;#oauth-不支持-socks5&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：配置了代理但登录还是失败。&lt;/p&gt;&lt;p&gt;Claude Code 认证只支持 HTTP/HTTPS 代理，不支持 SOCKS5。确认代理环境变量格式正确：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 正确&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HTTPS_PROXY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;7890&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 错误（不支持）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HTTPS_PROXY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;socks5&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;7891&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;登录后仍提示未认证&lt;a href=&quot;#登录后仍提示未认证&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 删除本地凭证，重新走授权&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;rm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-rf&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.claude/credentials.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;地区限制提示&lt;a href=&quot;#地区限制提示&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：安装时弹出 &lt;code&gt;Claude Code might not be available in your country&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;这是安装包的地区检测，不影响 API 层的实际调用。配置 API 代理或中转站后即可正常使用，参考 &lt;a href=&quot;/posts/claude-guide/claude-code-china-guide/&quot;&gt;Claude Code 国内使用指南&lt;/a&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;运行时报错&lt;a href=&quot;#运行时报错&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;overloaded_error（服务器过载）&lt;a href=&quot;#overloaded_error服务器过载&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：&lt;code&gt;API Error: overloaded_error - Overloaded&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;Anthropic 服务器繁忙，非本地问题。稍等几分钟后重试，或在非高峰时段（UTC 白天）使用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Write failed: InputValidationError&lt;a href=&quot;#write-failed-inputvalidationerror&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：Claude Code 写文件时报 &lt;code&gt;Write failed due to the following issues&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;通常是文件内容包含了工具调用格式的特殊字符，或目标路径没有写权限：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查文件权限&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-la&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;目标文件路径&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 修复权限&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;644&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;目标文件路径&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果权限正常仍报错，在对话里告知 Claude Code 报错内容，要求它换一种写法重试。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;tool_call_error&lt;a href=&quot;#tool_call_error&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：&lt;code&gt;Error: tool_call_error - Tool invocation failed&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;工具调用参数格式错误，通常在复杂任务中出现。在对话里说”上一步出现了 tool_call_error，请重新执行”，Claude Code 会调整参数重试。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;request timeout&lt;a href=&quot;#request-timeout&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：请求长时间等待后超时。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认代理稳定性&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http://127.0.0.1:7890&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-w&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;%{time_total}&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.anthropic.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 响应时间应在 2 秒内&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;超时也可能是任务过大导致推理时间长，可以尝试把任务拆小。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;WSL 特殊场景&lt;a href=&quot;#wsl-特殊场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;现象&lt;/strong&gt;：WSL 终端里 &lt;code&gt;claude&lt;/code&gt; 无法自动打开浏览器完成 OAuth。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 复制终端输出的授权 URL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 Windows 浏览器（Edge/Chrome）里打开，完成授权&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 授权后回到 WSL 终端，登录自动完成&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果 WSL 里 &lt;code&gt;claude&lt;/code&gt; 找不到，确认使用的是 Linux 路径下的 Node.js，而不是 Windows 路径：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;which&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;node&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 应输出 /usr/bin/node 或 /home/用户名/.nvm/...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 不应输出 /mnt/c/...（Windows 路径）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;安装成功后的国内网络配置见 &lt;a href=&quot;/posts/claude-guide/claude-code-china-guide/&quot;&gt;Claude Code 国内使用指南&lt;/a&gt;。Claude Code 功能完整说明见 &lt;a href=&quot;/posts/claude-guide/claude-code/&quot;&gt;Claude Code 使用指南&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Pro、Max 5x、Max 20x 怎么选：2026 定价与场景指南</title><link>https://www.yuntier.com/posts/claude-guide/claude-plan-comparison/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/claude-plan-comparison/</guid><description>Claude Pro（USD 20/月）、Max 5x（USD 100/月）、Max 20x（USD 200/月）三档套餐核心差异：额度、Opus 模型权限、超量计费规则。含国内用户 API 中转方案成本对比，以及按使用频率的选择建议。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Claude 付费套餐分三档，差异不只是价格。2026 年新增的超量计费功能也改变了原来的选择逻辑。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;三档套餐核心差异&lt;a href=&quot;#三档套餐核心差异&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Pro&lt;/th&gt;&lt;th&gt;Max 5x&lt;/th&gt;&lt;th&gt;Max 20x&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;月费&lt;/td&gt;&lt;td&gt;USD 20&lt;/td&gt;&lt;td&gt;USD 100&lt;/td&gt;&lt;td&gt;USD 200&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Code 额度&lt;/td&gt;&lt;td&gt;每 5 小时约 45 条&lt;/td&gt;&lt;td&gt;Pro 的 5 倍（约 225 条）&lt;/td&gt;&lt;td&gt;Pro 的 20 倍（约 900 条）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Opus 模型访问&lt;/td&gt;&lt;td&gt;不支持&lt;/td&gt;&lt;td&gt;支持（包括 IDE 插件）&lt;/td&gt;&lt;td&gt;支持&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;超量计费&lt;/td&gt;&lt;td&gt;支持（可选开启）&lt;/td&gt;&lt;td&gt;支持（可选开启）&lt;/td&gt;&lt;td&gt;支持（可选开启）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;优先队列&lt;/td&gt;&lt;td&gt;无&lt;/td&gt;&lt;td&gt;有&lt;/td&gt;&lt;td&gt;有&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2026 新功能：超量计费&lt;a href=&quot;#2026-新功能超量计费&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;所有付费套餐现在都支持开启超量计费（Extra Usage）。开启后，用完套餐额度不会直接断掉，而是以标准 API 费率继续计费，可以自行设置月度上限。&lt;/p&gt;&lt;p&gt;这意味着：&lt;strong&gt;Pro 套餐 + 超量计费&lt;/strong&gt;，在偶尔需要多用的月份可以按需付费，不必为了偶发场景升级到 Max。&lt;/p&gt;&lt;p&gt;开启入口：claude.ai → 设置 → 计划与用量 → 启用额外用量。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;怎么选&lt;a href=&quot;#怎么选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;选 Pro（USD 20/月）的情况&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;每天使用 Claude Code 不超过 1~2 小时&lt;/li&gt;
&lt;li&gt;主要使用 Sonnet 模型，Opus 用不到&lt;/li&gt;
&lt;li&gt;偶尔需要多用时开启超量计费补量&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;选 Max 5x（USD 100/月）的情况&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;每天在大型代码库里使用 Claude Code 4 小时以上&lt;/li&gt;
&lt;li&gt;经常触达 Pro 的 5 小时额度上限，打断工作节奏&lt;/li&gt;
&lt;li&gt;需要在 Cursor/VS Code 等 IDE 插件里使用 Opus 模型&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;选 Max 20x（USD 200/月）的情况&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Claude Code 是全天主力开发工具&lt;/li&gt;
&lt;li&gt;Max 5x 仍然不够用&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;一个判断方法：用 Pro 跑一周，看 &lt;code&gt;/cost&lt;/code&gt; 输出和被限速的次数。每周被限速超过 3 次，再升级 Max 5x。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;国内用户的额外考量&lt;a href=&quot;#国内用户的额外考量&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;国内用户通常通过 API 中转站使用 Claude Code（见 &lt;a href=&quot;/posts/claude-guide/claude-code-china-guide/&quot;&gt;Claude Code 国内使用指南&lt;/a&gt;），这时有另一条路可以比较：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;固定订阅 vs 按量 API 中转的成本拐点&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;API 中转的费用取决于用量，Claude Sonnet 4.6 约 USD 3/百万输入 token、USD 15/百万输出 token（中转站通常有 1.1~1.3 倍溢价）。&lt;/p&gt;&lt;p&gt;粗略估算：如果你每月 Claude Code 消耗在 &lt;strong&gt;200 万 token&lt;/strong&gt; 以下，按量 API 通常比 Pro 便宜；超过后固定订阅更划算。&lt;/p&gt;&lt;p&gt;需要用 Opus 且频率较高，订阅 Max 比单独购买 Opus API 额度划算很多。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;套餐不包含的内容&lt;a href=&quot;#套餐不包含的内容&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;claude.ai 网页版的对话额度是独立计算的，和 Claude Code 额度分开&lt;/li&gt;
&lt;li&gt;API 直接调用（非 Claude Code）不消耗订阅额度，走独立的 API 计费&lt;/li&gt;
&lt;li&gt;Team 套餐（USD 25/人/月）面向团队协作，不是 Claude Code 的更高档——功能不同，按需选择&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;p&gt;套餐以外的费用说明和国内购买渠道见 &lt;a href=&quot;/posts/claude-guide/cost-comparison/&quot;&gt;Claude 费用对比&lt;/a&gt;。功能使用说明见 &lt;a href=&quot;/posts/claude-guide/claude-code/&quot;&gt;Claude Code 完整使用指南&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Code 国内使用成本对比：4 种方案，选哪个最划算？</title><link>https://www.yuntier.com/posts/claude-guide/cost-comparison/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/cost-comparison/</guid><description>官方订阅、API 中转、国产模型挂载、拼车合租——4 种 Claude Code 国内使用方案的成本、稳定性与适用场景横向对比，帮你选对方案少踩坑。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Claude Code 官方不向中国大陆开放直接访问，但实际上有 4 条路可以走。这篇文章横向对比各方案的成本、稳定性和适用场景，让你一次看清楚。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;4 种方案一览&lt;a href=&quot;#4-种方案一览&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;







































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;方案&lt;/th&gt;&lt;th&gt;月费估算&lt;/th&gt;&lt;th&gt;封号风险&lt;/th&gt;&lt;th&gt;效果完整度&lt;/th&gt;&lt;th&gt;适合人群&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;官方 Pro 订阅&lt;/td&gt;&lt;td&gt;USD 20（约 ¥145）&lt;/td&gt;&lt;td&gt;低（但需稳定 IP）&lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;td&gt;重度用户、追求最稳定体验&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;API 中转平台&lt;/td&gt;&lt;td&gt;¥30–¥150（按量）&lt;/td&gt;&lt;td&gt;极低&lt;/td&gt;&lt;td&gt;95%&lt;/td&gt;&lt;td&gt;中度用户、不想折腾账号&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;国产模型挂载&lt;/td&gt;&lt;td&gt;¥0–¥20&lt;/td&gt;&lt;td&gt;无&lt;/td&gt;&lt;td&gt;60–80%&lt;/td&gt;&lt;td&gt;预算有限、任务不复杂&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;拼车合租&lt;/td&gt;&lt;td&gt;¥15–¥30&lt;/td&gt;&lt;td&gt;中（共享账号）&lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;td&gt;轻度用户、只需偶尔使用&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;方案详解&lt;a href=&quot;#方案详解&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;方案一：官方 Pro 订阅（USD 20/月）&lt;a href=&quot;#方案一官方-pro-订阅usd-20月&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;直接在 &lt;a href=&quot;https://claude.ai&quot; target=&quot;_blank&quot;&gt;claude.ai&lt;/a&gt; 订阅 Pro，用官方 Claude Code。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;功能 100% 完整，Prompt Caching、扩展上下文等高级特性第一时间可用&lt;/li&gt;
&lt;li&gt;无中间商，数据不经过第三方&lt;/li&gt;
&lt;li&gt;Claude Max（USD 100/月）提供更高用量上限，适合全天候使用&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;缺点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;需要境外信用卡或通过 App Store 内购（参考 &lt;a href=&quot;/posts/claude-guide/register/&quot;&gt;国内订阅 Claude Pro 教程&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;需要稳定的科学上网，IP 频繁变动可能触发风控&lt;/li&gt;
&lt;li&gt;固定月费，偶尔使用不划算&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;费用计算&lt;/strong&gt;：Pro 每月 USD 20，按当前汇率约 ¥145。如果每天都用，相当于 ¥4.8/天。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;方案二：API 中转平台（按量付费）&lt;a href=&quot;#方案二api-中转平台按量付费&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;通过第三方中转平台调用 Claude API，配置到 Claude Code 的 &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt; 和 &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;常见平台：AiHubMix、OpenRouter、Camel API、PoloAPI 等。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;无需注册 Anthropic 账号，国内直连&lt;/li&gt;
&lt;li&gt;按量付费，轻度用户成本更低&lt;/li&gt;
&lt;li&gt;无封号风险（使用平台账号而非个人 Anthropic 账号）&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;缺点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;需要信任第三方平台（数据过中间层）&lt;/li&gt;
&lt;li&gt;部分平台稳定性不保证，偶有限速或中断&lt;/li&gt;
&lt;li&gt;长期重度使用成本可能超过官方订阅&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;费用计算&lt;/strong&gt;：Claude Sonnet 4.5 约 USD 3/1M tokens（中转平台价格），日常编程任务每天消耗约 100k tokens，折合约 ¥2–¥5/天。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式&lt;/strong&gt;：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;https&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;your-relay-platform&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;com&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;v1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;your-platform-api-key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;方案三：国产模型挂载（最低成本）&lt;a href=&quot;#方案三国产模型挂载最低成本&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;用国内大模型（Doubao-Seed-Code、GLM-4.7、Qwen Code 等）挂载到 Claude Code，通过兼容 API 接口调用。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;字节豆包、阿里 Qwen 提供每日免费额度，实际成本接近 ¥0&lt;/li&gt;
&lt;li&gt;无网络限制，国内直连，响应速度快&lt;/li&gt;
&lt;li&gt;无任何封号风险&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;缺点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Claude Code 针对 Claude 模型优化，换用其他模型后复杂推理任务表现会下降&lt;/li&gt;
&lt;li&gt;多文件重构、大上下文分析等场景效果有明显差距&lt;/li&gt;
&lt;li&gt;部分 Claude Code 特性（如 extended thinking）不可用&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;适合场景&lt;/strong&gt;：日常代码补全、简单重构、文档生成——这类任务国产模型足够用。复杂架构设计、跨文件调试建议用官方或中转方案。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式（以豆包为例）&lt;/strong&gt;：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;https&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;ark&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;cn-beijing&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;volces&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;com&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;api&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;v3&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ANTHROPIC_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;your-doubao-api-key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;CLAUDE_MODEL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;doubao-seed-code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;方案四：拼车合租（最轻量）&lt;a href=&quot;#方案四拼车合租最轻量&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;多人共享一个 Claude Pro 账号，费用均摊。国内有组织拼车的社群（V2EX、即刻、NodeSeek 上可以找到）。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;月费 ¥15–¥30，是最低成本的官方功能体验&lt;/li&gt;
&lt;li&gt;不需要自己处理账号注册和支付&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;缺点&lt;/strong&gt;：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;共享账号有被封风险，对话历史不私密&lt;/li&gt;
&lt;li&gt;用量受其他拼车用户影响，高峰期可能触发限速&lt;/li&gt;
&lt;li&gt;信任问题：需要确认组织者可靠&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;按场景选方案&lt;a href=&quot;#按场景选方案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;轻度用户（每周几次）&lt;/strong&gt;：API 中转按量付费，或找靠谱拼车，月均 ¥30 以内。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;日常开发（每天使用）&lt;/strong&gt;：官方 Pro 订阅（USD 20/月）性价比最高，功能完整，长期稳定。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;预算极有限&lt;/strong&gt;：国产模型挂载，简单任务完全够用，复杂任务临时切中转平台。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;团队/商业用途&lt;/strong&gt;：直接官方 API，按需购买，不要走共享账号。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;API 中转平台安全吗？&lt;a href=&quot;#api-中转平台安全吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;数据会经过第三方服务器，敏感代码（商业项目、含密钥的配置文件）不建议通过中转平台处理。个人学习和非敏感项目没有明显风险。选择时优先选用量较大、有口碑的平台。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;国产模型挂载后 Claude Code 还能正常用吗？&lt;a href=&quot;#国产模型挂载后-claude-code-还能正常用吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;基本功能可用，包括文件读写、命令执行、代码生成。但部分功能依赖 Claude 特有能力（如 extended thinking、长上下文规划），挂载国产模型后这些会受限或失效。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;官方账号会因为在国内使用被封吗？&lt;a href=&quot;#官方账号会因为在国内使用被封吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;有风险，但概率不高。主要触发条件：使用共享 IP（多人共用同一 VPN 节点）、短时间内 IP 频繁切换、账号被标记为高风险。使用固定的科学上网节点，风险很低。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Claude Max 和 Claude Pro 有什么区别？&lt;a href=&quot;#claude-max-和-claude-pro-有什么区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Pro 每月 USD 20，有每 5 小时用量窗口限制。Max 每月 USD 100，用量上限约为 Pro 的 5 倍，适合全天高强度使用。如果你经常遇到「已达到用量上限」提示，考虑升级 Max。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;国内如何完成 Claude Pro 订阅，参考 &lt;a href=&quot;/posts/claude-guide/register/&quot;&gt;支付宝买礼品卡订阅 Claude Pro 完整教程&lt;/a&gt;。配置好之后，推荐读一下 &lt;a href=&quot;/posts/claude-guide/claude-code/#claudemd%E9%A1%B9%E7%9B%AE%E7%BA%A7%E6%8C%81%E4%B9%85%E6%8C%87%E4%BB%A4&quot;&gt;CLAUDE.md 配置说明&lt;/a&gt;，让 Claude Code 从第一条命令开始就了解你的项目。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>2026 年 MCP 服务器推荐：Claude Code 必装的 6 个（附配置命令）</title><link>https://www.yuntier.com/posts/mcp-series/mcp-recommended/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-recommended/</guid><description>精选 6 个 Claude Code 最实用 MCP 服务器：Brave Search、Context7、Filesystem、GitHub、Playwright、Fetch，按场景分类，每个附完整安装配置命令，读完即可直接部署。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;MCP 服务器（Model Context Protocol Server）是一种标准化插件，让 Claude Code 等 AI 工具能直接调用外部服务，无需手动复制粘贴数据。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇挑了 6 个在实际开发场景里最有用的 MCP 服务器，每个附安装命令和可直接用的配置片段。&lt;/p&gt;
&lt;p&gt;还不清楚 MCP 是什么，先看 &lt;a href=&quot;/posts/mcp-series/mcp-what-is-mcp/&quot;&gt;MCP 是什么？用一个类比彻底讲清楚模型上下文协议&lt;/a&gt;；想看真实使用场景，看 &lt;a href=&quot;/posts/mcp-series/mcp-what-can-mcp-do/&quot;&gt;MCP 能做什么？10 个真实场景&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;装之前要知道的事&lt;a href=&quot;#装之前要知道的事&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;每个 MCP 服务器启动时会向 Claude Code 注册一批工具。同时启用的服务器越多，注入上下文的工具列表就越长，会占用 token 并拖慢响应。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;建议同时启用不超过 6 个服务器。&lt;/strong&gt; 按当前项目需要启用，不用的暂时注释掉。&lt;/p&gt;&lt;p&gt;配置文件路径：&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;客户端&lt;/th&gt;&lt;th&gt;配置文件路径&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Claude Desktop（macOS）&lt;/td&gt;&lt;td&gt;&lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Desktop（Windows）&lt;/td&gt;&lt;td&gt;&lt;code&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cursor（项目级）&lt;/td&gt;&lt;td&gt;&lt;code&gt;.cursor/mcp.json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cursor（全局）&lt;/td&gt;&lt;td&gt;&lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;1. Brave Search MCP — 实时网页搜索&lt;a href=&quot;#1-brave-search-mcp--实时网页搜索&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 能搜索最新信息，告别”知识截止日期”限制。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 查最新文档、搜技术方案、了解某个库的最新版本。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;获取 API Key：&lt;/strong&gt; 在 &lt;a href=&quot;https://api.search.brave.com/&quot; target=&quot;_blank&quot;&gt;Brave Search API&lt;/a&gt; 注册，免费计划每月 2000 次查询。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;brave-search&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-brave-search&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;BRAVE_API_KEY&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;your-brave-api-key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;2. Context7 MCP — 拉取最新库文档&lt;a href=&quot;#2-context7-mcp--拉取最新库文档&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Code 的训练数据有截止日期，写代码时经常用到过时的 API。Context7 在每次对话时实时拉取对应库的最新官方文档，直接注入上下文。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 用 Claude Code 写代码时，自动获取 React、Next.js、Tailwind 等库的最新 API 说明。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;context7&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@upstash/context7-mcp&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;使用方式：在 prompt 末尾加 &lt;code&gt;use context7&lt;/code&gt;，Claude Code 会自动拉取相关库文档。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;3. Filesystem MCP — 读写本地文件&lt;a href=&quot;#3-filesystem-mcp--读写本地文件&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 直接访问你指定的本地目录，省去手动复制文件内容的步骤。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 让 Claude Code 分析整个项目目录、批量修改文件、读取配置文件。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/projects&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;code&gt;args&lt;/code&gt; 最后一个参数是授权目录，只填必要的目录，不要填根目录 &lt;code&gt;/&lt;/code&gt;。可以填多个路径，空格分隔。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;4. GitHub MCP — 读取仓库、Issue、PR&lt;a href=&quot;#4-github-mcp--读取仓库issuepr&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 直接访问 GitHub 仓库内容，无需手动复制代码或 Issue 描述。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 让 Claude Code 分析仓库代码、总结 Issue、查看 PR diff、理解项目结构。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;获取 Token：&lt;/strong&gt; GitHub Settings → Developer settings → Personal access tokens → 创建，只需要 &lt;code&gt;repo&lt;/code&gt; 读权限。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-github&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;ghp_your_token_here&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;5. Playwright MCP — 浏览器自动化&lt;a href=&quot;#5-playwright-mcp--浏览器自动化&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 控制真实浏览器：打开网页、点击按钮、截图、填写表单。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 自动化测试、网页截图、操作需要登录的页面、验证 UI 效果。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;playwright&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@playwright/mcp@latest&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;首次运行会自动下载 Chromium（约 200MB），之后直接使用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;6. Fetch MCP — 抓取任意网页内容&lt;a href=&quot;#6-fetch-mcp--抓取任意网页内容&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让 Claude Code 直接抓取并解析任意 URL 的内容，返回干净的文本。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适用场景：&lt;/strong&gt; 读取文档页面、抓取竞品信息、解析 API 响应页面。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;fetch&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;uvx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;mcp-server-fetch&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;code&gt;uvx&lt;/code&gt; 需要先安装 &lt;a href=&quot;https://github.com/astral-sh/uv&quot; target=&quot;_blank&quot;&gt;uv&lt;/a&gt;：&lt;code&gt;curl -LsSf https://astral.sh/uv/install.sh | sh&lt;/code&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;完整配置示例&lt;a href=&quot;#完整配置示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;把上面的配置合并到一个文件里：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;brave-search&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-brave-search&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;BRAVE_API_KEY&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;your-brave-api-key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;context7&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@upstash/context7-mcp&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/projects&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-github&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;ghp_your_token_here&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;playwright&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@playwright/mcp@latest&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;33&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;fetch&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;34&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;uvx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;35&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;mcp-server-fetch&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;36&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;37&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;38&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;推荐组合&lt;a href=&quot;#推荐组合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;不想全装？按使用场景选：&lt;/p&gt;&lt;p&gt;&lt;strong&gt;开发场景（3 件套）&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Context7：拉取最新库文档&lt;/li&gt;
&lt;li&gt;Filesystem：读写本地项目目录&lt;/li&gt;
&lt;li&gt;GitHub：访问仓库代码和 Issue&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;覆盖日常编码 80% 的需求。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;信息检索（3 件套）&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Brave Search：实时网页搜索&lt;/li&gt;
&lt;li&gt;Fetch：抓取静态页面内容&lt;/li&gt;
&lt;li&gt;Playwright：操控动态页面和截图&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;适合竞品分析、文档整理、自动化信息收集。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;配置保存后需要重启 Claude Desktop 吗？&lt;a href=&quot;#配置保存后需要重启-claude-desktop-吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;需要完全退出再重启（macOS 需要从菜单栏退出，不只是关闭窗口）。重启后在新对话里才能使用新配置的 MCP 服务器。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;如何确认 MCP 服务器已正常连接？&lt;a href=&quot;#如何确认-mcp-服务器已正常连接&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;打开 Claude Desktop，在新对话界面左下角或工具栏会显示已连接的 MCP 工具图标。也可以直接问 Claude：“你现在有哪些可用工具？“&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;npx 运行时报错找不到包怎么办？&lt;a href=&quot;#npx-运行时报错找不到包怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;确认 Node.js 版本 ≥ 18：&lt;code&gt;node --version&lt;/code&gt;。如果版本过低，用 &lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; target=&quot;_blank&quot;&gt;nvm&lt;/a&gt; 升级：&lt;code&gt;nvm install 20 &amp;amp;&amp;amp; nvm use 20&lt;/code&gt;。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;某个 MCP 服务器启动失败怎么排查？&lt;a href=&quot;#某个-mcp-服务器启动失败怎么排查&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;打开 Claude Desktop 日志（macOS：&lt;code&gt;~/Library/Logs/Claude/&lt;/code&gt;），找对应服务器的错误信息。最常见的问题是环境变量没填或 API Key 错误。也可以用 &lt;a href=&quot;https://github.com/modelcontextprotocol/inspector&quot; target=&quot;_blank&quot;&gt;MCP Inspector&lt;/a&gt; 单独测试某个服务器是否正常工作。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;需要把 MCP 服务器部署到远程 VPS 供多人共享使用？看 &lt;a href=&quot;/posts/mcp-series/mcp-remote-vps/&quot;&gt;在 VPS 上部署远程 MCP 服务器&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，MCP 服务器版本以各仓库最新 release 为准。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Novita AI 上手指南：比 GPT-4.1 便宜 67 倍的 AI API</title><link>https://www.yuntier.com/posts/mcp-series/novita-guide/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/novita-guide/</guid><description>Novita AI 提供 200+ 开源模型，Llama 3.1 8B 仅 USD 0.03/M tokens，比 GPT-4.1 便宜 67 倍，兼容 OpenAI API。本教程覆盖注册、价格对比、Python 调用示例及替代 OpenAI SDK 的完整配置方法。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita AI&lt;/a&gt; 是一个兼容 OpenAI API 格式的 AI 模型平台，提供 200+ 开源模型，最低 USD 0.03/M tokens——同等任务下比 GPT-4.1 便宜最多 67 倍，只改 &lt;code&gt;base_url&lt;/code&gt; 即可从 OpenAI 切换过来，不改其他代码。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这篇从价格对比到完成第一次 API 调用，完整走一遍。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;Novita AI 是什么&lt;a href=&quot;#novita-ai-是什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita AI&lt;/a&gt; 把 Llama、DeepSeek、Qwen、Stable Diffusion 等 200+ 开源模型整合到统一的 API 接口里，兼容 OpenAI SDK，只需要改 &lt;code&gt;base_url&lt;/code&gt; 就能切换，不改其他代码。平台按实际 token 消耗计费，没有最低消费，没有 GPU 也能用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;价格对比：Novita vs 主流闭源商业模型&lt;a href=&quot;#价格对比novita-vs-主流闭源商业模型&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下表对比 &lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita&lt;/a&gt; 开源模型与主流闭源商业 API 的价格（单位：美元 / 百万 tokens，2026-04）：&lt;/p&gt;
























































































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;模型&lt;/th&gt;&lt;th&gt;提供商&lt;/th&gt;&lt;th&gt;输入价格&lt;/th&gt;&lt;th&gt;输出价格&lt;/th&gt;&lt;th&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Llama 3.1 8B&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.03&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.03&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;轻量对话、分类、摘要&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Qwen3 4B&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.03&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.03&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;中文轻量任务&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Qwen 2.5 7B&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.07&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.07&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;中文问答&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DeepSeek V3&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.27&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 1.10&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;代码生成、复杂对话&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Qwen 2.5 72B&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.40&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 0.40&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;高质量中文生成&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;DeepSeek R1&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Novita&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 4.00&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;USD 4.00&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;数学推理、逻辑分析&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GPT-4o mini&lt;/td&gt;&lt;td&gt;OpenAI&lt;/td&gt;&lt;td&gt;USD 0.15&lt;/td&gt;&lt;td&gt;USD 0.60&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gemini 3 Flash&lt;/td&gt;&lt;td&gt;Google&lt;/td&gt;&lt;td&gt;USD 0.50&lt;/td&gt;&lt;td&gt;USD 3.00&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GPT-4.1&lt;/td&gt;&lt;td&gt;OpenAI&lt;/td&gt;&lt;td&gt;USD 2.00&lt;/td&gt;&lt;td&gt;USD 8.00&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gemini 3.1 Pro&lt;/td&gt;&lt;td&gt;Google&lt;/td&gt;&lt;td&gt;USD 2.00&lt;/td&gt;&lt;td&gt;USD 12.00&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;&lt;td&gt;Anthropic&lt;/td&gt;&lt;td&gt;USD 3.00&lt;/td&gt;&lt;td&gt;USD 15.00&lt;/td&gt;&lt;td&gt;—&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;价格来源：novita.ai/pricing、openai.com/api/pricing、ai.google.dev/gemini-api/docs/pricing、anthropic.com/pricing，2026-04。价格随时可能调整，以各官网当前标价为准。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;具体能省多少&lt;a href=&quot;#具体能省多少&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;以处理 &lt;strong&gt;100 万 tokens 输入&lt;/strong&gt; 为例：&lt;/p&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;场景&lt;/th&gt;&lt;th&gt;选 Novita&lt;/th&gt;&lt;th&gt;选闭源最新款&lt;/th&gt;&lt;th&gt;节省&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;简单问答 / 文本分类&lt;/td&gt;&lt;td&gt;Qwen3 4B：&lt;strong&gt;USD 0.03&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;GPT-4o mini：USD 0.15&lt;/td&gt;&lt;td&gt;&lt;strong&gt;节省 80%&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;代码生成 / 复杂对话&lt;/td&gt;&lt;td&gt;DeepSeek V3：&lt;strong&gt;USD 0.27&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;GPT-4.1：USD 2.00&lt;/td&gt;&lt;td&gt;&lt;strong&gt;节省 87%&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;高质量中文生成&lt;/td&gt;&lt;td&gt;Qwen 2.5 72B：&lt;strong&gt;USD 0.40&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Gemini 3.1 Pro：USD 2.00&lt;/td&gt;&lt;td&gt;&lt;strong&gt;节省 80%&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;数学推理 / 逻辑分析&lt;/td&gt;&lt;td&gt;DeepSeek R1：&lt;strong&gt;USD 4.00&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Claude Sonnet 4.6：USD 3.00&lt;/td&gt;&lt;td&gt;输入相近，Novita 无需订阅费&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;日处理 100 万 tokens 的项目，用 DeepSeek V3 替代 GPT-4.1，每月节省约 USD 51（USD 60 → USD 8.1）。&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;注册与获取 API Key&lt;a href=&quot;#注册与获取-api-key&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;第一步：注册账号&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;打开 &lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita AI 官网&lt;/a&gt;，点击 &lt;strong&gt;Sign Up&lt;/strong&gt;，用 Google 账号或邮箱注册。新账号会附送少量免费额度。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;第二步：充值&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;进入 &lt;strong&gt;Billing&lt;/strong&gt; 页面，最低充值 USD 5，支持 Visa / Mastercard（国内双币卡可用）。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;第三步：获取 API Key&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;进入 &lt;strong&gt;API Keys&lt;/strong&gt; 页面，点击 &lt;strong&gt;Create API Key&lt;/strong&gt;，复制生成的 Key（以 &lt;code&gt;sk-&lt;/code&gt; 开头）。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第一次 API 调用&lt;a href=&quot;#第一次-api-调用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;安装 OpenAI Python SDK（如果还没装）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pip&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;openai&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;调用 Novita API，只需要把 &lt;code&gt;base_url&lt;/code&gt; 指向 Novita，&lt;code&gt;api_key&lt;/code&gt; 换成你的 Novita Key：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; openai &lt;/span&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; OpenAI&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;client &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OpenAI&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;base_url&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;https://api.novita.ai/v3/openai&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;api_key&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;sk-your-novita-api-key&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;response &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; client.chat.completions.&lt;/span&gt;&lt;span&gt;create&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;model&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;meta-llama/llama-3.1-8b-instruct&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;messages&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;&quot;role&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;user&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;content&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;用一句话解释什么是 MCP 协议&quot;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;print&lt;/span&gt;&lt;span&gt;(response.choices[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;].message.content)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;运行成功说明 API 配置正确。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;推荐模型&lt;a href=&quot;#推荐模型&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;








































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;模型 ID&lt;/th&gt;&lt;th&gt;适用场景&lt;/th&gt;&lt;th&gt;Novita 价格&lt;/th&gt;&lt;th&gt;对标闭源模型&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;meta-llama/llama-3.1-8b-instruct&lt;/code&gt;&lt;/td&gt;&lt;td&gt;轻量对话、摘要、分类&lt;/td&gt;&lt;td&gt;USD 0.03 / M&lt;/td&gt;&lt;td&gt;GPT-4o mini（USD 0.15）的 &lt;strong&gt;1/5&lt;/strong&gt; 价；GPT-4.1（USD 2.00）的 &lt;strong&gt;1/67&lt;/strong&gt; 价&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;qwen/qwen3-4b&lt;/code&gt;&lt;/td&gt;&lt;td&gt;中文轻量任务&lt;/td&gt;&lt;td&gt;USD 0.03 / M&lt;/td&gt;&lt;td&gt;GPT-4o mini 的 &lt;strong&gt;1/5&lt;/strong&gt; 价&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;deepseek/deepseek-v3&lt;/code&gt;&lt;/td&gt;&lt;td&gt;代码生成、复杂对话&lt;/td&gt;&lt;td&gt;USD 0.27 / M（输入）&lt;/td&gt;&lt;td&gt;GPT-4.1（USD 2.00）的 &lt;strong&gt;1/7&lt;/strong&gt; 价；Gemini 3.1 Pro（USD 2.00）的 &lt;strong&gt;1/7&lt;/strong&gt; 价&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;qwen/qwen2.5-72b-instruct&lt;/code&gt;&lt;/td&gt;&lt;td&gt;高质量中文生成&lt;/td&gt;&lt;td&gt;USD 0.40 / M&lt;/td&gt;&lt;td&gt;Claude Sonnet 4.6（USD 3.00）的 &lt;strong&gt;1/7.5&lt;/strong&gt; 价&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;deepseek/deepseek-r1&lt;/code&gt;&lt;/td&gt;&lt;td&gt;数学推理、逻辑分析&lt;/td&gt;&lt;td&gt;USD 4.00 / M（输入）&lt;/td&gt;&lt;td&gt;与 Claude Sonnet 4.6（USD 3.00）相近，推理能力更强&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;模型 ID 格式为 &lt;code&gt;provider/model-name&lt;/code&gt;，完整列表在 Novita 控制台的 &lt;strong&gt;Models&lt;/strong&gt; 页面查看。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;在项目代码中使用 Novita（替代 OpenAI SDK）&lt;a href=&quot;#在项目代码中使用-novita替代-openai-sdk&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Code 支持配置自定义的 OpenAI 兼容 API 端点。设置方式：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在终端设置环境变量&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;sk-your-novita-api-key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;https://api.novita.ai/v3/openai&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;或者写入 &lt;code&gt;.env&lt;/code&gt; 文件（放在项目根目录）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;sk-your-novita-api-key&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;https://api.novita.ai/v3/openai&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;配置完成后，在代码里直接用 &lt;code&gt;openai&lt;/code&gt; 库调用，请求会自动路由到 &lt;a href=&quot;/olink/novita/&quot; target=&quot;_blank&quot;&gt;Novita&lt;/a&gt; 而非 OpenAI。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Claude Code 本身调用的是 Anthropic API，不受上述配置影响。这里的配置针对的是你自己的项目代码里调用 OpenAI SDK 的部分。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;注意事项&lt;a href=&quot;#注意事项&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;免费额度&lt;/strong&gt;：新账号有少量免费 credits，用完后需要充值才能继续。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;速率限制&lt;/strong&gt;：免费额度期间有较低的速率限制（RPM），充值后限制大幅放宽。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;模型可用性&lt;/strong&gt;：热门模型随时可能被替换为更新版本，建议在生产项目里锁定具体模型版本，而非用 &lt;code&gt;latest&lt;/code&gt; 别名。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;网络&lt;/strong&gt;：Novita API 在国内需要走代理访问。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Novita 和 OpenAI API 代码怎么互相切换？&lt;a href=&quot;#novita-和-openai-api-代码怎么互相切换&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;只改两处：&lt;code&gt;base_url&lt;/code&gt; 改为 &lt;code&gt;https://api.novita.ai/v3/openai&lt;/code&gt;，&lt;code&gt;api_key&lt;/code&gt; 改为 Novita Key，&lt;code&gt;model&lt;/code&gt; 参数改为 Novita 支持的模型 ID。其他代码不变。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Novita 的模型质量和 OpenAI 比怎么样？&lt;a href=&quot;#novita-的模型质量和-openai-比怎么样&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;轻量模型（Llama 3.1 8B、Qwen3 4B）适合简单任务，质量不如 GPT-4o。高端模型（DeepSeek R1、Qwen2.5 72B）在特定任务上可以接近 GPT-4o，代码和中文任务表现尤其好。具体效果建议用你的实际 prompt 测试。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;支持流式输出（streaming）吗？&lt;a href=&quot;#支持流式输出streaming吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;支持。设置 &lt;code&gt;stream=True&lt;/code&gt; 即可，用法和 OpenAI SDK 完全一致。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;图片生成也能用 Novita 吗？&lt;a href=&quot;#图片生成也能用-novita-吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以。Novita 支持 Stable Diffusion、FLUX 等图片生成模型，通过 Image API 调用，文档在 novita.ai/docs 查看。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;更多 AI 工具对比，看 &lt;a href=&quot;/posts/mcp-series/tools/&quot;&gt;AI 工具导航&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，价格和模型列表以 Novita 官网当前为准。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>ICP 备案通过后：阿里云 ECS 建站完整配置与 Nginx HTTPS 部署</title><link>https://www.yuntier.com/posts/site-ops/aliyun-setup/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/aliyun-setup/</guid><description>ICP 备案审核通过后的下一步：域名解析到 ECS、安装 Nginx、申请阿里云免费 SSL 证书、配置 HTTPS 和反向代理，以及首页底部展示备案号的合规要求。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;收到工信部备案通过的短信后，网站才能正式上线。这篇从域名解析开始，走完 Nginx 安装、HTTPS 证书申请、反代配置和备案号展示的完整流程。&lt;/p&gt;
&lt;p&gt;如果还没完成 ICP 备案，先看 &lt;a href=&quot;/posts/site-ops/icp-filing/&quot;&gt;阿里云 ICP 备案全流程&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;第一步：域名解析到 ECS&lt;a href=&quot;#第一步域名解析到-ecs&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;备案通过前不能做这一步——域名解析到境内服务器被检测到会影响审核。收到通过短信后再操作。&lt;/p&gt;&lt;p&gt;进入阿里云&lt;strong&gt;域名控制台 → 解析设置&lt;/strong&gt;，添加两条 A 记录：&lt;/p&gt;






















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;记录类型&lt;/th&gt;&lt;th&gt;主机记录&lt;/th&gt;&lt;th&gt;记录值&lt;/th&gt;&lt;th&gt;TTL&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;A&lt;/td&gt;&lt;td&gt;@&lt;/td&gt;&lt;td&gt;ECS 公网 IP&lt;/td&gt;&lt;td&gt;10 分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A&lt;/td&gt;&lt;td&gt;www&lt;/td&gt;&lt;td&gt;ECS 公网 IP&lt;/td&gt;&lt;td&gt;10 分钟&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;TTL 先设 10 分钟，调试期间改起来快。上线稳定后改为 10 分钟或更长。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证解析是否生效（本地执行）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+short&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-domain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出 ECS 公网 IP 说明解析已生效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第二步：安装 Nginx&lt;a href=&quot;#第二步安装-nginx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;SSH 登录 ECS，安装 Nginx：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认 Nginx 已启动&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 看到 active (running) 说明正常&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 设置开机自启&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;此时用浏览器访问 &lt;code&gt;http://your-domain.com&lt;/code&gt;，能看到 Nginx 默认欢迎页，说明域名解析和 Nginx 均正常。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第三步：申请阿里云免费 SSL 证书&lt;a href=&quot;#第三步申请阿里云免费-ssl-证书&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;阿里云提供免费的 DV 证书（有效期 3 个月，可以重复申请），不需要信用卡。&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;进入阿里云控制台，搜索 &lt;strong&gt;SSL 证书&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;点击&lt;strong&gt;免费证书&lt;/strong&gt;，选&lt;strong&gt;个人测试证书（免费版）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;填入域名（&lt;code&gt;your-domain.com&lt;/code&gt;），证书类型选 &lt;strong&gt;RSA 2048&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;验证方式选&lt;strong&gt;文件验证&lt;/strong&gt;或&lt;strong&gt;DNS 验证&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;section&gt;&lt;h3&gt;DNS 验证方式（推荐）&lt;a href=&quot;#dns-验证方式推荐&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;选 DNS 验证后，阿里云给出一条 TXT 记录：&lt;/p&gt;














&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;记录类型&lt;/th&gt;&lt;th&gt;主机记录&lt;/th&gt;&lt;th&gt;记录值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;TXT&lt;/td&gt;&lt;td&gt;_dnsauth&lt;/td&gt;&lt;td&gt;阿里云给出的验证值&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;在域名解析控制台添加这条记录，等待几分钟后回到证书控制台点&lt;strong&gt;验证&lt;/strong&gt;。验证通过后证书签发，通常几分钟内完成。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;下载并上传证书&lt;a href=&quot;#下载并上传证书&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;证书签发后，选 &lt;strong&gt;Nginx&lt;/strong&gt; 格式下载，得到两个文件：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;your-domain.com.pem    # 证书链&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;your-domain.com.key    # 私钥&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;上传到 ECS：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 本地执行，替换路径和 IP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-domain.com.pem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-ecs-ip:/etc/nginx/ssl/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-domain.com.key&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-ecs-ip:/etc/nginx/ssl/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 ECS 上创建目录（如果不存在）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/ssl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;700&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/ssl&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第四步：配置 Nginx&lt;a href=&quot;#第四步配置-nginx&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;静态网站&lt;a href=&quot;#静态网站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;适合 Mintlify 导出的静态文件、纯 HTML/CSS 站点：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-available/your-domain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen &lt;/span&gt;&lt;span&gt;80&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name &lt;/span&gt;&lt;span&gt;your-domain.com www.your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;301&lt;/span&gt;&lt;span&gt; https://your-domain.com$&lt;/span&gt;&lt;span&gt;request_uri&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen &lt;/span&gt;&lt;span&gt;443&lt;/span&gt;&lt;span&gt; ssl;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name &lt;/span&gt;&lt;span&gt;your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate &lt;/span&gt;&lt;span&gt;    /etc/nginx/ssl/your-domain.com.pem;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate_key &lt;/span&gt;&lt;span&gt;/etc/nginx/ssl/your-domain.com.key;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_protocols &lt;/span&gt;&lt;span&gt;      TLSv1.2 TLSv1.3;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;root &lt;/span&gt;&lt;span&gt;/var/www/your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;index &lt;/span&gt;&lt;span&gt;index.html;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;location&lt;/span&gt;&lt;span&gt; / {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;try_files &lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span&gt;uri&lt;/span&gt;&lt;span&gt; $&lt;/span&gt;&lt;span&gt;uri&lt;/span&gt;&lt;span&gt;/ &lt;/span&gt;&lt;span&gt;=404&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# www 跳转到根域名&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen &lt;/span&gt;&lt;span&gt;443&lt;/span&gt;&lt;span&gt; ssl;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name &lt;/span&gt;&lt;span&gt;www.your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate &lt;/span&gt;&lt;span&gt;    /etc/nginx/ssl/your-domain.com.pem;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate_key &lt;/span&gt;&lt;span&gt;/etc/nginx/ssl/your-domain.com.key;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;31&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;301&lt;/span&gt;&lt;span&gt; https://your-domain.com$&lt;/span&gt;&lt;span&gt;request_uri&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;32&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;反向代理（Node.js / Python 应用）&lt;a href=&quot;#反向代理nodejs--python-应用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;应用监听本地端口（如 3000），Nginx 做反代：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen &lt;/span&gt;&lt;span&gt;80&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name &lt;/span&gt;&lt;span&gt;your-domain.com www.your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;301&lt;/span&gt;&lt;span&gt; https://your-domain.com$&lt;/span&gt;&lt;span&gt;request_uri&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen &lt;/span&gt;&lt;span&gt;443&lt;/span&gt;&lt;span&gt; ssl;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name &lt;/span&gt;&lt;span&gt;your-domain.com;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate &lt;/span&gt;&lt;span&gt;    /etc/nginx/ssl/your-domain.com.pem;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_certificate_key &lt;/span&gt;&lt;span&gt;/etc/nginx/ssl/your-domain.com.key;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;   &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;ssl_protocols &lt;/span&gt;&lt;span&gt;      TLSv1.2 TLSv1.3;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;location&lt;/span&gt;&lt;span&gt; / {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_pass &lt;/span&gt;&lt;span&gt;        http://127.0.0.1:3000;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_http_version &lt;/span&gt;&lt;span&gt;1.1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header &lt;/span&gt;&lt;span&gt;  Host $&lt;/span&gt;&lt;span&gt;host&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header &lt;/span&gt;&lt;span&gt;  X-Real-IP $&lt;/span&gt;&lt;span&gt;remote_addr&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header &lt;/span&gt;&lt;span&gt;  X-Forwarded-For $&lt;/span&gt;&lt;span&gt;proxy_add_x_forwarded_for&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;       &lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header &lt;/span&gt;&lt;span&gt;  X-Forwarded-Proto $&lt;/span&gt;&lt;span&gt;scheme&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;启用配置&lt;a href=&quot;#启用配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 启用站点配置&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ln&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-available/your-domain.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-enabled/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 测试配置语法&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出 syntax is ok 和 test is successful 才能继续&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 重载 Nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;reload&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第五步：展示备案号（合规要求）&lt;a href=&quot;#第五步展示备案号合规要求&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;备案通过后，网站首页底部&lt;strong&gt;必须&lt;/strong&gt;展示工信部备案号，并链接到 &lt;code&gt;beian.miit.gov.cn&lt;/code&gt;。这是工信部的强制要求，不展示属于违规，阿里云会定期巡检。&lt;/p&gt;&lt;p&gt;在页面 HTML 的 &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; 里添加：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;footer&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;https://beian.miit.gov.cn&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;_blank&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rel&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;noopener&quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;京ICP备XXXXXXXX号&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;footer&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;备案号格式为&lt;strong&gt;省份缩写 + ICP备 + 数字 + 号&lt;/strong&gt;，在阿里云备案控制台或工信部网站 &lt;a href=&quot;https://beian.miit.gov.cn&quot; target=&quot;_blank&quot;&gt;beian.miit.gov.cn&lt;/a&gt; 上可以查到你的备案号。&lt;/p&gt;&lt;p&gt;如果网站还涉及公安备案（有互动功能的网站需要），在备案号旁边同样展示公安备案号和图标。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;验证清单&lt;a href=&quot;#验证清单&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 1. HTTP 是否跳转到 HTTPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-I&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http://your-domain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 应看到 301 和 Location: https://your-domain.com/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 2. HTTPS 是否正常&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-I&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://your-domain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 应看到 200&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 3. www 是否跳转到根域名&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-I&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://www.your-domain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 应看到 301 和 Location: https://your-domain.com/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 4. 证书是否有效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-vI&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://your-domain.com&lt;/span&gt;&lt;span&gt; 2&amp;gt;&amp;amp;1 | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-E&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;SSL|subject|expire&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Nginx 配置测试通过但网站打不开，报 502&lt;a href=&quot;#nginx-配置测试通过但网站打不开报-502&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;502 表示 Nginx 能收到请求，但后端应用没在运行或端口不对。检查：① 应用是否在运行（&lt;code&gt;ps aux | grep node&lt;/code&gt;）；② 应用监听的端口是否和 &lt;code&gt;proxy_pass&lt;/code&gt; 里一致；③ ECS 安全组是否放行了 80 和 443 端口。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;阿里云 ECS 安全组需要放行哪些端口？&lt;a href=&quot;#阿里云-ecs-安全组需要放行哪些端口&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;最少需要放行：22（SSH）、80（HTTP）、443（HTTPS）。在 ECS 控制台 → 安全组 → 入方向，添加这三条规则。安全组和 ufw 是两层控制，两处都要放行。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;免费 SSL 证书 3 个月后怎么续期？&lt;a href=&quot;#免费-ssl-证书-3-个月后怎么续期&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;阿里云免费证书到期前 30 天会发邮件提醒。到期前重新申请一张新证书，下载后替换 &lt;code&gt;/etc/nginx/ssl/&lt;/code&gt; 下的两个文件，执行 &lt;code&gt;sudo systemctl reload nginx&lt;/code&gt; 即可。整个操作不超过 10 分钟，不影响网站运行。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;备案号在哪里查？&lt;a href=&quot;#备案号在哪里查&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;登录阿里云备案控制台，在”我的备案”列表里找到对应域名，备案号显示在域名旁边。也可以在工信部官网 beian.miit.gov.cn 搜索域名查询。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;网站上线后阿里云会检查备案号展示吗？&lt;a href=&quot;#网站上线后阿里云会检查备案号展示吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;会。阿里云有自动巡检系统，定期抓取页面检查备案号是否展示。未展示的会收到整改通知，限期内不整改可能被暂停服务或注销备案。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，测试环境：Ubuntu 22.04 LTS，Nginx 1.24。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>搬瓦工 vs RackNerd：你的预算决定你该买哪个</title><link>https://www.yuntier.com/posts/site-ops/bandwagon-vs-racknerd/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/bandwagon-vs-racknerd/</guid><description>搬瓦工和 RackNerd 深度对比：CN2 GIA 与普通 BGP 线路的实际差距、USD 10 到 USD 50 年付的价格区间分析、按使用场景的选购建议，帮助中国用户快速判断搬瓦工 RackNerd 哪个更适合自己。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;两款产品定位差距很大，不存在”谁更好”——只有”哪个更适合你的需求和预算”。这篇用预算和使用场景帮你做决策。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;一句话定位&lt;a href=&quot;#一句话定位&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/olink/bandwagon/&quot; target=&quot;_blank&quot;&gt;搬瓦工（BandwagonHost）&lt;/a&gt;&lt;/strong&gt;：中国优化线路的老牌 VPS，CN2 GIA 是核心卖点，国内访问延迟低且稳定，价格偏高。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt;&lt;/strong&gt;：美国高性价比 VPS，普通 BGP 线路，年付低至 USD 10，流量给得大方，适合预算有限的场景。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;简短结论：预算 USD 15/年以内选 RackNerd；需要稳定低延迟访问中国大陆用户，选搬瓦工 CN2 GIA。&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;核心对比&lt;a href=&quot;#核心对比&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;












































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;对比项&lt;/th&gt;&lt;th&gt;搬瓦工&lt;/th&gt;&lt;th&gt;RackNerd&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;入门年付价格&lt;/td&gt;&lt;td&gt;USD 49.99/年（CN2 GIA-E）&lt;/td&gt;&lt;td&gt;~USD 10/年&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;线路类型&lt;/td&gt;&lt;td&gt;CN2 GIA / CN2 GT / 软银&lt;/td&gt;&lt;td&gt;普通 BGP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;国内延迟（参考）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;80–120ms（CN2 GIA）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;150–200ms（西海岸）&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;月流量&lt;/td&gt;&lt;td&gt;500GB–1TB（入门套餐）&lt;/td&gt;&lt;td&gt;1.5–2TB（入门套餐）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;可用机房&lt;/td&gt;&lt;td&gt;美国/日本/香港/新加坡（需对应套餐）&lt;/td&gt;&lt;td&gt;美国 10+ 个（同一套餐可选）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;支付宝&lt;/td&gt;&lt;td&gt;支持&lt;/td&gt;&lt;td&gt;支持&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;退款政策&lt;/td&gt;&lt;td&gt;30 天&lt;/td&gt;&lt;td&gt;30 天&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;线路差异是关键&lt;a href=&quot;#线路差异是关键&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这是两者最本质的区别，直接影响国内访问体验。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;搬瓦工 CN2 GIA 线路&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;CN2 GIA 是中国电信的高等级优化线路，全程 CN2，三网（电信/联通/移动）均有优化，晚高峰表现稳定，丢包率低。搬瓦工 CN2 GIA-E 套餐支持美国、日本、香港、新加坡等多个机房一键切换，遇到问题可以换机房而不用换套餐。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;RackNerd 普通 BGP 线路&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;BGP 线路是标准的国际互联网线路，没有专门针对中国大陆的优化。延迟比 CN2 GIA 高 50–80ms，晚高峰丢包比早上明显，速度受运营商和时段影响。但对于不依赖实时、低延迟访问的场景（博客、静态站、开发环境），BGP 线路完全够用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;按使用场景选择&lt;a href=&quot;#按使用场景选择&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;选 &lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt; 的情况：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;个人博客、文档站、导航站 — 读者主要通过搜索引擎进来，延迟 200ms 以内完全不影响体验&lt;/li&gt;
&lt;li&gt;开发测试环境 — 你自己连接，连接频率不高，200ms 延迟可以接受&lt;/li&gt;
&lt;li&gt;学生或刚入门，想低成本试用海外 VPS&lt;/li&gt;
&lt;li&gt;年付 USD 10–USD 15 的预算&lt;/li&gt;
&lt;li&gt;流量需求大（2TB/月以上）&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;选 &lt;a href=&quot;/olink/bandwagon/&quot; target=&quot;_blank&quot;&gt;搬瓦工&lt;/a&gt; 的情况：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;需要稳定低延迟访问国内用户（社区、论坛、工具站）&lt;/li&gt;
&lt;li&gt;代理节点对速度和稳定性有要求&lt;/li&gt;
&lt;li&gt;晚高峰业务高峰期，不能接受丢包和限速&lt;/li&gt;
&lt;li&gt;预算 USD 50/年以上&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;价格决策线&lt;a href=&quot;#价格决策线&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;USD 10–USD 15/年&lt;/strong&gt; → 只有 RackNerd（搬瓦工没有这个价位的产品）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USD 15–USD 49/年&lt;/strong&gt; → RackNerd 高配套餐（4核8G 级别）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USD 49.99/年&lt;/strong&gt; → 搬瓦工 CN2 GIA-E 入门套餐（1核1G，多机房切换）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USD 89.99/年&lt;/strong&gt; → 搬瓦工 CN2 GIA-E 进阶套餐（1核2G）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;USD 169.99/年+&lt;/strong&gt; → 搬瓦工洛杉矶 CN2 GIA 高配 / 日本软银套餐&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;预算低于 USD 50/年，只有 RackNerd 是合理选择。&lt;/strong&gt; 预算超过 USD 50/年，再根据对国内访问速度的要求做判断。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;购买入口&lt;a href=&quot;#购买入口&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;两者均支持支付宝付款，新用户注册后直接购买：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/olink/bandwagon/&quot; target=&quot;_blank&quot;&gt;搬瓦工官网&lt;/a&gt; — 建议选 CN2 GIA-E 套餐，性价比最高&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd 官网&lt;/a&gt; — 选西海岸机房（圣何塞/洛杉矶），购买流程看 &lt;a href=&quot;/posts/site-ops/olink/racknerd-guide/&quot; target=&quot;_blank&quot;&gt;RackNerd 购买完全指南&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;搬瓦工 CN2 GIA-E 套餐经常缺货怎么办？&lt;a href=&quot;#搬瓦工-cn2-gia-e-套餐经常缺货怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;CN2 GIA-E 是搬瓦工最热门的套餐，库存经常不足。可以在搬瓦工官网注册邮件通知，有货时会发邮件。等不及的话，CN2 GT 套餐价格更低，线路稍差但国内访问速度也不错。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;RackNerd 的 BGP 线路晚高峰会很卡吗？&lt;a href=&quot;#racknerd-的-bgp-线路晚高峰会很卡吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;晚高峰（20:00–23:00 国内时间）BGP 线路确实比 CN2 GIA 慢，主要表现为延迟升高和偶发丢包。对于静态网站或低频访问的服务影响不大；对实时性要求高的业务（直播、在线游戏）不建议用 BGP 线路。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;能先买 RackNerd，之后再换搬瓦工吗？&lt;a href=&quot;#能先买-racknerd之后再换搬瓦工吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;完全可以。两者都支持 30 天退款。先用 RackNerd 熟悉 VPS 操作，之后有需要再迁移到搬瓦工。迁移本质上就是在新服务器重新部署，主要工作是备份和恢复数据。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;搬瓦工支持退款吗？&lt;a href=&quot;#搬瓦工支持退款吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;支持 30 天退款保证，但仅限于首次购买。续费套餐如果退款会扣除已使用时间的费用。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;更多 VPS 对比和配置教程，看 &lt;a href=&quot;/posts/site-ops/vps-guide/&quot;&gt;VPS 选购与基础配置指南&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，价格和套餐以两家官网当前为准。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Cloudflare 接入全流程：DNS 代理、HTTPS 与缓存配置</title><link>https://www.yuntier.com/posts/site-ops/cloudflare-setup/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/cloudflare-setup/</guid><description>把域名接入 Cloudflare 的完整步骤：添加站点、修改 nameserver、DNS 代理模式选择、强制 HTTPS 跳转、缓存规则和 Page Rules 基础配置。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Cloudflare 是免费 CDN + DNS 管理 + 安全防护的组合，个人站点用免费套餐已经够用。接入后，所有流量经过 Cloudflare 节点中转，有缓存加速、DDoS 防护和自动 HTTPS 证书。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;接入前确认&lt;a href=&quot;#接入前确认&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;域名在注册商处可以修改 Nameserver（绝大多数都可以）&lt;/li&gt;
&lt;li&gt;已知域名当前的 DNS 记录（A 记录、CNAME 等），切换后要在 Cloudflare 重新配置&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第一步：在 Cloudflare 添加站点&lt;a href=&quot;#第一步在-cloudflare-添加站点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;注册并登录 &lt;a href=&quot;https://www.cloudflare.com&quot; target=&quot;_blank&quot;&gt;cloudflare.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击右上角 &lt;strong&gt;Add a domain&lt;/strong&gt;，输入你的域名（如 &lt;code&gt;example.com&lt;/code&gt;），点击 &lt;strong&gt;Continue&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;套餐选 &lt;strong&gt;Free&lt;/strong&gt;，点击 &lt;strong&gt;Continue&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Cloudflare 自动扫描现有 DNS 记录，核对列表是否完整——如果有遗漏的记录，在此步骤手动补充&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第二步：修改 Nameserver&lt;a href=&quot;#第二步修改-nameserver&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cloudflare 会给出两个专属 Nameserver 地址，格式类似：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;aria.ns.cloudflare.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;bob.ns.cloudflare.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;登录你的域名注册商控制台，找到 &lt;strong&gt;Nameserver（域名服务器）&lt;/strong&gt; 设置，替换为 Cloudflare 给出的两个地址。&lt;/p&gt;&lt;p&gt;以 Namecheap 为例：Domain List → Manage → Nameservers，选 &lt;strong&gt;Custom DNS&lt;/strong&gt;，填入上面两个地址。&lt;/p&gt;&lt;p&gt;Nameserver 修改后，全球传播需要几分钟到 24 小时。Cloudflare 控制台会轮询状态，生效后发邮件通知。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 用 dig 验证 Nameserver 是否已切换&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NS&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ANSWER SECTION 里应看到 cloudflare.com 的 NS 记录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第三步：DNS 代理模式&lt;a href=&quot;#第三步dns-代理模式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cloudflare 的 DNS 记录有两种模式，通过记录行右侧的云朵图标区分：&lt;/p&gt;



















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;模式&lt;/th&gt;&lt;th&gt;图标&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;已代理（Proxied）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;橙色云朵&lt;/td&gt;&lt;td&gt;流量经过 Cloudflare 节点，有 CDN 缓存、DDoS 防护，真实 IP 被隐藏&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;仅 DNS（DNS only）&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;灰色云朵&lt;/td&gt;&lt;td&gt;直接解析到源服务器 IP，Cloudflare 不中转流量&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;选哪个：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;网站的 A/CNAME 记录 → 选&lt;strong&gt;已代理&lt;/strong&gt;（橙色），享受 CDN 和防护&lt;/li&gt;
&lt;li&gt;MCP Server、数据库、邮件 MX 记录 → 选&lt;strong&gt;仅 DNS&lt;/strong&gt;（灰色），不能走代理&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在 Cloudflare DNS 面板点击云朵图标即可切换。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第四步：强制 HTTPS&lt;a href=&quot;#第四步强制-https&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;让所有 HTTP 请求自动跳转到 HTTPS。&lt;/p&gt;&lt;p&gt;进入 &lt;strong&gt;SSL/TLS → Edge Certificates&lt;/strong&gt;，开启以下两个开关：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Always Use HTTPS&lt;/strong&gt;：HTTP 请求强制 301 跳转到 HTTPS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatic HTTPS Rewrites&lt;/strong&gt;：把页面里的 HTTP 资源链接自动改为 HTTPS，避免混合内容警告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;SSL/TLS 加密模式选择（在 &lt;strong&gt;SSL/TLS → Overview&lt;/strong&gt;）：&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;模式&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;th&gt;选哪个&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Off&lt;/td&gt;&lt;td&gt;不加密&lt;/td&gt;&lt;td&gt;不选&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Flexible&lt;/td&gt;&lt;td&gt;Cloudflare 到用户 HTTPS，Cloudflare 到源服务器 HTTP&lt;/td&gt;&lt;td&gt;临时方案，不推荐&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Full&lt;/td&gt;&lt;td&gt;全程 HTTPS，但不验证源服务器证书&lt;/td&gt;&lt;td&gt;源服务器有自签名证书时用&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Full (Strict)&lt;/td&gt;&lt;td&gt;全程 HTTPS，验证源服务器证书&lt;/td&gt;&lt;td&gt;推荐，源服务器用 Let’s Encrypt 证书时选这个&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;源服务器已配好 Let’s Encrypt 证书（参考 &lt;a href=&quot;/posts/site-ops/vps-guide/&quot;&gt;VPS 选购与基础配置&lt;/a&gt;里的 Nginx + Certbot 步骤），选 &lt;strong&gt;Full (Strict)&lt;/strong&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第五步：缓存规则&lt;a href=&quot;#第五步缓存规则&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cloudflare 默认缓存静态资源（图片、CSS、JS），动态内容（HTML、API 响应）不缓存。&lt;/p&gt;&lt;p&gt;查看当前缓存状态：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查响应头，CF-Cache-Status 字段说明缓存状态&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-I&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://example.com/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# CF-Cache-Status 取值：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# HIT    - 命中缓存，从 Cloudflare 节点返回&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# MISS   - 未命中，从源服务器拉取&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# BYPASS - 绕过缓存&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# EXPIRED - 缓存已过期&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;清除缓存：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在 Cloudflare 控制台 &lt;strong&gt;Caching → Configuration → Purge Cache&lt;/strong&gt;，可以清除全站或指定 URL 的缓存。&lt;/p&gt;&lt;p&gt;文档站（Mintlify 托管）不需要手动配置缓存规则，Cloudflare 的默认策略已够用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第六步：Page Rules 基础配置&lt;a href=&quot;#第六步page-rules-基础配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Page Rules 对特定 URL 模式应用不同规则。免费套餐有 3 条 Page Rules。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;常用配置：把带 www 的 URL 301 重定向到根域名：&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;进入 &lt;strong&gt;Rules → Page Rules&lt;/strong&gt;，点击 &lt;strong&gt;Create Page Rule&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;URL 填 &lt;code&gt;www.example.com/*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Setting 选 &lt;strong&gt;Forwarding URL&lt;/strong&gt;，状态码选 &lt;strong&gt;301 - Permanent Redirect&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Destination URL 填 &lt;code&gt;https://example.com/$1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;保存并开启&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证重定向是否生效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-I&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://www.example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 应看到 301 响应和 Location: https://example.com/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Cloudflare 的 Page Rules 已逐渐被 Rules 下的 Redirect Rules 替代，功能更强、条数更多（免费套餐支持 10 条）。新配置建议用 &lt;strong&gt;Rules → Redirect Rules&lt;/strong&gt; 而不是 Page Rules。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;接入 Cloudflare 后网站打不开，报 526 错误怎么办？&lt;a href=&quot;#接入-cloudflare-后网站打不开报-526-错误怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;526 错误表示 Cloudflare 无法验证源服务器的 SSL 证书。解决：① 检查源服务器证书是否有效（Let’s Encrypt 没过期）；② 临时把 SSL 模式从 Full (Strict) 改为 Full，排查证书问题后再改回来。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;接入 Cloudflare 后真实 IP 泄露了怎么办？&lt;a href=&quot;#接入-cloudflare-后真实-ip-泄露了怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;检查 DNS 面板，所有网站域名的记录是否都是橙色云朵（已代理）。如果某条 A 记录是灰色，直接暴露了源 IP，点云朵切换为橙色。另外检查是否有其他子域名（如 mail.example.com）也暴露了同一 IP。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cloudflare 会减慢国内访问速度吗？&lt;a href=&quot;#cloudflare-会减慢国内访问速度吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cloudflare 的免费套餐在国内没有节点，流量会绕到海外节点再回源，实际可能比直接访问源服务器更慢。面向国内用户的站点，如果对速度有要求，考虑不接入 Cloudflare，或升级到 Cloudflare 付费套餐（有香港节点）。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cloudflare 和 CDN 加速是什么关系？&lt;a href=&quot;#cloudflare-和-cdn-加速是什么关系&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cloudflare 本身就是 CDN 提供商之一。接入后静态资源会缓存在全球边缘节点，用户访问时从最近的节点返回，不需要额外配置第三方 CDN。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>域名注册与 DNS 解析：A 记录、CNAME 与 TTL 实操指南</title><link>https://www.yuntier.com/posts/site-ops/domain-dns/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/domain-dns/</guid><description>在 RackNerd 或阿里云注册域名，配置 A 记录和 CNAME 记录，理解 TTL 对生效时间的影响，用 dig 命令验证解析结果。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;域名买好之后，需要通过 DNS 记录告诉互联网”这个域名指向哪个 IP”。这篇覆盖注册、记录配置、TTL 理解和验证四个环节。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;选哪家注册商&lt;a href=&quot;#选哪家注册商&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;注册商&lt;/th&gt;&lt;th&gt;优势&lt;/th&gt;&lt;th&gt;适合人群&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt;&lt;/td&gt;&lt;td&gt;价格实惠，VPS 含赠送域名，适合一站式采购&lt;/td&gt;&lt;td&gt;境外独立站，预算有限&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/aliyun/&quot; target=&quot;_blank&quot;&gt;阿里云万网&lt;/a&gt;&lt;/td&gt;&lt;td&gt;国内支付宝付款，与阿里云 ECS/备案深度集成&lt;/td&gt;&lt;td&gt;国内建站，需要 ICP 备案&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;https://www.cloudflare.com/products/registrar/&quot; target=&quot;_blank&quot;&gt;Cloudflare Registrar&lt;/a&gt;&lt;/td&gt;&lt;td&gt;以成本价出售，无续费溢价，DNS 直接托管&lt;/td&gt;&lt;td&gt;已经用 Cloudflare 的站点&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;选域名后缀建议：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.com&lt;/code&gt; 最通用，适合面向海外用户的站点&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.cn&lt;/code&gt; 在国内备案更顺畅，适合面向国内用户的站点&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.io&lt;/code&gt; / &lt;code&gt;.dev&lt;/code&gt; 适合开发者工具类产品&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;在国内使用境内服务器运营网站，无论哪个后缀都需要 ICP 备案。详见 &lt;a href=&quot;/posts/site-ops/icp-filing/&quot;&gt;阿里云 ICP 备案全流程&lt;/a&gt;。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;在 &lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt; 购买 VPS&lt;a href=&quot;#在-racknerd-购买-vps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;访问 &lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt;，选择合适的 VPS 套餐，加入购物车&lt;/li&gt;
&lt;li&gt;结算时填写域名信息，选择机房节点（洛杉矶/纽约/达拉斯等）&lt;/li&gt;
&lt;li&gt;付款后在控制台 → &lt;strong&gt;My Services&lt;/strong&gt; 找到刚购买的实例&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Manage&lt;/strong&gt; 查看 IP、root 密码等信息&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;在阿里云注册域名&lt;a href=&quot;#在阿里云注册域名&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;访问万网，搜索域名，加入清单&lt;/li&gt;
&lt;li&gt;下单前完成阿里云账号实名认证（必须，否则域名无法使用）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.cn&lt;/code&gt; 域名需要额外的域名持有者实名认证，提交身份证信息后 1-3 个工作日审核&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;DNS 记录类型&lt;a href=&quot;#dns-记录类型&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;建站最常用的两种记录：&lt;/p&gt;



















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;记录类型&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;th&gt;示例&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;A 记录&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;域名 → IPv4 地址&lt;/td&gt;&lt;td&gt;&lt;code&gt;example.com&lt;/code&gt; → &lt;code&gt;1.2.3.4&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;CNAME 记录&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;域名 → 另一个域名&lt;/td&gt;&lt;td&gt;&lt;code&gt;www.example.com&lt;/code&gt; → &lt;code&gt;example.com&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;其他常见记录：&lt;/p&gt;




















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;记录类型&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;AAAA&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;域名 → IPv6 地址&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;MX&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;指定邮件服务器，配置邮箱收发时用到&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;TXT&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;文本验证，用于域名所有权验证、SPF 邮件防伪等&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;配置 A 记录（域名指向 VPS）&lt;a href=&quot;#配置-a-记录域名指向-vps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;以注册商控制台为例，在域名管理页面找到 &lt;strong&gt;Advanced DNS&lt;/strong&gt; 或 &lt;strong&gt;DNS 解析&lt;/strong&gt; 标签。&lt;/p&gt;&lt;p&gt;添加两条 A 记录：&lt;/p&gt;






















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Host&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;&lt;th&gt;TTL&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;A Record&lt;/td&gt;&lt;td&gt;@&lt;/td&gt;&lt;td&gt;你的 VPS IP&lt;/td&gt;&lt;td&gt;Automatic&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A Record&lt;/td&gt;&lt;td&gt;www&lt;/td&gt;&lt;td&gt;你的 VPS IP&lt;/td&gt;&lt;td&gt;Automatic&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@&lt;/code&gt; 代表根域名（&lt;code&gt;example.com&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;www&lt;/code&gt; 代表 &lt;code&gt;www.example.com&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 阿里云控制台：进入域名解析 → 添加记录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 记录类型选 A，主机记录填 @ 或 www，记录值填 VPS IP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;配置 CNAME 记录&lt;a href=&quot;#配置-cname-记录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNAME 用于把一个子域名指向另一个域名（而不是直接指向 IP）。常见场景：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;把 &lt;code&gt;www.example.com&lt;/code&gt; → &lt;code&gt;example.com&lt;/code&gt;（让带 www 和不带 www 的访问都能工作）&lt;/li&gt;
&lt;li&gt;把 &lt;code&gt;docs.example.com&lt;/code&gt; → Mintlify/Vercel 等托管平台给的域名&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 示例：把 docs 子域名指向 Mintlify&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type: CNAME&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Host: docs&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Value: custom.mintlify.dev&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;TTL: Automatic&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;根域名（&lt;code&gt;@&lt;/code&gt;）不能用 CNAME，只能用 A 记录。CNAME 只能用于子域名。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;TTL 说明&lt;a href=&quot;#ttl-说明&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;TTL（Time to Live）是 DNS 记录的缓存时间，单位秒。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;TTL = 300：全球 DNS 缓存最多 5 分钟，改了记录 5 分钟内全球生效&lt;/li&gt;
&lt;li&gt;TTL = 3600：缓存 1 小时，改了记录最长需要 1 小时才能全量生效&lt;/li&gt;
&lt;li&gt;TTL = 86400：缓存 24 小时&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;建议：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;第一次配置，把 TTL 设低（300 秒），调试完成后改回 3600&lt;/li&gt;
&lt;li&gt;计划迁移服务器前，提前把 TTL 改为 300，等旧 TTL 过期后再改 A 记录指向新 IP，可以最小化迁移期间的访问中断&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;用 dig 验证解析结果&lt;a href=&quot;#用-dig-验证解析结果&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;DNS 记录添加后需要时间传播，用 &lt;code&gt;dig&lt;/code&gt; 验证是否生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 安装 dig（Ubuntu/Debian）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;dnsutils&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查询 A 记录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;example.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;A&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查询 CNAME 记录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;www.example.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;CNAME&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 指定 DNS 服务器查询（绕过本地缓存）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@8.8.8.8&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;example.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;A&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;输出中看 &lt;code&gt;ANSWER SECTION&lt;/code&gt;，能看到记录和对应的值说明解析已生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;;; ANSWER SECTION:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;example.com.    300    IN    A    1.2.3.4&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果 &lt;code&gt;ANSWER SECTION&lt;/code&gt; 为空，说明记录还未传播或配置有误。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 快速验证：只看解析结果&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dig&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;+short&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;example.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 直接输出 IP，如果为空说明还未生效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;DNS 记录配置了很久还没生效怎么办？&lt;a href=&quot;#dns-记录配置了很久还没生效怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;先用 &lt;code&gt;dig @8.8.8.8 example.com&lt;/code&gt; 查询，绕过本地 ISP 缓存。如果 8.8.8.8 已经返回正确结果，说明是本地缓存问题，等待或刷新本地 DNS 缓存（macOS：&lt;code&gt;sudo dscacheutil -flushcache&lt;/code&gt;，Windows：&lt;code&gt;ipconfig /flushdns&lt;/code&gt;）。如果 8.8.8.8 也没返回，检查注册商控制台里记录是否保存成功。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;根域名和 www 子域名都需要配置吗？&lt;a href=&quot;#根域名和-www-子域名都需要配置吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;建议都配置。用户可能直接输入 &lt;code&gt;example.com&lt;/code&gt; 或 &lt;code&gt;www.example.com&lt;/code&gt;，两者都应该能访问。如果你用 Nginx，额外配置一条 server 块把 www 重定向到根域名（或反之），统一规范 URL。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;国内 DNS 和国际 DNS 有什么区别？&lt;a href=&quot;#国内-dns-和国际-dns-有什么区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;部分注册商（如阿里云）支持按地区返回不同解析结果（智能解析/GeoDNS），可以让国内用户访问境内服务器，海外用户访问境外服务器。普通个人站点用默认的单一 A 记录即可，不需要配置智能解析。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>RackNerd 购买完全指南：注册、机房选择、支付宝付款</title><link>https://www.yuntier.com/posts/site-ops/racknerd-guide/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/racknerd-guide/</guid><description>RackNerd 是美国高性价比 VPS 服务商，年付最低约 USD 10，支持支付宝付款。本指南覆盖套餐选择、机房延迟对比（圣何塞/洛杉矶）、注册购买到 SSH 激活的完整流程，适合第一次购买海外 VPS 的中国用户。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;RackNerd 是成立于 2019 年的美国 VPS 服务商，以年付低至 USD 10 的高性价比套餐著称，支持支付宝付款，是国内用户入门海外 VPS 的常见选择。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;第一次购买通常卡在两个地方：不知道选哪个机房，不确定支付流程。这篇从套餐选择到 SSH 验证，走完完整流程。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;RackNerd 适合谁&lt;a href=&quot;#racknerd-适合谁&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt; 是美国 VPS 服务商，主打高性价比年付套餐。它不是速度最快的选择，但在这个价位段稳定性和售后都超出预期。&lt;/p&gt;&lt;p&gt;适合这几类场景：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;个人博客、文档站、导航站&lt;/li&gt;
&lt;li&gt;开发测试环境、轻量 API 服务&lt;/li&gt;
&lt;li&gt;搭建代理节点（非商业用途）&lt;/li&gt;
&lt;li&gt;需要长期低成本稳定运行的服务&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：对国内访问延迟要求极高的生产环境（那种场景看 &lt;a href=&quot;/posts/site-ops/bandwagon-vs-racknerd/&quot;&gt;搬瓦工 vs RackNerd 对比&lt;/a&gt;）。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;RackNerd 套餐怎么选&lt;a href=&quot;#racknerd-套餐怎么选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;RackNerd 几乎每个月都有促销，年付价格通常在 USD 10–USD 25 之间。建议直接选年付，月付性价比低很多。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;入门推荐配置（年付约 USD 10–USD 12）：&lt;/strong&gt;&lt;/p&gt;




























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;/th&gt;&lt;th&gt;推荐值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CPU&lt;/td&gt;&lt;td&gt;1 vCPU&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;内存&lt;/td&gt;&lt;td&gt;1GB&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;存储&lt;/td&gt;&lt;td&gt;20–30GB NVMe SSD&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;流量&lt;/td&gt;&lt;td&gt;1.5–2TB/月&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;带宽&lt;/td&gt;&lt;td&gt;1Gbps&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;个人项目这个配置完全够用。跑 Node.js 或 Python 服务选 1核2G，留一点内存余量。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;RackNerd 促销套餐库存有限，热门机房经常售罄。看到合适的直接下单，不要等。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;RackNerd 机房怎么选&lt;a href=&quot;#racknerd-机房怎么选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这是最关键的决策。&lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd&lt;/a&gt; 在美国有 10+ 个机房，对中国用户来说，&lt;strong&gt;优先选西海岸&lt;/strong&gt;：&lt;/p&gt;







































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;机房&lt;/th&gt;&lt;th&gt;到国内延迟（参考）&lt;/th&gt;&lt;th&gt;推荐程度&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;圣何塞（San Jose）&lt;/td&gt;&lt;td&gt;150–180ms&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐ 首选&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;洛杉矶（Los Angeles）&lt;/td&gt;&lt;td&gt;160–200ms&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐ 首选&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;西雅图（Seattle）&lt;/td&gt;&lt;td&gt;170–210ms&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;达拉斯（Dallas）&lt;/td&gt;&lt;td&gt;220–260ms&lt;/td&gt;&lt;td&gt;⭐⭐⭐&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;芝加哥（Chicago）&lt;/td&gt;&lt;td&gt;240–270ms&lt;/td&gt;&lt;td&gt;⭐⭐&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;纽约（New York）&lt;/td&gt;&lt;td&gt;260–290ms&lt;/td&gt;&lt;td&gt;⭐⭐&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;东海岸机房延迟明显偏高，晚高峰丢包也更多，没有特殊理由不要选。&lt;/p&gt;&lt;p&gt;实际延迟受运营商和时段影响，以上仅供参考（数据来源：用户实测均值，2026-04）。正式使用前可以用 &lt;a href=&quot;https://ping.pe&quot; target=&quot;_blank&quot;&gt;ping.pe&lt;/a&gt; 验证目标机房 IP 的实测延迟。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;注册步骤&lt;a href=&quot;#注册步骤&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;打开 &lt;a href=&quot;/olink/racknerd/&quot; target=&quot;_blank&quot;&gt;RackNerd 官网&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;点击右上角 &lt;strong&gt;Client Area&lt;/strong&gt; → &lt;strong&gt;Register&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;填写邮箱和密码，不需要手机号&lt;/li&gt;
&lt;li&gt;注册完成后登录，进入控制台&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;填写账单地址时，国家选 China，省份和城市随意填，不影响购买。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;购买流程&lt;a href=&quot;#购买流程&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;第一步：选择套餐&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;进入 &lt;strong&gt;VPS Hosting&lt;/strong&gt; 页面，选择当前促销套餐。注意看套餐页面上的机房列表，确认你想要的机房在可选范围内。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;第二步：配置选项&lt;/strong&gt;&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;选项&lt;/th&gt;&lt;th&gt;建议&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Billing Cycle&lt;/td&gt;&lt;td&gt;Annual（年付，性价比最高）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Location&lt;/td&gt;&lt;td&gt;圣何塞或洛杉矶&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Operating System&lt;/td&gt;&lt;td&gt;Ubuntu 22.04 LTS 64-bit&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Root Password&lt;/td&gt;&lt;td&gt;自定义，记下来&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;第三步：结账&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;点击 &lt;strong&gt;Order Now&lt;/strong&gt; → &lt;strong&gt;Checkout&lt;/strong&gt;，进入账单页面：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;如果有优惠码，在 &lt;strong&gt;Promo Code&lt;/strong&gt; 框里填入（没有则跳过）&lt;/li&gt;
&lt;li&gt;点击 &lt;strong&gt;Complete Order&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;第四步：支付宝付款&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;选择支付方式时选 &lt;strong&gt;Alipay（支付宝）&lt;/strong&gt;，页面会跳转到支付宝扫码页面。扫码完成后会自动返回，通常 1–5 分钟内 VPS 激活完成。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;激活后：SSH 验证&lt;a href=&quot;#激活后ssh-验证&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;付款完成后，登录控制台进入 &lt;strong&gt;Services → My Services&lt;/strong&gt;，点击刚购买的 VPS，查看：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;IP Address（服务器 IP）&lt;/li&gt;
&lt;li&gt;Root Password（初始密码）&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;打开终端连接：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 替换为你的服务器 IP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-server-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 第一次连接会弹出指纹确认提示，输入 yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 然后输入控制台里的 Root Password&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;登录成功后确认系统信息：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认系统版本&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsb_release&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认公网 IP 与控制台一致&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.ipify.org&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 更新软件包&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;upgrade&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;SSH 登录成功说明 VPS 激活正常。接下来建议参考 &lt;a href=&quot;/posts/site-ops/vps-guide/&quot;&gt;VPS 基础安全加固&lt;/a&gt; 配置公钥登录和防火墙。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;付款后多久 VPS 能用？&lt;a href=&quot;#付款后多久-vps-能用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;支付宝付款完成后通常 1–5 分钟自动激活。超过 10 分钟没收到邮件，检查垃圾邮件箱，或登录控制台查看 Services 状态。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;流量用完了怎么办？&lt;a href=&quot;#流量用完了怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;套餐流量用完后带宽会被限速，服务不会中断。可以在控制台申请流量翻倍（部分促销套餐支持），或等下个月重置。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;IP 被封了怎么处理？&lt;a href=&quot;#ip-被封了怎么处理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;RackNerd 支持免费或低价换 IP（具体政策以当前控制台为准）。在 Services 页面提交 Support Ticket，说明需要更换 IP，通常 24 小时内处理。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;能退款吗？&lt;a href=&quot;#能退款吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;RackNerd 提供 30 天退款保证（Money Back Guarantee），如果使用体验不满意可以提交退款申请。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;支付宝付款后没有跳转怎么办？&lt;a href=&quot;#支付宝付款后没有跳转怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;回到控制台 Billing → Invoices，找到待支付的订单，点击 View Invoice，重新选择支付宝付款即可。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;买完 VPS 之后的下一步：&lt;a href=&quot;/posts/site-ops/vps-guide/&quot;&gt;VPS 选购与基础配置：从选机到 SSH 安全加固&lt;/a&gt; — 覆盖创建普通用户、配置公钥登录、禁用密码认证、设置 ufw 防火墙的完整流程。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，RackNerd 促销套餐以官网当前上架为准。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Vercel + Cloudflare 国内加速：从部署到自定义域名全流程</title><link>https://www.yuntier.com/posts/site-ops/vercel-cloudflare-china/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/vercel-cloudflare-china/</guid><description>Vercel 在中国大陆访问不稳定的根因与解决方案：绑定自定义域名并通过 Cloudflare CNAME 实现国内加速，含 enhanced-FaaS 优选节点配置、SSL/TLS 模式设置和 526 证书报错处理。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Vercel 默认分配的 &lt;code&gt;vercel.app&lt;/code&gt; 域名在中国大陆经常无法访问，原因是该域名遭到 DNS 污染，且 Vercel 的边缘节点不在大陆。解决方法是绑定自定义域名并走 Cloudflare 代理，绕过 DNS 污染问题。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;前提&lt;a href=&quot;#前提&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;已有一个域名（Namesilo / Cloudflare Registrar / 阿里云均可）&lt;/li&gt;
&lt;li&gt;已将域名 DNS 迁移到 Cloudflare（&lt;a href=&quot;/posts/site-ops/cloudflare-setup/&quot;&gt;Cloudflare 配置指南&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;Vercel 账号已部署了项目&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第一步：在 Vercel 绑定自定义域名&lt;a href=&quot;#第一步在-vercel-绑定自定义域名&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;进入项目 → &lt;strong&gt;Settings&lt;/strong&gt; → &lt;strong&gt;Domains&lt;/strong&gt; → 添加你的域名（如 &lt;code&gt;app.yourdomain.com&lt;/code&gt;）。&lt;/p&gt;&lt;p&gt;Vercel 会显示 DNS 配置要求，通常是一条 CNAME 记录：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;CNAME  app  cname.vercel-dns.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;先不要在 Cloudflare 里添加这条记录，下一步用优化方案替代。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第二步：Cloudflare CNAME 配置&lt;a href=&quot;#第二步cloudflare-cname-配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;标准方案&lt;a href=&quot;#标准方案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在 Cloudflare DNS 面板添加记录：&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;名称&lt;/th&gt;&lt;th&gt;内容&lt;/th&gt;&lt;th&gt;代理状态&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CNAME&lt;/td&gt;&lt;td&gt;app&lt;/td&gt;&lt;td&gt;cname.vercel-dns.com&lt;/td&gt;&lt;td&gt;仅 DNS（灰云）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;绑定 Vercel 自定义域名时，Cloudflare 代理（橙云）会干扰 Vercel 的域名验证。先用灰云完成验证，看到 Vercel 显示两个绿色勾后再决定是否开启代理。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;优化方案（enhanced-FaaS-in-China）&lt;a href=&quot;#优化方案enhanced-faas-in-china&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;标准方案对国内访问速度的提升有限。&lt;a href=&quot;https://github.com/xingpingcn/enhanced-FaaS-in-China&quot; target=&quot;_blank&quot;&gt;enhanced-FaaS-in-China&lt;/a&gt; 提供了优选过的 CNAME 节点，在中国大陆访问更稳定。&lt;/p&gt;&lt;p&gt;将 CNAME 记录的内容改为优选节点：&lt;/p&gt;
















&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;名称&lt;/th&gt;&lt;th&gt;内容&lt;/th&gt;&lt;th&gt;代理状态&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CNAME&lt;/td&gt;&lt;td&gt;app&lt;/td&gt;&lt;td&gt;vercel-cname.xingpingcn.top&lt;/td&gt;&lt;td&gt;仅 DNS（灰云）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;在 Vercel Domains 设置里，域名验证通过（两个绿勾）后这条记录即生效。&lt;/p&gt;&lt;p&gt;验证是否生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 从国内网络检测解析结果&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nslookup&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app.yourdomain.com&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 期望看到解析到非 76.76.21.x 的 IP（76.76.21.x 是 Vercel 默认节点，国内不稳定）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第三步：SSL/TLS 模式设置&lt;a href=&quot;#第三步ssltls-模式设置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cloudflare 和 Vercel 之间需要 SSL 配置匹配，否则会出现证书错误。&lt;/p&gt;&lt;p&gt;在 Cloudflare 面板：&lt;strong&gt;SSL/TLS&lt;/strong&gt; → &lt;strong&gt;概述&lt;/strong&gt; → 选择 &lt;strong&gt;完全（Full）&lt;/strong&gt; 模式。&lt;/p&gt;&lt;p&gt;不要选”灵活（Flexible）“——灵活模式下 Cloudflare 到 Vercel 是明文传输，Vercel 会返回 SSL 错误。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见报错&lt;a href=&quot;#常见报错&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;526 无效 SSL 证书&lt;a href=&quot;#526-无效-ssl-证书&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cloudflare 无法验证源服务器（Vercel）的证书。原因通常是 SSL/TLS 模式设为了”灵活”，改为”完全”即可。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;CNAME 扁平化冲突（根域名无法使用 CNAME）&lt;a href=&quot;#cname-扁平化冲突根域名无法使用-cname&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果你想用根域名（&lt;code&gt;yourdomain.com&lt;/code&gt; 而非 &lt;code&gt;app.yourdomain.com&lt;/code&gt;）指向 Vercel，DNS 协议不允许根域名设置 CNAME。&lt;/p&gt;&lt;p&gt;解决方法：在 Cloudflare 添加 &lt;code&gt;A&lt;/code&gt; 记录，指向 Vercel 的 IP，或在 Vercel 的 Domains 里选择使用 &lt;code&gt;www&lt;/code&gt; 子域并配置根域名重定向。&lt;/p&gt;&lt;p&gt;实际上 Cloudflare 对根域名有 CNAME Flattening 功能，可以把根域名的 CNAME 在查询时自动解析为 A 记录，Vercel 验证页面会提示 Vercel 专用的配置方式。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Vercel 域名验证一直未通过&lt;a href=&quot;#vercel-域名验证一直未通过&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cloudflare 的代理（橙云）会隐藏真实 DNS，导致 Vercel 看不到预期的 CNAME。验证期间保持灰云状态，验证通过后再切换。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;效果预期&lt;a href=&quot;#效果预期&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;配置完成后，国内访问你的应用走的路径是：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;用户 → Cloudflare/优选节点 → Vercel 边缘（新加坡/日本）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;与默认的 &lt;code&gt;vercel.app&lt;/code&gt; 相比，DNS 解析稳定，访问成功率显著提升。由于 Vercel 最近的大陆外节点在亚太区，延迟通常在 80~150ms，无法做到大陆节点那样的 10ms 级别，但足够支撑正常使用。&lt;/p&gt;&lt;p&gt;如果对延迟要求更高，可考虑将静态资源托管到阿里云 OSS + CDN，仅用 Vercel 处理 SSR 请求。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;域名购买与 DNS 基础配置见 &lt;a href=&quot;/posts/site-ops/domain-dns/&quot;&gt;域名与 DNS 配置&lt;/a&gt;。Cloudflare 账号设置见 &lt;a href=&quot;/posts/site-ops/cloudflare-setup/&quot;&gt;Cloudflare 配置指南&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>VPS 选购与基础配置：从选机到 SSH 安全加固</title><link>https://www.yuntier.com/posts/site-ops/vps-guide/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/vps-guide/</guid><description>主流 VPS 服务商横向对比，核心参数选择建议，SSH 首次登录流程，以及修改端口、禁用密码登录、配置 ufw 防火墙的基础安全加固步骤。</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;独立站需要一台 VPS。这篇覆盖从选机到首次登录再到基础安全加固的完整流程，只写实际用过的服务商和配置。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;主流服务商对比&lt;a href=&quot;#主流服务商对比&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;服务商&lt;/th&gt;&lt;th&gt;优势&lt;/th&gt;&lt;th&gt;适合场景&lt;/th&gt;&lt;th&gt;最低月费&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/greengeeks/&quot; target=&quot;_blank&quot;&gt;GreenGeeks&lt;/a&gt;&lt;/td&gt;&lt;td&gt;老牌美国主机商，SSD 存储，含免费域名与 SSL&lt;/td&gt;&lt;td&gt;个人项目、轻量 Web 服务&lt;/td&gt;&lt;td&gt;USD 2.95&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/vultr/&quot; target=&quot;_blank&quot;&gt;Vultr&lt;/a&gt;&lt;/td&gt;&lt;td&gt;机房覆盖广，日本/新加坡节点延迟低&lt;/td&gt;&lt;td&gt;面向亚洲用户的站点&lt;/td&gt;&lt;td&gt;USD 2.5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/digitalocean/&quot; target=&quot;_blank&quot;&gt;DigitalOcean&lt;/a&gt;&lt;/td&gt;&lt;td&gt;文档完善，控制台友好&lt;/td&gt;&lt;td&gt;初学者、需要 Managed DB&lt;/td&gt;&lt;td&gt;USD 4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;/olink/bandwagon/&quot; target=&quot;_blank&quot;&gt;搬瓦工（BandwagonHost）&lt;/a&gt;&lt;/td&gt;&lt;td&gt;CN2 GIA 线路，国内访问速度快&lt;/td&gt;&lt;td&gt;国内用户为主的站点&lt;/td&gt;&lt;td&gt;USD 49.99/年&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;选择建议：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;目标用户在国内 → &lt;a href=&quot;/olink/bandwagon/&quot; target=&quot;_blank&quot;&gt;搬瓦工&lt;/a&gt; CN2 GIA 或 &lt;a href=&quot;/olink/vultr/&quot; target=&quot;_blank&quot;&gt;Vultr&lt;/a&gt; Tokyo/Singapore&lt;/li&gt;
&lt;li&gt;目标用户在海外 → &lt;a href=&quot;/olink/greengeeks/&quot; target=&quot;_blank&quot;&gt;GreenGeeks&lt;/a&gt;（含免费域名，适合入门）&lt;/li&gt;
&lt;li&gt;需要部署 MCP Server 供个人使用 → &lt;a href=&quot;/olink/greengeeks/&quot; target=&quot;_blank&quot;&gt;GreenGeeks Pro&lt;/a&gt; 或 &lt;a href=&quot;/olink/vultr/&quot; target=&quot;_blank&quot;&gt;Vultr&lt;/a&gt; 1核2G&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;以上价格随时可能变动，以服务商官网当前标价为准。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;核心参数选择&lt;a href=&quot;#核心参数选择&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;操作系统&lt;/strong&gt;：选 Ubuntu 22.04 LTS。LTS 版本支持周期长，社区资料最多，本文后续命令均基于此系统。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;机房地区&lt;/strong&gt;：用 &lt;a href=&quot;https://ping.pe&quot; target=&quot;_blank&quot;&gt;ping.pe&lt;/a&gt; 测试目标服务商各机房到国内的延迟，选延迟最低的节点。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置&lt;/strong&gt;：个人博客/文档站从最低配置起步（1核1G），跑 Node.js 服务选 1核2G 以上。存储选 SSD，不选 HDD。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;IP 类型&lt;/strong&gt;：必须是独立公网 IP，不能是共享 NAT 型。下单前确认规格页写的是”dedicated IP”。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;首次 SSH 登录&lt;a href=&quot;#首次-ssh-登录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;服务商创建完实例后，控制台会给出 IP 地址和初始 root 密码（或让你上传公钥）。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 用 root 登录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-server-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 第一次连接会提示 &quot;Are you sure you want to continue connecting?&quot;，输入 yes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认系统信息&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsb_release&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认公网 IP（应与控制台一致）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.ipify.org&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;登录成功后立刻做安全加固，不要直接在 root + 密码登录的状态下开始部署服务。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;基础安全加固&lt;a href=&quot;#基础安全加固&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1. 创建普通用户，禁止直接使用 root&lt;a href=&quot;#1-创建普通用户禁止直接使用-root&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 创建新用户（替换 yourname）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;adduser&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 加入 sudo 组&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;usermod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-aG&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 切换到新用户测试&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;su&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;whoami&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出 root 说明 sudo 权限正常&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2. 配置 SSH 公钥登录&lt;a href=&quot;#2-配置-ssh-公钥登录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在&lt;strong&gt;本机&lt;/strong&gt;生成密钥对（如果还没有）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 本机执行&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh-keygen&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ed25519&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-C&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;your-email@example.com&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 默认存在 ~/.ssh/id_ed25519 和 ~/.ssh/id_ed25519.pub&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;把公钥上传到服务器：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 本机执行，替换用户名和 IP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh-copy-id&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname@your-server-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输入一次密码后，后续 SSH 登录不再需要密码&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;验证公钥登录可用：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname@your-server-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 不需要输入密码即可登录，说明配置成功&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3. 禁用 root 远程登录和密码认证&lt;a href=&quot;#3-禁用-root-远程登录和密码认证&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;确认公钥登录正常后再做这步，否则可能把自己锁在外面。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在服务器上编辑 SSH 配置&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/ssh/sshd_config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;找到以下行，确认或修改为：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PermitRootLogin no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PasswordAuthentication no&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 重启 SSH 服务使配置生效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;restart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sshd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 不要关闭当前会话，新开一个终端窗口测试能否正常登录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认新窗口能登录后再关闭当前会话&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4. 修改 SSH 默认端口（可选）&lt;a href=&quot;#4-修改-ssh-默认端口可选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;默认 22 端口会被大量自动扫描工具探测。改端口能减少无效的暴力破解请求。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nano&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/ssh/sshd_config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 找到 Port 22，改为其他端口，如 Port 2222&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;restart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sshd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;之后登录需要指定端口：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;2222&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;yourname@your-server-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5. 配置 ufw 防火墙&lt;a href=&quot;#5-配置-ufw-防火墙&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 安装 ufw（Ubuntu 通常预装）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 设置默认策略：拒绝所有入站，允许所有出站&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;deny&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;incoming&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;outgoing&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 放行 SSH 端口（如果改了端口，替换 22）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;22/tcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 放行 HTTP 和 HTTPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;80/tcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;allow&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;443/tcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 启用防火墙&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输入 y 确认&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看当前规则&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;verbose&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;验证清单&lt;a href=&quot;#验证清单&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查开放端口&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tlnp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 ufw 状态&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ufw&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 SSH 配置&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sshd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-T&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-E&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;permitrootlogin|passwordauthentication|port&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;SSH 连接超时，连不上服务器怎么办？&lt;a href=&quot;#ssh-连接超时连不上服务器怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;先在服务商控制台检查：① 防火墙/安全组规则是否放行了 22（或你修改后的 SSH 端口）；② 实例状态是否为”运行中”。部分服务商（如 &lt;a href=&quot;/olink/vultr/&quot; target=&quot;_blank&quot;&gt;Vultr&lt;/a&gt;）有独立的防火墙规则页面，和 ufw 是两层控制，两处都要放行。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;忘记修改 SSH 端口后的端口号怎么办？&lt;a href=&quot;#忘记修改-ssh-端口后的端口号怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;通过服务商控制台的 VNC/Console 功能直接登录服务器（不走 SSH），执行 &lt;code&gt;sudo sshd -T | grep port&lt;/code&gt; 查看当前端口。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;ufw enable 后被锁在外面怎么办？&lt;a href=&quot;#ufw-enable-后被锁在外面怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;通过服务商控制台的 VNC/Console 登录，执行 &lt;code&gt;sudo ufw disable&lt;/code&gt; 关闭防火墙，重新检查规则后再启用。这是最常见的操作失误，建议 &lt;code&gt;ufw enable&lt;/code&gt; 之前用 &lt;code&gt;ufw status&lt;/code&gt; 确认规则，确保 SSH 端口已在放行列表里。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;VPS 需要备案吗？&lt;a href=&quot;#vps-需要备案吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;境外主机（&lt;a href=&quot;/olink/greengeeks/&quot; target=&quot;_blank&quot;&gt;GreenGeeks&lt;/a&gt;、&lt;a href=&quot;/olink/vultr/&quot; target=&quot;_blank&quot;&gt;Vultr&lt;/a&gt;、&lt;a href=&quot;/olink/digitalocean/&quot; target=&quot;_blank&quot;&gt;DigitalOcean&lt;/a&gt; 等）不需要 ICP 备案。但使用境外服务器的网站无法接入国内 CDN，国内访问速度受跨境线路影响。如果需要在国内备案，必须使用境内 VPS，参考 &lt;a href=&quot;/posts/site-ops/icp-filing/&quot;&gt;阿里云 ICP 备案全流程&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-04，测试系统：Ubuntu 22.04 LTS。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>国内订阅 Claude Pro：支付宝买 Apple 礼品卡全流程图文教程</title><link>https://www.yuntier.com/posts/claude-guide/register/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/register/</guid><description>没有境外信用卡也能订阅 Claude Pro。18 张实操截图，带你走完支付宝买 Apple 礼品卡→注册美区 Apple ID→切换 App Store→兑换礼品卡→升级 Claude Pro 的完整流程。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Claude Pro 订阅页只接受境外 Visa/Mastercard，国内支付宝和微信直接被挡在门外。这篇教程给你一条完全可行的路：用支付宝买一张 USD 20 Apple 礼品卡，配上一个美区 Apple ID，在 iPhone 上完成 Claude Pro 国内订阅，全程不需要境外信用卡。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;前置条件&lt;a href=&quot;#前置条件&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;开始前确认三件事：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;iPhone 一部&lt;/strong&gt;：Claude Pro 通过 iOS App Store 内购完成付款，Android 暂不支持这条路径&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;支付宝 App（已实名认证）&lt;/strong&gt;：首次购买境外礼品卡需要身份认证，提前准备好身份证&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全新邮箱一个&lt;/strong&gt;：用于注册美区 Apple ID，强烈建议用没注册过任何 Apple 账号的邮箱，避免地区冲突&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;整个流程分六步，按顺序执行，每步独立，不可以跳步。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第一步：用支付宝购买 USD 20 Apple 礼品卡&lt;a href=&quot;#第一步用支付宝购买-usd-20-apple-礼品卡&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Pro 月费 USD 20，买一张面值 USD 20 的 Apple 礼品卡刚好够一个月。&lt;/p&gt;&lt;p&gt;打开支付宝，点击首页右上角的城市名称，切换到境外城市（如”旧金山”），支付宝进入境外服务模式。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;切换支付宝到美国地区访问境外服务&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/alipay-switch-to-us-region.DFz7ZK9l_ZWUXTr.webp&quot; srcset=&quot;/_astro/alipay-switch-to-us-region.DFz7ZK9l_1IUTgU.webp 640w, /_astro/alipay-switch-to-us-region.DFz7ZK9l_Z20mG0d.webp 750w, /_astro/alipay-switch-to-us-region.DFz7ZK9l_Z1zwf7d.webp 828w, /_astro/alipay-switch-to-us-region.DFz7ZK9l_Z15Bh5D.webp 1080w, /_astro/alipay-switch-to-us-region.DFz7ZK9l_ZWUXTr.webp 1206w&quot; /&gt;&lt;figcaption&gt;切换支付宝到美国地区访问境外服务&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;切换后在境外服务区找到”礼品卡”入口，选择 Apple 礼品卡。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;在支付宝境外服务中选择 Apple 礼品卡&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/alipay-select-apple-gift-card.BnyXppb2_Z2uht71.webp&quot; srcset=&quot;/_astro/alipay-select-apple-gift-card.BnyXppb2_1yk7Lq.webp 640w, /_astro/alipay-select-apple-gift-card.BnyXppb2_Z7W0yn.webp 750w, /_astro/alipay-select-apple-gift-card.BnyXppb2_Z1MMXBN.webp 828w, /_astro/alipay-select-apple-gift-card.BnyXppb2_Z2bsyQm.webp 1080w, /_astro/alipay-select-apple-gift-card.BnyXppb2_Z2uht71.webp 1206w&quot; /&gt;&lt;figcaption&gt;在支付宝境外服务中选择 Apple 礼品卡&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;面值选 USD 20，折合人民币约 138 元（汇率浮动，以付款时页面显示为准）。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;下单 USD 20 Apple 礼品卡，页面显示汇率和金额&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_BmKGT.webp&quot; srcset=&quot;/_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_Z1mxkzW.webp 640w, /_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_1Hr2J2.webp 750w, /_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_2l4Nfd.webp 828w, /_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_TmN8j.webp 1080w, /_astro/alipay-order-apple-gift-card-20usd.N3_EqHiA_BmKGT.webp 1206w&quot; /&gt;&lt;figcaption&gt;下单 USD 20 Apple 礼品卡，页面显示汇率和金额&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;首次购买境外礼品卡会触发身份认证&lt;/strong&gt;，按提示上传身份证信息，通常几分钟内审核通过，这是一次性操作。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;支付宝首次购买境外礼品卡需要身份认证&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/alipay-identity-verification.BuHYHekd_2sae0E.webp&quot; srcset=&quot;/_astro/alipay-identity-verification.BuHYHekd_8s1m4.webp 640w, /_astro/alipay-identity-verification.BuHYHekd_ZaSmTv.webp 750w, /_astro/alipay-identity-verification.BuHYHekd_11ncNe.webp 828w, /_astro/alipay-identity-verification.BuHYHekd_2uoC8f.webp 1080w, /_astro/alipay-identity-verification.BuHYHekd_2sae0E.webp 1206w&quot; /&gt;&lt;figcaption&gt;支付宝首次购买境外礼品卡需要身份认证&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;购买成功后，页面显示礼品卡兑换码，格式为 &lt;code&gt;XXXX XXXX XXXX XXXX&lt;/code&gt;。&lt;strong&gt;立刻截图保存，或手动复制到备忘录&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Apple 礼品卡订单成功页面显示兑换码&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/alipay-gift-card-order-success.CTHorNAn_Z1h2uqD.webp&quot; srcset=&quot;/_astro/alipay-gift-card-order-success.CTHorNAn_ZsP2k3.webp 640w, /_astro/alipay-gift-card-order-success.CTHorNAn_VPdxr.webp 750w, /_astro/alipay-gift-card-order-success.CTHorNAn_1NIGfK.webp 828w, /_astro/alipay-gift-card-order-success.CTHorNAn_2mC567.webp 1080w, /_astro/alipay-gift-card-order-success.CTHorNAn_Z1h2uqD.webp 1206w&quot; /&gt;&lt;figcaption&gt;Apple 礼品卡订单成功页面显示兑换码&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第二步：注册美区 Apple ID&lt;a href=&quot;#第二步注册美区-apple-id&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;如果你已有美区 Apple ID，跳过本步，直接进入第三步。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;用手机或电脑浏览器访问 &lt;a href=&quot;https://appleid.apple.com&quot; target=&quot;_blank&quot;&gt;appleid.apple.com&lt;/a&gt;，点击”创建 Apple 账户”。关键：&lt;strong&gt;国家/地区必须选”美国”&lt;/strong&gt;，这一步决定了账号归属地区，注册后无法轻易更改。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;在 appleid.apple.com 注册美区 Apple ID&quot; loading=&quot;lazy&quot; width=&quot;2083&quot; height=&quot;1248&quot; src=&quot;/_astro/apple-id-us-account-registration.D1VIaUxF_ccYso.webp&quot; srcset=&quot;/_astro/apple-id-us-account-registration.D1VIaUxF_1RBCJ0.webp 640w, /_astro/apple-id-us-account-registration.D1VIaUxF_1Ipul0.webp 750w, /_astro/apple-id-us-account-registration.D1VIaUxF_ZqIQyj.webp 828w, /_astro/apple-id-us-account-registration.D1VIaUxF_Z1giPQU.webp 1080w, /_astro/apple-id-us-account-registration.D1VIaUxF_2ozfar.webp 1280w, /_astro/apple-id-us-account-registration.D1VIaUxF_hXquq.webp 1668w, /_astro/apple-id-us-account-registration.D1VIaUxF_Z2qY3sF.webp 2048w, /_astro/apple-id-us-account-registration.D1VIaUxF_ccYso.webp 2083w&quot; /&gt;&lt;figcaption&gt;在 appleid.apple.com 注册美区 Apple ID&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;验证手机号时，&lt;strong&gt;中国手机号（+86）完全可用&lt;/strong&gt;，不需要美国号码。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Apple ID 账户安全设置，中国手机号可用&quot; loading=&quot;lazy&quot; width=&quot;2103&quot; height=&quot;1452&quot; src=&quot;/_astro/apple-id-verify-phone-number.DzvjhcgB_ZLgBvz.webp&quot; srcset=&quot;/_astro/apple-id-verify-phone-number.DzvjhcgB_udnwE.webp 640w, /_astro/apple-id-verify-phone-number.DzvjhcgB_XGN3j.webp 750w, /_astro/apple-id-verify-phone-number.DzvjhcgB_Z1a8G8v.webp 828w, /_astro/apple-id-verify-phone-number.DzvjhcgB_2snPrD.webp 1080w, /_astro/apple-id-verify-phone-number.DzvjhcgB_18KHEb.webp 1280w, /_astro/apple-id-verify-phone-number.DzvjhcgB_1ISRUa.webp 1668w, /_astro/apple-id-verify-phone-number.DzvjhcgB_227gAl.webp 2048w, /_astro/apple-id-verify-phone-number.DzvjhcgB_ZLgBvz.webp 2103w&quot; /&gt;&lt;figcaption&gt;Apple ID 账户安全设置，中国手机号可用&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第三步：把 App Store 切换到美区&lt;a href=&quot;#第三步把-app-store-切换到美区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在 iPhone 上打开 App Store，点击右上角头像进入账户页。用上一步注册的美区账号登录后，点进”账户设置”。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;App Store 账户页面&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/apple-id-switch-country-step1.DGedHpgZ_Z1gmrNd.webp&quot; srcset=&quot;/_astro/apple-id-switch-country-step1.DGedHpgZ_25KI5D.webp 640w, /_astro/apple-id-switch-country-step1.DGedHpgZ_otzJP.webp 750w, /_astro/apple-id-switch-country-step1.DGedHpgZ_Z1gmniA.webp 828w, /_astro/apple-id-switch-country-step1.DGedHpgZ_ZWxxxy.webp 1080w, /_astro/apple-id-switch-country-step1.DGedHpgZ_Z1gmrNd.webp 1206w&quot; /&gt;&lt;figcaption&gt;App Store 账户页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;账户设置里找到”国家/地区”，当前显示”中国大陆”，点击进入修改。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;App Store 账户设置显示当前地区为中国大陆&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/apple-id-switch-country-step2.BYw5YNDR_iQ8N3.webp&quot; srcset=&quot;/_astro/apple-id-switch-country-step2.BYw5YNDR_ENwRl.webp 640w, /_astro/apple-id-switch-country-step2.BYw5YNDR_Z11sAss.webp 750w, /_astro/apple-id-switch-country-step2.BYw5YNDR_2nRzi3.webp 828w, /_astro/apple-id-switch-country-step2.BYw5YNDR_BF33H.webp 1080w, /_astro/apple-id-switch-country-step2.BYw5YNDR_iQ8N3.webp 1206w&quot; /&gt;&lt;figcaption&gt;App Store 账户设置显示当前地区为中国大陆&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;选择”美国”后，&lt;strong&gt;付款方式选”None”&lt;/strong&gt;（礼品卡余额会作为支付来源，不需要绑定信用卡）。账单地址填写一个美国免税州地址，推荐 Delaware（特拉华州，销售税率 0%）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Street: 1007 N Orange St&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;City: Wilmington&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;State: DE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ZIP Code: 19801&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Phone: 302-555-1234&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;其他免税州：Oregon（俄勒冈）、Montana（蒙大拿）、Alaska（阿拉斯加）。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;填写美国免税州账单地址切换 App Store 地区&quot; loading=&quot;lazy&quot; width=&quot;863&quot; height=&quot;1306&quot; src=&quot;/_astro/apple-id-switch-country-billing-step3.WIDLrBXF_Z2dESGm.webp&quot; srcset=&quot;/_astro/apple-id-switch-country-billing-step3.WIDLrBXF_ZtAnzl.webp 640w, /_astro/apple-id-switch-country-billing-step3.WIDLrBXF_Z1NxWQ5.webp 750w, /_astro/apple-id-switch-country-billing-step3.WIDLrBXF_Z1Wgrr4.webp 828w, /_astro/apple-id-switch-country-billing-step3.WIDLrBXF_Z2dESGm.webp 863w&quot; /&gt;&lt;figcaption&gt;填写美国免税州账单地址切换 App Store 地区&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;确认提交后，账户设置里”国家/地区”变为”美国”，切换完成。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;App Store 账户地区成功切换到美国&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/apple-id-switch-country-completed-step4.D6mt5BPY_WukXA.webp&quot; srcset=&quot;/_astro/apple-id-switch-country-completed-step4.D6mt5BPY_G6Fgx.webp 640w, /_astro/apple-id-switch-country-completed-step4.D6mt5BPY_Z18nTzh.webp 750w, /_astro/apple-id-switch-country-completed-step4.D6mt5BPY_Z5qUei.webp 828w, /_astro/apple-id-switch-country-completed-step4.D6mt5BPY_W3FMu.webp 1080w, /_astro/apple-id-switch-country-completed-step4.D6mt5BPY_WukXA.webp 1206w&quot; /&gt;&lt;figcaption&gt;App Store 账户地区成功切换到美国&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第四步：兑换 Apple 礼品卡&lt;a href=&quot;#第四步兑换-apple-礼品卡&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;回到 App Store 账户页，点击”兑换充值卡或代码”。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;App Store 账户页面显示兑换礼品卡选项&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/app-store-redeem-gift-card.DVB8iygE_FuPir.webp&quot; srcset=&quot;/_astro/app-store-redeem-gift-card.DVB8iygE_Z2sYD2T.webp 640w, /_astro/app-store-redeem-gift-card.DVB8iygE_Z1865v6.webp 750w, /_astro/app-store-redeem-gift-card.DVB8iygE_ZHfDC6.webp 828w, /_astro/app-store-redeem-gift-card.DVB8iygE_xOx7f.webp 1080w, /_astro/app-store-redeem-gift-card.DVB8iygE_FuPir.webp 1206w&quot; /&gt;&lt;figcaption&gt;App Store 账户页面显示兑换礼品卡选项&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;选”手动输入兑换码”，把第一步保存的礼品卡码填入。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;在 App Store 兑换页面手动输入礼品卡兑换码&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/app-store-enter-gift-card-code.Bvt29SQC_ZzPkvq.webp&quot; srcset=&quot;/_astro/app-store-enter-gift-card-code.Bvt29SQC_ZhsB8K.webp 640w, /_astro/app-store-enter-gift-card-code.Bvt29SQC_18cDIJ.webp 750w, /_astro/app-store-enter-gift-card-code.Bvt29SQC_2067r3.webp 828w, /_astro/app-store-enter-gift-card-code.Bvt29SQC_Z21mSMB.webp 1080w, /_astro/app-store-enter-gift-card-code.Bvt29SQC_ZzPkvq.webp 1206w&quot; /&gt;&lt;figcaption&gt;在 App Store 兑换页面手动输入礼品卡兑换码&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;兑换成功后，账户余额立即更新为 USD 20。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第五步：安装 Claude App&lt;a href=&quot;#第五步安装-claude-app&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在美区 App Store 搜索”Claude”，找到 &lt;strong&gt;Claude by Anthropic&lt;/strong&gt;，点”获取”安装。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;从美区 App Store 搜索并安装 Claude&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/app-store-install-claude-app.CnR2Tt6f_1dxx0a.webp&quot; srcset=&quot;/_astro/app-store-install-claude-app.CnR2Tt6f_245Uxv.webp 640w, /_astro/app-store-install-claude-app.CnR2Tt6f_1JJwgV.webp 750w, /_astro/app-store-install-claude-app.CnR2Tt6f_Z28b1Og.webp 828w, /_astro/app-store-install-claude-app.CnR2Tt6f_1fLV7K.webp 1080w, /_astro/app-store-install-claude-app.CnR2Tt6f_1dxx0a.webp 1206w&quot; /&gt;&lt;figcaption&gt;从美区 App Store 搜索并安装 Claude&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;安装完成后打开 App，用你的 &lt;strong&gt;claude.ai 账号&lt;/strong&gt;（不是 Apple ID）登录。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第六步：在 App 内升级 Claude Pro&lt;a href=&quot;#第六步在-app-内升级-claude-pro&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;打开 Claude App，点击右上角设置图标，找到”Upgrade”按钮。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Claude App 设置页面显示升级按钮&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/claude-app-settings-upgrade.DkQboSN5_FRfh5.webp&quot; srcset=&quot;/_astro/claude-app-settings-upgrade.DkQboSN5_1thQID.webp 640w, /_astro/claude-app-settings-upgrade.DkQboSN5_nBEib.webp 750w, /_astro/claude-app-settings-upgrade.DkQboSN5_2sUxy.webp 828w, /_astro/claude-app-settings-upgrade.DkQboSN5_12zMNh.webp 1080w, /_astro/claude-app-settings-upgrade.DkQboSN5_FRfh5.webp 1206w&quot; /&gt;&lt;figcaption&gt;Claude App 设置页面显示升级按钮&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;进入 Billing 页面：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Claude App Billing 设置页面&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/claude-pro-billing-plan.3V0CPkCa_25cbUC.webp&quot; srcset=&quot;/_astro/claude-pro-billing-plan.3V0CPkCa_Z2bvY8T.webp 640w, /_astro/claude-pro-billing-plan.3V0CPkCa_2qW5uz.webp 750w, /_astro/claude-pro-billing-plan.3V0CPkCa_Z16DXOV.webp 828w, /_astro/claude-pro-billing-plan.3V0CPkCa_Z1cSVKB.webp 1080w, /_astro/claude-pro-billing-plan.3V0CPkCa_25cbUC.webp 1206w&quot; /&gt;&lt;figcaption&gt;Claude App Billing 设置页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;升级页面显示两个选项，选月付（USD 20.00/月）或年付（USD 214.99/年，约 USD 17.9/月）：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Claude Pro 套餐选择页面&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/claude-pro-plan-selection-20usd.RfDL8KGR_2kWJ3d.webp&quot; srcset=&quot;/_astro/claude-pro-plan-selection-20usd.RfDL8KGR_Z1vDrcW.webp 640w, /_astro/claude-pro-plan-selection-20usd.RfDL8KGR_Zb4C84.webp 750w, /_astro/claude-pro-plan-selection-20usd.RfDL8KGR_Z22gQKP.webp 828w, /_astro/claude-pro-plan-selection-20usd.RfDL8KGR_Z2htRIx.webp 1080w, /_astro/claude-pro-plan-selection-20usd.RfDL8KGR_2kWJ3d.webp 1206w&quot; /&gt;&lt;figcaption&gt;Claude Pro 套餐选择页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;App Store 用礼品卡余额完成扣款，弹出确认框后点”好”：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;Claude Pro 购买成功确认弹窗&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/claude-pro-purchase-success.4KjNbSvO_Z4jVmc.webp&quot; srcset=&quot;/_astro/claude-pro-purchase-success.4KjNbSvO_17Masl.webp 640w, /_astro/claude-pro-purchase-success.4KjNbSvO_26X1S.webp 750w, /_astro/claude-pro-purchase-success.4KjNbSvO_Zj1KHJ.webp 828w, /_astro/claude-pro-purchase-success.4KjNbSvO_hnBa0.webp 1080w, /_astro/claude-pro-purchase-success.4KjNbSvO_Z4jVmc.webp 1206w&quot; /&gt;&lt;figcaption&gt;Claude Pro 购买成功确认弹窗&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;回到 Settings 页，Billing 一栏显示”Pro plan”，升级完成，权益立即生效。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;国内可以订阅 Claude Pro 吗？&lt;a href=&quot;#国内可以订阅-claude-pro-吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude 官网（claude.ai/upgrade）不支持国内支付方式。但通过 iPhone App Store 内购可以绕过这个限制——App Store 的付款由 Apple 处理，礼品卡余额可以直接用于 Claude Pro 内购。这条路径目前（2026年3月）完全可行。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;没有境外信用卡怎么付款？&lt;a href=&quot;#没有境外信用卡怎么付款&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;礼品卡余额支付完全不需要信用卡。在 App Store 账户里付款方式选”None”，内购时直接从礼品卡余额扣款。续费时同样如此，只要账户余额充足，每月自动扣 USD 20。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;美区 Apple ID 注册需要什么信息？&lt;a href=&quot;#美区-apple-id-注册需要什么信息&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;只需要：邮箱（全新邮箱）、密码、手机号（中国 +86 可用）。注册时国家选”美国”。不需要美国手机号，也不需要美国信用卡。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;订阅完成后 Claude Pro 什么时候生效？&lt;a href=&quot;#订阅完成后-claude-pro-什么时候生效&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;内购确认后立即生效，不需要等待。进入 Claude App 的 Settings → Billing，显示”Pro plan”即为激活。下个计费周期在一个月后自动续费，会从 App Store 余额扣款，如余额不足需提前充值礼品卡。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Claude Pro 和免费版有什么区别？&lt;a href=&quot;#claude-pro-和免费版有什么区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;主要区别三点：① 消息配额更高，每天可发送更多消息；② 可使用 Claude 更高级的模型；③ 可创建无限数量的 Projects，免费版有数量限制。&lt;/p&gt;&lt;p&gt;订阅完成后，下一步是把 Claude 用起来。&lt;a href=&quot;/posts/claude-guide/tips/&quot;&gt;Claude 使用技巧&lt;/a&gt; 介绍 Projects 配置、上下文管理和 Claude Code 实战建议。Claude Code 终端工具的完整安装与配置说明见 &lt;a href=&quot;/posts/claude-guide/claude-code/&quot;&gt;Claude Code 完整使用指南&lt;/a&gt;。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude 使用技巧：Projects、提示词与 MCP 工具调用实战</title><link>https://www.yuntier.com/posts/claude-guide/tips/</link><guid isPermaLink="true">https://www.yuntier.com/posts/claude-guide/tips/</guid><description>提升 Claude 使用效率的实用技巧：Projects 管理、系统提示词配置、对话上下文控制，以及 Claude Code 和 MCP 工具调用的实战建议。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这里收录在日常使用 Claude 中跑通的技巧，只写自己验证过的方案。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Projects：给 Claude 持久记忆&lt;a href=&quot;#projects给-claude-持久记忆&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Projects 是 Claude Pro 最被低估的功能。在 Project 里设置 System Prompt，每次对话 Claude 都会带着这些上下文，不需要每次重新说明背景。&lt;/p&gt;&lt;p&gt;典型用法：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;把你的技术栈、代码风格偏好、常用框架写进 System Prompt&lt;/li&gt;
&lt;li&gt;上传项目相关文档作为知识库（阿里云文档、API 文档等）&lt;/li&gt;
&lt;li&gt;针对不同项目建不同 Project，上下文互不干扰&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Tip&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;System Prompt 计入上下文窗口，但不消耗对话消息次数配额。重复性背景信息放进去，比每次在对话里说更省消息额度。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;section&gt;&lt;h3&gt;System Prompt 写法示例&lt;a href=&quot;#system-prompt-写法示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;一个针对 Node.js 后端项目的 System Prompt：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;你是一个 Node.js 后端开发助手。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;技术栈：Node.js 20、TypeScript、Fastify、Prisma、PostgreSQL。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;代码风格：函数式优先，避免 class；变量命名用 camelCase；注释用中文。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;项目约束：不引入新的第三方库，除非我明确要求；所有数据库查询必须经过 Prisma，不写原生 SQL。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;回答时直接给代码，不需要解释显而易见的内容。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;把这类背景放进 System Prompt 后，每次对话都不需要重复说明，Claude 会自动遵守。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;知识库上传建议&lt;a href=&quot;#知识库上传建议&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Projects 支持上传文件作为知识库，适合放：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;API 文档（上传 OpenAPI spec 或 PDF）&lt;/li&gt;
&lt;li&gt;内部规范文档&lt;/li&gt;
&lt;li&gt;数据库 Schema 或 ERD 说明&lt;/li&gt;
&lt;li&gt;频繁参考的第三方文档片段&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;单个 Project 文件上传上限约 20 个文件，单文件建议不超过 50KB，太大的文档拆成关键章节上传效果更好。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;控制对话上下文长度&lt;a href=&quot;#控制对话上下文长度&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude 的对话质量和上下文长度直接相关——但上下文太长，模型对早期内容的注意力会下降（“中间迷失”现象）。&lt;/p&gt;&lt;p&gt;实用建议：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;单次对话专注一个问题，不要把十个问题堆在一个会话里&lt;/li&gt;
&lt;li&gt;遇到复杂任务，用 &lt;code&gt;---&lt;/code&gt; 明确分段，帮助 Claude 区分不同子任务&lt;/li&gt;
&lt;li&gt;需要 Claude 记住特定约束（比如”只用 TypeScript”），在每轮关键节点重申一次&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h3&gt;何时开新对话&lt;a href=&quot;#何时开新对话&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;以下情况建议开新对话，而不是在原来的会话里继续：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;话题发生了根本性转变（从写代码变成讨论架构）&lt;/li&gt;
&lt;li&gt;对话已经超过 20 轮，Claude 开始忽略早期内容&lt;/li&gt;
&lt;li&gt;之前的错误答案已经污染了上下文（Claude 倾向于维持一致性，即使之前说错了）&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;搭配 MCP 使用&lt;a href=&quot;#搭配-mcp-使用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Desktop 和 Cursor 都支持 MCP（Model Context Protocol），配置后 Claude 可以直接操作数据库、读取文件系统、调用 GitHub API 等，不需要手动复制粘贴内容。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;典型接入场景&lt;a href=&quot;#典型接入场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;工具&lt;/th&gt;&lt;th&gt;效果&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;filesystem MCP&lt;/td&gt;&lt;td&gt;Claude 直接读写本地文件，不需要你粘贴内容&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;GitHub MCP&lt;/td&gt;&lt;td&gt;Claude 直接查 PR、issue，操作 repo&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PostgreSQL MCP&lt;/td&gt;&lt;td&gt;Claude 直接查询数据库，生成分析报告&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Fetch MCP&lt;/td&gt;&lt;td&gt;Claude 直接抓取网页内容作为参考&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Claude Desktop 配置 MCP 示例&lt;a href=&quot;#claude-desktop-配置-mcp-示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;（macOS）：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/projects&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-github&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;your_token&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;配置完重启 Claude Desktop，对话框左下角会出现工具图标，说明 MCP 已接入。&lt;/p&gt;&lt;p&gt;具体配置方法和更多 MCP Server 参考 &lt;a href=&quot;/posts/mcp-series/mcp/&quot;&gt;MCP 系列&lt;/a&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;提示词技巧&lt;a href=&quot;#提示词技巧&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;给 Claude 一个角色&lt;a href=&quot;#给-claude-一个角色&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在对话开头明确角色，输出质量明显提升：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;“你是一个专注性能优化的 Go 工程师，帮我 review 这段代码”&lt;/li&gt;
&lt;li&gt;“你是一个严格的 code reviewer，找出所有潜在的安全漏洞”&lt;/li&gt;
&lt;li&gt;“你是一个技术文档作者，把这段代码的逻辑写成用户文档”&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;输出格式控制&lt;a href=&quot;#输出格式控制&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;需要特定格式时，直接说：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;“用 Markdown 表格对比这三个方案的优劣”&lt;/li&gt;
&lt;li&gt;“只输出代码，不要解释”&lt;/li&gt;
&lt;li&gt;“给出三个方案，每个方案用一句话说明适用场景”&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;让 Claude 暴露不确定性&lt;a href=&quot;#让-claude-暴露不确定性&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude 有时会自信地给出错误答案。加上这句话能减少”幻觉”：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;“如果你不确定，直接说不知道，不要猜测。”&lt;/p&gt;&lt;/blockquote&gt;&lt;hr /&gt;&lt;p&gt;Claude Code 的安装、工作流和权限管理见 &lt;a href=&quot;/posts/claude-guide/claude-code/&quot;&gt;Claude Code 完整使用指南&lt;/a&gt;。国内网络配置见 &lt;a href=&quot;/posts/claude-guide/claude-code-china-guide/&quot;&gt;Claude Code 国内使用指南&lt;/a&gt;。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>MCP 完整学习路径：从协议原理到本地配置与云端 VPS 部署</title><link>https://www.yuntier.com/posts/mcp-series/mcp/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp/</guid><description>完整的 Model Context Protocol 学习路径：从协议原理到真实应用场景，再到本地配置和云端 VPS 部署，五篇文章覆盖所有环节。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;MCP（Model Context Protocol）是 Anthropic 于 2024 年 11 月开源的 AI 工具调用标准协议，目前已成为 Claude Desktop、Cursor、Zed 等主流 AI 客户端的通用接入方式。这里是 MCP 系列的完整学习路径。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;学习路径&lt;a href=&quot;#学习路径&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/posts/mcp-series/mcp-what-is-mcp/&quot;&gt;MCP 是什么？&lt;/a&gt;：从 AI 为何不知道今天天气切入，讲清楚 Host / Client / Server 三层架构和 MCP vs Function Calling 的本质区别。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/mcp-series/mcp-what-can-mcp-do/&quot;&gt;MCP 能做什么？&lt;/a&gt;：10 个真实应用场景，每个场景含可直接复制的配置代码：Slack、GitHub、数据库、Blender……&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/mcp-series/mcp-local-debug/&quot;&gt;本地 MCP Server 配置&lt;/a&gt;：macOS 和 Windows 双系统命令对照，MCP Inspector 调试，三个高频报错的具体解法。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/mcp-series/mcp-local-vs-remote/&quot;&gt;本地 vs 云端：什么时候上 VPS？&lt;/a&gt;：5 个必须上云的场景分析，附决策树帮你判断要不要上 VPS。&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/posts/mcp-series/mcp-remote-vps/&quot;&gt;云端 VPS 自托管 Remote MCP Server&lt;/a&gt;：从零部署 Remote MCP Server：Nginx HTTPS 反代、Bearer Token 鉴权、systemd 守护进程，每步含可执行命令。&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Desktop + Cursor 本地 MCP Server 配置从零到跑通</title><link>https://www.yuntier.com/posts/mcp-series/mcp-local-debug/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-local-debug/</guid><description>本地 MCP Server 配置完整教程：macOS 和 Windows 双系统命令对照，MCP Inspector 实时调试，Claude Desktop 日志路径，以及 spawn ENOENT / connection refused / timeout 三个高频报错的具体解法。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;已经知道 MCP 能做什么了，现在来把它真正跑起来。这篇覆盖 macOS 和 Windows 两个系统的完整配置命令，不省略任何一边——中文 MCP 教程最大的空白就是 Windows 用户照着 macOS 命令做必报错，这里把两套命令都给齐。配完之后用 MCP Inspector 验证服务正常，出错了去哪里找日志也一并说清楚。关于 MCP 能做哪些事情，可以先看 &lt;a href=&quot;/posts/mcp-series/mcp-what-can-mcp-do/&quot;&gt;MCP 能做什么？10 个真实场景让 Claude / Cursor 变成超级助手&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;前置环境：Node.js 安装&lt;a href=&quot;#前置环境nodejs-安装&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;MCP Server 大多数是 Node.js 实现，先确认环境。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;macOS&lt;a href=&quot;#macos&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 Node.js 是否已安装&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;node&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 需要 &amp;gt;= 18，如果没有或版本低，用 Homebrew 安装&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;brew&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;node&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证 npm 和 npx 可用&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果没有 Homebrew：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/bin/bash&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-c&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;$(&lt;/span&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-fsSL&lt;/span&gt;&lt;span&gt; https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Windows&lt;a href=&quot;#windows&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Windows 上最常见的坑：&lt;code&gt;npx&lt;/code&gt; 找不到命令，或者路径里有空格导致解析失败。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 PowerShell 里检查 Node.js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;node &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;npm &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;npx &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果没有安装，从 &lt;a href=&quot;https://nodejs.org&quot; target=&quot;_blank&quot;&gt;nodejs.org&lt;/a&gt; 下载 Windows 安装包（选 LTS 版本），安装时勾选”Add to PATH”。&lt;/p&gt;&lt;p&gt;安装完成后&lt;strong&gt;重新打开一个新的 PowerShell 窗口&lt;/strong&gt;，再运行上面的检查命令。很多人遇到”找不到命令”是因为没有重启 shell 让 PATH 生效。&lt;/p&gt;&lt;p&gt;如果遇到 PowerShell 执行策略报错：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 允许运行本地脚本（只需设置一次）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Set-ExecutionPolicy&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Scope CurrentUser &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;ExecutionPolicy RemoteSigned&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;配置 Claude Desktop&lt;a href=&quot;#配置-claude-desktop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;macOS 配置文件路径与格式&lt;a href=&quot;#macos-配置文件路径与格式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;配置文件位置：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果文件不存在，手动创建：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Application&lt;/span&gt;&lt;span&gt;\ &lt;/span&gt;&lt;span&gt;Support/Claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Application&lt;/span&gt;&lt;span&gt;\ &lt;/span&gt;&lt;span&gt;Support/Claude/claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;以文件系统 MCP Server 为例，配置内容：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/Documents&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;/Users/your-username/Documents&lt;/code&gt; 替换成你想开放给 Claude 访问的目录路径。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Windows 配置文件路径与格式&lt;a href=&quot;#windows-配置文件路径与格式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;配置文件位置：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;%APPDATA%\Claude\claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;在 PowerShell 里快速打开目录：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;explorer &lt;/span&gt;&lt;span&gt;$env:APPDATA&lt;/span&gt;&lt;span&gt;\Claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果 Claude 目录不存在，创建它：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;New-Item&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;ItemType Directory &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Force &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Path &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:APPDATA&lt;/span&gt;&lt;span&gt;\Claude&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;New-Item&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;ItemType File &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Force &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Path &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:APPDATA&lt;/span&gt;&lt;span&gt;\Claude\claude_desktop_config.json&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Windows 上的配置文件内容，有两个关键差异：&lt;code&gt;command&lt;/code&gt; 改用 &lt;code&gt;cmd&lt;/code&gt;，&lt;code&gt;npx&lt;/code&gt; 作为参数传入，目录路径用双反斜杠或正斜杠：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;cmd&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/c&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;C:/Users/your-username/Documents&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;不能直接用 &lt;code&gt;&quot;command&quot;: &quot;npx&quot;&lt;/code&gt;，因为 Claude Desktop 在 Windows 上启动子进程时不经过 PowerShell 的 PATH 解析，必须显式通过 &lt;code&gt;cmd /c&lt;/code&gt; 调用。&lt;/p&gt;&lt;p&gt;保存配置后&lt;strong&gt;完全退出 Claude Desktop&lt;/strong&gt;（任务栏图标右键 → 退出），再重新打开——仅仅关窗口不生效，需要彻底退出进程。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;配置 Cursor&lt;a href=&quot;#配置-cursor&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Cursor 配置文件路径&lt;a href=&quot;#cursor-配置文件路径&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Cursor 支持两级配置：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;项目级&lt;/strong&gt;（仅当前项目生效）：项目根目录下 &lt;code&gt;.cursor/mcp.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;全局&lt;/strong&gt;（所有项目生效）：&lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;（macOS/Linux）或 &lt;code&gt;%USERPROFILE%\.cursor\mcp.json&lt;/code&gt;（Windows）&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;macOS / Linux&lt;a href=&quot;#macos--linux&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 创建全局 MCP 配置文件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-p&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.cursor&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;touch&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/.cursor/mcp.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;配置内容格式与 Claude Desktop 相同，使用 &lt;code&gt;npx&lt;/code&gt; 命令：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/Documents&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Windows&lt;a href=&quot;#windows-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 创建全局 MCP 配置目录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;New-Item&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;ItemType Directory &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Force &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Path &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:USERPROFILE&lt;/span&gt;&lt;span&gt;\.cursor&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;New-Item&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;ItemType File &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Force &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Path &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:USERPROFILE&lt;/span&gt;&lt;span&gt;\.cursor\mcp.json&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Windows 上 Cursor 对 &lt;code&gt;npx&lt;/code&gt; 的处理比 Claude Desktop 好一些，可以直接用 &lt;code&gt;npx&lt;/code&gt;：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;C:/Users/your-username/Documents&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;如果 Cursor 里 &lt;code&gt;npx&lt;/code&gt; 仍然报找不到命令，改用绝对路径。先找到 npx 的实际路径：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;Get-Command&lt;/span&gt;&lt;span&gt; npx).Source&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出示例：C:\Program Files\nodejs\npx.cmd&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;然后在配置里用绝对路径：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;C:/Program Files/nodejs/npx.cmd&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;C:/Users/your-username/Documents&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;用 MCP Inspector 验证服务是否跑通&lt;a href=&quot;#用-mcp-inspector-验证服务是否跑通&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;配置完之后，先用 MCP Inspector 做验证，不要直接去客户端里试——出了问题不知道是 Server 的问题还是客户端的问题。&lt;/p&gt;&lt;p&gt;MCP Inspector 是官方提供的调试工具，可以在浏览器里直接调用 MCP Server 的工具，看请求和响应报文。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;macOS / Linux&lt;a href=&quot;#macos--linux-1&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 启动 MCP Inspector（无需安装，直接 npx 运行）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@modelcontextprotocol/inspector&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;npx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@modelcontextprotocol/server-filesystem&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/tmp/test-dir&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 替换最后的 Server 命令为你实际使用的 Server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 格式：npx @modelcontextprotocol/inspector &amp;lt;server-command&amp;gt; [server-args...]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Windows&lt;a href=&quot;#windows-2&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Windows 上同样用 npx 运行&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npx &lt;/span&gt;&lt;span&gt;@modelcontextprotocol&lt;/span&gt;&lt;span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;inspector npx &lt;/span&gt;&lt;/span&gt;&lt;span&gt;@modelcontextprotocol&lt;/span&gt;&lt;span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;filesystem C:&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;Users&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;your&lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;username&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;Documents&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;命令执行后，终端会输出一个本地 URL（通常是 &lt;code&gt;http://localhost:5173&lt;/code&gt;），在浏览器里打开。&lt;/p&gt;&lt;p&gt;Inspector 界面里：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;左侧会显示已连接的 MCP Server 和它暴露的工具列表&lt;/li&gt;
&lt;li&gt;点击任意工具，右侧可以填入参数并直接调用&lt;/li&gt;
&lt;li&gt;下方会显示完整的 JSON-RPC 请求和响应报文&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;日志路径和报错排查&lt;a href=&quot;#日志路径和报错排查&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;配置不生效或工具调用失败，先去找日志，别靠猜。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;Claude Desktop 日志路径&lt;a href=&quot;#claude-desktop-日志路径&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;macOS：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# MCP 相关日志&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ls&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Logs/Claude/mcp&lt;/span&gt;&lt;span&gt;*&lt;/span&gt;&lt;span&gt;.log&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看最新的 MCP 日志（实时跟踪）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;tail&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-f&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Logs/Claude/mcp-server-filesystem.log&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 文件名格式：mcp-server-{server-name}.log&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Windows：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 日志目录&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;dir &lt;/span&gt;&lt;span&gt;$env:APPDATA&lt;/span&gt;&lt;span&gt;\Claude\logs\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 实时查看日志（PowerShell）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Get-Content&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;/span&gt;&lt;span&gt;env:APPDATA&lt;/span&gt;&lt;span&gt;\Claude\logs\mcp-server-filesystem.log&quot;&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Wait &lt;/span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt;Tail &lt;/span&gt;&lt;/span&gt;&lt;span&gt;50&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;高频报错解法&lt;a href=&quot;#高频报错解法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;spawn ENOENT&lt;a href=&quot;#spawn-enoent&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;报错信息：&lt;/strong&gt; &lt;code&gt;Error: spawn npx ENOENT&lt;/code&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;**原因：** Claude Desktop 找不到 `npx` 命令，PATH 没有传递进来。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;macOS 解法——在配置文件里用绝对路径：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 找到 npx 实际路径&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;which npx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出示例：/usr/local/bin/npx 或 /opt/homebrew/bin/npx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;然后配置改为：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;command&quot;: &quot;/opt/homebrew/bin/npx&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;args&quot;: [&quot;-y&quot;, &quot;@modelcontextprotocol/server-filesystem&quot;, &quot;/tmp&quot;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Windows 解法：改用 `cmd /c npx`（见上文 Windows 配置部分）。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;connection refused&lt;a href=&quot;#connection-refused&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;报错信息：&lt;/strong&gt; &lt;code&gt;Error: connect ECONNREFUSED 127.0.0.1:PORT&lt;/code&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;**原因：** Server 进程没有成功启动，或者端口被占用（多见于 SSE/HTTP transport）。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;排查步骤：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# macOS/Linux：查看是否有进程监听对应端口&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsof -i :3000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 没有输出说明 Server 没跑起来&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 手动启动 Server 看报错信息&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npx @modelcontextprotocol/server-filesystem /tmp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 直接看终端输出的错误原因&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```powershell&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Windows：查看端口占用&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;netstat -ano | findstr :3000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;timeout（工具调用超时）&lt;a href=&quot;#timeout工具调用超时&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;报错信息：&lt;/strong&gt; &lt;code&gt;MCP error -32001: Request timed out&lt;/code&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;**原因：** Server 处理时间超过客户端默认超时（通常 30 秒）。常见于 Server 内部调用外部 API 响应慢，或者 Server 启动时需要下载依赖。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;首次运行时 `npx -y` 会自动下载 npm 包，可能需要 30-60 秒，超过客户端超时就会报这个错。解法：先手动跑一次让缓存下来。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 手动预热，让 npx 完成下载&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npx -y @modelcontextprotocol/server-filesystem /tmp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 看到 &quot;MCP server running&quot; 或类似提示后 Ctrl+C，再去配置客户端&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;验证配置是否生效&lt;a href=&quot;#验证配置是否生效&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;MCP Inspector 确认通了之后，重启客户端，检查工具是否出现。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Claude Desktop&lt;/strong&gt;：重启后，在对话框左下角会出现一个锤子图标，点击可以看到已加载的工具列表。如果图标没有出现，说明 Server 没有成功加载，回去查日志。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt;：在 Cursor 的 Settings → MCP 里可以看到已注册的 Server 状态（绿点=正常，红点=连接失败）。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 用 curl 直接测试 MCP Server 的 JSON-RPC 接口是否响应（stdio Server 不适用此方法）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 以 HTTP transport 的 Server 为例&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;POST&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http://localhost:3000/mcp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;initialize&quot;,&quot;params&quot;:{&quot;protocolVersion&quot;:&quot;2024-11-05&quot;,&quot;capabilities&quot;:{},&quot;clientInfo&quot;:{&quot;name&quot;:&quot;test&quot;,&quot;version&quot;:&quot;1.0&quot;}},&quot;id&quot;:1}&apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;| &lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;json.tool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;本地 stdio Server 跑通之后，如果你需要在多台设备上共享同一个 MCP Server，或者让 Server 7×24 在线，就需要考虑云端部署了。&lt;a href=&quot;/posts/mcp-series/mcp-local-vs-remote/&quot;&gt;本地 MCP vs 云端 MCP：什么时候必须上 VPS？&lt;/a&gt;列出了 5 个必须上云的场景，帮你做决策。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Windows 上 Claude Desktop 的日志文件在哪里？&lt;a href=&quot;#windows-上-claude-desktop-的日志文件在哪里&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在 &lt;code&gt;%APPDATA%\Claude\logs\&lt;/code&gt; 目录下，文件名格式是 &lt;code&gt;mcp-server-{server-name}.log&lt;/code&gt;。用 PowerShell 实时查看：&lt;code&gt;Get-Content &quot;$env:APPDATA\Claude\logs\mcp-server-filesystem.log&quot; -Wait -Tail 50&lt;/code&gt;。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;配置文件改了但不生效，怎么办？&lt;a href=&quot;#配置文件改了但不生效怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Claude Desktop 需要完全退出后再重启才能读取新配置，仅关闭窗口不够——右键任务栏图标选”退出”，或在 macOS 上用 &lt;code&gt;Cmd+Q&lt;/code&gt;。Cursor 同理，改完配置需要重启整个应用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP Inspector 启动时报端口占用怎么办？&lt;a href=&quot;#mcp-inspector-启动时报端口占用怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Inspector 默认使用 5173 端口，如果被占用可以通过环境变量指定其他端口：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;PORT=5174 npx @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem /tmp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;同一台机器上能同时配置多个 MCP Server 吗？&lt;a href=&quot;#同一台机器上能同时配置多个-mcp-server-吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以。在配置文件里加多个 key 即可，每个 Server 独立启动和管理：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;: { &quot;command&quot;: &quot;npx&quot;, &quot;args&quot;: [&quot;...&quot;] },&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;github&quot;: { &quot;command&quot;: &quot;npx&quot;, &quot;args&quot;: [&quot;...&quot;] },&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;postgres&quot;: { &quot;command&quot;: &quot;npx&quot;, &quot;args&quot;: [&quot;...&quot;] }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-03，测试环境：macOS 15.3 / Windows 11 24H2，Node.js 22 LTS，Claude Desktop 0.9.x，Cursor 0.48.x，MCP Inspector 0.9.0。工具版本迭代较快，建议每 3 个月检查一次配置格式变更。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>本地 MCP vs 云端 MCP：什么时候必须上 VPS？</title><link>https://www.yuntier.com/posts/mcp-series/mcp-local-vs-remote/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-local-vs-remote/</guid><description>本地 MCP Server 的 5 个真实局限：多设备同步、团队共享、7×24 在线、出口 IP 风控、对外售卖。每个场景给出本地方案的具体限制和上云的解决方式，附决策树帮你判断要不要上 VPS。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;本地 MCP Server 配好能跑了，接下来你可能会发现一些边界：换台电脑要重新配，团队里其他人想用但没法共享，或者 Server 需要长期在线但本地机器会关机。这篇把 5 个真实会碰到的”本地跑不了”场景列出来，每个给出本地方案的具体限制和上云之后怎么解决，最后用一棵决策树帮你判断要不要上 VPS。关于如何在本地把 MCP Server 跑通，可以先看 &lt;a href=&quot;/posts/mcp-series/mcp-local-debug/&quot;&gt;Claude Desktop + Cursor 本地 MCP Server 配置从零到跑通&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;本地 MCP Server 的架构限制&lt;a href=&quot;#本地-mcp-server-的架构限制&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;先说清楚本地 MCP Server 的工作方式，才能理解它的限制在哪里。&lt;/p&gt;&lt;p&gt;本地 MCP Server 使用 stdio transport：客户端（Claude Desktop / Cursor）启动 Server 进程，两个进程在同一台机器上通过标准输入输出通信。这个机制决定了两点：① Server 和客户端必须在同一台机器上；② Server 的生命周期由客户端控制，客户端退出 Server 也退出。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看当前系统上 Claude Desktop 启动的 MCP Server 进程&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# macOS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ps&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;aux&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;mcp-server&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Windows PowerShell&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Get-Process&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;Where-Object&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;span&gt;$_&lt;/span&gt;&lt;span&gt;.Name&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-like&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;*mcp*&quot;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;这两个特点在单机单人场景下没有任何问题，但一旦需求扩展，就会碰到下面的场景。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 1：多设备——配置要同步三遍&lt;a href=&quot;#场景-1多设备配置要同步三遍&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;具体问题：&lt;/strong&gt; 在公司 Mac 上配好了连接内部数据库的 MCP Server，回家发现家里机器没配，周末用 Windows 本又得再配一遍。改了一个配置参数，三台机器都要改。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;本地方案的限制：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 公司 Mac 上的配置路径&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 家里 Mac 上同样的路径，但是空的&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Application&lt;/span&gt;&lt;span&gt;\ &lt;/span&gt;&lt;span&gt;Support/Claude/claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 输出：{}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;你可以把配置文件放到 Git 或 iCloud 同步，但 Server 依赖的环境变量（API Key、数据库连接字符串）不能提交到 Git，secrets 管理立刻变成新问题。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;上云之后如何解决：&lt;/strong&gt; MCP Server 部署到 VPS，暴露一个 HTTPS URL。所有客户端的配置只有一行 URL 和一个 Bearer Token，不管用哪台机器，配置文件内容完全一样：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;my-db-server&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;url&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;https://mcp.your-domain.com/mcp&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;headers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;Authorization&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;Bearer your-token&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;换台机器只需要复制粘贴这段 JSON，30 秒搞定。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 2：团队共享——不可能让每个人都装一遍&lt;a href=&quot;#场景-2团队共享不可能让每个人都装一遍&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;具体问题：&lt;/strong&gt; 写了一个连接内部数据库的 MCP Server，让团队里另外 2 个后端同学也用上。本地方案意味着每个人的机器都要：① 安装 Node.js；② 克隆 Server 代码；③ 配置数据库连接凭证；④ 在自己的客户端里填入配置。数据库密码要分发给每个人，离职了还得改密码。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;本地方案的限制：&lt;/strong&gt; 3 个人的机器上跑着 3 个 Server 实例，数据库连接数×3，凭证管理变成安全隐患。团队再大一点，维护成本线性增长。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;上云之后如何解决：&lt;/strong&gt; 一个 VPS 上跑一个 Server 实例，数据库凭证只存在 VPS 的环境变量里。给每个团队成员发一个独立的 Bearer Token，离职了只需要吊销对应 Token，数据库密码不用动：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 VPS 上为新成员生成 Token（Server 侧维护 Token 列表）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;openssl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rand&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-hex&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 把生成的 Token 加入 Server 的鉴权配置，发给成员&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 3：7×24 在线——本地机器关机就断了&lt;a href=&quot;#场景-3724-在线本地机器关机就断了&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;具体问题：&lt;/strong&gt; MCP Server 里有一个工具需要监听 webhook（比如接收 GitHub push 事件后自动整理代码变更日志），或者有定时任务（每天凌晨拉取报表数据缓存起来）。本地机器一关机，这些功能全部断掉。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;本地方案的限制：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 本地 MCP Server 完全依赖客户端保持活跃&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 Claude Desktop 是否在运行&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;pgrep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-x&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Claude&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 没有输出说明 Claude 关了，Server 也跟着停了&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;即使你想让本地机器不关机，还要面对：家庭宽带 IP 经常变动、没有固定域名、ISP 封锁 80/443 端口等问题。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;上云之后如何解决：&lt;/strong&gt; VPS 通过 systemd 管理 Server 进程，机器重启后自动拉起，7×24 在线。webhook 回调有固定的公网 IP 和域名可以注册：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# VPS 上查看 MCP Server 服务状态&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 配置开机自启&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 4：出口 IP 风控——机房 IP 被第三方 API 拒绝&lt;a href=&quot;#场景-4出口-ip-风控机房-ip-被第三方-api-拒绝&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;具体问题：&lt;/strong&gt; MCP Server 内部需要调用某些第三方 API（OpenAI、Notion、某个数据提供商），这些 API 会对请求来源 IP 做风控。家用宽带 IP 在某些平台被标记为高风险，直接拒绝请求；机房 IP 的 ASN 归属是数据中心，同样被部分平台限速或拒绝。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;上云之后如何解决：&lt;/strong&gt; VPS 的出口 IP 固定，便于申请 API 白名单。如果机房 IP 仍然被风控，可以在 Server 里配置出口代理：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;// 在 MCP Server 代码里配置出口代理&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;HttpsProxyAgent&lt;/span&gt;&lt;span&gt; } &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https-proxy-agent&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;agent&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;HttpsProxyAgent&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;http://user:pass@proxy-host:port&quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;response&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;await&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fetch&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;https://api.openai.com/v1/chat/completions&quot;&lt;/span&gt;&lt;span&gt;, {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;agent&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;method&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;POST&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;headers&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;&quot;Authorization&quot;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Bearer &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;process&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt; },&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;JSON&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;stringify&lt;/span&gt;&lt;span&gt;({ &lt;/span&gt;&lt;span&gt;model&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;gpt-4o&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;messages&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; [] })&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 5：对外售卖——不可能把本地机器的地址给用户&lt;a href=&quot;#场景-5对外售卖不可能把本地机器的地址给用户&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;具体问题：&lt;/strong&gt; 写了一个对接自研数据服务的 MCP Server，想做成付费产品卖给用户。本地方案完全不可行：你不可能把家里 Mac 的 IP 地址和端口给用户，更无法保证服务可用性。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;上云之后如何解决：&lt;/strong&gt; VPS 配好域名和 HTTPS 之后，你有了一个对外可访问的 &lt;code&gt;https://api.your-product.com/mcp&lt;/code&gt; 端点。给每个付费用户生成独立 Token，接入计费系统控制用量：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# VPS 上为新付费用户生成唯一 Token&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;NEW_TOKEN&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;$(&lt;/span&gt;&lt;/span&gt;&lt;span&gt;openssl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rand&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-hex&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;新用户 Token：&lt;/span&gt;&lt;span&gt;$NEW_TOKEN&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 把 Token 写入 Server 的鉴权白名单&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;echo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;TOKEN_&lt;/span&gt;&lt;span&gt;$USER_ID&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;$NEW_TOKEN&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;/opt/mcp-server/.env&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;restart&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;决策树：要不要上 VPS？&lt;a href=&quot;#决策树要不要上-vps&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;按顺序回答下面的问题，碰到”是”就停下来：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;你有多台设备需要用同一个 MCP Server？&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── 是 → 上 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── 否 ↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;你需要和其他人共享这个 MCP Server？&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── 是，人数 &amp;gt; 2 或凭证安全性有要求 → 上 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── 否 ↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MCP Server 需要持续运行（接 webhook / 定时任务）？&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── 是 → 上 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── 否 ↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MCP Server 内部调用的第三方 API 对来源 IP 有限制？&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── 是，且本地 IP 已经被拒 → 上 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── 否 ↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;你打算把这个 MCP Server 作为产品卖给他人？&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;├── 是 → 上 VPS（必须）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── 否 → 继续用本地配置，不需要上 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;大多数独立开发者和个人站长，如果只是给自己用、单台设备、不需要持续在线，本地配置完全够用。一旦涉及多人、多设备或商业化，本地方案的维护成本会快速超过 VPS 的费用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;上 VPS 之前需要什么&lt;a href=&quot;#上-vps-之前需要什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;确认上云后，需要准备：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;一台有独立公网 IP 的 VPS&lt;/strong&gt;——不是 NAT 后的内网机，80 和 443 端口要能通&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;一个域名&lt;/strong&gt;——Let’s Encrypt 签发 HTTPS 证书需要绑定域名，裸 IP 无法申请免费证书&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;基础 Linux 运维能力&lt;/strong&gt;——能 SSH 进去、能跑 apt / systemctl 命令就够&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# SSH 连接 VPS 后先确认基础条件&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查公网 IP&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://api.ipify.org&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 80/443 端口是否已开放（新机器应为空）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tlnp&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-E&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;:(80|443)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查系统版本（推荐 Ubuntu 22.04）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsb_release&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;三个条件确认之后，部署本身不复杂。&lt;a href=&quot;/posts/mcp-series/mcp-remote-vps/&quot;&gt;在云端 VPS 上自托管 Remote MCP Server：从零到远程调用完整配置&lt;/a&gt;从这里接手：先把 stdio 换成 Streamable HTTP，再走完 Nginx HTTPS 反代、Bearer Token 鉴权、systemd 守护进程配置，最后在 Claude Desktop 和 Cursor 里接入验证。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;本地 MCP 和云端 MCP 的协议层有区别吗？&lt;a href=&quot;#本地-mcp-和云端-mcp-的协议层有区别吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;没有区别。两者使用完全相同的 MCP 协议和 JSON-RPC 2.0 报文格式，区别只在传输层：本地用 stdio（进程管道），云端用 Streamable HTTP（HTTPS 端点）。MCP Server 的业务逻辑代码完全不需要改，只需要换 transport 的初始化方式。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;本地 MCP Server 有没有办法临时暴露到公网？&lt;a href=&quot;#本地-mcp-server-有没有办法临时暴露到公网&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;有，用 ngrok 或 Cloudflare Tunnel 做临时隧道，可以把本地端口映射成公网 HTTPS URL，适合测试和演示场景。不适合生产用途，因为稳定性和安全性都有限：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 用 ngrok 临时暴露本地 3000 端口&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ngrok http 3000&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 会生成一个 https://xxx.ngrok-free.app 的临时 URL&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;```&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;一台 VPS 能跑多少个 MCP Server？&lt;a href=&quot;#一台-vps-能跑多少个-mcp-server&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;取决于 Server 的内存占用。一个轻量 Node.js MCP Server 空载大约 50-100MB 内存，1GB 内存的 VPS 跑 5-8 个没有问题。如果 Server 有 AI 推理或大量文件处理，按实际负载估算。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;本地 MCP 转云端需要改多少代码？&lt;a href=&quot;#本地-mcp-转云端需要改多少代码&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;主要改 transport 初始化部分：把 &lt;code&gt;StdioServerTransport&lt;/code&gt; 换成 &lt;code&gt;StreamableHTTPServerTransport&lt;/code&gt;，加一个 Express HTTP 服务层。业务逻辑（工具定义、资源读取、提示词模板）一行不用改。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-03。MCP 协议规范和客户端配置格式会随版本迭代，建议每 3 个月对照 MCP 官方文档检查一次。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>在云端 VPS 上自托管 Remote MCP Server：从零到远程调用完整配置</title><link>https://www.yuntier.com/posts/mcp-series/mcp-remote-vps/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-remote-vps/</guid><description>从零在云端 VPS 部署 Remote MCP Server：transport 选型、Nginx HTTPS 反代、Bearer Token 鉴权、systemd 守护、Claude Desktop/Cursor 接入，每步含可执行命令。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/posts/mcp-series/mcp-local-vs-remote/&quot;&gt;上一篇&lt;/a&gt;列出了 5 个必须上 VPS 的场景，决定上云了就来这里。把 MCP Server 部署到 VPS 上，结果 Claude Desktop 死活连不上——八成是因为你用的还是 stdio transport。stdio 是进程间通信协议，只能在本机两个进程之间跑，跨网络必须换成 Streamable HTTP。再加上主流客户端强制要求 HTTPS，裸 HTTP 端点直接拒连。这篇把完整链路走一遍：transport 选型 → Node.js 服务部署 → Nginx HTTPS 反代 → Bearer Token 鉴权 → systemd 守护 → 客户端接入验证，每步给可直接粘贴的命令。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;前置条件：你需要什么&lt;a href=&quot;#前置条件你需要什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;VPS 基础要求&lt;a href=&quot;#vps-基础要求&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;最低配置：1 核 CPU、512MB 内存、Ubuntu 22.04 LTS。MCP Server 本身不重，但如果你的 Server 会调用 AI API 或做文件处理，建议 1GB 内存起步。&lt;/p&gt;&lt;p&gt;必须满足的三个条件：有独立公网 IP（不是 NAT 后的内网机）、80 和 443 端口未被防火墙屏蔽、有一个指向该 IP 的域名（Let’s Encrypt 签发证书需要）。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 检查 Node.js 版本，需要 &amp;gt;= 18&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;node&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认 443/80 端口监听状态（新机器应为空）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ss&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-tlnp&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;grep&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-E&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;:(80|443)&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 查看系统版本&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;lsb_release&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-a&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;本地开发环境确认&lt;a href=&quot;#本地开发环境确认&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;本文假设你已经有一个可以在本地跑起来的 MCP Server 项目。如果还没有，用官方 SDK 建一个最小示例：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 初始化项目&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;mkdir&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;my-mcp-server&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;my-mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;init&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 安装 MCP SDK，锁定版本避免 breaking change&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@modelcontextprotocol/sdk@1.10.2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;transport 选型：为什么 stdio 不能用于远程&lt;a href=&quot;#transport-选型为什么-stdio-不能用于远程&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;transport&lt;/th&gt;&lt;th&gt;通信方式&lt;/th&gt;&lt;th&gt;能否跨网络&lt;/th&gt;&lt;th&gt;主流客户端支持&lt;/th&gt;&lt;th&gt;适用场景&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;stdio&lt;/td&gt;&lt;td&gt;标准输入输出（进程管道）&lt;/td&gt;&lt;td&gt;仅本机&lt;/td&gt;&lt;td&gt;Claude Desktop 本地模式&lt;/td&gt;&lt;td&gt;本地工具、IDE 插件&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SSE&lt;/td&gt;&lt;td&gt;HTTP 长连接，服务端推送&lt;/td&gt;&lt;td&gt;是&lt;/td&gt;&lt;td&gt;Claude Desktop、Cursor（部分版本有断连问题）&lt;/td&gt;&lt;td&gt;中等并发，只需服务端推送&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Streamable HTTP&lt;/td&gt;&lt;td&gt;标准 HTTP POST + 流式响应&lt;/td&gt;&lt;td&gt;是&lt;/td&gt;&lt;td&gt;Claude Desktop、Cursor、所有支持 HTTP 的客户端&lt;/td&gt;&lt;td&gt;远程部署首选&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;新项目直接用 Streamable HTTP。MCP 官方文档已将 SSE 标注为 legacy，Streamable HTTP 是 2025 年推荐的远程 transport，兼容性更好，实现也更简单。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;部署 MCP Server 并配置 Nginx HTTPS 反代&lt;a href=&quot;#部署-mcp-server-并配置-nginx-https-反代&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;安装依赖与启动 MCP Server 进程&lt;a href=&quot;#安装依赖与启动-mcp-server-进程&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;把项目上传到 VPS，安装依赖：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 上传项目（本地执行，替换路径和 IP）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;scp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-r&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;./my-mcp-server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-vps-ip:/opt/mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# SSH 进入 VPS&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ssh&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;root@your-vps-ip&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 进入项目目录，安装生产依赖&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/opt/mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--production&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 先手动跑一次确认没报错，监听在 3000 端口&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;node&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server.js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 看到 &quot;MCP Server listening on :3000&quot; 再继续，Ctrl+C 停掉&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;server.js&lt;/code&gt; 中 Streamable HTTP transport 初始化的关键代码：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;McpServer&lt;/span&gt;&lt;span&gt; } &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/sdk/server/mcp.js&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;StreamableHTTPServerTransport&lt;/span&gt;&lt;span&gt; } &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/sdk/server/streamableHttp.js&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;import&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;express&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;from&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;express&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;express&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;express&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;json&lt;/span&gt;&lt;span&gt;());&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;McpServer&lt;/span&gt;&lt;span&gt;({ &lt;/span&gt;&lt;span&gt;name&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;my-server&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;version&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;1.0.0&quot;&lt;/span&gt;&lt;span&gt; });&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;// 在这里注册你的 tools / resources / prompts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;transport&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;StreamableHTTPServerTransport&lt;/span&gt;&lt;span&gt;({&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;sessionIdGenerator&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;undefined&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;all&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;/mcp&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;async&lt;/span&gt;&lt;span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;req&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;res&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&amp;gt;&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;await&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;transport&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;handleRequest&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;req&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;res&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;req&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;await&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;connect&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;transport&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;// 注意：绑定 127.0.0.1，不直接暴露到公网，由 Nginx 做唯一入口&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;3000&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;127.0.0.1&quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Nginx 配置：反代 + 长连接支持&lt;a href=&quot;#nginx-配置反代--长连接支持&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;update&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;创建站点配置文件：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-available/mcp-server&lt;/span&gt;&lt;span&gt; &amp;lt;&amp;lt; &lt;/span&gt;&lt;span&gt;&apos;EOF&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;server {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;listen 80;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;server_name your-domain.com;  # 替换为你的域名&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;location /mcp {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_pass         http://127.0.0.1:3000/mcp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_http_version 1.1;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   Upgrade $http_upgrade;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   Connection &quot;upgrade&quot;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   Host $host;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   X-Real-IP $remote_addr;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_set_header   X-Forwarded-Proto $scheme;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;# 流式响应禁止缓冲&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_buffering    off;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_cache        off;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;# MCP 工具调用可能耗时较长，超时拉大&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_read_timeout 300s;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;proxy_send_timeout 300s;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;27&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;28&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 启用站点&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;29&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ln&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-available/mcp-server&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/etc/nginx/sites-enabled/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;30&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-t&lt;/span&gt;&lt;span&gt; &amp;amp;&amp;amp; &lt;/span&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;reload&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Let’s Encrypt 证书申请与自动续期&lt;a href=&quot;#lets-encrypt-证书申请与自动续期&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 安装 Certbot&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;apt&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-y&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;certbot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;python3-certbot-nginx&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 申请证书，替换邮箱和域名&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;certbot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--nginx&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;your-domain.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--email&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;you@example.com&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--agree-tos&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--non-interactive&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证自动续期定时任务&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;certbot.timer&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 测试续期流程（dry-run，不真正续期）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;certbot&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;renew&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;--dry-run&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;证书申请成功后，Certbot 会自动把 Nginx 配置改为 &lt;code&gt;listen 443 ssl&lt;/code&gt; 并填入证书路径。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;systemd 守护进程配置&lt;a href=&quot;#systemd-守护进程配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &amp;gt; &lt;/span&gt;&lt;span&gt;/etc/systemd/system/mcp-server.service&lt;/span&gt;&lt;span&gt; &amp;lt;&amp;lt; &lt;/span&gt;&lt;span&gt;&apos;EOF&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[Unit]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Description=Remote MCP Server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;After=network.target&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[Service]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Type=simple&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;User=www-data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WorkingDirectory=/opt/mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;ExecStart=/usr/bin/node server.js&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Restart=on-failure&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;RestartSec=5s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Environment=NODE_ENV=production&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在此行追加注入 API Key 等环境变量：Environment=KEY=VALUE&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[Install]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;WantedBy=multi-user.target&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;EOF&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;20&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 重载配置并启动&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;21&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;daemon-reload&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;22&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;enable&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;23&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;start&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;24&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;25&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 确认运行状态&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;26&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;systemctl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;mcp-server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;鉴权：用 Bearer Token 防止公网裸奔&lt;a href=&quot;#鉴权用-bearer-token-防止公网裸奔&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;MCP Server 挂上公网之后，不加鉴权等于把工具调用接口全部公开。有两个方案，按需选。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;方案一：Nginx map 层鉴权（轻量，不改应用代码）&lt;a href=&quot;#方案一nginx-map-层鉴权轻量不改应用代码&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 http 块内（server 块外层）添加：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;map&lt;/span&gt;&lt;span&gt;&lt;span&gt; $&lt;/span&gt;&lt;span&gt;http_authorization&lt;/span&gt;&lt;span&gt; $&lt;/span&gt;&lt;/span&gt;&lt;span&gt;auth_valid&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;                                  &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;Bearer your-secret-token-here&quot;&lt;/span&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 在 location /mcp 块内添加：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; ($&lt;/span&gt;&lt;span&gt;auth_valid&lt;/span&gt;&lt;span&gt; = 0) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;401&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;error&quot;:&quot;Unauthorized&quot;}&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;生成强度足够的 token：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;openssl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;rand&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-hex&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;32&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;验证鉴权是否生效：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 不带 token，应返回 401&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-w&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;%{http_code}&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://your-domain.com/mcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 带正确 token，应返回 200 或正常 MCP 响应&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-o&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/dev/null&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-w&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;%{http_code}&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer your-secret-token-here&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;initialize&quot;,&quot;params&quot;:{},&quot;id&quot;:1}&apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;https://your-domain.com/mcp&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;方案二：应用层鉴权（适合多用户场景）&lt;a href=&quot;#方案二应用层鉴权适合多用户场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;// 加在 app.all(&quot;/mcp&quot;, ...) 之前&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;app&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;use&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;/mcp&quot;&lt;/span&gt;&lt;span&gt;&lt;span&gt;, (&lt;/span&gt;&lt;span&gt;req&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;res&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;next&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&amp;gt;&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;auth&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;req&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;headers&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&quot;authorization&quot;&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;!&lt;/span&gt;&lt;span&gt;&lt;span&gt;auth&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;||&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;auth&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;!==&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;`Bearer &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;&lt;span&gt;process&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;env&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;MCP_SECRET_TOKEN&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;) {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;res&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;status&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;401&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;json&lt;/span&gt;&lt;span&gt;({ &lt;/span&gt;&lt;span&gt;error&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Unauthorized&quot;&lt;/span&gt;&lt;span&gt; });&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;next&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;在 systemd service 文件的 &lt;code&gt;[Service]&lt;/code&gt; 段注入 token：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Environment&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;MCP_SECRET_TOKEN&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;your-secret-token-here&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;客户端接入：Claude Desktop 与 Cursor 配置&lt;a href=&quot;#客户端接入claude-desktop-与-cursor-配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;服务跑起来之后，在客户端填入远程 MCP Server 的连接信息。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Claude Desktop&lt;/strong&gt;（macOS 配置文件路径：&lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;my-remote-server&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;url&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;https://your-domain.com/mcp&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;headers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;Authorization&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;Bearer your-secret-token-here&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt;（&lt;code&gt;.cursor/mcp.json&lt;/code&gt;，放在项目根目录或用户目录均可）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;my-remote-server&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;url&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;https://your-domain.com/mcp&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;headers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;Authorization&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;Bearer your-secret-token-here&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;保存配置后重启客户端。先用 curl 做端到端连通性验证：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer your-secret-token-here&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;initialize&quot;,&quot;params&quot;:{&quot;protocolVersion&quot;:&quot;2024-11-05&quot;,&quot;capabilities&quot;:{},&quot;clientInfo&quot;:{&quot;name&quot;:&quot;test&quot;,&quot;version&quot;:&quot;1.0&quot;}},&quot;id&quot;:1}&apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;https://your-domain.com/mcp&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;json.tool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;返回以下结构说明整条链路通了：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;jsonrpc&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;2.0&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;id&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;result&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;protocolVersion&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;2024-11-05&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;serverInfo&quot;&lt;/span&gt;&lt;span&gt;: { &lt;/span&gt;&lt;span&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;my-server&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;version&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;1.0.0&quot;&lt;/span&gt;&lt;span&gt; },&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;capabilities&quot;&lt;/span&gt;&lt;span&gt;: {}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Remote MCP Server 和本地 stdio MCP Server 有什么区别？&lt;a href=&quot;#remote-mcp-server-和本地-stdio-mcp-server-有什么区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;stdio transport 通过标准输入输出在两个本地进程之间传数据，客户端和 Server 必须在同一台机器上。Remote MCP Server 用 HTTP-based transport（SSE 或 Streamable HTTP），Server 运行在任意有公网地址的机器上，客户端通过 URL 远程调用。两者的 MCP 协议层完全一致，只是传输层不同。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP Server 需要 HTTPS 才能远程使用吗？&lt;a href=&quot;#mcp-server-需要-https-才能远程使用吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;是的。Claude Desktop、Cursor 等主流客户端在连接远程 MCP Server 时强制要求 HTTPS，纯 HTTP 端点直接拒绝。用 Let’s Encrypt 申请免费证书，配合 Certbot 自动续期，操作不超过 5 分钟。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;VPS 上运行 MCP Server 需要什么配置要求？&lt;a href=&quot;#vps-上运行-mcp-server-需要什么配置要求&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;MCP Server 本身极轻，512MB 内存的 VPS 完全够跑。如果 Server 内部有 AI 推理或大文件处理逻辑，建议 1–2GB 内存。CPU 要求不高，1 核足够处理正常并发。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Streamable HTTP 和 SSE 该选哪个？&lt;a href=&quot;#streamable-http-和-sse-该选哪个&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;新项目直接用 Streamable HTTP。MCP 官方文档已将 SSE 标注为 legacy，主流客户端的 SSE 实现在高频调用下有稳定性问题。Streamable HTTP 是当前推荐的远程 transport，兼容性更好，实现也更简单。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-03，MCP SDK 版本：1.10.2，Nginx 版本：1.24，测试系统：Ubuntu 22.04 LTS。MCP 协议迭代较快，建议每 3 个月检查 SDK 版本和客户端配置格式变更。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>MCP 能做什么？10 个真实场景让 Claude / Cursor 变成超级助手</title><link>https://www.yuntier.com/posts/mcp-series/mcp-what-can-mcp-do/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-what-can-mcp-do/</guid><description>10 个 MCP 真实应用场景：Cursor 读 Slack 文档写代码、Claude 查 GitHub Issue、操控 Blender 建模、自然语言查数据库……每个场景含配置代码，可直接复制。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;已经知道 MCP 是什么了，但不知道它能帮你省掉哪些麻烦——这篇来解决这个问题。10 个场景，每个都有”以前怎么做”和”接了 MCP 之后怎么做”的对比，加上可以直接粘贴的配置片段。如果还不清楚 MCP 的基本原理，先看 &lt;a href=&quot;/posts/mcp-series/mcp-what-is-mcp/&quot;&gt;MCP 是什么？用一个类比彻底讲清楚模型上下文协议&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;场景 1：Cursor 读 Slack 频道文档写代码&lt;a href=&quot;#场景-1cursor-读-slack-频道文档写代码&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开 Slack 找到对应频道，手动复制技术讨论内容，粘贴到 Cursor 的对话框，然后说”根据这些需求帮我写”。一个功能来来回回要切三个窗口。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Cursor 里直接说”读一下 #backend-design 频道最近 50 条消息，帮我写对应的接口”。Cursor 通过 Slack MCP Server 拉取消息，直接出代码。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在 &lt;code&gt;.cursor/mcp.json&lt;/code&gt; 里添加：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;slack&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-slack&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;SLACK_BOT_TOKEN&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;xoxb-your-bot-token&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;SLACK_TEAM_ID&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;T0XXXXXXX&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;SLACK_BOT_TOKEN&lt;/code&gt; 在 Slack App 管理页面的 “OAuth &amp;amp; Permissions” 里获取，需要给 Bot 开 &lt;code&gt;channels:history&lt;/code&gt;、&lt;code&gt;channels:read&lt;/code&gt; 权限。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 2：Claude 直接查 GitHub Issue 状态&lt;a href=&quot;#场景-2claude-直接查-github-issue-状态&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开浏览器，搜 Issue，复制 Issue 内容，粘贴给 Claude，然后说”帮我总结一下这个 bug 的根因”。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude Desktop 里说”查一下 anthropics/claude-code 仓库里 label 是 bug 的 open Issue，按最近更新排序，帮我总结”。Claude 直接调用 GitHub MCP Server 拉数据。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;在 &lt;code&gt;~/Library/Application Support/Claude/claude_desktop_config.json&lt;/code&gt;（macOS）里添加：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;github&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-github&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;GITHUB_PERSONAL_ACCESS_TOKEN&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;ghp_your_token_here&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;GitHub PAT 在 Settings → Developer settings → Personal access tokens 里创建，只需要 &lt;code&gt;repo&lt;/code&gt; 读权限即可。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 3：自然语言查数据库&lt;a href=&quot;#场景-3自然语言查数据库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开数据库客户端，回想表结构，手写 SQL，执行，复制结果，再粘贴给 Claude 分析。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”查一下过去 7 天日活用户数，按平台拆分，给我趋势分析”。Claude 通过 PostgreSQL MCP Server 查数据，直接给出分析结果。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式（以 PostgreSQL 为例）：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;postgres&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-postgres&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;POSTGRES_CONNECTION_STRING&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;postgresql://user:password@localhost:5432/dbname&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;MCP Server 会自动读取数据库 schema，Claude 能看到所有表结构再生成 SQL，不会瞎猜字段名。生产数据库建议给 MCP 用的账号只开 &lt;code&gt;SELECT&lt;/code&gt; 权限。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 4：读本地文件和项目目录&lt;a href=&quot;#场景-4读本地文件和项目目录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 手动打开文件，复制内容，粘贴进对话框。文件多的时候，复制粘贴本身就是一项工程。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”读一下 ~/projects/api-server/src/routes 目录，帮我找出所有没有做权限校验的接口”。Claude 直接遍历文件，给出结论。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;filesystem&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-filesystem&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;/Users/your-username/projects&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Server 只能访问你在 args 里指定的目录，不会读其他地方的文件。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 5：调用高德地图查路线和 POI&lt;a href=&quot;#场景-5调用高德地图查路线和-poi&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开高德地图 App，手动搜索，复制信息，回来粘贴给 AI 处理。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”查一下从北京西站到国贸的驾车路线，高峰期大概要多久”。Claude 调用高德 MCP Server 实时返回。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;amap&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@amap/amap-maps-mcp-server&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;AMAP_MAPS_API_KEY&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;your-amap-api-key&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;高德开放平台申请 Web API Key，免费额度每天 5000 次调用，日常使用完全够用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 6：搜索 arXiv 论文&lt;a href=&quot;#场景-6搜索-arxiv-论文&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开 arXiv 网站，搜关键词，找论文，点进去读摘要，复制给 AI 做总结。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”搜一下最近 3 个月关于 MCP 协议和 AI Agent 工具调用的论文，按引用量排序，帮我总结每篇的核心贡献”。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;arxiv&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;arxiv-mcp-server&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;这个 Server 不需要 API Key，直接调用 arXiv 的公开 API。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 7：管理 Notion 文档&lt;a href=&quot;#场景-7管理-notion-文档&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开 Notion，找到对应页面，复制内容，粘贴给 AI，让它帮你改写或提取信息，再手动把结果复制回 Notion。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”找到 Notion 里标题包含’产品规划’的页面，把其中的功能优先级列表提取出来，整理成 Markdown 表格”。Claude 直接读取并处理。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;notion&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@notionhq/notion-mcp-server&quot;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;env&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;OPENAPI_MCP_HEADERS&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;{&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;Authorization&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;Bearer ntn_your_notion_token&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;Notion-Version&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;2022-06-28&lt;/span&gt;&lt;span&gt;\&quot;&lt;/span&gt;&lt;span&gt;}&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Notion Integration Token 在 notion.so/my-integrations 创建，创建后需要在对应 Notion 页面里手动授权这个 Integration 访问。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 8：发 Slack 消息和创建提醒&lt;a href=&quot;#场景-8发-slack-消息和创建提醒&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 切到 Slack，找到频道，手打消息，发送。看起来简单，但在 AI 辅助工作流里频繁切窗口极度影响专注度。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里完成代码审查后，直接说”在 #code-review 频道发一条消息，说’PR #234 已完成审查，主要问题见 comments，可以 merge’“。Claude 直接调用 Slack MCP Server 发出去，不用切窗口。&lt;/p&gt;&lt;p&gt;配置方式与场景 1 相同，Slack MCP Server 同时支持读取和发送消息，需要额外开放 &lt;code&gt;chat:write&lt;/code&gt; 权限。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 验证 Slack Bot Token 权限配置是否正确&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GET&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;https://slack.com/api/auth.test&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer xoxb-your-bot-token&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;| &lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;json.tool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# ok 字段为 true 说明 Token 有效&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 9：网页抓取与内容提取&lt;a href=&quot;#场景-9网页抓取与内容提取&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开浏览器，找到页面，复制可见文本，粘贴给 AI。遇到登录墙或 JavaScript 渲染的页面直接没辙。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”抓取这个竞品的定价页面，提取所有套餐名称和价格，整理成对比表”，Claude 直接返回结构化数据。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式（使用 Puppeteer MCP Server）：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;puppeteer&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;npx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;-y&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;@modelcontextprotocol/server-puppeteer&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Puppeteer Server 会在本地启动一个无头 Chrome 实例，能处理需要 JavaScript 渲染的页面。首次运行会自动下载 Chromium，大约 200MB。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景 10：操控 Blender 用自然语言建模&lt;a href=&quot;#场景-10操控-blender-用自然语言建模&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;以前怎么做：&lt;/strong&gt; 打开 Blender，学 Python 脚本 API，写脚本，运行，调参，反复迭代。门槛极高，非专业 3D 开发者基本不会用。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;接入 MCP 之后：&lt;/strong&gt; 在 Claude 里说”在 Blender 场景里创建一个半径 2m 的球体，材质设为蓝色金属，位置放在坐标原点”。Claude 通过 Blender MCP Server 直接执行操作。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;配置方式（需要先在 Blender 里安装插件）：&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;mcpServers&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;blender&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;command&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;uvx&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;      &lt;/span&gt;&lt;span&gt;&quot;args&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;blender-mcp&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Blender 端需要安装 blender-mcp 插件（在 Blender Preferences → Add-ons 里搜索安装），启动插件后会在本地开一个 socket，Claude 通过这个 socket 发送 Python 脚本指令。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;这些 MCP Server 都是官方提供的吗？&lt;a href=&quot;#这些-mcp-server-都是官方提供的吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不完全是。Anthropic 在 &lt;a href=&quot;https://github.com/modelcontextprotocol/servers&quot; target=&quot;_blank&quot;&gt;github.com/modelcontextprotocol/servers&lt;/a&gt; 维护了一批官方和社区参考实现，包括 Slack、GitHub、PostgreSQL、文件系统等。高德地图、Notion 等是各厂商自己发布的官方 MCP Server。Blender MCP、arXiv MCP 是社区开发者贡献的开源实现。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;在 Claude Desktop 和 Cursor 里配置有什么区别？&lt;a href=&quot;#在-claude-desktop-和-cursor-里配置有什么区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;协议完全一样，只有配置文件路径不同。Claude Desktop 用 &lt;code&gt;claude_desktop_config.json&lt;/code&gt;，Cursor 用 &lt;code&gt;.cursor/mcp.json&lt;/code&gt;（项目级）或 &lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;（全局）。同一个 MCP Server 的配置块可以直接复制到两边，不需要改内容。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;同时加载多个 MCP Server 会不会影响性能？&lt;a href=&quot;#同时加载多个-mcp-server-会不会影响性能&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;每个 MCP Server 在建立连接时才拉取工具清单，对话开始前 Host 会把所有已注册工具列表注入到上下文里。工具数量太多（超过 30-40 个）会占用 token，建议按项目需要配置，不常用的 Server 暂时禁用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP Server 有没有安全风险？&lt;a href=&quot;#mcp-server-有没有安全风险&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;有需要注意的点：① 文件系统 Server 只授权必要目录，不要把根目录 &lt;code&gt;/&lt;/code&gt; 暴露出去；② 数据库 Server 用只读账号；③ 第三方 npm 包发布的 Server 在使用前检查一下 GitHub 仓库的维护状态和 star 数，避免用到废弃项目。官方维护的 Server（modelcontextprotocol org 下的）可以直接用。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;下一步是把配置在本地真正跑起来。&lt;a href=&quot;/posts/mcp-series/mcp-local-debug/&quot;&gt;Claude Desktop + Cursor 本地 MCP Server 配置从零到跑通&lt;/a&gt;从环境安装开始，包含 macOS 和 Windows 双系统命令对照，以及 MCP Inspector 调试工具的完整使用流程。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-03，MCP Server 版本以各仓库最新 release 为准。建议定期检查 modelcontextprotocol/servers 仓库的版本更新。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>MCP 是什么？用一个类比彻底讲清楚模型上下文协议</title><link>https://www.yuntier.com/posts/mcp-series/mcp-what-is-mcp/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/mcp-what-is-mcp/</guid><description>从 AI 为何不知道今天天气切入，完整走一遍 MCP 工具调用的 JSON-RPC 流程，讲清楚 Host / Client / Server 三层架构和 MCP vs Function Calling 的本质区别。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;你问 Claude “今天北京的天气怎么样”，它说不知道。你问 Cursor “帮我查一下这个 GitHub Issue 的状态”，它也做不到。不是因为模型笨，而是它被关在一个没有窗户的房间里——只能处理你塞进来的文字，无法主动伸手去外部世界拿数据。MCP（Model Context Protocol，模型上下文协议）要解决的就是这个问题：给 AI 装上一套标准化的”手”。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;AI 不知道今天的天气，根本原因在哪里&lt;a href=&quot;#ai-不知道今天的天气根本原因在哪里&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;大语言模型本质上是一个函数：输入一段文本，输出一段文本。训练数据在某个时间点截止，之后发生的事情它一概不知。&lt;/p&gt;&lt;p&gt;这个设计本身没有问题，问题在于：如果我想让 AI 能查天气、能读数据库、能调用外部 API，该怎么做？&lt;/p&gt;&lt;p&gt;MCP 出现之前，每家 AI 应用自己解决这个问题：OpenAI 搞了 Function Calling，Anthropic 有 Tool Use，各家实现方式不同，数据格式不统一。你给 Claude 写了一个读取 GitHub 仓库的工具，换到 GPT-4 就得重写一遍。工具开发者被迫为每个 AI 平台各写一套对接代码。&lt;/p&gt;&lt;p&gt;类比一下：这就像每家电器厂商都设计自己的充电接口——苹果用 Lightning，三星用 USB-C，充电器带一个不够，出门要带三个。MCP 要做的，是定义一套 USB-C 标准，让所有 AI 应用和所有工具服务器都说同一种语言。&lt;/p&gt;&lt;p&gt;用 curl 看看 MCP 协议的真实长相——它底层是 JSON-RPC 2.0，结构非常干净：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 向 MCP Server 查询它支持哪些工具&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;POST&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://your-mcp-server.com/mcp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;tools/list&quot;,&quot;params&quot;:{},&quot;id&quot;:1}&apos;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 返回示例：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# {&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;result&quot;:{&quot;tools&quot;:[{&quot;name&quot;:&quot;get_weather&quot;,&quot;description&quot;:&quot;获取城市天气&quot;,...}]},&quot;id&quot;:1}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;MCP 解决了什么——从”每次定制”到”一次接入”&lt;a href=&quot;#mcp-解决了什么从每次定制到一次接入&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;MCP 全称 Model Context Protocol，由 Anthropic 在 2024 年 11 月开源。核心思路是：定义一套统一协议，工具开发者只需要实现一次 MCP Server，所有支持 MCP 的 AI 客户端都能直接用。&lt;/p&gt;&lt;p&gt;类比更准确的版本：MCP 不只是 USB-C 接口（物理形状），它还规定了”插上去之后发生什么”——设备怎么自我介绍、怎么声明支持哪些操作、怎么传输数据、怎么报错。&lt;/p&gt;&lt;p&gt;实际效果：你写一个能查天气的 MCP Server，Claude Desktop 能用，Cursor 也能用，以后任何支持 MCP 的客户端都能用，不需要改一行 Server 代码。&lt;/p&gt;&lt;p&gt;MCP 协议基于 JSON-RPC 2.0，有三种核心原语：&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;原语&lt;/th&gt;&lt;th&gt;作用&lt;/th&gt;&lt;th&gt;调用方向&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Tools&lt;/td&gt;&lt;td&gt;可执行的函数（查天气、写文件、调 API）&lt;/td&gt;&lt;td&gt;客户端 → Server&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Resources&lt;/td&gt;&lt;td&gt;可读取的数据（文档、数据库记录、文件内容）&lt;/td&gt;&lt;td&gt;客户端 → Server&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Prompts&lt;/td&gt;&lt;td&gt;预定义的提示词模板&lt;/td&gt;&lt;td&gt;客户端 → Server&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;MCP Server 声明自己支持的工具，格式如下：&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;jsonrpc&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;2.0&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;result&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;tools&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;get_weather&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;description&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;获取指定城市的实时天气&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;inputSchema&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;&quot;type&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;object&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;&quot;properties&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;            &lt;/span&gt;&lt;span&gt;&quot;city&quot;&lt;/span&gt;&lt;span&gt;: { &lt;/span&gt;&lt;span&gt;&quot;type&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;string&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;description&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;城市名，如北京&quot;&lt;/span&gt;&lt;span&gt; }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;13&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;          &lt;/span&gt;&lt;span&gt;&quot;required&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;span&gt;&quot;city&quot;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;14&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;15&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;16&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;17&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;18&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;id&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;19&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;显示更多&lt;/span&gt;&lt;span&gt;显示更少&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;这份工具清单由 Client 在连接时拉取，注入到大模型的上下文里，模型才知道自己”有哪些手可以用”。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;三层架构：Host / Client / Server 各自干什么&lt;a href=&quot;#三层架构host--client--server-各自干什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;MCP 定义了三个角色，理清这三层，协议就懂了一半。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Host&lt;/strong&gt;：用户直接交互的应用程序。Claude Desktop、Cursor、Zed 都是 Host。Host 负责发起连接、管理会话、把 AI 的工具调用意图转发给 Client 执行。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Client&lt;/strong&gt;：Host 内部的组件，专门负责和 MCP Server 通信。一个 Host 可以同时维持多个 Client 连接，对应多个不同的 Server。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Server&lt;/strong&gt;：暴露工具、资源、提示词的轻量服务。可以是本地进程（通过 stdio 通信），也可以是远程 HTTP 服务（通过 Streamable HTTP）。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Host（Claude Desktop）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── Client A ──── MCP Server: 天气查询&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── Client B ──── MCP Server: GitHub 操作&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── Client C ──── MCP Server: 本地文件系统&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Host 和 Client 的关系是 1——一个 Host 启动多个 Client，每个 Client 对接一个 Server。Server 之间完全隔离，Server A 不知道 Server B 的存在。&lt;/p&gt;&lt;p&gt;查看 Claude Desktop 当前加载的 MCP Server 配置（macOS）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 配置文件里的每一个 entry 对应一个 MCP Server&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;cat&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;~/Library/Application&lt;/span&gt;&lt;span&gt;\ &lt;/span&gt;&lt;span&gt;Support/Claude/claude_desktop_config.json&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;一次工具调用的完整流程（含 JSON-RPC 报文）&lt;a href=&quot;#一次工具调用的完整流程含-json-rpc-报文&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;你问 Claude “北京今天天气怎么样”，到 Claude 给出答案，中间发生了什么？按顺序走一遍。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;① 你发出问题，Host 把问题送给大模型&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;大模型收到对话上下文，外加一份”可用工具清单”（由 Client 从 MCP Server 获取并注入到 system prompt 里）。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;② 大模型决定要调用工具&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;模型输出不是直接回答，而是一个工具调用意图：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;type&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;tool_use&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;get_weather&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;input&quot;&lt;/span&gt;&lt;span&gt;: { &lt;/span&gt;&lt;span&gt;&quot;city&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;北京&quot;&lt;/span&gt;&lt;span&gt; }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;③ Host 把调用请求转给 Client，Client 发送给 MCP Server&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;jsonrpc&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;2.0&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;method&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;tools/call&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;params&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;name&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;get_weather&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;arguments&quot;&lt;/span&gt;&lt;span&gt;: { &lt;/span&gt;&lt;span&gt;&quot;city&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;北京&quot;&lt;/span&gt;&lt;span&gt; }&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;id&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;④ MCP Server 执行工具，返回结果&lt;/strong&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;jsonrpc&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;2.0&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;result&quot;&lt;/span&gt;&lt;span&gt;: {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;    &lt;/span&gt;&lt;span&gt;&quot;content&quot;&lt;/span&gt;&lt;span&gt;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;type&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;text&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&quot;text&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;&quot;北京今日天气：晴，气温 12°C–22°C，东南风 3 级&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;},&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;id&quot;&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;⑤ Host 把工具结果注入对话上下文，再次送给大模型&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;模型读取天气数据，生成最终回复：“北京今天晴天，气温 12 到 22 度，东南风 3 级，适合出门。”&lt;/p&gt;&lt;p&gt;整个流程，用户看到的只有问题和答案，中间的 JSON-RPC 往返在后台完成。关键点：&lt;strong&gt;模型本身没有”联网”，工具的实际执行在 MCP Server 里，模型只负责决策要不要调用、调哪个、传什么参数&lt;/strong&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;MCP vs Function Calling：为什么需要一个专门的协议&lt;a href=&quot;#mcp-vs-function-calling为什么需要一个专门的协议&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Function Calling 和 MCP 解决的问题有重叠，但层次不同。&lt;/p&gt;&lt;p&gt;Function Calling 是 AI 模型层面的能力：模型在输出中声明”我要调用这个函数，参数是这些”。具体怎么调、谁来执行、结果怎么传回来，Function Calling 不管。每个 AI 平台的格式都不一样，工具开发者需要为 OpenAI、Anthropic、Gemini 各写一套。&lt;/p&gt;&lt;p&gt;MCP 是客户端-服务端通信协议，定义的是”工具服务器如何被发现、如何被调用、结果如何返回”的完整标准。&lt;/p&gt;





























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;维度&lt;/th&gt;&lt;th&gt;Function Calling&lt;/th&gt;&lt;th&gt;MCP&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;层次&lt;/td&gt;&lt;td&gt;模型输出格式&lt;/td&gt;&lt;td&gt;客户端-服务端协议&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;标准化范围&lt;/td&gt;&lt;td&gt;单家平台内部&lt;/td&gt;&lt;td&gt;跨平台通用&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;解决的问题&lt;/td&gt;&lt;td&gt;模型怎么表达意图&lt;/td&gt;&lt;td&gt;意图怎么被执行&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;工具开发者负担&lt;/td&gt;&lt;td&gt;每个平台各写一套&lt;/td&gt;&lt;td&gt;写一次，全平台通用&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;两者不是竞争关系，是不同层次的配合：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;用户输入&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;大模型（用 Function Calling / Tool Use 表达工具调用意图）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MCP Client（把意图转成 MCP 协议请求）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;MCP Server（执行工具，返回结果）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;大模型（把结果整合进回复）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;↓&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;用户看到答案&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;MCP 是 Function Calling 的”执行层标准化”——解决的是工具生态碎片化的问题，不是替代模型的推理能力。&lt;/p&gt;&lt;p&gt;验证一下你的 MCP Server 是否正确响应 initialize 握手（所有客户端接入前都会先发这个）：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 替换 URL 和 token 为实际值&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;curl&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-s&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-X&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;POST&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https://your-mcp-server.com/mcp&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-H&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;Authorization: Bearer your-token&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;-d&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;{&quot;jsonrpc&quot;:&quot;2.0&quot;,&quot;method&quot;:&quot;initialize&quot;,&quot;params&quot;:{&quot;protocolVersion&quot;:&quot;2024-11-05&quot;,&quot;capabilities&quot;:{},&quot;clientInfo&quot;:{&quot;name&quot;:&quot;test&quot;,&quot;version&quot;:&quot;1.0&quot;}},&quot;id&quot;:1}&apos;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;\&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span&gt;| &lt;/span&gt;&lt;span&gt;python3&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-m&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;json.tool&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 看到 serverInfo 字段说明 Server 正常运行&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;MCP 协议是谁提出的？&lt;a href=&quot;#mcp-协议是谁提出的&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Anthropic 于 2024 年 11 月发布并开源了 MCP。协议规范和 SDK 代码托管在 &lt;a href=&quot;https://github.com/modelcontextprotocol&quot; target=&quot;_blank&quot;&gt;MCP 官方仓库&lt;/a&gt;，目前已有 OpenAI、Google DeepMind 等厂商跟进支持，逐渐成为 AI 工具调用的事实标准。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP 只能配合 Claude 使用吗？&lt;a href=&quot;#mcp-只能配合-claude-使用吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。MCP 是开放协议，任何 AI 应用都可以实现 MCP Client。目前已支持 MCP 的客户端包括 Claude Desktop、Cursor、Zed、Continue、Cline 等。MCP Server 写好之后，对所有这些客户端通用，不需要改代码。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP Server 只能部署在本地吗？&lt;a href=&quot;#mcp-server-只能部署在本地吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;本地和远程都可以。本地 MCP Server 通过 stdio（标准输入输出）与 Client 通信，不需要网络；远程 MCP Server 通过 Streamable HTTP 暴露 HTTPS 端点，可以部署在 VPS 上。两种方式的 MCP 协议层完全一致，只有传输层不同。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;MCP 用什么格式传输数据？&lt;a href=&quot;#mcp-用什么格式传输数据&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;JSON-RPC 2.0。所有 MCP 请求和响应都是标准的 JSON-RPC 报文，method 字段对应操作类型（&lt;code&gt;tools/list&lt;/code&gt;、&lt;code&gt;tools/call&lt;/code&gt;、&lt;code&gt;resources/read&lt;/code&gt; 等），params 和 result 字段传递业务数据。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;理解了 MCP 的架构和调用流程，下一步是看它在实际工作流里能解决哪些具体问题。&lt;a href=&quot;/posts/mcp-series/mcp-what-can-mcp-do/&quot;&gt;MCP 能做什么？10 个真实场景让 Claude / Cursor 变成超级助手&lt;/a&gt;里列了 10 个真实场景，每个都有配置代码，可以直接拿来用。&lt;/p&gt;&lt;p&gt;&lt;em&gt;本文最后更新于 2026-03，MCP SDK 版本：1.10.2。MCP 协议迭代较快，建议每 3 个月检查 SDK 版本和客户端配置格式变更。&lt;/em&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>Claude Code Skills：可复用提示词模块完整指南</title><link>https://www.yuntier.com/posts/mcp-series/skills/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/skills/</guid><description>Claude Code Skills 是通过 /skill-name 调用的专项提示词模块，支持 /commit、/review-pr 等内置 Skill，也可自定义。本文介绍安装方式、调用语法和高质量 Skill 写法。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Skills 是 Claude Code 的可复用提示词模块，每个 Skill 对应一种专项任务，通过 &lt;code&gt;/skill-name&lt;/code&gt; 调用。一次配置，反复使用。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;Skills 的工作原理&lt;a href=&quot;#skills-的工作原理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;一个 Skill 本质上是一个带有详细指令的提示词文件（Markdown 格式），存放在 &lt;code&gt;.claude/skills/&lt;/code&gt; 目录下。调用时，Claude Code 把 Skill 的内容加载进上下文，按照其中的指令完成任务。&lt;/p&gt;&lt;p&gt;Skills 有两种来源：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;安装型&lt;/strong&gt;：通过 &lt;code&gt;npx skills add &amp;lt;URL&amp;gt;&lt;/code&gt; 从远程安装，下载到 &lt;code&gt;~/.claude/skills/&lt;/code&gt; 目录，所有项目均可调用&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自定义型&lt;/strong&gt;：在项目的 &lt;code&gt;.claude/skills/&lt;/code&gt; 目录手写 &lt;code&gt;.md&lt;/code&gt; 文件，只在该项目可用；放在 &lt;code&gt;~/.claude/skills/&lt;/code&gt; 则全局可用&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;目录结构示例：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;project/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;└── .claude/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── skills/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── commit.md       # git commit 规范化（安装型或自定义）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;├── review-pr.md    # PR 代码审查&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span&gt;└── deploy-check.md # 自定义 Skill&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;调用 Skill&lt;a href=&quot;#调用-skill&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在 Claude Code 对话中，输入 &lt;code&gt;/skill-name&lt;/code&gt; 即可调用：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/commit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/review-pr 123&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/deploy-check&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;斜杠后面接 Skill 文件名（不含 &lt;code&gt;.md&lt;/code&gt; 后缀）。部分 Skill 支持传递参数，如 &lt;code&gt;/review-pr 123&lt;/code&gt; 中的 &lt;code&gt;123&lt;/code&gt; 是 PR 编号，Skill 文件里通过 &lt;code&gt;$ARGUMENTS&lt;/code&gt; 引用。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;内置 Skills&lt;a href=&quot;#内置-skills&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Claude Code 自带一批常用 Skills，覆盖开发流程中最高频的操作：&lt;/p&gt;&lt;section&gt;&lt;h3&gt;/commit&lt;a href=&quot;#commit&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;自动生成符合规范的 git commit 信息。&lt;/p&gt;&lt;p&gt;调用后 Claude 会分析当前 staged changes，生成符合 Conventional Commits 规范的提交信息，包含 type、scope 和描述，并添加 &lt;code&gt;Co-Authored-By&lt;/code&gt; 署名。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/commit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# Claude 输出：feat(auth): add OAuth2 login flow&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;/review-pr&lt;a href=&quot;#review-pr&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;审查指定 PR，输出结构化的问题清单。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/review-pr 42&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;Claude 会拉取 PR #42 的 diff，从代码质量、潜在 bug、安全风险、性能问题几个维度输出审查意见，每条问题标注文件和行号。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;/simplify&lt;a href=&quot;#simplify&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;简化和重构刚修改的代码，专注于可读性。调用后 Claude 只处理最近改动的部分，不触碰其他代码。&lt;/p&gt;&lt;p&gt;适合在功能实现完成后，快速做一轮代码整洁处理。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;/loop&lt;a href=&quot;#loop&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;按设定间隔循环执行某个任务，适合监控型场景。例如每隔 30 秒检查一次某个 API 的返回状态，直到条件满足为止。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;自定义 Skill&lt;a href=&quot;#自定义-skill&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;.claude/skills/&lt;/code&gt; 下创建 &lt;code&gt;.md&lt;/code&gt; 文件，写入任务描述和执行步骤，即为一个自定义 Skill。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;基础示例&lt;a href=&quot;#基础示例&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# deploy-check&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;检查当前分支是否满足部署条件：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;1.&lt;/span&gt;&lt;span&gt; 确认所有测试通过（运行 &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;npm test&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt;）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;2.&lt;/span&gt;&lt;span&gt; 检查是否有未提交的改动（&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;git status&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt;）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;3.&lt;/span&gt;&lt;span&gt; 验证 CI 最新 run 的状态&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;4.&lt;/span&gt;&lt;span&gt; 检查是否有 console.log 遗留在代码里&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;5.&lt;/span&gt;&lt;span&gt; 输出结论：可以部署 / 不可以部署（列出原因）&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;保存后直接用 &lt;code&gt;/deploy-check&lt;/code&gt; 调用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;带参数的 Skill&lt;a href=&quot;#带参数的-skill&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Skill 文件里用 &lt;code&gt;$ARGUMENTS&lt;/code&gt; 接收调用时传入的参数：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# test-file&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;为 $ARGUMENTS 这个文件编写单元测试：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;1.&lt;/span&gt;&lt;span&gt; 分析文件里所有导出的函数和类&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;2.&lt;/span&gt;&lt;span&gt; 用项目已有的测试框架（查看 package.json 确认）&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;3.&lt;/span&gt;&lt;span&gt; 覆盖正常路径和边界情况&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;4.&lt;/span&gt;&lt;span&gt; 测试文件命名规则：原文件名加 &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;.test&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 后缀，放在同目录下&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;调用方式：&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;/test-file src/utils/parser.ts&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;适合做成 Skill 的场景&lt;a href=&quot;#适合做成-skill-的场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;有固定检查清单的任务（部署检查、发布前检查）&lt;/li&gt;
&lt;li&gt;需要跨多个文件协调操作的任务（生成 CRUD 全套代码）&lt;/li&gt;
&lt;li&gt;团队内需要统一输出格式的任务（代码审查、技术方案评审）&lt;/li&gt;
&lt;li&gt;重复性但每次对象不同的任务（为新模块写测试、生成 API 文档）&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;编写高质量 Skill 的建议&lt;a href=&quot;#编写高质量-skill-的建议&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;明确输出格式&lt;/strong&gt;：告诉 Claude 输出什么，而不是只说”分析一下”。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# bad&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;分析这段代码的问题。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# good&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;分析这段代码，用以下格式输出：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;严重&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt; 影响功能或安全的问题&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;建议&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt; 影响可维护性的问题&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;可选&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span&gt; 风格或性能改进&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;每条问题注明文件路径和行号。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;加入约束条件&lt;/strong&gt;：明确说明不做什么，减少 Claude 自作主张。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;只修改有问题的函数，不要重构周边代码，不要改变函数签名。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;分步骤描述&lt;/strong&gt;：复杂任务拆成有序步骤，Claude 的执行准确率更高。&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Claude Code 的其他使用技巧（Projects、上下文管理、MCP 接入）参考 &lt;a href=&quot;/posts/claude-guide/tips/&quot;&gt;Claude 使用技巧&lt;/a&gt;。想了解 Claude Code 在 AI 工具体系里的位置，见 &lt;a href=&quot;/posts/mcp-series/tools/&quot;&gt;AI 工具推荐&lt;/a&gt;。&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>AI 编程工具推荐：Claude、Cursor、Antigravity 实测对比</title><link>https://www.yuntier.com/posts/mcp-series/tools/</link><guid isPermaLink="true">https://www.yuntier.com/posts/mcp-series/tools/</guid><description>实测对比三款主流 AI 编程工具：Claude（网页/CLI/桌面）、Cursor（VSCode-based IDE）、Antigravity（Google AI IDE）。含套餐价格、核心功能、MCP 支持情况和场景选型建议。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这里收录实测可用的 AI 工具，不做广告，只写自己用过的。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;编程助手&lt;a href=&quot;#编程助手&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;Claude（Anthropic）&lt;a href=&quot;#claudeanthropic&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;当前综合能力最强的 AI 助手，代码能力、长文理解、指令遵循在主流模型里排前列。适合需要深度交互的复杂编程任务。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;访问方式：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;网页版：&lt;a href=&quot;https://claude.ai&quot; target=&quot;_blank&quot;&gt;claude.ai&lt;/a&gt;（支持 Projects，免费版有消息限制）&lt;/li&gt;
&lt;li&gt;命令行：Claude Code（直接操作文件和 git）&lt;/li&gt;
&lt;li&gt;桌面版：Claude Desktop（支持 MCP 工具调用）&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;# 安装 Claude Code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;npm&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;install&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-g&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;@anthropic-ai/claude-code&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;claude&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;套餐选择：&lt;/strong&gt;&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;套餐&lt;/th&gt;&lt;th&gt;价格&lt;/th&gt;&lt;th&gt;适合&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;免费版&lt;/td&gt;&lt;td&gt;USD 0&lt;/td&gt;&lt;td&gt;轻度使用，了解 Claude 能力&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Pro&lt;/td&gt;&lt;td&gt;USD 20/月&lt;/td&gt;&lt;td&gt;日常重度使用，有 Projects 功能&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Claude Max&lt;/td&gt;&lt;td&gt;USD 100/月起&lt;/td&gt;&lt;td&gt;需要大量消息配额或 opus 模型&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;国内没有境外信用卡的订阅方式参考 &lt;a href=&quot;/posts/claude-guide/register/&quot;&gt;Claude Pro 订阅教程&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;适合场景：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;复杂代码逻辑分析和重构&lt;/li&gt;
&lt;li&gt;需要长上下文的大型代码库问答&lt;/li&gt;
&lt;li&gt;技术方案讨论和 Trade-off 分析&lt;/li&gt;
&lt;li&gt;配合 MCP 做自动化工作流&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Cursor&lt;a href=&quot;#cursor&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;基于 VSCode 的 AI 编辑器，把 AI 能力直接集成进编辑器，适合在项目级别使用 AI 辅助编码。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;核心功能：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cmd+K&lt;/strong&gt;：内联编辑，选中代码直接让 AI 修改&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Composer&lt;/strong&gt;：多文件编辑模式，适合跨文件重构&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chat&lt;/strong&gt;：边写代码边问问题，上下文自动包含当前文件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tab 补全&lt;/strong&gt;：基于当前上下文的多行代码补全，比 Copilot 准确&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;模型支持：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Cursor 支持接入多个模型，包括 Claude Sonnet 4.5、GPT-4o、Gemini 2.5 Pro 等，可以按任务切换。代码补全默认用自家的小模型，速度快；复杂问题切到 Claude。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;MCP 支持：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Cursor 原生支持 MCP，可以接入数据库、文件系统等外部工具。配置方法参考 &lt;a href=&quot;/posts/mcp-series/mcp/&quot;&gt;MCP 系列&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;套餐：&lt;/strong&gt;&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;套餐&lt;/th&gt;&lt;th&gt;价格&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;免费版&lt;/td&gt;&lt;td&gt;USD 0&lt;/td&gt;&lt;td&gt;每月限额使用高级模型&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Pro&lt;/td&gt;&lt;td&gt;USD 20/月&lt;/td&gt;&lt;td&gt;无限使用高级模型，500 次快速请求/月&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Business&lt;/td&gt;&lt;td&gt;USD 40/用户/月&lt;/td&gt;&lt;td&gt;团队版，统一账单管理&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;strong&gt;适合场景：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;日常开发的主力编辑器（替代 VSCode）&lt;/li&gt;
&lt;li&gt;需要频繁内联修改代码的场景&lt;/li&gt;
&lt;li&gt;已经熟悉 VSCode 快捷键，迁移成本低&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;Antigravity（Google）&lt;a href=&quot;#antigravitygoogle&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Google 推出的 AI IDE，深度集成 Gemini 模型，目前仅向 &lt;strong&gt;Google AI Pro / Ultra 会员&lt;/strong&gt;开放。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;特点：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;原生 Gemini 集成，在 Google 自家工具链（Cloud Console、BigQuery）上表现好&lt;/li&gt;
&lt;li&gt;内置代码补全，支持 100 万 token 超长上下文&lt;/li&gt;
&lt;li&gt;目前处于早期阶段，功能仍在迭代中&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;适合场景：&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;已经是 Google AI Pro/Ultra 用户，顺带体验&lt;/li&gt;
&lt;li&gt;项目重度依赖 Google Cloud 生态&lt;/li&gt;
&lt;li&gt;想用超长上下文处理大型代码库&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;登录遇到问题参考 &lt;a href=&quot;/posts/mcp-series/antigravity-login-fixes/&quot;&gt;Antigravity 登录排查指南&lt;/a&gt;。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;工具对比&lt;a href=&quot;#工具对比&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;




















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Claude&lt;/th&gt;&lt;th&gt;Cursor&lt;/th&gt;&lt;th&gt;Antigravity&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;形态&lt;/td&gt;&lt;td&gt;网页 / CLI / 桌面&lt;/td&gt;&lt;td&gt;IDE（VSCode-based）&lt;/td&gt;&lt;td&gt;IDE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;代码补全&lt;/td&gt;&lt;td&gt;无（命令行）&lt;/td&gt;&lt;td&gt;有（多行）&lt;/td&gt;&lt;td&gt;有&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;MCP 支持&lt;/td&gt;&lt;td&gt;Claude Desktop / Code&lt;/td&gt;&lt;td&gt;有&lt;/td&gt;&lt;td&gt;不支持&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;长上下文&lt;/td&gt;&lt;td&gt;200K token&lt;/td&gt;&lt;td&gt;取决于模型&lt;/td&gt;&lt;td&gt;100万 token&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;适合语言&lt;/td&gt;&lt;td&gt;全语言&lt;/td&gt;&lt;td&gt;全语言&lt;/td&gt;&lt;td&gt;全语言&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;门槛&lt;/td&gt;&lt;td&gt;注册即用&lt;/td&gt;&lt;td&gt;安装即用&lt;/td&gt;&lt;td&gt;需要 Google AI Pro&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;月费&lt;/td&gt;&lt;td&gt;USD 20（Pro）&lt;/td&gt;&lt;td&gt;USD 20（Pro）&lt;/td&gt;&lt;td&gt;含在 Google AI Pro 里&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;场景推荐&lt;a href=&quot;#场景推荐&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;日常编码主力&lt;/strong&gt;：Cursor。编辑器集成、补全、多文件编辑，覆盖大多数开发场景。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;复杂问题深度分析&lt;/strong&gt;：Claude 网页版或 Claude Desktop。上下文管理灵活，Projects 功能适合持续性项目。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;自动化脚本和 CI 任务&lt;/strong&gt;：Claude Code。可以直接操作文件系统和 git，适合脚本化工作流。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Google Cloud 项目&lt;/strong&gt;：Antigravity。如果已有 Google AI Pro，超长上下文在分析大型代码库时有优势。&lt;/p&gt;&lt;p&gt;实际使用中，Claude + Cursor 的组合覆盖了 90% 的场景：Cursor 负责日常编辑，Claude 处理需要深度推理的问题。&lt;/p&gt;&lt;p&gt;配套阅读：&lt;a href=&quot;/posts/claude-guide/tips/&quot;&gt;Claude 使用技巧&lt;/a&gt;（Projects 配置、上下文管理）、&lt;a href=&quot;/posts/mcp-series/skills/&quot;&gt;Claude Code Skills&lt;/a&gt;（可复用提示词模块）、&lt;a href=&quot;/posts/mcp-series/mcp/&quot;&gt;MCP 系列&lt;/a&gt;（给 Claude 接入外部工具）。&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>阿里云 ICP 备案全流程：个人建站自助操作图文教程</title><link>https://www.yuntier.com/posts/site-ops/icp-filing/</link><guid isPermaLink="true">https://www.yuntier.com/posts/site-ops/icp-filing/</guid><description>首次在阿里云做 ICP 备案的完整图文教程，从购买 ECS 到等待管局审核，12 个操作步骤全覆盖，每步配截图，跟着操作就行。</description><pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;域名买好了，服务器也有了，但网站就是打不开——八成是因为没备案。在中国大陆，所有使用境内服务器的网站都必须先完成 ICP 备案，否则域名解析被屏蔽，网站白搭。这篇把整个阿里云 ICP 备案流程走一遍，图文对应，首次操作按这个顺序来就行。&lt;/p&gt;
&lt;hr /&gt;
&lt;section&gt;&lt;h2&gt;为什么国内网站必须备案&lt;a href=&quot;#为什么国内网站必须备案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;工信部规定：使用中国大陆 IP 的服务器提供互联网信息服务，必须取得 ICP 备案号，否则属于违规经营。阿里云、腾讯云等云服务商都会主动拦截未备案域名的 HTTP/HTTPS 流量，访问者看到的是云服务商的拦截页面，而不是你的网站。&lt;/p&gt;&lt;p&gt;影响范围：所有使用境内服务器 IP 的站点，包括个人博客、技术文档、作品集，无一例外。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Note&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;如果你的服务器在境外（香港、新加坡、美国），不需要 ICP 备案，但也无法使用国内 CDN 加速，两条路按需选。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;前置条件：购买阿里云 ECS（至少3个月）&lt;a href=&quot;#前置条件购买阿里云-ecs至少3个月&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;ICP 备案必须绑定一台实名认证过的境内云服务器，且购买时长不少于3个月——没有这台机器，整个备案流程无法启动。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云ECS购买页面，备案最低门槛方案&quot; loading=&quot;lazy&quot; width=&quot;3200&quot; height=&quot;8358&quot; src=&quot;/_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z1F9Maj.webp&quot; srcset=&quot;/_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z8Nk5R.webp 640w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_dPbki.webp 750w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z1qUdwX.webp 828w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_1savIb.webp 1080w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_N1vgk.webp 1280w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_i9QbX.webp 1668w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z1pHe9G.webp 2048w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z1ot9SR.webp 2560w, /_astro/aliyun-icp-buy-ecs-3months-minimum.6uLpgdev_Z1F9Maj.webp 3200w&quot; /&gt;&lt;figcaption&gt;阿里云ECS购买页面，备案最低门槛方案&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;上图是满足备案最低门槛的 ECS 方案，配置最低，目的只有一个——过备案。如果你有实际建站需求（跑 Nginx、部署 Node.js 或 Python 服务），这个配置完全不够用，必须按实际业务需求选更高配置。备案机和生产机是两回事。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;购买注意事项：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;地域选中国大陆任意可用区（华东、华北、华南都行）&lt;/li&gt;
&lt;li&gt;购买时长 ≥ 3个月，这是备案的强制要求&lt;/li&gt;
&lt;li&gt;下单前完成阿里云账号实名认证，否则备案流程中会卡在云服务校验环节&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;进入备案入口&lt;a href=&quot;#进入备案入口&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;ECS 购买完成后，在阿里云控制台顶部搜索”备案”，或直接访问备案控制台首页。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云ICP备案入口页面&quot; loading=&quot;lazy&quot; width=&quot;3158&quot; height=&quot;1223&quot; src=&quot;/_astro/aliyun-icp-filing-entry.BJEqRzdg_9Kmti.webp&quot; srcset=&quot;/_astro/aliyun-icp-filing-entry.BJEqRzdg_llPFL.webp 640w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_ZHwEH4.webp 750w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_L2xSd.webp 828w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_Z1qwvAf.webp 1080w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_RhYby.webp 1280w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_2a0kKu.webp 1668w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_Z5BvPk.webp 2048w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_Z25FBRX.webp 2560w, /_astro/aliyun-icp-filing-entry.BJEqRzdg_9Kmti.webp 3158w&quot; /&gt;&lt;figcaption&gt;阿里云ICP备案入口页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;页面右下角有智能备案助手浮窗，点击可快速进入备案流程。也可以通过左侧导航 &lt;strong&gt;备案首页 → 开始备案&lt;/strong&gt; 进入。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;选择自助备案&lt;a href=&quot;#选择自助备案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;点击开始备案后，系统弹出三种备案方式：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云备案方式选择页面&quot; loading=&quot;lazy&quot; width=&quot;2378&quot; height=&quot;1187&quot; src=&quot;/_astro/aliyun-icp-select-self-service.cNEQI_kM_KtdyV.webp&quot; srcset=&quot;/_astro/aliyun-icp-select-self-service.cNEQI_kM_Z167x0G.webp 640w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_orUKv.webp 750w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_1mArvN.webp 828w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_6PL5j.webp 1080w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_20Hb7O.webp 1280w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_Z16K0H5.webp 1668w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_2aBQOc.webp 2048w, /_astro/aliyun-icp-select-self-service.cNEQI_kM_KtdyV.webp 2378w&quot; /&gt;&lt;figcaption&gt;阿里云备案方式选择页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;方式&lt;/th&gt;&lt;th&gt;费用&lt;/th&gt;&lt;th&gt;需填表单数&lt;/th&gt;&lt;th&gt;阿里云审核时长&lt;/th&gt;&lt;th&gt;适合人群&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;委托备案管家&lt;/td&gt;&lt;td&gt;¥600起&lt;/td&gt;&lt;td&gt;0（代填）&lt;/td&gt;&lt;td&gt;约2小时&lt;/td&gt;&lt;td&gt;完全不想操作&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;使用智能助理&lt;/td&gt;&lt;td&gt;¥99&lt;/td&gt;&lt;td&gt;14个&lt;/td&gt;&lt;td&gt;约2小时&lt;/td&gt;&lt;td&gt;想省事但有预算&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;自助备案&lt;/td&gt;&lt;td&gt;免费&lt;/td&gt;&lt;td&gt;29个&lt;/td&gt;&lt;td&gt;1-2个工作日&lt;/td&gt;&lt;td&gt;自己能操作&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;选&lt;strong&gt;自助备案&lt;/strong&gt;，免费，表单多一些但都是基础信息，按页面提示填就行。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;开始备案&lt;a href=&quot;#开始备案&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;选完方式后进入”我的备案”页面，点击&lt;strong&gt;开始备案&lt;/strong&gt;按钮：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云我的备案页面&quot; loading=&quot;lazy&quot; width=&quot;2913&quot; height=&quot;1467&quot; src=&quot;/_astro/aliyun-icp-start-filing.DFUDm11G_Z2dT5u9.webp&quot; srcset=&quot;/_astro/aliyun-icp-start-filing.DFUDm11G_Z20uv8h.webp 640w, /_astro/aliyun-icp-start-filing.DFUDm11G_2wCRXX.webp 750w, /_astro/aliyun-icp-start-filing.DFUDm11G_16pV9f.webp 828w, /_astro/aliyun-icp-start-filing.DFUDm11G_Zhel0j.webp 1080w, /_astro/aliyun-icp-start-filing.DFUDm11G_1UtiIV.webp 1280w, /_astro/aliyun-icp-start-filing.DFUDm11G_J0B4q.webp 1668w, /_astro/aliyun-icp-start-filing.DFUDm11G_Z5Pkv9.webp 2048w, /_astro/aliyun-icp-start-filing.DFUDm11G_L0EzK.webp 2560w, /_astro/aliyun-icp-start-filing.DFUDm11G_Z2dT5u9.webp 2913w&quot; /&gt;&lt;figcaption&gt;阿里云我的备案页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;首次备案这里是空列表，直接点开始备案。进入后系统再次弹出方式选择对话框，再次确认选&lt;strong&gt;自助备案&lt;/strong&gt;：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;确认选择自助备案方式&quot; loading=&quot;lazy&quot; width=&quot;2413&quot; height=&quot;1497&quot; src=&quot;/_astro/aliyun-icp-start-self-filing.QBAK3fui_1hwFbw.webp&quot; srcset=&quot;/_astro/aliyun-icp-start-self-filing.QBAK3fui_2k23tW.webp 640w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_18CJmi.webp 750w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_2lfyiz.webp 828w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_Z1fLTEv.webp 1080w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_17LxCI.webp 1280w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_Z12kx29.webp 1668w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_Z14II6T.webp 2048w, /_astro/aliyun-icp-start-self-filing.QBAK3fui_1hwFbw.webp 2413w&quot; /&gt;&lt;figcaption&gt;确认选择自助备案方式&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;填写基础信息&lt;a href=&quot;#填写基础信息&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;互联网信息服务校验&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;备案基础信息校验表单&quot; loading=&quot;lazy&quot; width=&quot;1846&quot; height=&quot;1508&quot; src=&quot;/_astro/aliyun-icp-basic-info-verification.BSLmq6e7_Z238zOz.webp&quot; srcset=&quot;/_astro/aliyun-icp-basic-info-verification.BSLmq6e7_2zwb0.webp 640w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_2kPDk2.webp 750w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_Z22RVSx.webp 828w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_5Ydx8.webp 1080w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_Z12Mbmy.webp 1280w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_Z2c1VzL.webp 1668w, /_astro/aliyun-icp-basic-info-verification.BSLmq6e7_Z238zOz.webp 1846w&quot; /&gt;&lt;figcaption&gt;备案基础信息校验表单&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;需要填写的字段：&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **服务类型**：选&quot;网站&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **网站域名**：填已购买的域名，如 `pid0.cn`&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **地区**：选实际所在省市&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **备案性质**：个人建站选&quot;个人&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **证件类型**：大陆居民选&quot;居民身份证&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- **主办者名称、证件号码、证件住所**：按身份证如实填写&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;2. &lt;strong&gt;填写主办者详细信息&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云备案主办者基础信息填写&quot; loading=&quot;lazy&quot; width=&quot;1511&quot; height=&quot;1717&quot; src=&quot;/_astro/aliyun-icp-basic-info-form.DtA7rqqZ_Z2h19ei.webp&quot; srcset=&quot;/_astro/aliyun-icp-basic-info-form.DtA7rqqZ_Z25v0gp.webp 640w, /_astro/aliyun-icp-basic-info-form.DtA7rqqZ_CJnpr.webp 750w, /_astro/aliyun-icp-basic-info-form.DtA7rqqZ_Z2prIIr.webp 828w, /_astro/aliyun-icp-basic-info-form.DtA7rqqZ_1eh55i.webp 1080w, /_astro/aliyun-icp-basic-info-form.DtA7rqqZ_Zae0HI.webp 1280w, /_astro/aliyun-icp-basic-info-form.DtA7rqqZ_Z2h19ei.webp 1511w&quot; /&gt;&lt;figcaption&gt;阿里云备案主办者基础信息填写&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;还需要填写**主要负责人信息**：手机号、短信验证码、备用联系方式、邮箱。手机号要保证接下来几天内畅通——阿里云初审会打电话来，错过了审核会延迟。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;填完后点右下角的**信息校验**按钮。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;3. &lt;strong&gt;确认校验结果&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;阿里云备案基础信息校验通过&quot; loading=&quot;lazy&quot; width=&quot;1514&quot; height=&quot;1022&quot; src=&quot;/_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_1CJ129.webp&quot; srcset=&quot;/_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_ZWsuX2.webp 640w, /_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_Z16zBs2.webp 750w, /_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_IMqKh.webp 828w, /_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_6r7pw.webp 1080w, /_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_am9H3.webp 1280w, /_astro/aliyun-icp-basic-info-check-passed.srx0X-8r_1CJ129.webp 1514w&quot; /&gt;&lt;figcaption&gt;阿里云备案基础信息校验通过&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;三项全绿才能继续：基础信息、云服务可用性、所需资料。确认无问题后点**下一步**。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;填写互联网服务信息&lt;a href=&quot;#填写互联网服务信息&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;填写网站互联网服务信息&quot; loading=&quot;lazy&quot; width=&quot;1807&quot; height=&quot;1477&quot; src=&quot;/_astro/aliyun-icp-website-service-info.DvPaXQ9l_1MWtTb.webp&quot; srcset=&quot;/_astro/aliyun-icp-website-service-info.DvPaXQ9l_Z8WqTw.webp 640w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_1IiGlx.webp 750w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_Z24CruK.webp 828w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_1QAPPc.webp 1080w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_265Fgp.webp 1280w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_apBi1.webp 1668w, /_astro/aliyun-icp-website-service-info.DvPaXQ9l_1MWtTb.webp 1807w&quot; /&gt;&lt;figcaption&gt;填写网站互联网服务信息&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;各字段说明：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;网站名称&lt;/strong&gt;：给网站取个名字，不能用政治敏感词，不能直接写域名&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网站内容&lt;/strong&gt;：个人博客选”博客·个人空间”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网站语言&lt;/strong&gt;：选”中文简体”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;云服务&lt;/strong&gt;：选 ECS，然后在下方选对应的云产品实例&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Tip&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;备注栏建议填写一句话描述，如”本网站为个人技术博客，主要用于分享技术教程”。这段话随材料提交给管局，写清楚能减少被问询的概率。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;点&lt;strong&gt;完成填写&lt;/strong&gt;，进入服务信息列表页：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;备案互联网服务信息填写完成&quot; loading=&quot;lazy&quot; width=&quot;2011&quot; height=&quot;1548&quot; src=&quot;/_astro/aliyun-icp-website-service-info-list.BlEWTaE0_1CgLKM.webp&quot; srcset=&quot;/_astro/aliyun-icp-website-service-info-list.BlEWTaE0_ZXLTvA.webp 640w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_14tLoq.webp 750w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_Z1wmcbK.webp 828w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_1lB4o4.webp 1080w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_22tJVS.webp 1280w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_ZEA7pc.webp 1668w, /_astro/aliyun-icp-website-service-info-list.BlEWTaE0_1CgLKM.webp 2011w&quot; /&gt;&lt;figcaption&gt;备案互联网服务信息填写完成&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;上传身份证资料&lt;a href=&quot;#上传身份证资料&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;上传身份证资料页面&quot; loading=&quot;lazy&quot; width=&quot;1958&quot; height=&quot;1370&quot; src=&quot;/_astro/aliyun-icp-upload-documents.B0LbL-by_ZUVbGl.webp&quot; srcset=&quot;/_astro/aliyun-icp-upload-documents.B0LbL-by_P66Np.webp 640w, /_astro/aliyun-icp-upload-documents.B0LbL-by_Z2n3aUx.webp 750w, /_astro/aliyun-icp-upload-documents.B0LbL-by_Z1Om405.webp 828w, /_astro/aliyun-icp-upload-documents.B0LbL-by_ZIj5Aa.webp 1080w, /_astro/aliyun-icp-upload-documents.B0LbL-by_ZVtvu0.webp 1280w, /_astro/aliyun-icp-upload-documents.B0LbL-by_1zr0QE.webp 1668w, /_astro/aliyun-icp-upload-documents.B0LbL-by_ZUVbGl.webp 1958w&quot; /&gt;&lt;figcaption&gt;上传身份证资料页面&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;注意事项：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;上传&lt;strong&gt;最后一次办理的身份证&lt;/strong&gt;，非最新证件会被系统自动识别并拒绝&lt;/li&gt;
&lt;li&gt;图片要清晰，不能模糊、反光或有遮挡&lt;/li&gt;
&lt;li&gt;单张图片大小 ≤ 4MB&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;真实性核验&lt;a href=&quot;#真实性核验&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;真实性核验页面，支持扫码或短信两种方式&quot; loading=&quot;lazy&quot; width=&quot;1092&quot; height=&quot;1217&quot; src=&quot;/_astro/aliyun-icp-identity-verification-scan.CYteRHfl_1WSOzg.webp&quot; srcset=&quot;/_astro/aliyun-icp-identity-verification-scan.CYteRHfl_Z19TreS.webp 640w, /_astro/aliyun-icp-identity-verification-scan.CYteRHfl_1QV6TT.webp 750w, /_astro/aliyun-icp-identity-verification-scan.CYteRHfl_Z2v3f73.webp 828w, /_astro/aliyun-icp-identity-verification-scan.CYteRHfl_1ptnR4.webp 1080w, /_astro/aliyun-icp-identity-verification-scan.CYteRHfl_1WSOzg.webp 1092w&quot; /&gt;&lt;figcaption&gt;真实性核验页面，支持扫码或短信两种方式&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;两种核验方式：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;推荐&lt;/strong&gt;：用阿里云 App 或微信扫描页面上的二维码，跳转到手机端进行证件拍摄&lt;/li&gt;
&lt;li&gt;发短信到负责人手机，点链接进入核验页面&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;扫码后需拍摄身份证正反面：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;手机端上传身份证照片&quot; loading=&quot;lazy&quot; width=&quot;1206&quot; height=&quot;2622&quot; src=&quot;/_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_Z1CpRrp.webp&quot; srcset=&quot;/_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_ZgQhij.webp 640w, /_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_ZANUzb.webp 750w, /_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_1O1PqQ.webp 828w, /_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_2aUUbF.webp 1080w, /_astro/aliyun-icp-mobile-id-photo-upload.BDa9tdb1_Z1CpRrp.webp 1206w&quot; /&gt;&lt;figcaption&gt;手机端上传身份证照片&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;拍摄注意：按手机竖屏方向直接拍，确保证件完整清晰，四角不被遮挡。正面和背面各拍一张，都上传完才算核验完成。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;提交订单（提交初审）&lt;a href=&quot;#提交订单提交初审&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;所有步骤完成后进入提交订单页面：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;提交备案订单初审&quot; loading=&quot;lazy&quot; width=&quot;2631&quot; height=&quot;836&quot; src=&quot;/_astro/aliyun-icp-submit-order.CimillSo_Z2rFFcx.webp&quot; srcset=&quot;/_astro/aliyun-icp-submit-order.CimillSo_1eYP20.webp 640w, /_astro/aliyun-icp-submit-order.CimillSo_1CjuRJ.webp 750w, /_astro/aliyun-icp-submit-order.CimillSo_Z7kqAR.webp 828w, /_astro/aliyun-icp-submit-order.CimillSo_1fECpv.webp 1080w, /_astro/aliyun-icp-submit-order.CimillSo_c93qN.webp 1280w, /_astro/aliyun-icp-submit-order.CimillSo_ZzsA61.webp 1668w, /_astro/aliyun-icp-submit-order.CimillSo_Z8t5B0.webp 2048w, /_astro/aliyun-icp-submit-order.CimillSo_Zn507p.webp 2560w, /_astro/aliyun-icp-submit-order.CimillSo_Z2rFFcx.webp 2631w&quot; /&gt;&lt;figcaption&gt;提交备案订单初审&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;提交前仔细检查主体信息、域名和网站内容分类是否正确。确认无误后点&lt;strong&gt;提交订单&lt;/strong&gt;，备案申请正式进入审核流程。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;等待审核&lt;a href=&quot;#等待审核&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;阿里云电话初审&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;等待电话初审状态&quot; loading=&quot;lazy&quot; width=&quot;1987&quot; height=&quot;1346&quot; src=&quot;/_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z1B8fCD.webp&quot; srcset=&quot;/_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_ZnKyef.webp 640w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_ZqyR6t.webp 750w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z2p0kbt.webp 828w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z2srDRn.webp 1080w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z21xRl1.webp 1280w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z1o8Dkt.webp 1668w, /_astro/aliyun-icp-waiting-phone-review.DoJVH7ia_Z1B8fCD.webp 1987w&quot; /&gt;&lt;figcaption&gt;等待电话初审状态&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;**阿里云初审期间会打电话**，号码来自 0571 开头（杭州），主要验证身份信息和网站用途，如实回答就行，通话通常不超过 5 分钟。工作时间（9:00-18:00）不要静音。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;2. &lt;strong&gt;提交管局&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;待提交管局状态&quot; loading=&quot;lazy&quot; width=&quot;2009&quot; height=&quot;922&quot; src=&quot;/_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z2ka2uk.webp&quot; srcset=&quot;/_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z1mnL3t.webp 640w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z1l7Az7.webp 750w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z1Myci6.webp 828w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_1VO9rI.webp 1080w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z10ndC.webp 1280w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_ZJRWuU.webp 1668w, /_astro/aliyun-icp-waiting-miit-submit.DEV96tqb_Z2ka2uk.webp 2009w&quot; /&gt;&lt;figcaption&gt;待提交管局状态&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;通过阿里云初审后会自动提交管局，无需手动操作。&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;3. &lt;strong&gt;管局审核&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;管局审核时间因省份而异，&lt;strong&gt;一般 7-20 个工作日&lt;/strong&gt;，审核通过后工信部会发短信通知。&lt;strong&gt;此时才可以将域名解析到境内服务器，网站才能正式上线。&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;整个流程时间参考：&lt;/p&gt;
























&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;阶段&lt;/th&gt;&lt;th&gt;耗时&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;自助填写资料&lt;/td&gt;&lt;td&gt;1-2小时&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;阿里云初审电话&lt;/td&gt;&lt;td&gt;提交当天（工作时间）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;阿里云初审通过 → 提交管局&lt;/td&gt;&lt;td&gt;即时或1-2个工作日&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;管局审核&lt;/td&gt;&lt;td&gt;7-20个工作日&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;常见问题&lt;a href=&quot;#常见问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;备案期间网站可以访问吗？&lt;a href=&quot;#备案期间网站可以访问吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不行。在备案审核通过之前，域名不能解析到境内服务器。被检测到未备案域名已解析且可访问，会影响审核结果，严重时导致备案被驳回。可以暂时不解析，或临时解析到境外服务器。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;备案的 ECS 必须和网站部署在同一台服务器吗？&lt;a href=&quot;#备案的-ecs-必须和网站部署在同一台服务器吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不必须。备案只需要一台实名认证、购买时长 ≥ 3个月的阿里云境内 ECS，用于证明你有合法的境内云服务资源。网站实际运行的服务器可以是另一台机器，备案审核通过后两者没有强制绑定关系。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;备案信息填错了怎么办？&lt;a href=&quot;#备案信息填错了怎么办&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;提交初审之前可以随时返回修改。已提交但还在阿里云初审阶段的，联系阿里云客服可以撤回重填。已提交到管局则无法撤回，只能等审核结果出来后申请变更备案信息。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;个人备案可以用于商业网站吗？&lt;a href=&quot;#个人备案可以用于商业网站吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不可以。个人备案只适用于非营利性个人网站，不能在页面上开展销售、广告招商、在线支付等商业行为。有商业用途必须使用企业备案，需要营业执照。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;备案通过后有什么展示要求？&lt;a href=&quot;#备案通过后有什么展示要求&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;备案通过后，网站首页底部必须展示工信部备案号，并加上指向 beian.miit.gov.cn 的外链。不展示备案号属于违规，阿里云会定期巡检，发现后可能注销备案资格。&lt;/p&gt;&lt;p&gt;收到备案通过短信后，下一步是把域名解析到服务器并完成 Nginx + HTTPS 配置。&lt;a href=&quot;/posts/site-ops/aliyun-setup/&quot;&gt;备案通过后：阿里云 ECS 建站完整配置&lt;/a&gt;从这里接手。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>如何判断你买到的 ISP 代理到底是真 ISP，还是换皮机房 IP</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/how-to-verify-real-isp-proxy/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/how-to-verify-real-isp-proxy/</guid><description>判断 ISP 代理靠的不是宣传词，而是 ASN、归属、地区、会话表现和目标站实测的交叉验证。本文给出一套够用的验货流程，避免把“换皮机房”买成“稳定身份”。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你正在使用 ISP 代理，或者已经买了但怀疑它并没有你想象中那么像“稳定住宅身份”，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;判断 ISP 代理真不真，单靠一个检测页是不够的。&lt;/p&gt;&lt;p&gt;更稳的判断方法至少要同时看：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;ASN / 网络归属&lt;/li&gt;
&lt;li&gt;地区结果&lt;/li&gt;
&lt;li&gt;会话稳定性&lt;/li&gt;
&lt;li&gt;DNS 与整体环境是否一致&lt;/li&gt;
&lt;li&gt;目标站真实表现&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果只盯着其中一项，特别容易误判。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🏷️ 为什么这件事容易被说乱&lt;a href=&quot;#️-为什么这件事容易被说乱&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;中文市场里这些词经常混着用：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;ISP 代理&lt;/li&gt;
&lt;li&gt;静态住宅代理&lt;/li&gt;
&lt;li&gt;静态 ISP&lt;/li&gt;
&lt;li&gt;家宽 IP&lt;/li&gt;
&lt;li&gt;原生住宅&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这会导致两个问题：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;用户以为自己买的是一回事，供应商说的是另一回事&lt;/li&gt;
&lt;li&gt;站内文章自己也容易互相打架&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以你真正要验证的不是名字，而是行为和归属。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;准备工具：必用的权威 IP 库&lt;a href=&quot;#准备工具必用的权威-ip-库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在开始具体的排查步骤前，我们先使用IP查询工具获取ISP的IP详细信息。&lt;/p&gt;&lt;p&gt;访问 &lt;strong&gt;IPinfo&lt;/strong&gt; (&lt;a href=&quot;https://ipinfo.io&quot; target=&quot;_blank&quot;&gt;https://ipinfo.io&lt;/a&gt;) 网站，按照如下步骤执行：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;点击左上角”Search IPs, ASNs, or countries”，选择带 “My IP” 的选项，获取当前ISP代理的IP地址。
&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息1&quot; loading=&quot;lazy&quot; width=&quot;1562&quot; height=&quot;1027&quot; src=&quot;/_astro/ipinfo-step1.DcY9cuVa_Z1Qf7Yn.webp&quot; srcset=&quot;/_astro/ipinfo-step1.DcY9cuVa_Z2dfPqA.webp 640w, /_astro/ipinfo-step1.DcY9cuVa_ZKWuvD.webp 750w, /_astro/ipinfo-step1.DcY9cuVa_Z1FqwKn.webp 828w, /_astro/ipinfo-step1.DcY9cuVa_Zhmdg5.webp 1080w, /_astro/ipinfo-step1.DcY9cuVa_Z5vxsi.webp 1280w, /_astro/ipinfo-step1.DcY9cuVa_Z1Qf7Yn.webp 1562w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息1&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;在搜索结果页面，您将看到该IP地址的详细信息，包括ASN、ISP、城市、国家等。
&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;以上图为例，我的IP地址信息包括：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Privacy: false 表明该IP地址没有使用VPN或其他技术手段试图隐藏其真实位置。&lt;/li&gt;
&lt;li&gt;Anycast: false 表明该IP地址不是Anycast地址，通常Anycast地址用于CDN等服务，会存在多个用户公用一个IP的情况，这会极大提高平台账号被封禁的概率。&lt;/li&gt;
&lt;li&gt;ASN type: ASN类型为ISP，表明该IP地址属于互联网服务提供商。我们可以不知道ASN的具体名称，但ASN type应该是ISP，而不是企业、数据中心等。&lt;/li&gt;
&lt;li&gt;Country/State/City: 国家、州/省、市的地理信息，要符合你购买时的预期。&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;第一步：先查 ASN type / 归属&lt;a href=&quot;#第一步先查-asn-type--归属&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这是最基础的一步。&lt;/p&gt;&lt;p&gt;你至少要确认：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;ASN 名称是什么/ ASN type 是不是 ISP&lt;/li&gt;
&lt;li&gt;归属组织是什么&lt;/li&gt;
&lt;li&gt;它看起来更像固定宽带 / ISP，还是传统机房网络&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你买的是 动态住宅IP，这一步尤其关键。想专门看这块，可以继续读 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;IPinfo ASN 信息&quot; loading=&quot;lazy&quot; width=&quot;1412&quot; height=&quot;697&quot; src=&quot;/_astro/ipinfo-asn.BttxjvkU_Z1OdPVV.webp&quot; srcset=&quot;/_astro/ipinfo-asn.BttxjvkU_Z1QJVMA.webp 640w, /_astro/ipinfo-asn.BttxjvkU_Z1RX6NL.webp 750w, /_astro/ipinfo-asn.BttxjvkU_CY8Vx.webp 828w, /_astro/ipinfo-asn.BttxjvkU_1L7F0r.webp 1080w, /_astro/ipinfo-asn.BttxjvkU_Z2sF3Ml.webp 1280w, /_astro/ipinfo-asn.BttxjvkU_Z1OdPVV.webp 1412w&quot; /&gt;&lt;figcaption&gt;IPinfo ASN 信息&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;但注意，这一步只能给你一个方向，不能直接盖棺定论。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🌍 第二步：看地区信息是否合理&lt;a href=&quot;#-第二步看地区信息是否合理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你买的是特定国家或城市的 ISP 出口，至少要确认：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;国家对不对&lt;/li&gt;
&lt;li&gt;城市是否大致合理&lt;/li&gt;
&lt;li&gt;多个地理库结果是否接近&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;IPinfo 国家 信息&quot; loading=&quot;lazy&quot; width=&quot;970&quot; height=&quot;399&quot; src=&quot;/_astro/ipinfo-country.Bz4sIdYI_dIO7z.webp&quot; srcset=&quot;/_astro/ipinfo-country.Bz4sIdYI_e39xW.webp 640w, /_astro/ipinfo-country.Bz4sIdYI_Z6yJR8.webp 750w, /_astro/ipinfo-country.Bz4sIdYI_Zloxcc.webp 828w, /_astro/ipinfo-country.Bz4sIdYI_dIO7z.webp 970w&quot; /&gt;&lt;figcaption&gt;IPinfo 国家 信息&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔐 第三步：看会话表现是否符合“稳定身份”的预期&lt;a href=&quot;#-第三步看会话表现是否符合稳定身份的预期&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;ISP 代理对大多数用户的核心价值，不在于“听起来更像住宅”，而在于：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;身份稳定&lt;/li&gt;
&lt;li&gt;会话容易解释&lt;/li&gt;
&lt;li&gt;长期监控和登录更省心&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以你至少要测：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;连续访问时 IP 是否稳定&lt;/li&gt;
&lt;li&gt;长一点的时间窗口里是否仍符合预期&lt;/li&gt;
&lt;li&gt;登录或后台流程是否更少掉线&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🌐 第四步：测 DNS 是否泄漏&lt;a href=&quot;#-第四步测-dns-是否泄漏&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;很多人只看出口 IP，却忘了 DNS。&lt;/p&gt;&lt;p&gt;如果你的 HTTP 请求走了代理，但 DNS 还是在本地或错误网络上解析，就会出现两种问题：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;目标站风控系统会发现：你的 IP 在美国，但 DNS 查询却来自中国联通。网络身份严重不一致，直接判定异常。&lt;/li&gt;
&lt;li&gt;你以为自己已经切了地区，实际解析链路仍暴露了真实的本地网络环境。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;实操测试方法&lt;/strong&gt;：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;利用测试页验证（浏览器环境）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;全局/浏览器配置好代理后，访问  &lt;a href=&quot;https://browserleaks.com/dns&quot; target=&quot;_blank&quot;&gt;browserleaks.com/dns&lt;/a&gt;，并等待分析完成。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;如何判断是否泄漏&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;没漏（安全）&lt;/strong&gt;：列出的所有 DNS 服务器归属地（国家/地区），都与你买的代理 IP 地区一致。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏了（危险）&lt;/strong&gt;：列表里出现了你真实的本地网络服务商（比如电信/联通/移动、阿里/腾讯 DNS），或者出现了不相关国家的服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 第五步：一定要做目标站测试&lt;a href=&quot;#-第五步一定要做目标站测试&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;登录你的目标网站，访问你的目标服务，判断是否有优化：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录是否更稳定&lt;/li&gt;
&lt;li&gt;验证码是否减少&lt;/li&gt;
&lt;li&gt;后台操作是否更连续&lt;/li&gt;
&lt;li&gt;监控结果是否更可解释&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🛠️ 如果你准备下单了，怎么避免买大了才验货&lt;a href=&quot;#️-如果你准备下单了怎么避免买大了才验货&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;建议：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先从最小规模的 &lt;code&gt;ISP&lt;/code&gt; 方案开始&lt;/li&gt;
&lt;li&gt;先锁一个真实业务场景&lt;/li&gt;
&lt;li&gt;先跑上面的验货顺序&lt;/li&gt;
&lt;li&gt;通过之后再考虑扩容&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;尤其不要把“供应商写 ISP”直接等同于“肯定适合我的登录或监控任务”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：只要 ASN 看着像，就一定是真 ISP&lt;a href=&quot;#-误区-1只要-asn-看着像就一定是真-isp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。你还要看会话和真实任务表现。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：城市结果有点偏差就一定是假&lt;a href=&quot;#-误区-2城市结果有点偏差就一定是假&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;也不对。地理数据库本来就可能有差异，要交叉验证。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：只要宣传页写“静态住宅”，就等于长期登录一定稳&lt;a href=&quot;#-误区-3只要宣传页写静态住宅就等于长期登录一定稳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。最终还是看你的实际业务流程。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的ISP代理支持全球大部份国家和地区。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP支持国家&quot; loading=&quot;lazy&quot; width=&quot;1675&quot; height=&quot;1611&quot; src=&quot;/_astro/isp-countries.DiaLNp5F_1QRoOL.webp&quot; srcset=&quot;/_astro/isp-countries.DiaLNp5F_1h9p0m.webp 640w, /_astro/isp-countries.DiaLNp5F_ZHJ7xN.webp 750w, /_astro/isp-countries.DiaLNp5F_H6mu0.webp 828w, /_astro/isp-countries.DiaLNp5F_2ax7Q3.webp 1080w, /_astro/isp-countries.DiaLNp5F_ZxWRMR.webp 1280w, /_astro/isp-countries.DiaLNp5F_Z2pcrIL.webp 1668w, /_astro/isp-countries.DiaLNp5F_1QRoOL.webp 1675w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP支持国家&lt;/figcaption&gt;&lt;/figure&gt;
按照IP数收费，单个IP每月3$，流量无限制（瓦叔认为这个价格非常有竞争力了，我最初使用的某香港平台，单个IP的价格在60人民币左右），适合需要长期固定身份的业务场景。
&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;
这是瓦叔自己在用的ISP IP地址信息，非常干净和安心。瓦叔是程序员，这个IP用来登录Gemini、Codex、Claude等工具，没有任何问题。&lt;p&gt;&lt;/p&gt;&lt;p&gt;当初促成瓦叔下单的原因还有一个，&lt;strong&gt;购买后不满意可以无条件全额退款&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;买前验货&lt;/li&gt;
&lt;li&gt;买后验收&lt;/li&gt;
&lt;li&gt;登录或长期监控前的出口确认&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只想靠一个工具页得出最终结论&lt;/li&gt;
&lt;li&gt;不做真实业务验证就直接大规模采购&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想继续判断静态住宅到底值不值，读 &lt;a href=&quot;/posts/isp-and-residential-proxy/static-residential-proxy-buying-checklist/&quot;&gt;静态住宅代理是不是智商税？买之前先看这 7 个判断标准&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想把质量体检做完整，读 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>ISP 代理、住宅代理、移动代理，到底该怎么选？一篇讲清楚</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/isp-vs-residential-vs-mobile-proxy-how-to-choose/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/isp-vs-residential-vs-mobile-proxy-how-to-choose/</guid><description>别先问哪家便宜，先判断你要的是固定身份、大池轮换，还是更像真实移动网络出口。本文把 ISP、住宅、移动代理的选型逻辑拆开讲清楚。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你现在的核心问题是“我该买哪一类代理”，这篇文章适合先看。读完后，你应该能先决定自己要不要买代理、该买哪一类，再决定看哪一篇配置和验证教程。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;先给结论&lt;a href=&quot;#先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;大多数人不是不会买代理，而是把“任务类型”和“代理类型”对错位了。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你要长期固定身份、稳定登录、少折腾会话，优先看 &lt;code&gt;ISP 代理&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;你要城市级覆盖、大量轮换、任务分散，优先看 &lt;code&gt;住宅代理&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;你要更像真实移动网络出口，且能接受更高成本和更弱可控性，再看 &lt;code&gt;移动代理&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;你只是做低频、低敏感度、单地区测试，很多时候根本不需要上来就买住宅或移动，机房代理甚至直连就够。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;先把这件事想明白，后面的预算、验证和排障都会简单很多。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;你到底需不需要买代理&lt;a href=&quot;#你到底需不需要买代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这几种情况，通常才值得认真考虑代理：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你需要模拟特定国家、地区或城市的访问结果。&lt;/li&gt;
&lt;li&gt;你需要把请求分散到多个出口，而不是一个固定服务器出口。&lt;/li&gt;
&lt;li&gt;你在登录、验证、广告预览、价格监控时，已经明确遇到网络身份相关风控。&lt;/li&gt;
&lt;li&gt;你的业务天然需要“会话稳定”或“出口分布”。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;下面这几种情况，先别急着买：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只是本机偶发访问异常，还没做过直连和手机热点对照。&lt;/li&gt;
&lt;li&gt;只是想“先买一个再说”，但连任务目标都没写清楚。&lt;/li&gt;
&lt;li&gt;只是做低频公开页面检查，单一出口就能满足。&lt;/li&gt;
&lt;li&gt;只是被营销内容吓到，以为不用住宅或移动就一定不行。&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;三类代理的本质区别&lt;a href=&quot;#三类代理的本质区别&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;ISP 代理&lt;a href=&quot;#isp-代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以把它理解成“更强调固定身份和长期会话”的那一类。&lt;/p&gt;&lt;p&gt;它更适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;长时间登录同一个账号&lt;/li&gt;
&lt;li&gt;长周期后台监控&lt;/li&gt;
&lt;li&gt;需要少变动、少切换的验证任务&lt;/li&gt;
&lt;li&gt;你很在意延迟和会话连续性&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;它不太适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;大规模轮换&lt;/li&gt;
&lt;li&gt;大量不同地区快速切换&lt;/li&gt;
&lt;li&gt;高频采集时的分布式出口需求&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;住宅代理&lt;a href=&quot;#住宅代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以把它理解成“更强调覆盖和轮换”的那一类。&lt;/p&gt;&lt;p&gt;它更适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;城市或地区级验证&lt;/li&gt;
&lt;li&gt;多出口轮换&lt;/li&gt;
&lt;li&gt;价格监控、广告验证、公开网页采集&lt;/li&gt;
&lt;li&gt;你需要把访问分散到多个真实用户风格的网络身份上&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;它不太适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;追求单 IP 长时间稳定不变&lt;/li&gt;
&lt;li&gt;只想要一个长期固定出口&lt;/li&gt;
&lt;li&gt;预算非常紧，且任务量又不大&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;移动代理&lt;a href=&quot;#移动代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;可以把它理解成“更偏移动网络身份”的那一类。&lt;/p&gt;&lt;p&gt;它更适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;确实需要移动网络出口做验证&lt;/li&gt;
&lt;li&gt;某些对移动流量、移动设备环境更敏感的业务&lt;/li&gt;
&lt;li&gt;你已经排除了 ISP 和住宅，确认移动网络特征才是关键变量&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;它不太适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只是普通网页访问或通用监控&lt;/li&gt;
&lt;li&gt;预算敏感&lt;/li&gt;
&lt;li&gt;需要强可控的地区和会话策略&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;按任务选，而不是按术语选&lt;a href=&quot;#按任务选而不是按术语选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;







































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;任务&lt;/th&gt;&lt;th&gt;更合适的起点&lt;/th&gt;&lt;th&gt;为什么&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;单账号长期登录、风控排障&lt;/td&gt;&lt;td&gt;ISP 代理&lt;/td&gt;&lt;td&gt;更容易保持身份一致&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;城市级广告验证&lt;/td&gt;&lt;td&gt;住宅代理&lt;/td&gt;&lt;td&gt;更容易做地区和轮换覆盖&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;价格监控&lt;/td&gt;&lt;td&gt;住宅代理&lt;/td&gt;&lt;td&gt;轮换和地区覆盖更重要&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SEO 监控&lt;/td&gt;&lt;td&gt;ISP 代理或住宅代理&lt;/td&gt;&lt;td&gt;取决于你更看重稳定还是覆盖&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;移动端环境验证&lt;/td&gt;&lt;td&gt;移动代理&lt;/td&gt;&lt;td&gt;只有当移动网络本身是变量时才值得上&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;普通低频测试&lt;/td&gt;&lt;td&gt;机房代理或直连&lt;/td&gt;&lt;td&gt;成本更低，验证更直接&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;很多人犯的错误，是明明要的是“固定身份”，却买成了“高频轮换”；或者明明要的是“多地区覆盖”，却买了一个长期固定出口。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;按场景选&lt;a href=&quot;#按场景选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;除了按目标任务外，还可以按实际的“业务场景”来对号入座，以下是更全面的对照：&lt;/p&gt;

















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;业务场景&lt;/th&gt;&lt;th&gt;推荐代理类型&lt;/th&gt;&lt;th&gt;决策逻辑&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;跨境电商店群 / 社交账号长期“养号”&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;ISP 代理&lt;/td&gt;&lt;td&gt;平台对 IP 变动和跳跃极其敏感，固定、长期一致的干净身份比 IP 库规模重要得多。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;大规模电商比价 / 竞品价格与库存监控&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;住宅代理&lt;/td&gt;&lt;td&gt;核心诉求是突破防爬虫的高频 IP 封锁，需要 IP 池子大、地理位置极度分散，失败自动轮换即可。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;全球广告投放效果验证 (Ad Verification)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;住宅代理&lt;/td&gt;&lt;td&gt;必须深入不同国家/细分城市的真实用户宽带网络，才能验证广告落地页是否被调包或作弊。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Instagram / TikTok 高强度矩阵运营&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;移动代理&lt;/td&gt;&lt;td&gt;面临极其严苛的风控体系，平台深度校验基站与移动通信数据流，只有 4G/5G 移动原生网络才能过审。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;限量商品抢购 (Sneaker) / 热门演出票务&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;ISP 代理 或 住宅代理&lt;/td&gt;&lt;td&gt;策略分化：纯拼发包速度与毫秒级低延迟选 ISP；策略为堆砌海量账号抢极窄区域份额选住宅。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;本地化 SEO 搜索结果 (SERP) 精确追踪&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;住宅代理&lt;/td&gt;&lt;td&gt;谷歌等搜索引擎会根据极小范围的用户坐标返回差异化结果，需要住宅 IP 提供的精确城市与连通度。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;出海 APP 真实生态测试 / 本地化 QA&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;移动代理&lt;/td&gt;&lt;td&gt;强校验真实基站、移动运营商 ASN 特征，要求测试数据必须完美混入当地手机用户的真实流量。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;低风控公开网页拉取 (如新闻、部分维基)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;机房代理&lt;/td&gt;&lt;td&gt;业务完全不涉及账号体系或环境指纹对抗，只要求极高的吞吐快、带宽大，且成本被无限压缩。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;预算应该怎么想&lt;a href=&quot;#预算应该怎么想&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;预算不要只看单价，要看“每次有效结果的成本”。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;如果你需要稳定会话，便宜但总掉线的方案反而更贵。&lt;/li&gt;
&lt;li&gt;如果你需要大量地区轮换，单 IP 很稳也没有价值。&lt;/li&gt;
&lt;li&gt;如果你只是偶尔验证一次，过度采购会让成本结构失真。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;更合理的做法是先买最小可验证规模：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先列清任务。&lt;/li&gt;
&lt;li&gt;先列清你要的是“稳定”还是“轮换”。&lt;/li&gt;
&lt;li&gt;先跑一轮 IP、地区、DNS、会话一致性测试。&lt;/li&gt;
&lt;li&gt;测通之后再放大。&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;术语别被带偏&lt;a href=&quot;#术语别被带偏&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;中文市场里最容易混乱的词包括：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ISP 代理&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;静态住宅代理&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;住宅 IP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;原生住宅&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;家宽 IP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;移动代理&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这几个词并不是所有供应商都用同一套定义。所以选型时不要只看名字，至少看这四项：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;会话是不是偏长期固定。&lt;/li&gt;
&lt;li&gt;出口是不是偏地区覆盖和轮换。&lt;/li&gt;
&lt;li&gt;认证方式和协议是否适合你的接入环境。&lt;/li&gt;
&lt;li&gt;控制台里能不能验证地区、ASN、会话策略。&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;如果你已经有了目标任务和代理类型的初步判断，下一步怎么选套餐？&lt;a href=&quot;#如果你已经有了目标任务和代理类型的初步判断下一步怎么选套餐&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的套餐设计按照场景划分，价格也比较合理，适合大多数人的入门和中级需求。你可以先看它的套餐介绍页，看看哪个套餐的描述和你的目标任务最匹配，再根据预算和验证结果来决定。&lt;/p&gt;&lt;p&gt;当初促成瓦叔下单的原因还有一个，&lt;strong&gt;购买后不满意可以无条件全额退款&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的套餐&quot; loading=&quot;lazy&quot; width=&quot;2465&quot; height=&quot;910&quot; src=&quot;/_astro/proxy-seller-packages.CWuSbjto_1Db3wI.webp&quot; srcset=&quot;/_astro/proxy-seller-packages.CWuSbjto_Z2gUChL.webp 640w, /_astro/proxy-seller-packages.CWuSbjto_Z1o38MH.webp 750w, /_astro/proxy-seller-packages.CWuSbjto_KJbO0.webp 828w, /_astro/proxy-seller-packages.CWuSbjto_Z1W6OV7.webp 1080w, /_astro/proxy-seller-packages.CWuSbjto_2t4VEu.webp 1280w, /_astro/proxy-seller-packages.CWuSbjto_1LXkm0.webp 1668w, /_astro/proxy-seller-packages.CWuSbjto_ZAeNOg.webp 2048w, /_astro/proxy-seller-packages.CWuSbjto_1Db3wI.webp 2465w&quot; /&gt;&lt;figcaption&gt;ProxySeller的套餐&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;本文 适合 / 不适合&lt;a href=&quot;#本文-适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你还没决定买哪类代理&lt;/li&gt;
&lt;li&gt;你想先把任务和代理类型对齐&lt;/li&gt;
&lt;li&gt;你想避免“明明问题是会话，却买成了轮换”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你已经买好了，只想看系统配置步骤&lt;/li&gt;
&lt;li&gt;你已经确认是 DNS 泄漏或会话问题&lt;/li&gt;
&lt;li&gt;你已经明确知道自己要的是移动网络验证&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;下一步怎么读&lt;a href=&quot;#下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想继续判断固定身份值不值得买，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/static-residential-proxy-buying-checklist/&quot;&gt;静态住宅代理是不是智商税？买之前先看这 7 个判断标准&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想买前先验质量，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;已经在登录或验证码上翻车，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/why-proxy-still-gets-captcha/&quot;&gt;为什么用了代理还是验证码很多？从 IP 质量到会话一致性的完整排查&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>移动代理和住宅代理怎么选？什么场景真的需要 4G/5G</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/mobile-vs-residential-proxy/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/mobile-vs-residential-proxy/</guid><description>移动代理不是住宅代理的升级版。只有当移动网络身份本身是关键变量时，4G/5G 才值得买；普通地区验证、价格监控和多数网页任务，住宅代理通常已经够用。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你在移动代理和住宅代理之间犹豫，这篇文章适合你。它适合广告验证、价格监控、地区验证、移动端环境测试这类合法业务；不适合把“移动”想象成万能高通过率方案。读完后，你应该能判断自己到底是需要 &lt;code&gt;移动网络特征&lt;/code&gt;，还是只需要 &lt;code&gt;住宅地区覆盖&lt;/code&gt;。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;多数普通任务，住宅代理已经够用。&lt;/p&gt;&lt;p&gt;只有在下面这类场景里，移动代理才更有意义：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你的业务明确要看移动网络出口结果&lt;/li&gt;
&lt;li&gt;你在乎的是移动网络身份本身，而不是普通住宅身份&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你只是做一般地区验证、价格监控、广告预览，先从住宅代理开始更合理。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧩 两者真正的区别，不是“谁更高级”&lt;a href=&quot;#-两者真正的区别不是谁更高级&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;更准确的理解是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;住宅代理：更适合地区覆盖、轮换和通用验证&lt;/li&gt;
&lt;li&gt;移动代理：更适合把“移动网络环境”作为测试变量&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以问题不是“移动是不是更好”，而是“你的业务是不是非移动不可”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🏠 什么时候住宅代理通常更合适&lt;a href=&quot;#-什么时候住宅代理通常更合适&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这些任务，我通常优先从住宅代理开始：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;多地区广告验证&lt;/li&gt;
&lt;li&gt;价格监控&lt;/li&gt;
&lt;li&gt;SEO 监控&lt;/li&gt;
&lt;li&gt;公开网页采集&lt;/li&gt;
&lt;li&gt;一般网页登录和地区测试&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;原因很简单：这些任务更看重地区覆盖、成本效率和轮换灵活性。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;📶 什么时候移动代理才值得考虑&lt;a href=&quot;#-什么时候移动代理才值得考虑&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这些场景，移动代理更值得试：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你要验证移动网络下的结果差异&lt;/li&gt;
&lt;li&gt;目标业务对移动网络环境更敏感&lt;/li&gt;
&lt;li&gt;你已经用住宅代理排查过，确认变量不在地区，而在网络类型&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;注意，这不等于“所有风控都更喜欢移动网络”。不要把它神话。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;💸 你需要付出的代价&lt;a href=&quot;#-你需要付出的代价&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;移动代理常见的现实代价包括：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;成本更高&lt;/li&gt;
&lt;li&gt;会话和带宽策略更需要理解&lt;/li&gt;
&lt;li&gt;可控地区和资源组织方式未必像普通住宅那么顺手&lt;/li&gt;
&lt;li&gt;对普通任务来说，性价比可能并不高&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以移动代理更适合“有明确理由才上”，而不是“预算够就上”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧭 一个实用的判断方法&lt;a href=&quot;#-一个实用的判断方法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;先问自己 4 个问题：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;我的任务是不是一定要模拟移动网络？&lt;/li&gt;
&lt;li&gt;住宅代理是不是已经验证过不够用？&lt;/li&gt;
&lt;li&gt;我是不是能接受更高测试成本？&lt;/li&gt;
&lt;li&gt;我能不能把移动网络这个变量单独测出来？&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;只要这四个问题里有两个答不上来，先别买移动代理。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 住宅 vs 移动，怎么做最小对照&lt;a href=&quot;#-住宅-vs-移动怎么做最小对照&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你真的不确定，可以做一个很小的对照实验：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;固定目标站和目标流程&lt;/li&gt;
&lt;li&gt;住宅代理跑一轮&lt;/li&gt;
&lt;li&gt;移动代理跑一轮&lt;/li&gt;
&lt;li&gt;记录地区、会话、验证码、页面完整度和加载时间&lt;/li&gt;
&lt;li&gt;只改网络类型，不改其他变量&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果你一次改了地区、时区、浏览器环境和会话策略，结果就没有可比性。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🛠️ 如果你准备下单，怎么避免多花钱&lt;a href=&quot;#️-如果你准备下单怎么避免多花钱&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;更稳的买法通常是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;先从最小住宅方案验证任务是否跑得通&lt;/li&gt;
&lt;li&gt;确认移动网络真的是关键变量后，再小规模测试 &lt;code&gt;4G/5G/LTE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;不要把移动代理当成住宅代理的无脑升级版&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：移动代理一定更不容易触发风控&lt;a href=&quot;#-误区-1移动代理一定更不容易触发风控&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。目标站怎么判断，不会只看网络类型。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：只要业务和手机有关，就该上移动代理&lt;a href=&quot;#-误区-2只要业务和手机有关就该上移动代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不一定。很多只是前端页面或地区结果验证，住宅代理已经够。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：移动代理能替代所有住宅场景&lt;a href=&quot;#-误区-3移动代理能替代所有住宅场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。覆盖、成本和任务结构完全不同。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的套餐设计按照国家+运营商来分类，价格也比较合理，适合大多数人的入门和中级需求。你可以先看它的套餐介绍页，看看哪个套餐的描述和你的目标任务最匹配，再根据预算和验证结果来决定。&lt;/p&gt;&lt;p&gt;移动代理价格普遍很贵，当初促成瓦叔下单的原因还有一个，&lt;strong&gt;购买后不满意可以无条件全额退款&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller移动代理套餐&quot; loading=&quot;lazy&quot; width=&quot;2127&quot; height=&quot;1398&quot; src=&quot;/_astro/proxy-seller-mobile.DIe0FtS1_1FAsP9.webp&quot; srcset=&quot;/_astro/proxy-seller-mobile.DIe0FtS1_J4dbD.webp 640w, /_astro/proxy-seller-mobile.DIe0FtS1_1xhITn.webp 750w, /_astro/proxy-seller-mobile.DIe0FtS1_Z11Grsr.webp 828w, /_astro/proxy-seller-mobile.DIe0FtS1_Z1uT1Fm.webp 1080w, /_astro/proxy-seller-mobile.DIe0FtS1_Z2whsMC.webp 1280w, /_astro/proxy-seller-mobile.DIe0FtS1_ZHAuEn.webp 1668w, /_astro/proxy-seller-mobile.DIe0FtS1_iqkhi.webp 2048w, /_astro/proxy-seller-mobile.DIe0FtS1_1FAsP9.webp 2127w&quot; /&gt;&lt;figcaption&gt;ProxySeller移动代理套餐&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;明确需要移动网络出口&lt;/li&gt;
&lt;li&gt;想做移动环境对照测试&lt;/li&gt;
&lt;li&gt;已经验证过住宅方案不足&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只是普通地区验证&lt;/li&gt;
&lt;li&gt;只是预算够，想一步到位&lt;/li&gt;
&lt;li&gt;还没跑过住宅最小测试&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想先把基础选型讲明白，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/isp-vs-residential-vs-mobile-proxy-how-to-choose/&quot;&gt;ISP 代理、住宅代理、移动代理，到底该怎么选？一篇讲清楚&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想看价格监控、广告验证这种更典型的住宅场景，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/rotating-residential-for-ad-verification-and-price-monitoring/&quot;&gt;广告验证和价格监控为什么更适合轮换住宅代理&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/</guid><description>住宅代理值不值得买，不靠宣传词判断，靠测试清单判断。本文把 ASN、地区、纯净度、DNS 泄漏、会话稳定性和目标站实测拆成一套可执行流程。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你已经准备买住宅代理，或者刚买到手，不知道怎么判断它到底值不值，这篇文章适合你。它适合广告验证、价格监控、SEO 监控、公开网页采集、登录风控排障前的质量判断；不适合替代你对目标站的真实业务测试。读完后，你应该能把“这个代理到底行不行”拆成几项可验证的结果，而不是靠感觉下结论。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;不要只测“能不能连上”。&lt;/p&gt;&lt;p&gt;真正有用的住宅代理测试，至少要覆盖这 6 项：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;出口 IP 和地区是否符合预期&lt;/li&gt;
&lt;li&gt;ASN / 归属是否符合预期&lt;/li&gt;
&lt;li&gt;DNS 有没有穿帮&lt;/li&gt;
&lt;li&gt;会话能不能按你的方式稳定保持&lt;/li&gt;
&lt;li&gt;纯净度和验证码表现是否可接受&lt;/li&gt;
&lt;li&gt;目标站真实任务能不能跑通&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;前四项是基础体检，后两项才决定这笔钱值不值。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;准备工具：必用的权威 IP 库&lt;a href=&quot;#准备工具必用的权威-ip-库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在开始具体的排查步骤前，我们先使用IP查询工具获取ISP的IP详细信息。&lt;/p&gt;&lt;p&gt;访问 &lt;strong&gt;IPinfo&lt;/strong&gt; (&lt;a href=&quot;https://ipinfo.io&quot; target=&quot;_blank&quot;&gt;https://ipinfo.io&lt;/a&gt;) 网站，按照如下步骤执行：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;点击左上角”Search IPs, ASNs, or countries”，选择带 “My IP” 的选项，获取当前ISP代理的IP地址。
&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息1&quot; loading=&quot;lazy&quot; width=&quot;1562&quot; height=&quot;1027&quot; src=&quot;/_astro/ipinfo-step1.DcY9cuVa_Z1Qf7Yn.webp&quot; srcset=&quot;/_astro/ipinfo-step1.DcY9cuVa_Z2dfPqA.webp 640w, /_astro/ipinfo-step1.DcY9cuVa_ZKWuvD.webp 750w, /_astro/ipinfo-step1.DcY9cuVa_Z1FqwKn.webp 828w, /_astro/ipinfo-step1.DcY9cuVa_Zhmdg5.webp 1080w, /_astro/ipinfo-step1.DcY9cuVa_Z5vxsi.webp 1280w, /_astro/ipinfo-step1.DcY9cuVa_Z1Qf7Yn.webp 1562w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息1&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;在搜索结果页面，您将看到该IP地址的详细信息，包括ASN、ISP、城市、国家等。
&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;以上图为例，我的IP地址信息包括：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Privacy: false 表明该IP地址没有使用VPN或其他技术手段试图隐藏其真实位置。&lt;/li&gt;
&lt;li&gt;Anycast: false 表明该IP地址不是Anycast地址，通常Anycast地址用于CDN等服务，会存在多个用户公用一个IP的情况，这会极大提高平台账号被封禁的概率。&lt;/li&gt;
&lt;li&gt;ASN type: ASN类型为ISP，表明该IP地址属于互联网服务提供商。我们可以不知道ASN的具体名称，但ASN type应该是ISP，而不是企业、数据中心等。&lt;/li&gt;
&lt;li&gt;Country/State/City: 国家、州/省、市的地理信息，要符合你购买时的预期。&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🌍 第一步：先测出口 IP 和地区&lt;a href=&quot;#-第一步先测出口-ip-和地区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;先不要进目标站，先看最基础的信息：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;出口 IP 是不是你拿到的那个&lt;/li&gt;
&lt;li&gt;国家是否正确&lt;/li&gt;
&lt;li&gt;城市是否大致正确&lt;/li&gt;
&lt;li&gt;时区、语言和 IP 地区有没有明显冲突&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你买的是城市级验证能力，这一步尤其重要。地理数据库之间本来就可能有偏差，但如果国家都不对，后面没必要继续。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🛰️ 第二步：查 ASN 和网络归属&lt;a href=&quot;#️-第二步查-asn-和网络归属&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这一步的目的不是追求“某个神秘完美 ASN”，而是判断它和你买的产品描述是否一致。&lt;/p&gt;&lt;p&gt;至少做三件事：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;查 ASN 名称和归属组织。&lt;/li&gt;
&lt;li&gt;看它更像机房网络、固定宽带还是移动网络。&lt;/li&gt;
&lt;li&gt;记录结果，后面和目标站实际表现交叉验证。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果你买的是 ISP / 静态住宅，这一步尤其关键。想专门看这块，可以继续读 &lt;a href=&quot;/posts/isp-and-residential-proxy/how-to-verify-real-isp-proxy/&quot;&gt;如何判断你买到的 ISP 代理到底是真 ISP，还是换皮机房 IP&lt;/a&gt;。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🌐 第三步：测 DNS 是否泄漏&lt;a href=&quot;#-第三步测-dns-是否泄漏&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;很多人只看出口 IP，却忘了 DNS。&lt;/p&gt;&lt;p&gt;如果你的 HTTP 请求走了代理，但 DNS 还是在本地或错误网络上解析，就会出现两种问题：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;目标站风控系统会发现：你的 IP 在美国，但 DNS 查询却来自中国联通。网络身份严重不一致，直接判定异常。&lt;/li&gt;
&lt;li&gt;你以为自己已经切了地区，实际解析链路仍暴露了真实的本地网络环境。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;实操测试方法&lt;/strong&gt;：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;利用测试页验证（浏览器环境）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;全局/浏览器配置好代理后，访问  &lt;a href=&quot;https://browserleaks.com/dns&quot; target=&quot;_blank&quot;&gt;browserleaks.com/dns&lt;/a&gt;，并等待分析完成。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;如何判断是否泄漏&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;没漏（安全）&lt;/strong&gt;：列出的所有 DNS 服务器归属地（国家/地区），都与你买的代理 IP 地区一致。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏了（危险）&lt;/strong&gt;：列表里出现了你真实的本地网络服务商（比如电信/联通/移动、阿里/腾讯 DNS），或者出现了不相关国家的服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔐 第四步：测会话保持能力&lt;a href=&quot;#-第四步测会话保持能力&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;不是所有任务都需要同样的会话策略。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;/posts/isp-and-residential-proxy/sticky-session-explained/&quot;&gt;住宅代理的 sticky session 是什么？为什么你一登录就掉线/重验证&lt;/a&gt; 里讲过，很多站点的风控系统对同一会话里频繁换 IP 非常敏感。&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;
&lt;li&gt;登录、后台操作、持续监控，更看重 &lt;code&gt;sticky session&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;广告验证、价格监控、分布式采集，更看重轮换&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以你至少要跑两种测试：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;同一会话连续访问，IP 是否按预期保持不变。&lt;/li&gt;
&lt;li&gt;新会话或新请求触发轮换时，IP 是否按预期变化。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果IP不能按照你的预期保持或切换，就会出现总掉登录或验证码变多的问题。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧼 第五步：测纯净度，但不要把它神话&lt;a href=&quot;#-第五步测纯净度但不要把它神话&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;所谓“IP 纯净度”，在实际工作里更多是一个组合判断：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;验证码多不多&lt;/li&gt;
&lt;li&gt;登录时二次验证多不多&lt;/li&gt;
&lt;li&gt;目标站是否更容易触发风控&lt;/li&gt;
&lt;li&gt;黑名单或声誉库里是否已经有明显异常&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不要把“纯净度”当成一个单一分数看。它更像是多个风险信号的组合。&lt;/p&gt;&lt;p&gt;更重要的是：同一个 IP 在不同站点、不同时间、不同频率下，结果都可能不同。所以纯净度只能作为参考，不能替代目标站实测。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 第六步：一定要做目标站实测&lt;a href=&quot;#-第六步一定要做目标站实测&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;真正决定你要不要继续续费的，不是工具页给你的分数，而是你的真实任务是否跑得通。&lt;/p&gt;&lt;p&gt;最小实测建议：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;选 1 到 2 个真实目标站。&lt;/li&gt;
&lt;li&gt;跑 1 个最小业务流程。&lt;/li&gt;
&lt;li&gt;记录验证码、跳转、登录、页面完整度和加载时间。&lt;/li&gt;
&lt;li&gt;同时记录所用代理地区、会话模式和请求频率。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;这一步不做，你前面的测试都只能算“体检”，不能算“验收”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧭 一个够用的测试顺序&lt;a href=&quot;#-一个够用的测试顺序&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你不想把流程搞得太复杂，可以直接按这个顺序：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;查出口 IP&lt;/li&gt;
&lt;li&gt;查国家和城市&lt;/li&gt;
&lt;li&gt;查 ASN / 归属&lt;/li&gt;
&lt;li&gt;查 DNS&lt;/li&gt;
&lt;li&gt;测 sticky session&lt;/li&gt;
&lt;li&gt;测轮换逻辑&lt;/li&gt;
&lt;li&gt;跑目标站最小任务&lt;/li&gt;
&lt;li&gt;记录失败点和限制&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：连得上就是好 IP&lt;a href=&quot;#-误区-1连得上就是好-ip&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。连得上只说明最底层网络可用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：地理位置大致对就算过关&lt;a href=&quot;#-误区-2地理位置大致对就算过关&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果你的业务依赖城市级结果，模糊正确并不等于结果可用。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：工具页分数高，就等于目标站一定稳&lt;a href=&quot;#-误区-3工具页分数高就等于目标站一定稳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。目标站自己的风控、会话和频率限制更重要。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的动态住宅代理支持全球220多个国家和地区。&lt;/p&gt;&lt;p&gt;新用户支持1.99美元试用3天。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的动态住宅代理价格&quot; loading=&quot;lazy&quot; width=&quot;2190&quot; height=&quot;1337&quot; src=&quot;/_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp&quot; srcset=&quot;/_astro/residential-proxy-prices.B8TSn1AL_ZHXQrg.webp 640w, /_astro/residential-proxy-prices.B8TSn1AL_295nCK.webp 750w, /_astro/residential-proxy-prices.B8TSn1AL_1svubR.webp 828w, /_astro/residential-proxy-prices.B8TSn1AL_5p9ht.webp 1080w, /_astro/residential-proxy-prices.B8TSn1AL_Z16O2GC.webp 1280w, /_astro/residential-proxy-prices.B8TSn1AL_1YBjaO.webp 1668w, /_astro/residential-proxy-prices.B8TSn1AL_Z1oj2YU.webp 2048w, /_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp 2190w&quot; /&gt;&lt;figcaption&gt;ProxySeller的动态住宅代理价格&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;住宅代理套餐按照流量+时间收费，每GB/月=3.5$，按照套餐购买更优惠，适合需要长期使用的业务场景。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;
这是瓦叔自己在用的住宅代理地址信息，非常干净和安心。瓦叔是程序员，日常爬虫程序都在用这个代理在跑。&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;买前验货&lt;/li&gt;
&lt;li&gt;买后验收&lt;/li&gt;
&lt;li&gt;目标站异常前先做基础体检&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;把测试工具结果当成唯一依据&lt;/li&gt;
&lt;li&gt;不记录会话和请求条件就下结论&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;遇到验证码多、登录风控，继续看 &lt;a href=&quot;/posts/isp-and-residential-proxy/why-proxy-still-gets-captcha/&quot;&gt;为什么用了代理还是验证码很多？从 IP 质量到会话一致性的完整排查&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想理解会话为什么老掉，继续看 &lt;a href=&quot;/posts/isp-and-residential-proxy/sticky-session-explained/&quot;&gt;住宅代理的 sticky session 是什么？为什么你一登录就掉线/重验证&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>广告验证和价格监控为什么更适合轮换住宅代理</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/rotating-residential-for-ad-verification-and-price-monitoring/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/rotating-residential-for-ad-verification-and-price-monitoring/</guid><description>广告验证和价格监控更看重地区覆盖、轮换能力和结果分布，不太适合用单一固定出口硬扛。本文把轮换住宅代理为什么更顺手，以及什么时候其实不该用它讲清楚。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你的任务是广告验证、价格监控、多地区页面抽查，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;广告验证和价格监控，核心问题通常不是“保持一个身份不变”，而是“让结果覆盖到多个真实地区和多个出口”。&lt;/p&gt;&lt;p&gt;所以多数情况下：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;轮换住宅代理&lt;/code&gt; 更合适&lt;/li&gt;
&lt;li&gt;&lt;code&gt;固定 ISP&lt;/code&gt; 更适合长期登录，不一定适合大量地区抽查&lt;/li&gt;
&lt;li&gt;&lt;code&gt;移动代理&lt;/code&gt; 只有在明确验证移动网络差异时才值得上&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;换句话说，这类任务更看重分布，而不是单点稳定。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;📍 为什么固定出口经常不够&lt;a href=&quot;#-为什么固定出口经常不够&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你只用一个固定出口，常见问题有：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你只能看到一个地区视角&lt;/li&gt;
&lt;li&gt;长时间重复访问，样本很容易偏&lt;/li&gt;
&lt;li&gt;某个出口状态变差，整体结果就失真&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;广告验证和价格监控的难点，本来就在“不同地区、不同出口看到的结果不完全一样”。所以单点出口天然信息量不够。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔄 轮换住宅代理真正解决了什么&lt;a href=&quot;#-轮换住宅代理真正解决了什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;它主要解决三件事：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;让你更容易覆盖多个地区&lt;/li&gt;
&lt;li&gt;让结果不完全依赖单一出口&lt;/li&gt;
&lt;li&gt;让你能按任务设计轮换节奏&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;注意，这不等于“轮换越快越好”。很多人把这件事玩反了。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⏱️ 轮换速度不是越快越好&lt;a href=&quot;#️-轮换速度不是越快越好&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;/posts/isp-and-residential-proxy/sticky-session-explained/&quot;&gt;住宅代理的 sticky session 是什么？为什么你一登录就掉线/重验证&lt;/a&gt; 里讲过，很多站点的风控系统对同一会话里频繁换 IP 非常敏感。&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;如果你的任务是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;广告落地页验证&lt;/li&gt;
&lt;li&gt;价格页面抽查&lt;/li&gt;
&lt;li&gt;公开结果对照&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;更合理的是根据任务节奏轮换，而不是每个请求都强行换。&lt;/p&gt;&lt;p&gt;因为轮换过快会带来两个问题：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;结果更难复现&lt;/li&gt;
&lt;li&gt;你自己也很难判断到底是地区差异，还是出口变化导致的差异&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪪 什么时候固定 ISP 更适合&lt;a href=&quot;#-什么时候固定-isp-更适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这些情况，我反而会先考虑 ISP：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你要长期登录某个后台&lt;/li&gt;
&lt;li&gt;你要持续保持单一身份&lt;/li&gt;
&lt;li&gt;你更看重连续性而不是地区覆盖&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以不要把“广告验证和价格监控适合轮换住宅”误解成“所有任务都适合轮换住宅”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 住宅代理在这类任务里的验证重点&lt;a href=&quot;#-住宅代理在这类任务里的验证重点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你准备用住宅代理做广告验证或价格监控，至少先测：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;国家和城市是否符合预期&lt;/li&gt;
&lt;li&gt;会话是否按设计轮换&lt;/li&gt;
&lt;li&gt;目标站是否能稳定返回页面&lt;/li&gt;
&lt;li&gt;同一个任务在不同出口下是否能复现差异&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你连这些都不测，后面很容易把采样误差当成市场结论。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🗂️ 一个够用的任务设计方法&lt;a href=&quot;#️-一个够用的任务设计方法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;以价格监控为例，我会这样做：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先定义地区样本&lt;/li&gt;
&lt;li&gt;再定义每个地区的访问频率&lt;/li&gt;
&lt;li&gt;再定义轮换窗口&lt;/li&gt;
&lt;li&gt;最后记录页面返回、价格字段和异常情况&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;广告验证也类似，先定义样本，再定义轮换，不要倒过来。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🛠️ 如果你准备付费，怎么开始更稳&lt;a href=&quot;#️-如果你准备付费怎么开始更稳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;更稳的顺序通常是：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先确定要测的国家 / 城市&lt;/li&gt;
&lt;li&gt;先小规模试用 &lt;code&gt;住宅代理&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;先跑一个最小任务样本&lt;/li&gt;
&lt;li&gt;再根据实际结果决定是否扩大地区和轮换密度&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;不要先买很多流量，再回头想要怎么验证。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：轮换越快越像真人&lt;a href=&quot;#-误区-1轮换越快越像真人&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。很多业务结果更需要可复现，而不是盲目快轮换。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：价格监控一定不能用固定出口&lt;a href=&quot;#-误区-2价格监控一定不能用固定出口&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。低频、单地区、连续对照任务，固定出口可能更容易解释。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：只要是住宅代理，广告验证就一定准&lt;a href=&quot;#-误区-3只要是住宅代理广告验证就一定准&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。地区、会话、时间窗口和采样方法都影响结果。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的动态住宅代理支持全球220多个国家和地区。&lt;/p&gt;&lt;p&gt;新用户支持1.99美元试用3天。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的动态住宅代理价格&quot; loading=&quot;lazy&quot; width=&quot;2190&quot; height=&quot;1337&quot; src=&quot;/_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp&quot; srcset=&quot;/_astro/residential-proxy-prices.B8TSn1AL_ZHXQrg.webp 640w, /_astro/residential-proxy-prices.B8TSn1AL_295nCK.webp 750w, /_astro/residential-proxy-prices.B8TSn1AL_1svubR.webp 828w, /_astro/residential-proxy-prices.B8TSn1AL_5p9ht.webp 1080w, /_astro/residential-proxy-prices.B8TSn1AL_Z16O2GC.webp 1280w, /_astro/residential-proxy-prices.B8TSn1AL_1YBjaO.webp 1668w, /_astro/residential-proxy-prices.B8TSn1AL_Z1oj2YU.webp 2048w, /_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp 2190w&quot; /&gt;&lt;figcaption&gt;ProxySeller的动态住宅代理价格&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;住宅代理套餐按照流量+时间收费，每GB/月=3.5$，按照套餐购买更优惠，适合需要长期使用的业务场景。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;
这是瓦叔自己在用的住宅代理地址信息，非常干净和安心。瓦叔是程序员，日常爬虫程序都在用这个代理在跑。&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;广告验证&lt;/li&gt;
&lt;li&gt;价格监控&lt;/li&gt;
&lt;li&gt;地区样本抽查&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;长期固定后台登录&lt;/li&gt;
&lt;li&gt;单一账号环境保持&lt;/li&gt;
&lt;li&gt;不愿意做样本设计和结果记录&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想继续做质量体检，读 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想看移动网络是不是更适合你的场景，读 &lt;a href=&quot;/posts/isp-and-residential-proxy/mobile-vs-residential-proxy/&quot;&gt;移动代理和住宅代理怎么选？什么场景真的需要 4G/5G&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>SEO 监控应该用哪种代理：机房、住宅、ISP、移动四种方案实测思路</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/seo-monitoring-proxy-type-comparison/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/seo-monitoring-proxy-type-comparison/</guid><description>SEO 监控不是越像真人越好，而是要看你到底监控什么。本文把机房、住宅、ISP、移动四种出口放到排名检查、地区结果验证和长期监控这些任务里逐个拆开。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你在做 SEO 监控，纠结到底该用机房、住宅、ISP 还是移动代理，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;SEO 监控不是统一答案。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你做固定地区、低频、长期监控，很多时候 &lt;code&gt;ISP&lt;/code&gt; 或普通固定出口就够。&lt;/li&gt;
&lt;li&gt;你做多地区结果抽查、广告或 SERP 地区差异验证，&lt;code&gt;住宅代理&lt;/code&gt; 更合适。&lt;/li&gt;
&lt;li&gt;你只是常规服务器侧可达性和页面抓取，&lt;code&gt;机房代理&lt;/code&gt; 往往更省钱。&lt;/li&gt;
&lt;li&gt;只有当移动网络结果本身是变量时，&lt;code&gt;移动代理&lt;/code&gt; 才值得上。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以不要把“像真人”当成唯一指标。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧭 先分任务，不要把 SEO 监控混成一件事&lt;a href=&quot;#-先分任务不要把-seo-监控混成一件事&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;SEO 相关任务至少可以拆成四类：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;站点可达性和页面抓取&lt;/li&gt;
&lt;li&gt;固定地区的 SERP 观察&lt;/li&gt;
&lt;li&gt;多地区结果差异验证&lt;/li&gt;
&lt;li&gt;广告、落地页或本地化展示抽查&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;这四类任务，最适合的出口类型并不相同。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🏢 机房代理：什么时候最划算&lt;a href=&quot;#-机房代理什么时候最划算&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;基础可达性检查&lt;/li&gt;
&lt;li&gt;轻量页面抓取&lt;/li&gt;
&lt;li&gt;你只需要稳定的服务器出口&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不太适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;对真实地区展示很敏感的验证&lt;/li&gt;
&lt;li&gt;经常需要模拟不同真实用户网络&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你的监控任务本质上是“服务器能不能拉到页面”，机房代理完全可能已经够用。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪪 ISP：什么时候比住宅更省心&lt;a href=&quot;#-isp什么时候比住宅更省心&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;固定地区、长期持续监控&lt;/li&gt;
&lt;li&gt;你需要稳定身份，而不是大量轮换&lt;/li&gt;
&lt;li&gt;你更关心结果的连续性和可解释性&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不太适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;大量国家、城市并行验证&lt;/li&gt;
&lt;li&gt;高频切换地区&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这类任务里，ISP 的价值往往在“今天和昨天用的是同样的网络身份”，而不是“覆盖面最大”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🏠 住宅代理：什么时候是主力&lt;a href=&quot;#-住宅代理什么时候是主力&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;多地区 SERP 差异验证&lt;/li&gt;
&lt;li&gt;地区化页面展示检查&lt;/li&gt;
&lt;li&gt;本地化结果、广告预览、价格差异观察&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;它的核心价值在于覆盖和轮换，而不是长期固定。&lt;/p&gt;&lt;p&gt;所以如果你的 SEO 监控本质是“不同地区看到什么”，住宅代理通常是最自然的起点。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;📶 移动代理：什么时候才真有必要&lt;a href=&quot;#-移动代理什么时候才真有必要&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;只有当下面这种问题成立时，移动代理才值得上：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你明确要观察移动网络环境下的结果差异&lt;/li&gt;
&lt;li&gt;你做的是移动端场景验证，而不是普通地区监控&lt;/li&gt;
&lt;li&gt;你已经用住宅验证过，确认移动网络是关键变量&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;否则，移动代理很容易变成高成本但低收益的选择。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 我会怎么设计一套实测思路&lt;a href=&quot;#-我会怎么设计一套实测思路&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果要认真评估，我会这样做：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先挑 1 到 2 个关键词或目标页面&lt;/li&gt;
&lt;li&gt;固定测试时间段&lt;/li&gt;
&lt;li&gt;机房、ISP、住宅各跑一轮&lt;/li&gt;
&lt;li&gt;如果有明确理由，再加移动代理&lt;/li&gt;
&lt;li&gt;记录页面完整度、地区结果、验证码、延迟和稳定性&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;重点是每次只改一个变量，不要混着测。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🚫 哪些场景不值得上住宅或移动&lt;a href=&quot;#-哪些场景不值得上住宅或移动&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这些场景，经常被过度设计：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只是固定地区的日常可用性巡检&lt;/li&gt;
&lt;li&gt;只是看页面是否返回 200&lt;/li&gt;
&lt;li&gt;只是低频拉取自己站点的数据&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这类任务如果上来就用住宅或移动，多半是成本先跑飞。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：SEO 监控一定要最像真人&lt;a href=&quot;#-误区-1seo-监控一定要最像真人&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。很多监控任务本质上只需要稳定、低成本、可重复。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：用了住宅，结果就一定更真实&lt;a href=&quot;#-误区-2用了住宅结果就一定更真实&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果测试时间、会话、地区和浏览器环境没控制好，结果一样会失真。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：移动代理能覆盖所有 SEO 场景&lt;a href=&quot;#-误区-3移动代理能覆盖所有-seo-场景&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。只有移动网络本身是变量时，它才真正有价值。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它提供的服务覆盖了机房代理、住宅代理、ISP 代理和移动代理，适合不同类型的 SEO 监控需求。你可以先看它的套餐介绍页，看看哪个套餐的描述和你的目标任务最匹配，再根据预算和验证结果来决定。大部分服务支持&lt;strong&gt;无理由退款&lt;/strong&gt;，所以不满意可以随时退。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller提供的服务&quot; loading=&quot;lazy&quot; width=&quot;2225&quot; height=&quot;384&quot; src=&quot;/_astro/proxy-seller-products.4Z-kyiyK_EQJsd.webp&quot; srcset=&quot;/_astro/proxy-seller-products.4Z-kyiyK_1WPkMg.webp 640w, /_astro/proxy-seller-products.4Z-kyiyK_Z1htYAL.webp 750w, /_astro/proxy-seller-products.4Z-kyiyK_HTT81.webp 828w, /_astro/proxy-seller-products.4Z-kyiyK_GoYYA.webp 1080w, /_astro/proxy-seller-products.4Z-kyiyK_2m1t3t.webp 1280w, /_astro/proxy-seller-products.4Z-kyiyK_ZVpui7.webp 1668w, /_astro/proxy-seller-products.4Z-kyiyK_MAj.webp 2048w, /_astro/proxy-seller-products.4Z-kyiyK_EQJsd.webp 2225w&quot; /&gt;&lt;figcaption&gt;ProxySeller提供的服务&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;SEO 地区验证&lt;/li&gt;
&lt;li&gt;SERP 观察&lt;/li&gt;
&lt;li&gt;多出口监控选型&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;只想找“最贵所以最好”的答案&lt;/li&gt;
&lt;li&gt;不区分任务就直接采购&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想专门看价格监控和广告验证，继续读 &lt;a href=&quot;/posts/isp-and-residential-proxy/rotating-residential-for-ad-verification-and-price-monitoring/&quot;&gt;广告验证和价格监控为什么更适合轮换住宅代理&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想先把大方向选型讲清楚，继续读 &lt;a href=&quot;/posts/isp-and-residential-proxy/isp-vs-residential-vs-mobile-proxy-how-to-choose/&quot;&gt;ISP 代理、住宅代理、移动代理，到底该怎么选？一篇讲清楚&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>静态住宅代理是不是智商税？买之前先看这 7 个判断标准</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/static-residential-proxy-buying-checklist/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/static-residential-proxy-buying-checklist/</guid><description>静态住宅或 ISP 代理不是天然更高级，它只是在固定身份、长期会话这类场景里更省心。买之前先看 7 个判断标准，避免把不该花的钱花出去。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你正在纠结“静态住宅代理到底值不值得买”，这篇文章适合先帮你减掉错误预算。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;静态住宅代理不是智商税，但它也绝不是通用最优解。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你的问题如果是“需要固定身份、少切换、少二次验证”，静态住宅或 ISP 代理通常更合适。&lt;/li&gt;
&lt;li&gt;你的问题如果是“需要轮换、地区覆盖、分布式出口”，那它反而可能比动态住宅代理更别扭。&lt;/li&gt;
&lt;li&gt;你如果连自己的任务是“稳定”还是“覆盖”都没分清，先别下单。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;真正该问的问题不是“它贵不贵”，而是“它的长期稳定性，值不值你的业务成本”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔒 标准 1：你是不是在做长期固定会话&lt;a href=&quot;#-标准-1你是不是在做长期固定会话&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;静态住宅最典型的优势，是把“我每次出去都像同一个人”这件事做得更容易。&lt;/p&gt;&lt;p&gt;更适合它的场景：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;后台长期登录&lt;/li&gt;
&lt;li&gt;账号环境保持稳定&lt;/li&gt;
&lt;li&gt;单地区、单出口、长期监控&lt;/li&gt;
&lt;li&gt;你非常不想频繁掉登录状态&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果你的业务根本不需要固定会话，这一条优势就没有那么值钱。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚖️ 标准 2：你要的是稳定，还是覆盖&lt;a href=&quot;#️-标准-2你要的是稳定还是覆盖&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这是最容易判断错的一条。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你要稳定：优先考虑静态住宅或 ISP。&lt;/li&gt;
&lt;li&gt;你要覆盖：优先考虑动态住宅。&lt;/li&gt;
&lt;li&gt;你要移动网络身份：才考虑移动代理。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;很多人其实只是需要“多个地区都能看一眼”，这种情况下买静态住宅并不会更聪明。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔍 标准 3：你能不能验证它到底像不像你以为的那类 IP&lt;a href=&quot;#-标准-3你能不能验证它到底像不像你以为的那类-ip&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;买之前至少要能回答：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;出口地区对不对。&lt;/li&gt;
&lt;li&gt;ASN 和网络归属是否符合预期。&lt;/li&gt;
&lt;li&gt;会话能不能稳定保留。&lt;/li&gt;
&lt;li&gt;协议和认证方式能不能接入你的系统。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果供应商只讲“高质量”“纯净”“稳定”，却不给你任何验证路径，这类文案参考价值很低。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔌 标准 4：认证和接入方式是否适合你的环境&lt;a href=&quot;#-标准-4认证和接入方式是否适合你的环境&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这条经常被忽略。&lt;/p&gt;&lt;p&gt;你实际要接的环境可能是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;浏览器&lt;/li&gt;
&lt;li&gt;Windows / macOS 系统代理&lt;/li&gt;
&lt;li&gt;Python requests&lt;/li&gt;
&lt;li&gt;Playwright / Selenium&lt;/li&gt;
&lt;li&gt;远程服务器&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这时你至少要确认：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;支不支持你要的协议&lt;/li&gt;
&lt;li&gt;用用户名密码还是 IP 白名单&lt;/li&gt;
&lt;li&gt;你的运行环境能不能稳定继承这套配置&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果接入成本很高，再“高级”的代理也未必省事。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;💸 标准 5：它能不能真的减少你当前的损失&lt;a href=&quot;#-标准-5它能不能真的减少你当前的损失&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;你要用业务语言算账，而不是用营销语言。&lt;/p&gt;&lt;p&gt;比如：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你现在每周都在因为会话失效重登，人工时间很贵。&lt;/li&gt;
&lt;li&gt;你现在监控结果经常因为出口漂移而失真。&lt;/li&gt;
&lt;li&gt;你现在明明只需要一个稳定地区出口，却一直在为轮换策略付费。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果静态住宅能明显减少这些损失，它就不是智商税。反过来，如果你只是偶尔访问一次页面，那它大概率是过度采购。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 标准 6：替代方案是不是已经够用&lt;a href=&quot;#-标准-6替代方案是不是已经够用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;买之前先问自己三个问题：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;机房代理够不够？&lt;/li&gt;
&lt;li&gt;普通住宅轮换够不够？&lt;/li&gt;
&lt;li&gt;直连或自建固定出口够不够？&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;只要其中任何一个能满足目标，而且验证成本更低，就没必要把静态住宅神化。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧾 标准 7：售后和替换策略是否透明&lt;a href=&quot;#-标准-7售后和替换策略是否透明&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;你真正会碰到的问题不是“第一次能不能连上”，而是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;某个出口后续状态变差怎么办&lt;/li&gt;
&lt;li&gt;某个地区效果不达预期怎么办&lt;/li&gt;
&lt;li&gt;需要扩容时能不能延续同样的接入逻辑&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这些问题如果没有明确替换、支持或小规模试错路径，后续维护成本会很高。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：静态住宅一定比动态住宅高级&lt;a href=&quot;#-误区-1静态住宅一定比动态住宅高级&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。它只是更适合“稳定会话”的问题。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：越贵越不容易出问题&lt;a href=&quot;#-误区-2越贵越不容易出问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。很多问题是接入方式、DNS、时区、语言、会话策略不一致，跟单价没有一一对应关系。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：只看宣传词，不看测试路径&lt;a href=&quot;#-误区-3只看宣传词不看测试路径&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;这类产品最怕“买之前讲得很稳，买之后不会验证”。如果不能测，你就很难判断问题到底出在 IP 还是出在自己配置。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🛒 我会怎么做购买前判断&lt;a href=&quot;#-我会怎么做购买前判断&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;我通常会按下面顺序做：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先确认任务是长期固定身份，而不是多地区轮换。&lt;/li&gt;
&lt;li&gt;先买最小规模，而不是一次上大单。&lt;/li&gt;
&lt;li&gt;先测出口 IP、地区、ASN、DNS、会话时长。&lt;/li&gt;
&lt;li&gt;先用真实目标站跑一次最小验证。&lt;/li&gt;
&lt;li&gt;通过后再决定是否放大。&lt;/li&gt;
&lt;/ol&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的ISP代理支持全球大部份国家和地区。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP支持国家&quot; loading=&quot;lazy&quot; width=&quot;1675&quot; height=&quot;1611&quot; src=&quot;/_astro/isp-countries.DiaLNp5F_1QRoOL.webp&quot; srcset=&quot;/_astro/isp-countries.DiaLNp5F_1h9p0m.webp 640w, /_astro/isp-countries.DiaLNp5F_ZHJ7xN.webp 750w, /_astro/isp-countries.DiaLNp5F_H6mu0.webp 828w, /_astro/isp-countries.DiaLNp5F_2ax7Q3.webp 1080w, /_astro/isp-countries.DiaLNp5F_ZxWRMR.webp 1280w, /_astro/isp-countries.DiaLNp5F_Z2pcrIL.webp 1668w, /_astro/isp-countries.DiaLNp5F_1QRoOL.webp 1675w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP支持国家&lt;/figcaption&gt;&lt;/figure&gt;
按照IP数收费，单个IP每月3$，流量无限制（瓦叔认为这个价格非常有竞争力了，我最初使用的某香港平台，单个IP的价格在60人民币左右），适合需要长期固定身份的业务场景。&lt;p&gt;&lt;/p&gt;&lt;p&gt;当初促成瓦叔下单的原因还有一个，&lt;strong&gt;购买后不满意可以无条件全额退款&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ ISP适合 / 不适合&lt;a href=&quot;#---isp适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;长期登录&lt;/li&gt;
&lt;li&gt;单地区稳定监控&lt;/li&gt;
&lt;li&gt;需要较少切换的账号环境&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;大规模轮换&lt;/li&gt;
&lt;li&gt;多城市快速切换&lt;/li&gt;
&lt;li&gt;预算极低、任务又很轻&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想把“买前验证”做完整，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想专门验证真假 ISP，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/how-to-verify-real-isp-proxy/&quot;&gt;如何判断你买到的 ISP 代理到底是真 ISP，还是换皮机房 IP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>住宅代理的 sticky session 是什么？为什么你一登录就掉线/重验证</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/sticky-session-explained/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/sticky-session-explained/</guid><description>Sticky session 不是玄学，它只是让同一个会话在一段时间内尽量保持同一出口。登录总掉线、验证码变多、操作过程反复重验证，很多时候就是会话策略没配对。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你已经能把代理接上，但登录过程总掉线、验证码突然增多、流程走到一半被要求重新验证，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;sticky session&lt;/code&gt; 的核心不是“更高级”，而是“在一段时间内尽量别换出口”。&lt;/p&gt;&lt;p&gt;它通常适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录流程&lt;/li&gt;
&lt;li&gt;需要保存 Cookie / 会话状态的操作&lt;/li&gt;
&lt;li&gt;单用户、单线程、持续一段时间的访问&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;它通常不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;需要频繁换出口的轮换任务&lt;/li&gt;
&lt;li&gt;大规模并发分发请求&lt;/li&gt;
&lt;li&gt;你根本不在乎会话连续性的任务&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔐 sticky session 到底在解决什么&lt;a href=&quot;#-sticky-session-到底在解决什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;目标站在同一条用户流程里，往往默认你的网络身份大致连续。&lt;/p&gt;&lt;p&gt;如果你在下面这些阶段突然换了出口：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;打开登录页&lt;/li&gt;
&lt;li&gt;输入账号密码&lt;/li&gt;
&lt;li&gt;收验证码&lt;/li&gt;
&lt;li&gt;完成授权跳转&lt;/li&gt;
&lt;li&gt;进入后台继续操作&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;目标站看到的就不是“同一个用户流程”，而是“一个流程里身份在漂”。&lt;/p&gt;&lt;p&gt;这就是为什么很多人说“明明代理能用，为什么一登录就掉线”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧩 它和固定 ISP 是一回事吗&lt;a href=&quot;#-它和固定-isp-是一回事吗&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;不是一回事，但在某些任务上目标相近。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;sticky session&lt;/code&gt; 更像是“在一段时间内尽量固定”&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ISP / 静态住宅&lt;/code&gt; 更像是“长期固定身份”&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你只需要把一段登录流程跑完，sticky session 往往已经够用。&lt;/li&gt;
&lt;li&gt;你需要长期保持同一身份，ISP / 静态住宅通常更合适。&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🚨 什么时候一定要先看会话问题&lt;a href=&quot;#-什么时候一定要先看会话问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你碰到下面这些症状，优先怀疑会话：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录页能打开，但提交后反复要求重验证&lt;/li&gt;
&lt;li&gt;同一浏览器里做一套动作，结果像是被当成了多个人&lt;/li&gt;
&lt;li&gt;第一次访问正常，后续几步突然异常&lt;/li&gt;
&lt;li&gt;同地区、同账号、同浏览器，结果却忽好忽坏&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这类问题并不总是“IP 差”，很多时候是会话策略没对上任务。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪤 sticky session 常见的 4 种误配&lt;a href=&quot;#-sticky-session-常见的-4-种误配&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;🔄 1. 登录链路用了轮换，而不是粘性会话&lt;a href=&quot;#-1-登录链路用了轮换而不是粘性会话&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;这会导致登录页和授权后续请求不是一个出口。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;🔀 2. 浏览器走 sticky，脚本却走另一套轮换&lt;a href=&quot;#-2-浏览器走-sticky脚本却走另一套轮换&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;表面看起来都在用同一个代理供应商，实际是两条完全不同的网络身份。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;⏱️ 3. 会话时长太短&lt;a href=&quot;#️-3-会话时长太短&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;你以为还在同一会话，实际上供应商那边已经换出去了。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;🧵 4. 多线程共用一个不合适的粘性策略&lt;a href=&quot;#-4-多线程共用一个不合适的粘性策略&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不同线程都往同一个会话里挤，结果很难稳定解释。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 一个够用的验证方法&lt;a href=&quot;#-一个够用的验证方法&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你怀疑 sticky session 没起效，可以直接做下面的最小测试：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;开一个全新的浏览器会话。&lt;/li&gt;
&lt;li&gt;记录第一次访问看到的出口 IP。&lt;/li&gt;
&lt;li&gt;在 5 到 10 分钟内持续访问几个检测页。&lt;/li&gt;
&lt;li&gt;看 IP 是否按预期保持不变。&lt;/li&gt;
&lt;li&gt;再开一个新会话，看是否触发新的出口。&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;如果结果和你预期的会话策略不一致，先回头改策略，不要先怪目标站。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪪 登录类任务什么时候该放弃 sticky，改用 ISP&lt;a href=&quot;#-登录类任务什么时候该放弃-sticky改用-isp&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;下面这些情况，我会更倾向直接上 ISP / 静态住宅：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你需要长期保持同一身份&lt;/li&gt;
&lt;li&gt;你不想反复估算 sticky 的有效时长&lt;/li&gt;
&lt;li&gt;你的任务本身就是长时间后台操作&lt;/li&gt;
&lt;li&gt;你已经反复验证 sticky 仍不稳定&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;sticky session 是中间方案，不是所有长期任务的终点方案。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：只要开了 sticky，登录就一定稳&lt;a href=&quot;#-误区-1只要开了-sticky登录就一定稳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。DNS、时区、语言、指纹环境不一致，照样会触发风控。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：sticky 越久越好&lt;a href=&quot;#-误区-2sticky-越久越好&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不是。要看任务是否真的需要长期固定。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：有 sticky 就不用测 ISP / 静态住宅&lt;a href=&quot;#-误区-3有-sticky-就不用测-isp--静态住宅&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果你的核心需求是长期固定身份，两者并不能完全互相替代。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的动态住宅代理支持全球220多个国家和地区。&lt;/p&gt;&lt;p&gt;新用户支持1.99美元试用3天。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的动态住宅代理价格&quot; loading=&quot;lazy&quot; width=&quot;2190&quot; height=&quot;1337&quot; src=&quot;/_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp&quot; srcset=&quot;/_astro/residential-proxy-prices.B8TSn1AL_ZHXQrg.webp 640w, /_astro/residential-proxy-prices.B8TSn1AL_295nCK.webp 750w, /_astro/residential-proxy-prices.B8TSn1AL_1svubR.webp 828w, /_astro/residential-proxy-prices.B8TSn1AL_5p9ht.webp 1080w, /_astro/residential-proxy-prices.B8TSn1AL_Z16O2GC.webp 1280w, /_astro/residential-proxy-prices.B8TSn1AL_1YBjaO.webp 1668w, /_astro/residential-proxy-prices.B8TSn1AL_Z1oj2YU.webp 2048w, /_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp 2190w&quot; /&gt;&lt;figcaption&gt;ProxySeller的动态住宅代理价格&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;住宅代理套餐按照流量+时间收费，每GB/月=3.5$，按照套餐购买更优惠，适合需要长期使用的业务场景。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;
这是瓦叔自己在用的住宅代理地址信息，非常干净和安心。瓦叔是程序员，日常爬虫程序都在用这个代理在跑。&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录中途掉线&lt;/li&gt;
&lt;li&gt;二次验证频繁&lt;/li&gt;
&lt;li&gt;会话连续性很重要&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你要的是分布式轮换&lt;/li&gt;
&lt;li&gt;你根本不关心单次会话是否连续&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想继续做验证码与身份一致性排障，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/why-proxy-still-gets-captcha/&quot;&gt;为什么用了代理还是验证码很多？从 IP 质量到会话一致性的完整排查&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;想判断长期固定身份是否该上 ISP，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/static-residential-proxy-buying-checklist/&quot;&gt;静态住宅代理是不是智商税？买之前先看这 7 个判断标准&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>为什么用了代理还是验证码很多？从 IP 质量到会话一致性的完整排查</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/why-proxy-still-gets-captcha/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/why-proxy-still-gets-captcha/</guid><description>用了代理不等于网络身份就自然可信。验证码过多通常不只是 IP 问题，还可能是会话、时区、语言、DNS、访问频率和浏览器环境同时不一致。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你已经用了代理，但目标站还是频繁弹验证码、掉登录、触发二次验证，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;验证码多，往往不是“代理没用”，而是“你只改了 IP，没有让整套网络身份一致起来”。&lt;/p&gt;&lt;p&gt;常见根因通常落在这 5 层：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;IP 质量本身一般&lt;/li&gt;
&lt;li&gt;会话策略不对&lt;/li&gt;
&lt;li&gt;DNS、时区、语言、浏览器环境不一致&lt;/li&gt;
&lt;li&gt;访问频率和动作模式太像脚本&lt;/li&gt;
&lt;li&gt;目标站本身风控更严&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;所以遇到验证码，不要只做“换一个 IP 再试”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧭 先分清：你到底在什么场景下被拦&lt;a href=&quot;#-先分清你到底在什么场景下被拦&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;先记录这几件事：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;是登录时被拦，还是登录后操作时被拦&lt;/li&gt;
&lt;li&gt;是新会话更容易被拦，还是老会话突然变多&lt;/li&gt;
&lt;li&gt;是某个地区更严重，还是所有地区都一样&lt;/li&gt;
&lt;li&gt;是浏览器有问题，还是脚本环境更严重&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不把场景分清，后面很容易乱改。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪪 第一层：先看 IP 质量，但别只盯着“纯净度”&lt;a href=&quot;#-第一层先看-ip-质量但别只盯着纯净度&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;IP 质量至少要看：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;国家和城市是否符合预期&lt;/li&gt;
&lt;li&gt;ASN / 归属是否符合产品描述&lt;/li&gt;
&lt;li&gt;历史声誉是否明显异常&lt;/li&gt;
&lt;li&gt;过去一段时间是否在目标站触发过高频行为&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;这一步可以先参考 &lt;a href=&quot;/posts/isp-and-residential-proxy/residential-proxy-ip-quality-test-checklist/&quot;&gt;买住宅代理前怎么测 IP 质量：ASN、定位、纯净度、DNS 泄漏完整清单&lt;/a&gt;。&lt;/p&gt;&lt;p&gt;但注意，IP 质量不等于全部。很多人 IP 本身不算差，问题却出在下面几层。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔄 第二层：看会话是不是一直在变&lt;a href=&quot;#-第二层看会话是不是一直在变&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;登录类任务最怕两种事：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你以为自己在一个稳定会话里，实际上 IP 一直在换&lt;/li&gt;
&lt;li&gt;你以为切换只是“更安全”，结果目标站看到的是身份不断飘&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;下面这些行为都容易放大验证码：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录页和后续请求不是同一个出口&lt;/li&gt;
&lt;li&gt;短时间内连续切多个地区&lt;/li&gt;
&lt;li&gt;关键流程里意外触发轮换&lt;/li&gt;
&lt;li&gt;浏览器和 API 请求不走同一个代理策略&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;如果这类情况存在，优先改会话，而不是先换更多 IP。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🌐 第三层：看 DNS、时区、语言、系统环境是否一致&lt;a href=&quot;#-第三层看-dns时区语言系统环境是否一致&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;目标站判断网络身份时，不只看 IP。&lt;/p&gt;&lt;p&gt;至少把下面几件事对齐：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;IP 所在地区和浏览器语言是否严重冲突&lt;/li&gt;
&lt;li&gt;IP 所在时区和系统时区是否严重冲突&lt;/li&gt;
&lt;li&gt;DNS 是否仍暴露本地网络&lt;/li&gt;
&lt;li&gt;浏览器环境和脚本环境是否像来自两个完全不同的设备&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;实操测试方法&lt;/strong&gt;：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;利用测试页验证（浏览器环境）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;全局/浏览器配置好代理后，访问  &lt;a href=&quot;https://browserleaks.com/dns&quot; target=&quot;_blank&quot;&gt;browserleaks.com/dns&lt;/a&gt;，并等待分析完成。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;如何判断是否泄漏&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;没漏（安全）&lt;/strong&gt;：列出的所有 DNS 服务器归属地（国家/地区），都与你买的代理 IP 地区一致。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;漏了（危险）&lt;/strong&gt;：列表里出现了你真实的本地网络服务商（比如电信/联通/移动、阿里/腾讯 DNS），或者出现了不相关国家的服务器。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🚦 第四层：看你的请求行为是不是太猛&lt;a href=&quot;#-第四层看你的请求行为是不是太猛&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;再好的代理，也经不住错误的访问模式。&lt;/p&gt;&lt;p&gt;典型问题包括：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;刚拿到新 IP 就连续高频访问&lt;/li&gt;
&lt;li&gt;页面未完整加载就密集刷新&lt;/li&gt;
&lt;li&gt;同一流程重复触发登录或验证&lt;/li&gt;
&lt;li&gt;多线程请求共用一个不适合的会话策略&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;很多人把这类问题误判成“供应商 IP 不行”，实际上是自己把请求模式打坏了。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚖️ 第五层：看任务本身是否更适合 ISP 而不是轮换住宅&lt;a href=&quot;#️-第五层看任务本身是否更适合-isp-而不是轮换住宅&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果你的核心是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;长时间登录&lt;/li&gt;
&lt;li&gt;后台保持在线&lt;/li&gt;
&lt;li&gt;账号环境尽量不变&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;那你要优先想的是 &lt;code&gt;稳定身份&lt;/code&gt;，而不是 &lt;code&gt;更多轮换&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;这类场景下，ISP / 静态住宅往往比频繁轮换的住宅更省心。反过来，如果你做的是价格监控或广告验证，轮换住宅通常更合适。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧪 一个够用的排查顺序&lt;a href=&quot;#-一个够用的排查顺序&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;我会按下面顺序排：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先看是否所有地区都一样严重&lt;/li&gt;
&lt;li&gt;先看出口 IP、地区、ASN、DNS&lt;/li&gt;
&lt;li&gt;先确认登录链路是不是同一会话&lt;/li&gt;
&lt;li&gt;再看系统时区、语言和浏览器环境&lt;/li&gt;
&lt;li&gt;再看请求频率和动作节奏&lt;/li&gt;
&lt;li&gt;最后才决定换供应商、换产品线或换地区&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：验证码多就是这个代理废了&lt;a href=&quot;#-误区-1验证码多就是这个代理废了&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不一定。先看是不是会话和环境没对齐。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：不断换 IP 总会变好&lt;a href=&quot;#-误区-2不断换-ip-总会变好&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;如果问题是时区、语言、DNS 或访问节奏，单纯换 IP 往往只会更乱。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：脚本和浏览器结果不一样很正常，不必管&lt;a href=&quot;#-误区-3脚本和浏览器结果不一样很正常不必管&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;这恰恰说明环境可能不一致，需要拆开查。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它的动态住宅代理支持全球220多个国家和地区。&lt;/p&gt;&lt;p&gt;新用户支持1.99美元试用3天。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的动态住宅代理价格&quot; loading=&quot;lazy&quot; width=&quot;2190&quot; height=&quot;1337&quot; src=&quot;/_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp&quot; srcset=&quot;/_astro/residential-proxy-prices.B8TSn1AL_ZHXQrg.webp 640w, /_astro/residential-proxy-prices.B8TSn1AL_295nCK.webp 750w, /_astro/residential-proxy-prices.B8TSn1AL_1svubR.webp 828w, /_astro/residential-proxy-prices.B8TSn1AL_5p9ht.webp 1080w, /_astro/residential-proxy-prices.B8TSn1AL_Z16O2GC.webp 1280w, /_astro/residential-proxy-prices.B8TSn1AL_1YBjaO.webp 1668w, /_astro/residential-proxy-prices.B8TSn1AL_Z1oj2YU.webp 2048w, /_astro/residential-proxy-prices.B8TSn1AL_K1L1V.webp 2190w&quot; /&gt;&lt;figcaption&gt;ProxySeller的动态住宅代理价格&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;住宅代理套餐按照流量+时间收费，每GB/月=3.5$，按照套餐购买更优惠，适合需要长期使用的业务场景。
&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller的ISP价格&quot; loading=&quot;lazy&quot; width=&quot;2418&quot; height=&quot;1217&quot; src=&quot;/_astro/isp-prices.XhOByjF5_Z1C0vDY.webp&quot; srcset=&quot;/_astro/isp-prices.XhOByjF5_6cOb3.webp 640w, /_astro/isp-prices.XhOByjF5_Z1yvQvV.webp 750w, /_astro/isp-prices.XhOByjF5_26Hoa8.webp 828w, /_astro/isp-prices.XhOByjF5_1P6jTH.webp 1080w, /_astro/isp-prices.XhOByjF5_22rHeA.webp 1280w, /_astro/isp-prices.XhOByjF5_1kMQbI.webp 1668w, /_astro/isp-prices.XhOByjF5_2wCvMP.webp 2048w, /_astro/isp-prices.XhOByjF5_Z1C0vDY.webp 2418w&quot; /&gt;&lt;figcaption&gt;ProxySeller的ISP价格&lt;/figcaption&gt;&lt;/figure&gt;
这是瓦叔自己在用的住宅代理地址信息，非常干净和安心。瓦叔是程序员，日常爬虫程序都在用这个代理在跑。&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ipinfo查询IP信息2&quot; loading=&quot;lazy&quot; width=&quot;1418&quot; height=&quot;1073&quot; src=&quot;/_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp&quot; srcset=&quot;/_astro/ipinfo-step2.DJFiJZo5_1QYqOe.webp 640w, /_astro/ipinfo-step2.DJFiJZo5_BHmhT.webp 750w, /_astro/ipinfo-step2.DJFiJZo5_ZA4TYD.webp 828w, /_astro/ipinfo-step2.DJFiJZo5_ZmHO1G.webp 1080w, /_astro/ipinfo-step2.DJFiJZo5_ZWOsNR.webp 1280w, /_astro/ipinfo-step2.DJFiJZo5_2w70EH.webp 1418w&quot; /&gt;&lt;figcaption&gt;ipinfo查询IP信息2&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;登录老掉&lt;/li&gt;
&lt;li&gt;验证码明显增多&lt;/li&gt;
&lt;li&gt;代理已经接上但结果不稳定&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;连基础出口测试都没做&lt;/li&gt;
&lt;li&gt;只想找“百分百不会出验证码”的神奇方案&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想专门理解会话，继续看 &lt;a href=&quot;/posts/isp-and-residential-proxy/sticky-session-explained/&quot;&gt;住宅代理的 sticky session 是什么？为什么你一登录就掉线/重验证&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>Windows 和 macOS 怎么正确配置 HTTP/SOCKS5 代理，并验证出口是否生效</title><link>https://www.yuntier.com/posts/isp-and-residential-proxy/windows-macos-http-socks5-proxy-setup/</link><guid isPermaLink="true">https://www.yuntier.com/posts/isp-and-residential-proxy/windows-macos-http-socks5-proxy-setup/</guid><description>代理能不能用，别靠“浏览器看起来能打开网页”判断。本文把 Windows 和 macOS 的 HTTP/SOCKS5 配置步骤、验证方法和常见穿帮点拆开讲清楚。</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;如果你已经买好了代理，下一步要在 Windows 或 macOS 上接入并验证，这篇文章适合你。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;🎯 先给结论&lt;a href=&quot;#-先给结论&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;配置代理时，最常见的问题是：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;系统代理开了，但目标应用根本没继承&lt;/li&gt;
&lt;li&gt;浏览器走了代理，脚本没走&lt;/li&gt;
&lt;li&gt;HTTP / HTTPS / SOCKS5 配置混用&lt;/li&gt;
&lt;li&gt;出口 IP 看似变了，DNS 却还在本地&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;所以正确顺序应该是：&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;先搞清楚你要代理的是系统、浏览器还是某个应用&lt;/li&gt;
&lt;li&gt;再填协议、主机、端口、认证&lt;/li&gt;
&lt;li&gt;最后做出口、地区、DNS 三重验证&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🧭 先区分：你的需求是什么&lt;a href=&quot;#-先区分你的需求是什么&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;🖥️ 系统代理&lt;a href=&quot;#️-系统代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;浏览器和部分系统应用共用&lt;/li&gt;
&lt;li&gt;临时全局验证出口&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不一定适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;每个开发工具都自动继承&lt;/li&gt;
&lt;li&gt;CLI、Python、容器、远程会话、AI开发工具&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;🌐 浏览器代理&lt;a href=&quot;#-浏览器代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;单独验证网页登录&lt;/li&gt;
&lt;li&gt;做浏览器级地区和会话测试&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不一定适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;让系统其他应用一起走代理&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;🧪 应用内代理&lt;a href=&quot;#-应用内代理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;requests、Playwright、Selenium、curl&lt;/li&gt;
&lt;li&gt;你需要明确知道哪一个程序在走代理&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;更适合做可复现的技术验证。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🪟 Windows 配置要点&lt;a href=&quot;#-windows-配置要点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Windows 下，先确认你拿到的是代理的：&lt;strong&gt;主机（IP 或域名）&lt;/strong&gt;、&lt;strong&gt;端口&lt;/strong&gt;、&lt;strong&gt;协议类型（HTTP 或 SOCKS5）&lt;/strong&gt;，以及&lt;strong&gt;用户名密码&lt;/strong&gt;（若是 IP 白名单则不需要）。&lt;/p&gt;&lt;p&gt;系统自带的代理设置对 SOCKS5 和账号密码认证支持很不友好，强烈建议&lt;strong&gt;直接使用第三方客户端接管&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;本教程统一推荐开源、跨平台且配置简单的工具：&lt;strong&gt;Throne&lt;/strong&gt;（原 Nekoray）。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;🛠️ 方案：使用 Throne 客户端进行配置&lt;a href=&quot;#️-方案使用-throne-客户端进行配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;下载软件&lt;/strong&gt;：前往 &lt;a href=&quot;https://github.com/throneproj/Throne/releases&quot; target=&quot;_blank&quot;&gt;Throne GitHub Releases&lt;/a&gt;。下载形如 &lt;code&gt;Throne-&amp;lt;版本号&amp;gt;-windows64.zip&lt;/code&gt; 的压缩包，解压到一个不包含中文的路径下。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;运行程序&lt;/strong&gt;：打开解压后的文件夹，双击运行 &lt;code&gt;throne.exe&lt;/code&gt;（如果杀毒软件误报，通常是因为它有系统全局代理的权限获取要求，请添加白名单）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加代理服务器&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;在主界面顶部菜单点击 &lt;strong&gt;“首选项” -&amp;gt; “基本设置”&lt;/strong&gt; 确认端口，或者直接 &lt;strong&gt;“服务器” (Server)&lt;/strong&gt; -&amp;gt; &lt;strong&gt;“添加自定义配置”&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;一般提供商会直接给出 SOCKS5/HTTP 节点，如果你拿到了 URI 链接，可直接复制后在主界面空白处按 &lt;code&gt;Ctrl+V&lt;/code&gt; 或者右键选择 &lt;strong&gt;“从剪贴板导入” (Import from clipboard)&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;如果手动输入，选择对应的协议（SOCKS 或 HTTP），填入 &lt;code&gt;地址 (Address)&lt;/code&gt;、&lt;code&gt;端口 (Port)&lt;/code&gt;，如果有密码验证，填入 &lt;code&gt;用户名 (Username)&lt;/code&gt; 和 &lt;code&gt;密码 (Password)&lt;/code&gt;，点击“确定”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;启动并接管系统代理&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;在刚添加的代理节点上 &lt;strong&gt;右单击 -&amp;gt; 启动 (Start)&lt;/strong&gt;。&lt;/li&gt;
&lt;li&gt;勾选上方工具栏的 &lt;strong&gt;“系统代理” (System Proxy)&lt;/strong&gt; 或者 TUN 模式。此时你的 Windows 系统所有常规流量均已通过此代理出口。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证&lt;/strong&gt;：配完不要直接去目标站，先去出口检测网页（例如 &lt;code&gt;ipinfo.io&lt;/code&gt;）确认 IP、地区。&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🍎 macOS 配置要点&lt;a href=&quot;#-macos-配置要点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;macOS 的核心问题和 Windows 类似，但在切换 Wi-Fi 时系统自带代理配置偶尔会失效、导致无网断掉。此外，macOS 的终端（Terminal）通常不会继承系统代理面板的设置。&lt;/p&gt;&lt;p&gt;和 Windows 一样，我们推荐使用统一的跨平台工具 &lt;strong&gt;Throne&lt;/strong&gt;，来避免多设备切换的心智负担，同时也规避用 macOS “系统设置 -&amp;gt; 网络 -&amp;gt; 代理”手动配 HTTP/SOCKS 导致的各种不稳定问题。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;🛠️ 方案：使用 Throne 客户端（Mac 版）&lt;a href=&quot;#️-方案使用-throne-客户端mac-版&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;下载软件&lt;/strong&gt;：前往 &lt;a href=&quot;https://github.com/throneproj/Throne/releases&quot; target=&quot;_blank&quot;&gt;Throne GitHub Releases&lt;/a&gt;，下载形如 &lt;code&gt;Throne-&amp;lt;版本号&amp;gt;-macos-arm64.dmg&lt;/code&gt;（新款M系列芯片）或 &lt;code&gt;amd64&lt;/code&gt;（老款Intel芯片）的文件。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安装并解除隔离&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;打开 &lt;code&gt;.dmg&lt;/code&gt; 并将 &lt;code&gt;Throne.app&lt;/code&gt; 拖入“应用程序 (Applications)”文件夹。&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;重中之重&lt;/strong&gt;：由于 Apple 更新了严格的未签名应用隔离政策，必须打开自带终端（Terminal）粘贴以下命令回车以解除隔离（可能需要输入开机密码）：
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sudo&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;xattr&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;-rd&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;com.apple.quarantine&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;/Applications/Throne.app&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加节点与接管流量&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;打开 Throne，参照上述 Windows 步骤添加并选中 SOCKS/HTTP 代理。&lt;/li&gt;
&lt;li&gt;右键节点点击&lt;strong&gt;启动&lt;/strong&gt;，并勾选顶部 &lt;strong&gt;“系统代理” (System Proxy)&lt;/strong&gt; 或者是 TUN 模式（需要输入密码授权代理网卡权限）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;突破终端（CLI）限制&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;macOS 最大的穿帮点在于：开了系统代理或第三方客户端，但往往你在终端里跑个 &lt;code&gt;curl ipinfo.io&lt;/code&gt; 时发现还是本地公网出口。&lt;/li&gt;
&lt;li&gt;此时需要回到终端，手动声明 Throne 暴露到本地的 HTTP 代理端口（以 Throne 的 &lt;code&gt;首选项 -&amp;gt; 基本设置&lt;/code&gt; 中 HTTP 出站监听端口为准，默认通常是 &lt;code&gt;2080&lt;/code&gt; 或 &lt;code&gt;2081&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;在跑脚本的终端会话里先执行：
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;Terminal window&lt;/span&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;http_proxy&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;2080&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;export&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;https_proxy&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span&gt;://&lt;/span&gt;&lt;span&gt;127&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;2080&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;
然后再去执行你的自动化测试脚本或者爬虫，此时就能正确带上目标指纹和外链 IP。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔌 HTTP / HTTPS / SOCKS5 怎么选&lt;a href=&quot;#-http--https--socks5-怎么选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;别把这个问题神化。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你的应用明确要求什么，就先用什么。&lt;/li&gt;
&lt;li&gt;你只是普通浏览器测试，通常按供应商给的 HTTP(S) 或 SOCKS5 文档走。&lt;/li&gt;
&lt;li&gt;你是脚本和自动化工具，优先看该工具原生支持哪种代理。&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;重点不是“谁更高级”，而是“你的应用支持谁、行为更稳定的是谁”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;⚠️ 常见误区&lt;a href=&quot;#️-常见误区&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 1：网页能打开，就说明代理已经完全生效&lt;a href=&quot;#-误区-1网页能打开就说明代理已经完全生效&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。很多时候只是浏览器层生效，脚本和 CLI 还在走原始网络。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 2：系统代理开了，所有应用都会跟着走&lt;a href=&quot;#-误区-2系统代理开了所有应用都会跟着走&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。很多开发工具有自己的网络栈。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;❌ 误区 3：只要 IP 变了，DNS 就一定没问题&lt;a href=&quot;#-误区-3只要-ip-变了dns-就一定没问题&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;不对。DNS 泄漏是另一层问题。&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;广告时间&lt;a href=&quot;#广告时间&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;这里推荐瓦叔自己在用的平台&lt;a href=&quot;/olink/proxy-seller/&quot; target=&quot;_blank&quot;&gt;ProxySeller&lt;/a&gt;，它提供的服务覆盖了机房代理、住宅代理、ISP 代理和移动代理，适合不同类型的 SEO 监控需求。你可以先看它的套餐介绍页，看看哪个套餐的描述和你的目标任务最匹配，再根据预算和验证结果来决定。大部分服务支持&lt;strong&gt;无理由退款&lt;/strong&gt;，所以不满意可以随时退。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img alt=&quot;ProxySeller提供的服务&quot; loading=&quot;lazy&quot; width=&quot;2225&quot; height=&quot;384&quot; src=&quot;/_astro/proxy-seller-products.4Z-kyiyK_EQJsd.webp&quot; srcset=&quot;/_astro/proxy-seller-products.4Z-kyiyK_1WPkMg.webp 640w, /_astro/proxy-seller-products.4Z-kyiyK_Z1htYAL.webp 750w, /_astro/proxy-seller-products.4Z-kyiyK_HTT81.webp 828w, /_astro/proxy-seller-products.4Z-kyiyK_GoYYA.webp 1080w, /_astro/proxy-seller-products.4Z-kyiyK_2m1t3t.webp 1280w, /_astro/proxy-seller-products.4Z-kyiyK_ZVpui7.webp 1668w, /_astro/proxy-seller-products.4Z-kyiyK_MAj.webp 2048w, /_astro/proxy-seller-products.4Z-kyiyK_EQJsd.webp 2225w&quot; /&gt;&lt;figcaption&gt;ProxySeller提供的服务&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;hr /&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;✅ / ❌ 适合 / 不适合&lt;a href=&quot;#---适合--不适合&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;刚买代理准备接入&lt;/li&gt;
&lt;li&gt;登录或验证前先做本机出口确认&lt;/li&gt;
&lt;li&gt;Windows / macOS 双平台测试&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;不适合：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;你只想配 Python 或自动化脚本&lt;/li&gt;
&lt;li&gt;你需要解释 sticky session 或 ISP 真假&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;🔗 下一步怎么读&lt;a href=&quot;#-下一步怎么读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想先判断买哪类代理，看 &lt;a href=&quot;/posts/isp-and-residential-proxy/isp-vs-residential-vs-mobile-proxy-how-to-choose/&quot;&gt;ISP 代理、住宅代理、移动代理，到底该怎么选？一篇讲清楚&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item></channel></rss>