[{"content":" 最近在 Claude Code 里遇到一个让人懵的错：\nAn image in the conversation exceeds the dimension limit for many-image requests (2000px). Start a new session with fewer images.\n我当时贴的是一张完全正常的 100×200 小图。按直觉这应该是\u0026quot;最后那张图超大\u0026quot;，但实际不是。这是一个累积性 bug，触发时机、原因、解法都反直觉，一旦踩到还会反复踩。这篇文章把规则、原理、可直接用的工具都讲清楚。\n现象 一次典型触发路径：\n某个 Claude Code 会话里，你聊了半天，中途贴过几张截图（假设有一张是 2500×1800，Retina 截图很容易超过 2000 px）。 继续往下聊，又贴了一张新的截图（不管多大）。 这次请求 直接失败，报上面那个 dimension limit。 之后你纯文字发消息也会失败。会话彻底卡住，除了开新会话没别的选项。 如果你用的是 Paseo（多 tab 聚合 Claude Code / Codex 的客户端），一个 tab 挂掉不影响别的，但那个 tab 里一整段有价值的上下文基本就废了。\n原因：Anthropic API 的多图分档规则 Anthropic 的 Messages API 对图片有两档尺寸规则：\n请求里的图片数 单张图最大尺寸 1 张（单图模式） 最大 8000×8000 ≥ 2 张（多图模式） 每张每边必须 ≤ 2000 px 这里的关键是**\u0026ldquo;请求里的图片数\u0026rdquo;**，而不是\u0026quot;你这次消息带的图片数\u0026quot;。Claude Code（以及任何兼容客户端）的工作方式是：每次请求都把整个对话历史——包括历史所有图片——作为 context 重新发送。所以：\n你第一次贴一张 2500×1800 的图，单图模式，OK。 你第二次再贴任何一张图，哪怕是 50×50 的一个 emoji 截图，这次请求里就有 2 张图，多图模式触发。回头检查历史，第一张那 2500 宽的违反 2000 px 规则，整个请求被拒绝。 之后你哪怕不贴图，只发文字，历史里那 2 张图仍然在 context 里，请求依然被拒绝。 所以这不是\u0026quot;最后那张图有问题\u0026quot;，而是\u0026quot;从第 2 张图开始，历史里任何一张超过 2000 px 都会挂掉整个会话\u0026quot;。\nRetina 显示器截图天然容易超标：标准 MacBook 3x 缩放下，一张显示尺寸 800×600 的窗口截图实际像素是 2400×1800——已经过线。\n基础解法：剥离 JSONL 里的 base64 图片 Claude Code 把每个会话存成 JSON Lines：~/.claude/projects/\u0026lt;project-slug\u0026gt;/\u0026lt;session-uuid\u0026gt;.jsonl。每一行是一条消息，图片以 base64 形式嵌在消息里，类似：\n{ \u0026#34;role\u0026#34;: \u0026#34;user\u0026#34;, \u0026#34;content\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;text\u0026#34;, \u0026#34;text\u0026#34;: \u0026#34;看看这个报错\u0026#34; }, { \u0026#34;type\u0026#34;: \u0026#34;image\u0026#34;, \u0026#34;source\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;base64\u0026#34;, \u0026#34;data\u0026#34;: \u0026#34;iVBORw0...巨长的 base64...\u0026#34; } } ] } 救援思路很简单：把 source 替换成占位符，base64 不再嵌在 context 里，多图规则不再触发。你的 prompt 文字（\u0026ldquo;看看这个报错\u0026rdquo;）和 Claude 当时对图的文字解读（\u0026ldquo;截图显示了 404 错误\u0026hellip;\u0026quot;）都原样保留。对话语义延续，你失去的只是\u0026quot;回翻查看图片本身\u0026quot;的能力。\n实现这个逻辑的现成工具是 ianbmacdonald/claude-session-rescue。核心是一个纯 Python 脚本，原子写入 + 自动 .bak 备份：\ngit clone https://github.com/ianbmacdonald/claude-session-rescue ~/tools/claude-session-rescue # Dry-run 看会改什么 python3 ~/tools/claude-session-rescue/scripts/session_rescue.py \\ --session-id abc12345 --dry-run # 正式执行 python3 ~/tools/claude-session-rescue/scripts/session_rescue.py \\ --session-id abc12345 跑完你回 Claude Code 继续发消息就能走通了。\n我踩到的两个实际痛点 用上面的基础脚本修掉第一次之后，我又踩到两个新问题：\n痛点 1：Paseo 里我不知道 tab 对应哪个 sessionId 我习惯在 Paseo 里给 tab 起有意义的名字（按项目域划分），但救援脚本需要 session ID 前 8 位作为参数。我得先去 ~/.paseo/agents/\u0026lt;project\u0026gt;/*.json 里翻找对应 agent 的 persistence.sessionId——每次都这样挺烦。\n解法：写个包装脚本，自动按 tab 名查 sessionId。\n痛点 2：问题会复发，需要定时预防 救援本身是\u0026quot;事后补救\u0026rdquo;——你已经撞到错误才去跑。但随着使用量增加，会话里积累的截图越来越多，第二天可能又挂。最好是每天自动跑一次，而且要有安全阀，不能在我正在聊的时候把 JSONL 抽走。\n需要的安全阀：\n跳过活跃 session：如果某个 session 对应的 claude 进程正在跑，跳过——避免写冲突。 跳过刚写入的：JSONL 在最近 N 分钟内被改过 → 用户可能正在聊，跳过。 图片数阈值：图片少于 N 张的 session 不清——保留近期视觉上下文。 备份轮转：每次跑都会多一份 .bak，长期下来会累积。只保留最近 K 份。 工具化 我自己整理了一套脚本：核心引用上游 ianbmacdonald/claude-session-rescue 处理 JSONL 剥图，外面再包一层 Paseo 友好的手动救援 + 定时版 + 4 道安全阀。下面的代码片段你可以直接拿走拼装。\nscripts/paseo_rescue.sh — Paseo 友好的手动救援 # 列出所有命名 tab 和图片数 bash paseo_rescue.sh # 预览 bash paseo_rescue.sh MyTabName --dry-run # 正式救援 bash paseo_rescue.sh MyTabName # 批量 bash paseo_rescue.sh --all 脚本解析 ~/.paseo/agents/\u0026lt;project\u0026gt;/*.json 里的 title 字段和 persistence.sessionId，自动映射。使用前改脚本顶部的 PASEO_AGENTS_DIR 变量指到你的项目 slug 就行。\nscripts/paseo_rescue_auto.sh — 每日定时版 + 4 道安全阀 核心代码片段：\nwhile IFS=\u0026#39;|\u0026#39; read -r name sid cwd; do jsonl=\u0026#34;$CLAUDE_PROJECTS/${cwd_enc}/${sid}.jsonl\u0026#34; # Valve 1: 活跃 claude 进程 if pgrep -f \u0026#34;claude.*${sid:0:8}\u0026#34; \u0026gt;/dev/null; then log \u0026#34;[$name] skip: active process\u0026#34; continue fi # Valve 2: 最近 30 分钟内修改过 mtime=$(stat -f%m \u0026#34;$jsonl\u0026#34;) if [ $(($(date +%s) - mtime)) -lt 1800 ]; then log \u0026#34;[$name] skip: recent write\u0026#34; continue fi # Valve 3: 图片数阈值 img_count=$(grep -o \u0026#39;\u0026#34;type\u0026#34;:\u0026#34;image\u0026#34;\u0026#39; \u0026#34;$jsonl\u0026#34; | wc -l) if [ \u0026#34;$img_count\u0026#34; -lt 5 ]; then log \u0026#34;[$name] skip: only $img_count images\u0026#34; continue fi # 清理 + 记录 python3 \u0026#34;$RESCUE_SCRIPT\u0026#34; --session-id \u0026#34;${sid:0:8}\u0026#34; # Valve 4: .bak 轮转 ls -1t \u0026#34;${sid}.jsonl.bak\u0026#34;* | tail -n +4 | xargs rm -f done \u0026lt; \u0026lt;(list_agents) 配合 macOS LaunchAgent / Linux systemd timer（examples 目录里有现成模板），每天本地时间 18:30 跑一次。有清理动作时 Telegram 推送摘要，空跑不通知。\n监控纳管 我本地的监控系统（另一个话题）会把这个定时任务纳入统一的\u0026quot;备份任务\u0026quot;页面：\n任务状态（绿/黄/红） 上次成功时间、下次运行时间 清理的 session 数、释放的空间、处理的图片数 失败自动 Telegram 告警 这是用我自己的监控框架集成的，repo 里没包含（避免绑定特定架构），但你可以参考 paseo_rescue_auto.sh 的日志格式自己接入你的监控。\n实用建议（预防 \u0026gt; 救援） 最好的救援是根本不需要救援：\n贴截图前先缩到 ≤ 1920 px 宽。macOS 可以 sips -Z 1920 file.png，或用 Shottr / CleanShot 等默认 1x 输出的第三方工具。 长会话里节制贴图，能用文字描述就别贴图。 对高强度用户（每天贴 10+ 张截图），开个每日定时清理，设 --min-images 5 左右。 对运维/研究场景，记得把重要结论让 Claude 文字化总结后再清理——图没了但文字记忆还在。 关于 API 规则的题外话 Anthropic 这个多图规则我没在官方文档的显眼位置见过，实际踩到才反推出来。这种\u0026quot;规则触发后回溯检查历史\u0026quot;的设计对客户端不太友好——用户感知是\u0026quot;我明明只贴了一张小图怎么就挂了\u0026quot;。如果 Claude Code 能在 API 返回这个错误时自动提示\u0026quot;是第 N 条消息里那张图超限\u0026quot;，体验会好很多。\n不过既然规则摆在那，我们能做的就是把救援链路做顺滑。这套工具对我来说让这个 bug 从\u0026quot;每次都要手忙脚乱\u0026quot;变成\u0026quot;18:30 自动处理，我一般都感知不到\u0026quot;。\n链接 上游核心：https://github.com/ianbmacdonald/claude-session-rescue（JSONL 剥图算法，本文 wrapper 全部依赖它） 如果对你有用，在 X @panshi8848 反馈使用中遇到的问题。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-code-image-limit-rescue/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"man siting facing laptop\" loading=\"lazy\" src=\"/images/claude-code-image-limit-rescue-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e最近在 Claude Code 里遇到一个让人懵的错：\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eAn image in the conversation exceeds the dimension limit for many-image requests (2000px). Start a new session with fewer images.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e我当时贴的是一张完全正常的 100×200 小图。按直觉这应该是\u0026quot;最后那张图超大\u0026quot;，但实际不是。这是一个\u003cstrong\u003e累积性 bug\u003c/strong\u003e，触发时机、原因、解法都反直觉，一旦踩到还会反复踩。这篇文章把规则、原理、可直接用的工具都讲清楚。\u003c/p\u003e\n\u003ch2 id=\"现象\"\u003e现象\u003c/h2\u003e\n\u003cp\u003e一次典型触发路径：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e某个 Claude Code 会话里，你聊了半天，中途贴过几张截图（假设有一张是 2500×1800，Retina 截图很容易超过 2000 px）。\u003c/li\u003e\n\u003cli\u003e继续往下聊，又贴了一张新的截图（不管多大）。\u003c/li\u003e\n\u003cli\u003e这次请求 \u003cstrong\u003e直接失败\u003c/strong\u003e，报上面那个 dimension limit。\u003c/li\u003e\n\u003cli\u003e之后你\u003cstrong\u003e纯文字发消息也会失败\u003c/strong\u003e。会话彻底卡住，除了开新会话没别的选项。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e如果你用的是 \u003ca href=\"https://paseo.sh\"\u003ePaseo\u003c/a\u003e（多 tab 聚合 Claude Code / Codex 的客户端），一个 tab 挂掉不影响别的，但那个 tab 里一整段有价值的上下文基本就废了。\u003c/p\u003e\n\u003ch2 id=\"原因anthropic-api-的多图分档规则\"\u003e原因：Anthropic API 的多图分档规则\u003c/h2\u003e\n\u003cp\u003eAnthropic 的 Messages API 对图片有两档尺寸规则：\u003c/p\u003e","title":"Claude Code 长会话卡在 dimension limit？被累积截图撑爆的 bug 和一套救援方案"},{"content":" 北极星是我从 2024 年底开始运行的量化策略，在 Binance 上交易 BTC/USDT 合约，属于趋势跟踪类策略。实时收益数据可以在 北极星实盘追踪 页面查看。\n这篇文章介绍策略的整体逻辑、实盘运行数据和风险控制框架。\n为什么选趋势跟踪 量化策略大致分两类：\n均值回归：价格偏离均值时反向开仓，等它回来。适合震荡行情，在趋势行情里容易被套。\n趋势跟踪：价格形成趋势时顺势开仓，跟着走。在强趋势行情里赚钱，在震荡行情里小亏。\n我选趋势跟踪的原因：\nBTC 的趋势性强：BTC 历史上多次出现数月级别的单边趋势，比股票市场的趋势更极端，趋势跟踪策略的表现空间大。\n逻辑简单、可解释：趋势跟踪的核心逻辑是\u0026quot;跟着市场走，不预测顶底\u0026quot;，我能理解每一笔交易的开平仓逻辑，遇到问题好排查。\n长期有效性有实证支持：CTA 基金（商品趋势跟踪基金）在全球运行了几十年，趋势跟踪作为一类策略的有效性有大量历史数据支持。\n策略概况 交易标的：BTC/USDT 合约（Binance） 运行周期：小时级信号，全天候运行 方向：多空双向（可做空） 持仓风格：趋势确认后持仓，趋势反转时平仓，不设固定止盈 风控：基于波动率动态调整仓位，设置最大回撤止损线 核心思路：当趋势出现时跟进，当趋势结束时离场。不预测 BTC 会涨到多少，只判断当前是否有趋势在进行。\n实盘运行数据 当前的收益数据在 北极星实盘追踪 页面实时展示，包含：\n累计收益率（以 USDT 计算） 持仓方向（多/空/空仓） 每次信号的开平仓记录 最大回撤 这里放几个关键指标（以下数字会更新，以页面为准）：\n运行周期：从 2024 年 10 月至今，经历了 BTC 上涨到 10 万、高位震荡、回调等不同行情。\n最大回撤：趋势跟踪策略在行情反复震荡时会承受回撤，这是这类策略的固有特征，不是 bug。好的年份赚的必须能覆盖坏的年份亏的。\n信号频率：平均每月 4-8 次信号切换，不是高频策略。\n风险控制 这是比策略参数更重要的部分。\n仓位管理 不是梭哈，每次开仓只用账户净值的固定比例。具体比例根据当前市场波动率动态调整——波动率高时减仓，波动率低时可以适当加仓。\n原则：单次最大亏损不超过账户净值的某个固定百分比。这个百分比是我能接受的，遇到再坏的行情我也能扛住心态。\n止损逻辑 趋势跟踪策略本身就是通过切换方向来\u0026quot;止损\u0026quot;的——当趋势判断反转时，平掉当前方向的仓位，开反向仓位。\n但除了信号触发的止损，我还设了一个账户级止损线：如果某段时间的回撤超过设定的最大值，策略自动暂停交易，等市场结构明朗再重新启动。\n服务器稳定性 策略跑在 AWS 新加坡节点，独立部署，不和其他应用共享资源。有：\n心跳监控：每小时检查策略是否在运行 异常告警：通过 Telegram 推送异常状态 定期备份：策略状态和交易记录定期备份 这不是交易建议 北极星的实盘数据是我自己做决策的结果，不是投资建议。\n量化策略有效期的不确定性：市场结构会变，一个在过去表现好的策略不保证未来也好。我自己跑这个策略，首先是相信趋势跟踪作为一类策略的长期有效性，其次是有严格的风控兜底。\n如果你想学量化，可以从了解趋势跟踪的基本原理开始，理解逻辑后再决定是否用在自己的账户上。\n→ 查看 北极星实盘实时数据 → 查看 Binance API 从零到第一笔下单 → 查看 量化工具栈\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/polaris-strategy-intro/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a close up of a stock chart on a computer screen\" loading=\"lazy\" src=\"/images/polaris-strategy-intro-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e北极星是我从 2024 年底开始运行的量化策略，在 Binance 上交易 BTC/USDT 合约，属于\u003cstrong\u003e趋势跟踪\u003c/strong\u003e类策略。实时收益数据可以在 \u003ca href=\"/posts/polaris-strategy-intro/\"\u003e北极星实盘追踪\u003c/a\u003e 页面查看。\u003c/p\u003e\n\u003cp\u003e这篇文章介绍策略的整体逻辑、实盘运行数据和风险控制框架。\u003c/p\u003e\n\u003ch2 id=\"为什么选趋势跟踪\"\u003e为什么选趋势跟踪\u003c/h2\u003e\n\u003cp\u003e量化策略大致分两类：\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e均值回归\u003c/strong\u003e：价格偏离均值时反向开仓，等它回来。适合震荡行情，在趋势行情里容易被套。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e趋势跟踪\u003c/strong\u003e：价格形成趋势时顺势开仓，跟着走。在强趋势行情里赚钱，在震荡行情里小亏。\u003c/p\u003e\n\u003cp\u003e我选趋势跟踪的原因：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eBTC 的趋势性强\u003c/strong\u003e：BTC 历史上多次出现数月级别的单边趋势，比股票市场的趋势更极端，趋势跟踪策略的表现空间大。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e逻辑简单、可解释\u003c/strong\u003e：趋势跟踪的核心逻辑是\u0026quot;跟着市场走，不预测顶底\u0026quot;，我能理解每一笔交易的开平仓逻辑，遇到问题好排查。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e长期有效性有实证支持\u003c/strong\u003e：CTA 基金（商品趋势跟踪基金）在全球运行了几十年，趋势跟踪作为一类策略的有效性有大量历史数据支持。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"策略概况\"\u003e策略概况\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e交易标的\u003c/strong\u003e：BTC/USDT 合约（Binance）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e运行周期\u003c/strong\u003e：小时级信号，全天候运行\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e方向\u003c/strong\u003e：多空双向（可做空）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e持仓风格\u003c/strong\u003e：趋势确认后持仓，趋势反转时平仓，不设固定止盈\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e风控\u003c/strong\u003e：基于波动率动态调整仓位，设置最大回撤止损线\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e核心思路：\u003cstrong\u003e当趋势出现时跟进，当趋势结束时离场\u003c/strong\u003e。不预测 BTC 会涨到多少，只判断当前是否有趋势在进行。\u003c/p\u003e\n\u003ch2 id=\"实盘运行数据\"\u003e实盘运行数据\u003c/h2\u003e\n\u003cp\u003e当前的收益数据在 \u003ca href=\"/posts/polaris-strategy-intro/\"\u003e北极星实盘追踪\u003c/a\u003e 页面实时展示，包含：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e累计收益率（以 USDT 计算）\u003c/li\u003e\n\u003cli\u003e持仓方向（多/空/空仓）\u003c/li\u003e\n\u003cli\u003e每次信号的开平仓记录\u003c/li\u003e\n\u003cli\u003e最大回撤\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e这里放几个关键指标（以下数字会更新，以页面为准）：\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e运行周期\u003c/strong\u003e：从 2024 年 10 月至今，经历了 BTC 上涨到 10 万、高位震荡、回调等不同行情。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e最大回撤\u003c/strong\u003e：趋势跟踪策略在行情反复震荡时会承受回撤，这是这类策略的固有特征，不是 bug。好的年份赚的必须能覆盖坏的年份亏的。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e信号频率\u003c/strong\u003e：平均每月 4-8 次信号切换，不是高频策略。\u003c/p\u003e\n\u003ch2 id=\"风险控制\"\u003e风险控制\u003c/h2\u003e\n\u003cp\u003e这是比策略参数更重要的部分。\u003c/p\u003e","title":"北极星策略介绍：我的 BTC 趋势跟踪量化系统"},{"content":" 折腾了大半年的家庭网络，最终跑通了一套多网关冗余架构。这篇文章分享整体设计思路，适合有一定折腾经验、想把网络做得更稳定的朋友。\n为什么需要多网关 单网关最大的问题是单点故障：VPS 被封、线路抖动、机器宕机，整个网络就断了。\n多网关的核心价值：\n线路冗余：美国 / 香港 / 日本多个出口，自动选最快的 流量分离：不同流量走不同出口，既省流量又保速度 故障自动切换：某条线路挂了，其他线路自动顶上，用户无感知 整体架构 家庭设备 ↓ OpenWrt 主路由（DNS 分流 → dnsmasq） ↓ mihomo 网关（分流规则 → 策略组） ↓ 多个 VPS 出口（US / HK / JP） ↓ 目标网站 关键组件：\n主路由：OpenWrt，负责 DNS 劫持和流量导入 mihomo mihomo 节点：运行在独立机器上，处理代理和分流逻辑 VPS 出口：推荐 DMIT，香港 / 美国节点延迟稳定，支持 Xray + Hysteria2 mihomo 分流规则设计 策略组分层 proxy-groups: # 手动选择组（紧急备用） - name: \u0026#34;手动选择\u0026#34; type: select # 自动选速最快节点 - name: \u0026#34;自动选择\u0026#34; type: url-test url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 300 # 各地区组 - name: \u0026#34;🇺🇸 美国\u0026#34; type: url-test filter: \u0026#34;美国|US\u0026#34; - name: \u0026#34;🇭🇰 香港\u0026#34; type: url-test filter: \u0026#34;香港|HK\u0026#34; # 分流决策组 - name: \u0026#34;国内直连\u0026#34; type: select proxies: [DIRECT] - name: \u0026#34;AI 服务\u0026#34; type: select proxies: [\u0026#34;🇺🇸 美国\u0026#34;, \u0026#34;自动选择\u0026#34;] 规则优先级 mihomo 规则从上到下匹配，顺序很重要：\nrules: # 本地 / 局域网直连 - IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT # AI 服务走美国 - DOMAIN-SUFFIX,openai.com,AI 服务 - DOMAIN-SUFFIX,anthropic.com,AI 服务 - DOMAIN-SUFFIX,claude.ai,AI 服务 # 国内主要域名直连（减少延迟） - GEOSITE,cn,国内直连 - GEOIP,CN,国内直连 # 其余走自动选择 - MATCH,自动选择 DNS 防污染 这是最容易出问题的地方。架构：\n设备查询 DNS → dnsmasq（本地缓存 + 分流判断） → 国内域名 → 114.114.114.114（直连） → 境外域名 → mihomo 的 DNS（通过代理查询） 核心是避免国内 DNS 污染境外域名解析。\nVPS 选择建议 用过多家，目前 DMIT 是性价比最高的：\n机房 延迟（广州） 特点 香港 20-40ms 最快，适合低延迟需求 美国洛杉矶 150-180ms CN2 GIA 优化，稳定 日本东京 60-90ms 备用，价格便宜 常见问题 Q: 节点全部超时怎么办？\nA: 先检查 VPS 是否能 ping 通（排除封锁），再检查 mihomo 配置语法。\nQ: 国内网站变慢了？\nA: 检查 GEOSITE/GEOIP 规则是否生效，可能是 DNS 查询走了代理。\nQ: 如何监控各节点延迟？\nA: mihomo 有内置 API，可以对接 Grafana 面板实时监控。\n有问题欢迎在 Telegram 或 X 找我交流。\n延伸阅读：\nXray VLESS+XTLS 部署教程 — 服务端协议配置 VPS 选购指南 — 哪家 VPS 适合做出口节点 VPS 被封 IP 怎么办 — 应急处理方案 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/mihomo-multi-gateway/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A glowing decorative lamp with a smaller light beside it.\" loading=\"lazy\" src=\"/images/mihomo-multi-gateway-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e折腾了大半年的家庭网络，最终跑通了一套多网关冗余架构。这篇文章分享整体设计思路，适合有一定折腾经验、想把网络做得更稳定的朋友。\u003c/p\u003e\n\u003ch2 id=\"为什么需要多网关\"\u003e为什么需要多网关\u003c/h2\u003e\n\u003cp\u003e单网关最大的问题是\u003cstrong\u003e单点故障\u003c/strong\u003e：VPS 被封、线路抖动、机器宕机，整个网络就断了。\u003c/p\u003e\n\u003cp\u003e多网关的核心价值：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e线路冗余\u003c/strong\u003e：美国 / 香港 / 日本多个出口，自动选最快的\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e流量分离\u003c/strong\u003e：不同流量走不同出口，既省流量又保速度\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e故障自动切换\u003c/strong\u003e：某条线路挂了，其他线路自动顶上，用户无感知\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"整体架构\"\u003e整体架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e家庭设备\n    ↓\nOpenWrt 主路由（DNS 分流 → dnsmasq）\n    ↓\nmihomo 网关（分流规则 → 策略组）\n    ↓\n多个 VPS 出口（US / HK / JP）\n    ↓\n目标网站\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e关键组件：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e主路由\u003c/strong\u003e：OpenWrt，负责 DNS 劫持和流量导入 mihomo\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emihomo 节点\u003c/strong\u003e：运行在独立机器上，处理代理和分流逻辑\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVPS 出口\u003c/strong\u003e：推荐 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e，香港 / 美国节点延迟稳定，支持 Xray + Hysteria2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"mihomo-分流规则设计\"\u003emihomo 分流规则设计\u003c/h2\u003e\n\u003ch3 id=\"策略组分层\"\u003e策略组分层\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eproxy-groups\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"c\"\u003e# 手动选择组（紧急备用）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;手动选择\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eselect\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"c\"\u003e# 自动选速最快节点\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;自动选择\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eurl-test\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eurl\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;http://www.gstatic.com/generate_204\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003einterval\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e300\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"c\"\u003e# 各地区组\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;🇺🇸 美国\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eurl-test\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;美国|US\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;🇭🇰 香港\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eurl-test\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;香港|HK\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"c\"\u003e# 分流决策组\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;国内直连\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eselect\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eproxies\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"l\"\u003eDIRECT]\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;AI 服务\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eselect\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eproxies\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;🇺🇸 美国\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;自动选择\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"规则优先级\"\u003e规则优先级\u003c/h3\u003e\n\u003cp\u003emihomo 规则从上到下匹配，顺序很重要：\u003c/p\u003e","title":"家庭网络多网关架构：mihomo 精细分流实战"},{"content":" Claude Code 在 2025 年做了一个不太起眼但很重要的更新：支持接入 GitHub Copilot Pro+ 作为后端。这意味着你可以用 $19/月 的 Copilot Pro+ 跑 Claude Code，而不需要单独订阅 $20/月 的 Claude Pro。\n但两个通道有明显差异，不了解的话会踩坑。这篇文章讲清楚两者的区别，以及我现在用的一套 alias 方案，让切换变成一条命令的事。\n两个通道的核心差异 对比维度 官方通道（Claude Pro） Copilot 通道（Pro+） 月费 $20 $19（Copilot Pro+） 最大上下文 200k tokens 128k tokens 模型选择 Sonnet / Opus 自由选 每月 1500 次高级模型额度 网络要求 需要访问 claude.ai 需要访问 github.com 适合场景 大型项目、长对话 日常任务、成本控制 关键差距是上下文窗口：官方通道 200k，Copilot 通道 128k。\n对于大多数日常任务（改一个文件、写一个脚本），128k 完全够用。但如果你要让 Claude Code 理解整个项目的代码库，或者对话轮数很多，200k 的差距就体现出来了。\n上下文自动压缩的问题 Claude Code 有一个自动压缩功能：当对话上下文超过某个阈值时，会自动把历史压缩成摘要，腾出空间继续对话。\n问题：官方通道和 Copilot 通道的上下文上限不同，触发压缩的时机也不同。\n官方通道：200k 上限，压缩阈值约 195k（~98%） Copilot 通道：128k 上限，如果不主动限制，Claude Code 可能在接近 200k 时才压缩，但 Copilot 端已经截断了，导致内容丢失 解决方案：在用 Copilot 通道时，手动把 Claude Code 的上下文上限设到 128k 以内（比如 110k），让它在 Copilot 截断之前就自动压缩。\nAlias 方案 把以下三行加到 ~/.zshrc（或 ~/.bashrc）：\n# Claude Code 通道别名 alias cc=\u0026#39;claude\u0026#39; # 官方通道（200k，无强制压缩） alias cco=\u0026#39;claude --model claude-opus-4-6\u0026#39; # 官方通道 Opus 模型 alias ccc=\u0026#39;CLAUDE_CODE_MAX_CONTEXT_TOKENS=110000 claude\u0026#39; # Copilot 通道（110k 限制触发压缩） 生效：\nsource ~/.zshrc 使用方式 命令 通道 适合场景 cc 官方 Sonnet 日常任务，200k 上下文 cco 官方 Opus 复杂推理，最强模型 ccc Copilot Pro+ 省钱模式，会自动在 110k 处压缩 登录切换：Claude Code 会记住你上次登录的账号。切换通道时：\n切换到官方：claude login，选 Claude.ai 切换到 Copilot：claude login，选 GitHub Copilot 登录状态持久化，切换一次之后用对应 alias 直接运行就行。\n实际上下文限制对比 200k 和 128k 的直觉感受：\n场景 消耗的 tokens 估算 官方够？ Copilot 够？ 修改单个文件（\u0026lt;500行） ~5k ✓ ✓ 调试一个复杂函数 ~10-20k ✓ ✓ 重构一个模块（5-10个文件） ~30-50k ✓ ✓ 理解整个中型项目 ~80-120k ✓ 勉强 超长对话 + 大代码库 \u0026gt;128k ✓ ✗（需压缩） 大多数日常任务，Copilot 通道完全够用。只有在做大项目全局重构时才需要切官方通道。\n两个通道的 OAuth 同时保存 Claude Code 本身不支持多账号管理（切换需要重新 claude login），但可以用 shell 函数绕过：\n# 更完整的切换方案（可选） function cc-switch-official() { echo \u0026#34;切换到官方通道（Claude Pro）...\u0026#34; claude logout 2\u0026gt;/dev/null claude login } function cc-switch-copilot() { echo \u0026#34;切换到 Copilot 通道...\u0026#34; claude logout 2\u0026gt;/dev/null CLAUDE_CODE_USE_BEDROCK=false claude login # 选 GitHub Copilot } 如果你两个通道都频繁用，建议保持一个通道常驻登录，另一个按需切换。我的习惯是：官方通道常驻（cc 和 cco），Copilot 通道需要时再切。\n哪个更划算 单纯看价格，两者差不多（$19 vs $20）。但算上实际用法：\n如果已经订了 Copilot Pro+（你用 IDE 内嵌 AI 补全），Claude Code 免费搭车，等于零额外成本 如果只用 Claude Code，直接订 Claude Pro 更简单，不用操心上下文配置 我的结论：先看你有没有 Copilot Pro+。有的话，用 ccc 跑日常任务，省下 $20/月；没有的话，直接 Claude Pro 就够了。\n→ 查看 Copilot Pro+ 详细评测\n省下来的钱能做什么 $20/月看似不多，一年 $240。用来订一家稳定交易所 + 开一个量化机器人能产生正收益：\nPionex 期现套利机器人 — 1000 USDT 年化 14-18%（低风险） Pionex 黄金网格 4 个月实盘 — 我用 800 USDT 实际跑的数据 如果你本身在用 Claude Code 折腾，Pionex 注册 + 小资金试跑网格是个不错的\u0026quot;省钱→投资\u0026quot;循环。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-code-dual-channel/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"person using MacBoook\" loading=\"lazy\" src=\"/images/claude-code-dual-channel-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eClaude Code 在 2025 年做了一个不太起眼但很重要的更新：支持接入 GitHub Copilot Pro+ 作为后端。这意味着你可以用 $19/月 的 Copilot Pro+ 跑 Claude Code，而不需要单独订阅 $20/月 的 Claude Pro。\u003c/p\u003e\n\u003cp\u003e但两个通道有明显差异，不了解的话会踩坑。这篇文章讲清楚两者的区别，以及我现在用的一套 alias 方案，让切换变成一条命令的事。\u003c/p\u003e\n\u003ch2 id=\"两个通道的核心差异\"\u003e两个通道的核心差异\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e对比维度\u003c/th\u003e\n          \u003cth\u003e官方通道（Claude Pro）\u003c/th\u003e\n          \u003cth\u003eCopilot 通道（Pro+）\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e月费\u003c/td\u003e\n          \u003ctd\u003e$20\u003c/td\u003e\n          \u003ctd\u003e$19（Copilot Pro+）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e最大上下文\u003c/td\u003e\n          \u003ctd\u003e200k tokens\u003c/td\u003e\n          \u003ctd\u003e128k tokens\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e模型选择\u003c/td\u003e\n          \u003ctd\u003eSonnet / Opus 自由选\u003c/td\u003e\n          \u003ctd\u003e每月 1500 次高级模型额度\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e网络要求\u003c/td\u003e\n          \u003ctd\u003e需要访问 claude.ai\u003c/td\u003e\n          \u003ctd\u003e需要访问 github.com\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e适合场景\u003c/td\u003e\n          \u003ctd\u003e大型项目、长对话\u003c/td\u003e\n          \u003ctd\u003e日常任务、成本控制\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e关键差距是\u003cstrong\u003e上下文窗口\u003c/strong\u003e：官方通道 200k，Copilot 通道 128k。\u003c/p\u003e\n\u003cp\u003e对于大多数日常任务（改一个文件、写一个脚本），128k 完全够用。但如果你要让 Claude Code 理解整个项目的代码库，或者对话轮数很多，200k 的差距就体现出来了。\u003c/p\u003e","title":"Claude Code 双通道切换指南：官方通道 vs Copilot Pro+ 省钱方案"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n网格交易是我跑得最久的量化策略，简单但有效。这篇文章分享我在 Pionex 上跑网格的真实经验，不是教你一夜暴富，而是如何稳健地让机器帮你赚震荡行情的钱。\n什么是网格交易 网格交易的核心逻辑：在价格区间内设置多个买卖档位，价格下跌时买入，价格上涨时卖出，反复循环赚取差价。\n本质上是在做市场波动的搬砖：\n价格区间：40,000 - 50,000 USDT（BTC/USDT） 网格数量：20 格 每格间距：500 USDT 当价格从 45,000 跌到 44,500 → 自动买入 当价格从 44,500 涨回 45,000 → 自动卖出，获利 ~1.1% 适合场景：震荡行情。趋势行情（单边大涨大跌）效果差。\n为什么选 Pionex Pionex 内置 16 种免费机器人，网格机器人完全免费，只收正常的交易手续费（0.05%）。\n相比其他平台：\n不需要自己写代码接 API 界面简单，适合入门 流动性来自 Binance + Huobi 聚合 通过我的邀请链接注册可以享受手续费折扣。\n参数设置详解 价格区间 这是最重要的参数，直接决定策略是否能盈利。\n错误做法：随便画一个区间，希望价格在里面震荡。\n正确做法：\n看近 3-6 个月的价格走势，选一个高概率会反复震荡的区间 区间不要太窄（频繁触底或触顶），不要太宽（网格数不够，利润太薄） 留一定的安全边际，不要卡在支撑/压力位的边缘 网格数量 太少（\u0026lt; 10 格）：每格利润高但交易频率低，资金利用率差 太多（\u0026gt; 50 格）：每格利润薄，手续费侵蚀严重 推荐：20-30 格，在利润和频率之间取得平衡 投入资金 永远不要 All in 一个网格。\n我的原则：\n单个网格策略不超过总资金的 20% 跑多个币种分散风险 保留 30% 现金应对极端行情 风控：比盈利更重要 止损线 Pionex 支持设置止损价。建议：\n设在网格下限的 5-10% 以下 触发止损时策略自动停止，保留剩余资金 黑天鹅事件处理 单边大跌时，网格策略会不断买入，导致手里积累大量现货而浮亏。\n应对方案：\n止损线必须设置 不要用杠杆跑网格（杠杆放大了清仓风险） 大跌超过 30% 时考虑手动干预 我踩过的坑 坑 1：选了错误的震荡区间\n把区间设在了单边下跌的开始位置，结果价格一路跌穿下限，策略停止，还持有了大量亏损现货。\n教训：开仓前多看图，不在明显下跌趋势中开网格。\n坑 2：网格数太多，手续费吃掉利润\n20 格跑了一个月，手续费接近盈利的 40%。\n教训：低价值币对手续费比例更高，优先选主流大币。\n坑 3：没有设止损\n某个山寨币暴跌 60%，网格不断接刀，亏损惨烈。\n教训：止损是必须的，不是可选项。\n目前运行情况 我目前在 Pionex 上跑几个主流币对的网格，整体表现：\n震荡行情月化 2-4% 趋势行情基本保本或微亏 极端行情靠止损止损 不算很高，但比存着不动强，而且是全自动的。\n想聊网格参数或者分享策略，欢迎来 Telegram 找我。\n延伸阅读：\nPionex vs Binance 网格交易对比 — 两个平台选哪个 用 OpenClaw 指挥机器跑量化 — 自动化信号推送 ⚠️ 免责声明：本文仅记录个人经验，不构成投资建议。加密货币市场风险极高，投资前请充分了解风险。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/pionex-grid-trading/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Crowd at an exhibition with booths and displays.\" loading=\"lazy\" src=\"/images/pionex-grid-trading-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e网格交易是我跑得最久的量化策略，简单但有效。这篇文章分享我在 \u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003ePionex\u003c/a\u003e 上跑网格的真实经验，不是教你一夜暴富，而是如何稳健地让机器帮你赚震荡行情的钱。\u003c/p\u003e\n\u003ch2 id=\"什么是网格交易\"\u003e什么是网格交易\u003c/h2\u003e\n\u003cp\u003e网格交易的核心逻辑：\u003cstrong\u003e在价格区间内设置多个买卖档位，价格下跌时买入，价格上涨时卖出，反复循环赚取差价\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e本质上是在做市场波动的搬砖：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e价格区间：40,000 - 50,000 USDT（BTC/USDT）\n网格数量：20 格\n每格间距：500 USDT\n\n当价格从 45,000 跌到 44,500 → 自动买入\n当价格从 44,500 涨回 45,000 → 自动卖出，获利 ~1.1%\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e适合场景：\u003cstrong\u003e震荡行情\u003c/strong\u003e。趋势行情（单边大涨大跌）效果差。\u003c/p\u003e\n\u003ch2 id=\"为什么选-pionex\"\u003e为什么选 Pionex\u003c/h2\u003e\n\u003cp\u003ePionex 内置 16 种免费机器人，\u003cstrong\u003e网格机器人完全免费\u003c/strong\u003e，只收正常的交易手续费（0.05%）。\u003c/p\u003e\n\u003cp\u003e相比其他平台：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e不需要自己写代码接 API\u003c/li\u003e\n\u003cli\u003e界面简单，适合入门\u003c/li\u003e\n\u003cli\u003e流动性来自 Binance + Huobi 聚合\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e通过我的\u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003e邀请链接\u003c/a\u003e注册可以享受手续费折扣。\u003c/p\u003e\n\u003ch2 id=\"参数设置详解\"\u003e参数设置详解\u003c/h2\u003e\n\u003ch3 id=\"价格区间\"\u003e价格区间\u003c/h3\u003e\n\u003cp\u003e这是最重要的参数，直接决定策略是否能盈利。\u003c/p\u003e","title":"Pionex 网格机器人实战：参数设置、风控和我踩过的坑"},{"content":" 我从去年开始用 Claude Code（就是 Anthropic 出的那个 CLI 工具）管理我的一堆服务器，用下来感觉这才是 AI 应该有的使用方式——不是聊天，而是真正在帮你干活。\n我的使用场景 9 台海外 VPS（AWS / DMIT / 腾讯云），分布在美国、香港、日本、新加坡，跑着：\n代理节点（Xray + Hysteria2） 量化交易策略 监控系统（Prometheus + Grafana） 各种自动化脚本 以前这些机器要靠手动 SSH 进去一台台操作，现在我直接跟 Claude Code 说\u0026quot;把日本那台机器的 Xray 配置更新一下\u0026quot;，它就帮我 SSH 进去、修改配置、重启服务、验证状态。\nSkill 系统：让 AI 有专业知识 Claude Code 支持自定义 Skill（类似系统提示词），我给不同的任务场景都写了专门的 Skill：\n服务器运维 Skill # 服务器运维助手 你负责管理以下 VPS： - aws-us: 13.x.x.x（美国） - aws-hk: 43.x.x.x（香港） - aws-jp: 3.x.x.x（日本） SSH 端口统一 18022，用户名 ubuntu，使用 PEM 文件认证。 标准操作流程： 1. 连接前先检查机器是否在线（ping 测试） 2. 操作前备份配置文件 3. 修改后验证服务状态 4. 如有异常立即回滚 这样 Claude 就有了我的基础设施上下文，不需要每次都重复说一遍。\n量化运维 Skill 专门管量化策略的 Skill，包括：\n如何查看策略状态 常见报错的处理方式 杠杆调整的操作步骤 有了这些 Skill，我基本上每天只需要跟 Claude 说一两句话，剩下的它自己判断怎么做。\n真实工作流举例 场景 1：发现策略异常 凌晨 3 点 Telegram 告警：量化机器内存占用 95%。\n以前：要爬起来 SSH，看日志，判断原因，处理。\n现在：Claude 看到告警自动分析（我设置了工作流），如果是常见问题直接处理，复杂问题才叫醒我。\n场景 2：新部署一台机器 买了台新的 DMIT VPS，跟 Claude 说\u0026quot;按标准配置部署这台机器\u0026quot;。\nClaude 会：\nSSH 连进去 更新系统 安装依赖 部署 Xray + Hysteria2 配置防火墙 测试连通性 把新节点加入 mihomo 配置 整个过程我就看着，有问题的地方它会问我。比自己一步步做快 5-10 倍，而且不容易出错。\n场景 3：排查网络故障 某个节点突然连不上，我说\u0026quot;帮我排查 aws-hk 的连通性问题\u0026quot;。\nClaude 会：\n从多个角度测试（TCP/UDP/DNS） 查看系统日志 检查防火墙规则 给出故障判断和修复建议 成本控制 Claude Code 用的是 API 按量计费。我用的 Copilot Pro+（月费制），有使用量限制。\n一些节省用量的技巧：\n写好 Skill：好的上下文让 AI 少走弯路，减少对话轮次 批处理操作：把多个任务合并成一次对话 用小模型做简单任务：不是每件事都需要最强的模型 我目前一个月的 Claude Code 使用成本控制在合理范围内，对比它帮我节省的时间，ROI 很高。\n给想上手的建议 先从小任务开始：让 Claude 帮你写个脚本、查个文档，建立信任感 写清楚 Skill 背景：告诉它你的环境信息，越详细越好 保持对结果的复核习惯：AI 会犯错，关键操作前后要验证 善用 plan 模式：复杂任务先让它规划，你审核通过再执行 有兴趣聊 Claude Code 使用技巧或者 AI 运维工作流，欢迎在 Telegram 找我，或者关注 X @panshi8848。\n延伸阅读：\nClaude API 省钱指南 — 控制 API 用量和成本 OpenClaw 是什么 — AI 工具链集成平台 用 Claude Code 监控 Pionex 机器人 — 30 分钟写个实用量化监控脚本 用 Claude 写 Binance 合约风控 — AI 帮你在爆仓前 3 小时预警 AI 工具最好的练手场景之一是量化交易——既有代码需求又有持续的维护优化。如果你还没接触过自动化交易，Pionex 是最低门槛的入口，16 种内置机器人不用写一行代码就能跑。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-code-workflow/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"person using MacBoook\" loading=\"lazy\" src=\"/images/claude-code-workflow-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e我从去年开始用 Claude Code（就是 Anthropic 出的那个 CLI 工具）管理我的一堆服务器，用下来感觉这才是 AI 应该有的使用方式——\u003cstrong\u003e不是聊天，而是真正在帮你干活\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"我的使用场景\"\u003e我的使用场景\u003c/h2\u003e\n\u003cp\u003e9 台海外 VPS（AWS / DMIT / 腾讯云），分布在美国、香港、日本、新加坡，跑着：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e代理节点（Xray + Hysteria2）\u003c/li\u003e\n\u003cli\u003e量化交易策略\u003c/li\u003e\n\u003cli\u003e监控系统（Prometheus + Grafana）\u003c/li\u003e\n\u003cli\u003e各种自动化脚本\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e以前这些机器要靠手动 SSH 进去一台台操作，现在我直接跟 Claude Code 说\u0026quot;把日本那台机器的 Xray 配置更新一下\u0026quot;，它就帮我 SSH 进去、修改配置、重启服务、验证状态。\u003c/p\u003e\n\u003ch2 id=\"skill-系统让-ai-有专业知识\"\u003eSkill 系统：让 AI 有专业知识\u003c/h2\u003e\n\u003cp\u003eClaude Code 支持自定义 Skill（类似系统提示词），我给不同的任务场景都写了专门的 Skill：\u003c/p\u003e\n\u003ch3 id=\"服务器运维-skill\"\u003e服务器运维 Skill\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-markdown\" data-lang=\"markdown\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"gh\"\u003e# 服务器运维助手\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e你负责管理以下 VPS：\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e-\u003c/span\u003e aws-us: 13.x.x.x（美国）\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e-\u003c/span\u003e aws-hk: 43.x.x.x（香港）\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e-\u003c/span\u003e aws-jp: 3.x.x.x（日本）\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSSH 端口统一 18022，用户名 ubuntu，使用 PEM 文件认证。\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e标准操作流程：\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e1.\u003c/span\u003e 连接前先检查机器是否在线（ping 测试）\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e2.\u003c/span\u003e 操作前备份配置文件\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e3.\u003c/span\u003e 修改后验证服务状态\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003e4.\u003c/span\u003e 如有异常立即回滚\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e这样 Claude 就有了我的基础设施上下文，不需要每次都重复说一遍。\u003c/p\u003e","title":"Claude Code 真实使用体验：我是怎么用 AI 管理 9 台服务器的"},{"content":" 选 VPS 踩过不少坑，这篇文章分享我真实用过的几家服务商，直接说结论，不绕弯子。\n选 VPS 的核心指标 魔法上网用的 VPS 和普通建站用的不一样，核心看三点：\n延迟：对国内的 ping 值，越低越好 稳定性：IP 是否容易被封，线路是否抖动 出口质量：CN2 GIA \u0026gt; 普通 BGP，直连 \u0026gt; 中转 DMIT：目前我的主力 我在用 DMIT 的香港和美国节点，用了快一年，总体满意。\n优点：\n香港节点延迟极低（广州 ping 通常 20-40ms） 线路质量好，原生 IP，流媒体解锁能力强 支持 Hysteria2，UDP 加速效果明显 缺点：\n价格偏高，香港基础款月费不便宜 有时候购买页面需要耐心等库存 **适合：**对延迟敏感、对稳定性要求高的用户。\n腾讯云国际版：日本节点备用 我的 aws-jp 之外还有一台腾讯云日本节点作备用。\n优点：\n和国内腾讯骨干网打通，日本节点延迟不错 有时候有大促，价格很便宜 缺点：\nIP 被封的概率比 DMIT 高 客服支持较弱 AWS：量化专用，不推荐用来魔法上网 我的量化策略跑在 AWS，它的网络稳定性很好，但：\nIP 段太知名，容易被识别和封锁 价格贵 不适合魔法上网，适合对接 API 的后台服务 住宅 IP：IPRoyal 做一些需要住宅 IP 的任务（比如注册账号、访问某些限制严格的网站），推荐 IPRoyal。\n价格按 GB 计费，不需要月付，用多少买多少。质量稳定，支持按国家/城市选 IP。\n我的搭配方案 主力线路：DMIT 香港（低延迟首选） 备用线路：DMIT 美国 / 日本（自动切换） 住宅 IP：IPRoyal（按需使用） 多线路冗余是关键，单点永远不靠谱。\n协议选择 VPS 买来之后，协议推荐：\nXray（VLESS/XTLS）：主力协议，抗封锁能力强 → 完整部署教程 Hysteria2：基于 UDP，速度快，适合高带宽场景 两个协议同时部署，mihomo 自动选择 → 多网关架构 IP 被封了怎么办：看这篇应急处理指南。\n有特定需求或者不确定该买哪家，欢迎在 Telegram 问我，我尽量给出适合你场景的建议。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/vps-selection-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"System with various wires managing access to centralized res\" loading=\"lazy\" src=\"/images/vps-selection-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e选 VPS 踩过不少坑，这篇文章分享我真实用过的几家服务商，直接说结论，不绕弯子。\u003c/p\u003e\n\u003ch2 id=\"选-vps-的核心指标\"\u003e选 VPS 的核心指标\u003c/h2\u003e\n\u003cp\u003e魔法上网用的 VPS 和普通建站用的不一样，核心看三点：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e延迟\u003c/strong\u003e：对国内的 ping 值，越低越好\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e稳定性\u003c/strong\u003e：IP 是否容易被封，线路是否抖动\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e出口质量\u003c/strong\u003e：CN2 GIA \u0026gt; 普通 BGP，直连 \u0026gt; 中转\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"dmit目前我的主力\"\u003eDMIT：目前我的主力\u003c/h2\u003e\n\u003cp\u003e我在用 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e 的香港和美国节点，用了快一年，总体满意。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e优点：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e香港节点延迟极低（广州 ping 通常 20-40ms）\u003c/li\u003e\n\u003cli\u003e线路质量好，原生 IP，流媒体解锁能力强\u003c/li\u003e\n\u003cli\u003e支持 Hysteria2，UDP 加速效果明显\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e缺点：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e价格偏高，香港基础款月费不便宜\u003c/li\u003e\n\u003cli\u003e有时候购买页面需要耐心等库存\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e**适合：**对延迟敏感、对稳定性要求高的用户。\u003c/p\u003e\n\u003ch2 id=\"腾讯云国际版日本节点备用\"\u003e腾讯云国际版：日本节点备用\u003c/h2\u003e\n\u003cp\u003e我的 aws-jp 之外还有一台腾讯云日本节点作备用。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e优点：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e和国内腾讯骨干网打通，日本节点延迟不错\u003c/li\u003e\n\u003cli\u003e有时候有大促，价格很便宜\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e缺点：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIP 被封的概率比 DMIT 高\u003c/li\u003e\n\u003cli\u003e客服支持较弱\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"aws量化专用不推荐用来魔法上网\"\u003eAWS：量化专用，不推荐用来魔法上网\u003c/h2\u003e\n\u003cp\u003e我的量化策略跑在 AWS，它的网络稳定性很好，但：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIP 段太知名，容易被识别和封锁\u003c/li\u003e\n\u003cli\u003e价格贵\u003c/li\u003e\n\u003cli\u003e不适合魔法上网，适合对接 API 的后台服务\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"住宅-ipiproyal\"\u003e住宅 IP：\u003ca href=\"https://aff.panshi.io/track?id=iproyal\"\u003eIPRoyal\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e做一些需要住宅 IP 的任务（比如注册账号、访问某些限制严格的网站），推荐 IPRoyal。\u003c/p\u003e","title":"2026 年 VPS 选购指南：我用过的几家对比"},{"content":" 量化策略开发有个高门槛：你得懂交易逻辑，还得会写代码。Claude 把这个门槛降低了一半——你只需要懂交易逻辑，代码的部分可以让它来。\n这篇文章记录我用 Claude 从零开始写一个完整量化信号系统的过程。\n我的策略背景 我跑的是突破类趋势策略，核心逻辑是唐奇安通道（Donchian Channel）：\n当价格突破过去 N 根 K 线的最高价 → 买入 当价格跌破过去 M 根 K 线的最低价 → 卖出 听起来简单，但要做成能在 8 个品种、3 个时间周期上自动跑的系统，并且每半小时推送信号到 Telegram，需要不少工程量。\n第一步：跟 Claude 描述策略逻辑 我的输入很简单：\n\u0026ldquo;帮我写一个 Python 脚本，用 yfinance 拉 BTC 的 1 小时 K 线，实现唐奇安通道突破策略：价格突破过去 20 根最高价买入，跌破过去 10 根最低价卖出。每次信号变化时通过 openclaw 发 Telegram 消息。\u0026rdquo;\nClaude 给出的初版代码覆盖了：\nyfinance 数据拉取 信号计算逻辑 状态持久化（避免重复推送） openclaw CLI 调用发送消息 这一步花了约 10 分钟。\n第二步：迭代改进 初版策略的问题：在震荡行情里频繁触发虚假信号，来回买卖亏手续费。\n我告诉 Claude：\n\u0026ldquo;在震荡行情（ADX 低、ATR 收缩）时，跳过买入信号；只在趋势行情（ADX \u0026gt; 22，价格在 EMA200 上方）才执行。加入 ATR 追踪止损。\u0026rdquo;\nClaude 加入了以下改进：\nADX 状态判断：区分趋势市/震荡市 ATR 追踪止损：持仓期间动态调整止损位 自适应参数：不同品种用不同的 ATR 倍数（加密货币 k=2.55，大宗商品 k=1.8） 整个迭代过程：我描述问题 → Claude 改代码 → 我回测验证 → 继续改。大约 3 轮迭代后策略稳定。\n第三步：多品种 + 多时间周期 把策略从单品种扩展到多品种时，有一个工程挑战：同时拉 8 个品种的数据很慢，而且 yfinance 有频率限制。\n解决方案是增量缓存，Claude 帮我设计了一个\u0026quot;探针\u0026quot;机制：\ndef probe_last_bar_ts(symbol, interval): \u0026#34;\u0026#34;\u0026#34;只拉最近几根 K 线，判断是否有新 bar\u0026#34;\u0026#34;\u0026#34; # 如果时间戳没变化，直接跳过，不重新计算信号 ... 这样每次运行时，没有新数据的品种直接跳过，性能提升 5-10 倍。\n最终收益表现 下图是 2024 年以来，唐奇突破策略 vs 混合版（加入 ATR/ADX 过滤）的回测对比：\n混合版在震荡行情（BTC 2024 上半年）明显减少了交易频率，手续费损耗更低；趋势行情（BTC 2024 Q4 大涨）跟随效果接近。\nBTC 4H 时间周期的信号标注效果：\n我学到的几件事 1. 用自然语言描述\u0026quot;异常\u0026quot;让 Claude 修复\n不要说\u0026quot;优化策略性能\u0026quot;，要说\u0026quot;在 BTC 2024 年 3 月震荡区间里，策略在两周内触发了 12 次买卖，亏了约 3% 手续费，怎么减少这种情况\u0026quot;。\n具体的问题描述比模糊的优化目标有效 10 倍。\n2. 让 Claude 先解释再写代码\n对于复杂逻辑（比如自适应状态机），先让 Claude 用文字解释实现思路，确认逻辑对了再让它写代码。节省很多 debug 时间。\n3. 回测数据要真实\n让 Claude 帮你模拟回测，结果看起来很美。但真正运行前，一定要用真实的历史数据（yfinance 足够用）跑一遍，对得上再上实盘。\n工具链 数据：yfinance（免费，覆盖股票/期货/加密货币） 计算：pandas、numpy 推送：OpenClaw CLI（openclaw message send） 定时：Linux cron，每 30 分钟执行一次 托管：跑在局域网的 Linux 机器上，也可以跑在 VPS 策略代码或者回测方法有问题，欢迎来 Telegram 找我。\n⚠️ 本文仅记录个人实践，不构成投资建议。量化策略过去表现不代表未来，实盘需做好风控。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-write-quant-strategy/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Computer monitor displaying code in a dark room.\" loading=\"lazy\" src=\"/images/claude-write-quant-strategy-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e量化策略开发有个高门槛：你得懂交易逻辑，还得会写代码。Claude 把这个门槛降低了一半——你只需要懂交易逻辑，代码的部分可以让它来。\u003c/p\u003e\n\u003cp\u003e这篇文章记录我用 Claude 从零开始写一个完整量化信号系统的过程。\u003c/p\u003e\n\u003ch2 id=\"我的策略背景\"\u003e我的策略背景\u003c/h2\u003e\n\u003cp\u003e我跑的是\u003cstrong\u003e突破类趋势策略\u003c/strong\u003e，核心逻辑是唐奇安通道（Donchian Channel）：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e当价格突破过去 N 根 K 线的最高价 → \u003cstrong\u003e买入\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e当价格跌破过去 M 根 K 线的最低价 → \u003cstrong\u003e卖出\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e听起来简单，但要做成能在 8 个品种、3 个时间周期上自动跑的系统，并且每半小时推送信号到 Telegram，需要不少工程量。\u003c/p\u003e\n\u003ch2 id=\"第一步跟-claude-描述策略逻辑\"\u003e第一步：跟 Claude 描述策略逻辑\u003c/h2\u003e\n\u003cp\u003e我的输入很简单：\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u0026ldquo;帮我写一个 Python 脚本，用 yfinance 拉 BTC 的 1 小时 K 线，实现唐奇安通道突破策略：价格突破过去 20 根最高价买入，跌破过去 10 根最低价卖出。每次信号变化时通过 openclaw 发 Telegram 消息。\u0026rdquo;\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003eClaude 给出的初版代码覆盖了：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eyfinance 数据拉取\u003c/li\u003e\n\u003cli\u003e信号计算逻辑\u003c/li\u003e\n\u003cli\u003e状态持久化（避免重复推送）\u003c/li\u003e\n\u003cli\u003eopenclaw CLI 调用发送消息\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e这一步花了约 10 分钟。\u003c/p\u003e","title":"用 Claude 写量化策略：从零到信号推送的完整流程"},{"content":" 买了 VPS、写了量化策略代码，但怎么让它\u0026quot;自动跑起来\u0026quot;并且\u0026quot;随时告诉你发生了什么\u0026quot;？这是大部分人卡住的地方。\n我用 OpenClaw 解决了这个问题。\nOpenClaw 是什么 简单说：一个让 AI 助手能调用各种工具的框架。\n它的核心能力是：\n提供 CLI 工具（openclaw message send），可以从任何脚本里发 Telegram/Discord 消息 有 Skill 系统，可以给 AI 挂载各种能力（GitHub、Notion、天气、自定义脚本） 支持 cron 定时任务和远程触发 对量化来说，最有用的就是消息推送这一块。\n我的量化信号推送架构 cron（每30分钟） ↓ signal_monitor.py（拉数据 → 计算信号 → 对比上次状态） ↓ 有新信号？ ├── 是 → generate_report.py（生成 PDF） │ ↓ │ openclaw message send（发 Telegram） │ ├── 群组（@ 信号通知） │ └── 私信（附 PDF + 耗时统计） └── 否 → openclaw message send（私信巡检报告） 跑在局域网的 Linux 机器上，24 小时不间断。\n关键代码片段 发消息 import subprocess def send_telegram(text, pdf_path, target): subprocess.run([ \u0026#34;openclaw\u0026#34;, \u0026#34;message\u0026#34;, \u0026#34;send\u0026#34;, \u0026#34;--channel\u0026#34;, \u0026#34;telegram\u0026#34;, \u0026#34;--target\u0026#34;, target, \u0026#34;--message\u0026#34;, text, \u0026#34;--media\u0026#34;, pdf_path ], check=True) # 推送到群组（target 填群组 ID，负数） send_telegram(signal_text, pdf, \u0026#34;-100xxxxxxxxxx\u0026#34;) # 推送私信（target 填个人 user ID） send_telegram(signal_text + f\u0026#34;\\n耗时: {elapsed:.2f}s\u0026#34;, pdf, \u0026#34;你的UserID\u0026#34;) 这一行命令替代了整套 Telegram Bot SDK 的接入，省去了处理 webhook/polling 的麻烦。\n增量缓存：避免重复推送 信号系统最容易踩的坑：同一个信号每次运行都推一遍。\n解决方案：用状态文件记录已推送的信号。\nSTATE_FILE = \u0026#34;~/.openclaw/workspace/.openclaw/signal_state.json\u0026#34; def load_state(): # 读取上次的状态 ... def main(): state = load_state() for asset in ASSETS: signal = compute_signal(asset) key = f\u0026#34;{asset}_{signal.type}_{signal.ts}\u0026#34; if state.get(key): continue # 已推送，跳过 state[key] = True push_signal(signal) save_state(state) 配合\u0026quot;探针\u0026quot;机制（先检查最新 bar 时间戳，没更新就跳过），每次运行耗时从 60 秒降到 5-10 秒。\n定时任务 # /etc/cron.d/quant_strategy 0,30 * * * * as cd ~/.openclaw/workspace \u0026amp;\u0026amp; \\ MPLBACKEND=Agg ~/.openclaw/workspace/.venv_quant/bin/python \\ scripts/signal_monitor.py \u0026gt;\u0026gt; .openclaw/signal_monitor.log 2\u0026gt;\u0026amp;1 MPLBACKEND=Agg 是关键——服务器没有显示器，matplotlib 需要非交互式后端才能生成图片。\n实际收到的 Telegram 消息 信号出现时：\n【混合版策略信号】2026-04-08 16:00:00 - BTC 4h：买入，价格 83420.5000，逻辑=自适应，时间 2026-04-08 16:00:00 - ETH 4h：买入，价格 1628.3300，逻辑=自适应，时间 2026-04-08 16:00:00 已附混合版最新PDF。 无信号时（私信巡检）：\n【混合版策略巡检】2026-04-08 16:30:00 当前无新买卖信号。 本次策略耗时：7.43秒 计算模式：hot:cache_hit 计算模式 字段告诉你这次是走了缓存（hot）还是重新计算了哪些品种（warm/cold）。\n多台机器双跑 我在两台机器上各跑一套：\n一台跑唐奇版（原始突破策略） 一台跑混合版（ATR/ADX 自适应） 两套策略的信号都推到同一个 Telegram 群，互相对照。当两个策略都给出买入信号时，可信度更高。\n故障怎么处理 信号停止推送：先看 log，通常是 yfinance 拉数据超时。解决：加 retry 逻辑，或临时切换数据源。\nopenclaw 命令找不到：PATH 问题。cron 环境的 PATH 比登录 shell 少，需要在 cron 文件头部设置完整 PATH，或用绝对路径。\nPDF 生成乱码：中文字体没装。sudo apt-get install fonts-noto-cjk 解决。\n量化推送系统搭建过程中有问题，欢迎来 Telegram 找我。\n⚠️ 本文仅记录个人实践，不构成投资建议。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-quant-workflow/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Child and robot interacting with projected bubbles\" loading=\"lazy\" src=\"/images/openclaw-quant-workflow-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e买了 VPS、写了量化策略代码，但怎么让它\u0026quot;自动跑起来\u0026quot;并且\u0026quot;随时告诉你发生了什么\u0026quot;？这是大部分人卡住的地方。\u003c/p\u003e\n\u003cp\u003e我用 OpenClaw 解决了这个问题。\u003c/p\u003e\n\u003ch2 id=\"openclaw-是什么\"\u003eOpenClaw 是什么\u003c/h2\u003e\n\u003cp\u003e简单说：\u003cstrong\u003e一个让 AI 助手能调用各种工具的框架\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e它的核心能力是：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e提供 CLI 工具（\u003ccode\u003eopenclaw message send\u003c/code\u003e），可以从任何脚本里发 Telegram/Discord 消息\u003c/li\u003e\n\u003cli\u003e有 Skill 系统，可以给 AI 挂载各种能力（GitHub、Notion、天气、自定义脚本）\u003c/li\u003e\n\u003cli\u003e支持 cron 定时任务和远程触发\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e对量化来说，最有用的就是\u003cstrong\u003e消息推送\u003c/strong\u003e这一块。\u003c/p\u003e\n\u003ch2 id=\"我的量化信号推送架构\"\u003e我的量化信号推送架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ecron（每30分钟）\n    ↓\nsignal_monitor.py（拉数据 → 计算信号 → 对比上次状态）\n    ↓\n有新信号？\n    ├── 是 → generate_report.py（生成 PDF）\n    │         ↓\n    │      openclaw message send（发 Telegram）\n    │         ├── 群组（@ 信号通知）\n    │         └── 私信（附 PDF + 耗时统计）\n    └── 否 → openclaw message send（私信巡检报告）\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e跑在局域网的 Linux 机器上，24 小时不间断。\u003c/p\u003e","title":"用 OpenClaw 指挥机器跑量化：从信号计算到 Telegram 推送"},{"content":" 如果你用过 Claude Code，OpenClaw 可以理解成它的\u0026quot;异步版本\u0026quot;——Claude Code 适合你坐在电脑前交互式干活，OpenClaw 适合让 AI 在后台持续帮你做事，即使你不在电脑旁。\nOpenClaw 的核心定位 一句话：让 AI 助手能访问和操作外部工具，并通过 Telegram 等渠道跟你交互。\n它解决的问题：\nAI 模型本身无法主动触达你（你要开口问，它才回答） AI 模型没有持久状态（每次对话从头开始） AI 模型无法直接操作外部系统（GitHub、Notion、服务器） OpenClaw 通过 Skill 系统 解决这三个问题。\nSkill 系统 Skill 是 OpenClaw 的核心概念：一个 Skill 就是给 AI 挂载一个工具。\n已有的 Skill 举例：\nSkill 功能 github 读写 Issue、PR、Actions obsidian 读写 Obsidian 笔记库 weather 查询天气（open-meteo） notion Notion 页面/数据库操作 healthcheck 系统安全巡检 skill-creator 创建自定义 Skill 安装一个 Skill：\nopenclaw skill install github 安装后，你在 Telegram 里对 AI 助手说\u0026quot;帮我查一下 claude-code 仓库今天新增的 Issue\u0026quot;，它就能直接操作 GitHub 了。\n和 Claude Code 的区别 对比维度 Claude Code OpenClaw 交互方式 终端交互式 Telegram（异步） 适用场景 当场写代码、改文件 后台定时任务、监控 使用时机 你在电脑前 你不在电脑前 上下文 每次会话 可持续（配合状态文件） 两者可以配合：Claude Code 负责写逻辑/改代码，OpenClaw 负责自动化运行和通知。\n我的双机配置 我在两台设备上跑 OpenClaw：\nMac（小白）：主助手，日常问答和工具调用 Linux 服务器（1.9）：量化策略专机，24小时跑信号监控\nMac 上的配置文件 ~/.openclaw/openclaw.json：\n{ \u0026#34;bot_token\u0026#34;: \u0026#34;...\u0026#34;, \u0026#34;telegram_chat_id\u0026#34;: \u0026#34;你的 TG 用户 ID\u0026#34;, \u0026#34;model\u0026#34;: \u0026#34;claude-opus-4-6\u0026#34;, \u0026#34;skills\u0026#34;: [\u0026#34;github\u0026#34;, \u0026#34;obsidian\u0026#34;, \u0026#34;weather\u0026#34;, \u0026#34;healthcheck\u0026#34;] } Linux 服务器主要用 openclaw message send 这个 CLI 命令推消息，不需要完整配置 AI 能力。\n定时任务：让 AI 主动工作 OpenClaw 支持 cron 触发，每天早上自动给我发天气：\n# cron 配置 0 7 * * * openclaw cron run daily-weather-check 我还会把量化信号脚本、巡检脚本挂在 cron 里，服务器自己跑，有问题了 Telegram 通知我。\n适合什么人用 有多台机器：想让 AI 帮你管理分布在多台服务器上的服务 有异步通知需求：策略信号、服务告警、定时报告 嫌 Telegram Bot 开发麻烦：openclaw message send 一行命令搞定推送，不用自己接 Bot API 不适合的场景：\n你只是想问 AI 写代码（Claude Code 更好） 你需要实时双向对话（Claude.ai 更好） 快速上手 # 安装 npm install -g openclaw # 初始化（引导式配置 Telegram Bot Token） openclaw init # 测试发消息 openclaw message send --channel telegram --target 你的用户ID --message \u0026#34;测试消息\u0026#34; # 安装一个 Skill openclaw skill install weather # 启动网关（让 Telegram 消息能触发 AI） openclaw gateway start 实战案例：OpenClaw + 量化 OpenClaw 最直观的价值在\u0026quot;AI + 外部系统编排\u0026quot;场景。一个我在用的例子：\n触发器：Telegram 发消息 \u0026ldquo;check pionex\u0026rdquo; Skill 链：OpenClaw 读消息 → 调 Pionex API 查余额 → 调 Binance API 查持仓 → 让 Claude 综合给出当前风险评估 → 推回 Telegram 整个流程 3 秒完成，一天可以随时问 20 次风险状态不多花钱。详见 OpenClaw 量化工作流。\n如果你还没开始折腾加密量化，Pionex 有 16 种内置机器人，不用写一行代码就能跑起来，是 OpenClaw 类 AI 工具最好的练手对象。\n有问题或者想聊 OpenClaw 的使用场景，欢迎在 Telegram 找我，或关注 X @panshi8848。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-intro-and-setup/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Child and robot interacting with projected bubbles\" loading=\"lazy\" src=\"/images/openclaw-intro-and-setup-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e如果你用过 Claude Code，OpenClaw 可以理解成它的\u0026quot;异步版本\u0026quot;——Claude Code 适合你坐在电脑前交互式干活，OpenClaw 适合让 AI 在后台持续帮你做事，即使你不在电脑旁。\u003c/p\u003e\n\u003ch2 id=\"openclaw-的核心定位\"\u003eOpenClaw 的核心定位\u003c/h2\u003e\n\u003cp\u003e一句话：\u003cstrong\u003e让 AI 助手能访问和操作外部工具，并通过 Telegram 等渠道跟你交互\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e它解决的问题：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAI 模型本身无法主动触达你（你要开口问，它才回答）\u003c/li\u003e\n\u003cli\u003eAI 模型没有持久状态（每次对话从头开始）\u003c/li\u003e\n\u003cli\u003eAI 模型无法直接操作外部系统（GitHub、Notion、服务器）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOpenClaw 通过 \u003cstrong\u003eSkill 系统\u003c/strong\u003e 解决这三个问题。\u003c/p\u003e\n\u003ch2 id=\"skill-系统\"\u003eSkill 系统\u003c/h2\u003e\n\u003cp\u003eSkill 是 OpenClaw 的核心概念：一个 Skill 就是给 AI 挂载一个工具。\u003c/p\u003e\n\u003cp\u003e已有的 Skill 举例：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003eSkill\u003c/th\u003e\n          \u003cth\u003e功能\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003egithub\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e读写 Issue、PR、Actions\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eobsidian\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e读写 Obsidian 笔记库\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eweather\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e查询天气（open-meteo）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003enotion\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eNotion 页面/数据库操作\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003ehealthcheck\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e系统安全巡检\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eskill-creator\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e创建自定义 Skill\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e安装一个 Skill：\u003c/p\u003e","title":"OpenClaw 是什么：AI 助手 + 工具链的集成平台"},{"content":" Hysteria2 是一个基于 QUIC 协议（UDP）的代理工具，在高丢包、高延迟网络下表现远超 TCP 协议。它和 VLESS+XTLS-Reality 形成互补：TCP 受限时用 Hysteria2，UDP 受限时用 VLESS+Reality，两个协议搭配部署是目前最稳的方案。\n为什么选 Hysteria2 核心优势：\n基于 QUIC/UDP，在高丢包网络下仍有较好速度表现 内置带宽伪装，流量特征更难被精准识别 配置简单，比 Xray 轻量 mihomo（Clash Meta）原生支持 适用场景：\n场景 推荐协议 TCP 被 QoS 限速 Hysteria2 ✓ UDP 被封 VLESS+XTLS 日常使用（两个都有） mihomo 自动切换 前置准备 一台海外 VPS，推荐 DMIT（支持 Hysteria2 的 UDP 流量） Ubuntu 22.04+ 一个域名（可选，用自签证书也可以） 服务端部署 安装 Hysteria2 bash \u0026lt;(curl -fsSL https://get.hy2.sh/) 安装完成后，程序位于 /usr/local/bin/hysteria，systemd 服务名为 hysteria-server。\n生成自签证书 不需要域名的情况下，用自签证书：\nopenssl req -x509 -nodes -newkey ec -pkeyopt ec_paramgen_curve:P-256 \\ -keyout /etc/hysteria/server.key \\ -out /etc/hysteria/server.crt \\ -subj \u0026#34;/CN=bing.com\u0026#34; -days 3650 chown hysteria /etc/hysteria/server.key /etc/hysteria/server.crt 服务端配置文件 /etc/hysteria/config.yaml：\nlisten: :443 tls: cert: /etc/hysteria/server.crt key: /etc/hysteria/server.key auth: type: password password: 你的密码（随机长字符串） masquerade: type: proxy proxy: url: https://bing.com rewriteHost: true bandwidth: up: 1 gbps down: 1 gbps 关键参数说明：\nmasquerade：将流量伪装成对目标网站的正常访问 bandwidth：填服务器实际带宽，影响拥塞控制效果，不要填超过实际值 启动服务：\nsystemctl enable hysteria-server --now systemctl status hysteria-server 防火墙开放端口 ufw allow 443/udp 注意：Hysteria2 走 UDP，必须开放 UDP 端口，容易漏掉。\n验证服务端 # 检查服务是否正常运行 journalctl -u hysteria-server -f # 看到类似输出说明正常： # server up and running 客户端配置（mihomo） 在 mihomo 的 proxy 配置里添加：\nproxies: - name: \u0026#34;DMIT-HK-Hysteria2\u0026#34; type: hysteria2 server: 你的VPS_IP port: 443 password: 你的密码 sni: bing.com skip-cert-verify: true # 使用自签证书时需要 双协议互备：和 VLESS+Reality 配合 单协议是单点故障。推荐同时部署 Hysteria2 和 VLESS+XTLS-Reality，在 mihomo 里配置自动切换：\nproxy-groups: - name: \u0026#34;香港节点\u0026#34; type: fallback url: http://www.gstatic.com/generate_204 interval: 30 proxies: - DMIT-HK-Reality # 主力（TCP，抗识别） - DMIT-HK-Hysteria2 # 备用（UDP，高速） mihomo 每 30 秒检测一次连通性，主节点不通自动切到备用。\n完整的多网关架构设计，见：家庭网络多网关架构\n常见问题 UDP 被运营商封锁 部分地区运营商会 QoS UDP 流量。可以把 Hysteria2 端口改成其他端口，或者在这个场景下切换到 VLESS+Reality（TCP）。\n速度比预期慢 检查 bandwidth 配置是否接近实际带宽 确认客户端也配置了对应的 up/down（部分版本 mihomo 自动协商） 检查 VPS 是否有流量限速策略 证书报错 skip-cert-verify: true 只对自签证书场景使用。如果有域名，推荐用 acme 自动申请 Let\u0026rsquo;s Encrypt 证书，更安全。\nVPS 推荐 Hysteria2 依赖 UDP，要注意部分 VPS 商家会对 UDP 流量额外限制。\nDMIT 香港和美国节点对 UDP 友好，实测 Hysteria2 可以跑满带宽。具体选购对比见：VPS 选购指南\n有配置问题，欢迎来 Telegram 找我。\n延伸阅读：\nXray VLESS+XTLS 部署教程 — 与 Hysteria2 互补的 TCP 协议 家庭网络多网关架构 — 把多个协议节点统一管理 VPS 被封 IP 怎么办 — 应急处理方案 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/hysteria2-setup/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Abstract streaks of purple and green light\" loading=\"lazy\" src=\"/images/hysteria2-setup-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eHysteria2 是一个基于 QUIC 协议（UDP）的代理工具，在高丢包、高延迟网络下表现远超 TCP 协议。它和 \u003ca href=\"/posts/xray-vless-xtls-setup/\"\u003eVLESS+XTLS-Reality\u003c/a\u003e 形成互补：TCP 受限时用 Hysteria2，UDP 受限时用 VLESS+Reality，两个协议搭配部署是目前最稳的方案。\u003c/p\u003e\n\u003ch2 id=\"为什么选-hysteria2\"\u003e为什么选 Hysteria2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e核心优势：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e基于 QUIC/UDP，在高丢包网络下仍有较好速度表现\u003c/li\u003e\n\u003cli\u003e内置带宽伪装，流量特征更难被精准识别\u003c/li\u003e\n\u003cli\u003e配置简单，比 Xray 轻量\u003c/li\u003e\n\u003cli\u003emihomo（Clash Meta）原生支持\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e适用场景：\u003c/strong\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e场景\u003c/th\u003e\n          \u003cth\u003e推荐协议\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eTCP 被 QoS 限速\u003c/td\u003e\n          \u003ctd\u003eHysteria2 ✓\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eUDP 被封\u003c/td\u003e\n          \u003ctd\u003eVLESS+XTLS\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e日常使用（两个都有）\u003c/td\u003e\n          \u003ctd\u003emihomo 自动切换\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"前置准备\"\u003e前置准备\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e一台海外 VPS，推荐 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e（支持 Hysteria2 的 UDP 流量）\u003c/li\u003e\n\u003cli\u003eUbuntu 22.04+\u003c/li\u003e\n\u003cli\u003e一个域名（可选，用自签证书也可以）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"服务端部署\"\u003e服务端部署\u003c/h2\u003e\n\u003ch3 id=\"安装-hysteria2\"\u003e安装 Hysteria2\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ebash \u0026lt;\u003cspan class=\"o\"\u003e(\u003c/span\u003ecurl -fsSL https://get.hy2.sh/\u003cspan class=\"o\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e安装完成后，程序位于 \u003ccode\u003e/usr/local/bin/hysteria\u003c/code\u003e，systemd 服务名为 \u003ccode\u003ehysteria-server\u003c/code\u003e。\u003c/p\u003e\n\u003ch3 id=\"生成自签证书\"\u003e生成自签证书\u003c/h3\u003e\n\u003cp\u003e不需要域名的情况下，用自签证书：\u003c/p\u003e","title":"Hysteria2 部署教程：基于 QUIC 的高速代理协议"},{"content":" 用 OpenClaw 跑自动化任务，最麻烦的不是配置，而是\u0026quot;跑着跑着突然不工作了\u0026quot;。这篇文章整理我遇到过的故障和解决方法。\nGateway 相关 Gateway 服务未启动 症状：Telegram 发消息没反应，AI 助手不回复。\n检查：\nopenclaw gateway status 常见原因和解法：\n原因 解法 进程挂了 openclaw gateway restart Bot Token 过期 去 BotFather 重新获取 token，更新配置 端口冲突 lsof -i :端口号 找占用进程，kill 掉 Windows 开机未自启 任务计划程序加入自启 Windows 特别注意：Windows 上 Gateway 不会随系统自动启动，每次重启后需要手动运行：\nopenclaw gateway start 建议做成 Windows 任务计划程序的开机自启任务。\nGateway 启动后几小时自动断开 症状：刚开始好的，过一段时间 Telegram 又不响应了。\n原因：Telegram 的 long-polling 连接超时，Gateway 没有自动重连。\n解法：用 cron 或 systemd 做保活：\n# Linux - 用 systemd service # /etc/systemd/system/openclaw-gateway.service [Unit] Description=OpenClaw Gateway After=network.target [Service] User=as ExecStart=/usr/local/bin/openclaw gateway start Restart=always RestartSec=10 [Install] WantedBy=multi-user.target sudo systemctl enable openclaw-gateway sudo systemctl start openclaw-gateway 消息推送相关 openclaw message send 没反应 检查顺序：\n确认 openclaw 可执行：\nwhich openclaw # 确认路径 openclaw --version 手动测试推送：\nopenclaw message send --channel telegram --target 你的用户ID --message \u0026#34;test\u0026#34; 查看 openclaw 日志：\ntail -f ~/.openclaw/logs/openclaw.log cron 里的 PATH 问题：cron 的环境变量 PATH 比登录 shell 少很多，openclaw 可能找不到。解法：\n# 在 cron 文件顶部加完整 PATH PATH=/usr/local/bin:/usr/bin:/bin:/home/as/.npm-global/bin 或者用绝对路径：\n/home/as/.npm-global/bin/openclaw message send ... 发消息成功但图片（PDF）没有收到 原因：--media 参数路径错误，或文件不存在。\n检查：\nls -la /path/to/your/report.pdf # 确认文件存在且可读 注意：路径必须是绝对路径，不能用 ~ 或相对路径（在 cron 环境里 ~ 不展开）。\nTelegram Bot 隐私模式问题 症状：Bot 在群组里收不到普通消息（只能收到 /命令）。\n原因：Telegram Bot 默认开启隐私模式，只接收 / 开头的命令。\n解法：去 BotFather → 你的 Bot → Bot Settings → Group Privacy → 关闭。\n关闭后，Bot 才能接收群组内的普通消息，OpenClaw 才能响应群组 @。\nSkill 相关 Skill 安装后调用失败 症状：安装了 github Skill，让 AI 查 Issue，AI 说\u0026quot;我没有访问 GitHub 的能力\u0026quot;。\n原因：Skill 安装后需要配置 API Token。\nopenclaw skill config github # 按提示输入 GitHub Personal Access Token 每个 Skill 都有自己的配置要求，安装后执行 openclaw skill config \u0026lt;name\u0026gt; 完成配置。\nobsidian Skill 找不到文件 问题：让 AI 读我的 Obsidian 笔记，它说找不到。\n原因：Obsidian Skill 需要配置 vault 路径。\nopenclaw skill config obsidian # vault_path: ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/你的库名 macOS 上 iCloud 同步的 Obsidian 库路径比较长，需要确认实际路径。\n量化脚本相关 matplotlib 在服务器上报错 症状：\n_tkinter.TclError: no display name and no $DISPLAY environment variable 原因：服务器没有图形界面，matplotlib 默认用 Tk 后端。\n解法：在脚本开头加：\nimport os os.environ[\u0026#34;MPLBACKEND\u0026#34;] = \u0026#34;Agg\u0026#34; import matplotlib matplotlib.use(\u0026#34;Agg\u0026#34;) 或者在 cron 环境变量里加 MPLBACKEND=Agg。\nPDF 中文显示方块（乱码） 症状：生成的 PDF 里中文都变成方块。\n原因：服务器没有中文字体。\n解法：\nsudo apt-get install -y fonts-noto-cjk # 安装后重启相关进程 reportlab 生成 PDF 时需要指定字体文件路径，确认字体路径：\nfc-list | grep -i noto yfinance 拉数据超时 症状：策略脚本卡住，log 里有 timeout 或 Connection reset。\n原因：yfinance 连接雅虎财经服务器不稳定（VPS 所在地区网络问题）。\n解法：\n加 retry 逻辑：\nfor attempt in range(3): df = yf.download(symbol, ...) if not df.empty: break time.sleep(5) 换用代理节点（让 VPS 流量走代理服务器，这个配置看我的代理架构文章）\n如果某个品种频繁失败，临时从 ASSETS 列表里移除，避免阻塞其他品种。\n日志分析 养成看日志的习惯，大部分问题日志里都有：\n# 实时看策略日志 tail -f ~/.openclaw/workspace/.openclaw/signal_monitor.log # 看最近 50 行错误 grep -i \u0026#34;error\\|exception\\|failed\u0026#34; ~/.openclaw/workspace/.openclaw/signal_monitor.log | tail -50 # 看 openclaw 自身日志 tail -f ~/.openclaw/logs/openclaw.log 遇到没列出的问题，欢迎在 Telegram 找我，一起排查。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-troubleshooting/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Child and robot interacting with projected bubbles\" loading=\"lazy\" src=\"/images/openclaw-troubleshooting-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e用 OpenClaw 跑自动化任务，最麻烦的不是配置，而是\u0026quot;跑着跑着突然不工作了\u0026quot;。这篇文章整理我遇到过的故障和解决方法。\u003c/p\u003e\n\u003ch2 id=\"gateway-相关\"\u003eGateway 相关\u003c/h2\u003e\n\u003ch3 id=\"gateway-服务未启动\"\u003eGateway 服务未启动\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e症状\u003c/strong\u003e：Telegram 发消息没反应，AI 助手不回复。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e检查\u003c/strong\u003e：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eopenclaw gateway status\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e常见原因和解法\u003c/strong\u003e：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e原因\u003c/th\u003e\n          \u003cth\u003e解法\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e进程挂了\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003eopenclaw gateway restart\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eBot Token 过期\u003c/td\u003e\n          \u003ctd\u003e去 BotFather 重新获取 token，更新配置\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e端口冲突\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003elsof -i :端口号\u003c/code\u003e 找占用进程，kill 掉\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eWindows 开机未自启\u003c/td\u003e\n          \u003ctd\u003e任务计划程序加入自启\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003eWindows 特别注意\u003c/strong\u003e：Windows 上 Gateway 不会随系统自动启动，每次重启后需要手动运行：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-powershell\" data-lang=\"powershell\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eopenclaw\u003c/span\u003e \u003cspan class=\"n\"\u003egateway\u003c/span\u003e \u003cspan class=\"nb\"\u003estart\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e建议做成 Windows 任务计划程序的开机自启任务。\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"gateway-启动后几小时自动断开\"\u003eGateway 启动后几小时自动断开\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e症状\u003c/strong\u003e：刚开始好的，过一段时间 Telegram 又不响应了。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e原因\u003c/strong\u003e：Telegram 的 long-polling 连接超时，Gateway 没有自动重连。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e解法\u003c/strong\u003e：用 cron 或 systemd 做保活：\u003c/p\u003e","title":"OpenClaw 常见故障排查：我踩过的坑和解决方法"},{"content":" Xray 的 VLESS+XTLS-Reality 是目前公认抗封锁能力最强的协议组合。它的核心原理是流量伪装成正常的 TLS 握手，让 GFW 难以通过特征识别判断是代理流量。\n这篇文章从零开始，完整部署一套可用的配置。\n前置准备 一台海外 VPS（推荐 DMIT 香港或美国节点，线路质量好） VPS 系统：Ubuntu 22.04+ 本地客户端：mihomo（原 Clash Meta） 服务端部署 安装 Xray bash -c \u0026#34;$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)\u0026#34; @ install 生成 XTLS-Reality 所需密钥 xray x25519 输出类似：\nPrivate key: 你的私钥（保存好） Public key: 你的公钥（填入客户端配置） 再生成 UUID：\nxray uuid 服务端配置文件 /usr/local/etc/xray/config.json：\n{ \u0026#34;inbounds\u0026#34;: [ { \u0026#34;port\u0026#34;: 443, \u0026#34;protocol\u0026#34;: \u0026#34;vless\u0026#34;, \u0026#34;settings\u0026#34;: { \u0026#34;clients\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;你的UUID\u0026#34;, \u0026#34;flow\u0026#34;: \u0026#34;xtls-rprx-vision\u0026#34; } ], \u0026#34;decryption\u0026#34;: \u0026#34;none\u0026#34; }, \u0026#34;streamSettings\u0026#34;: { \u0026#34;network\u0026#34;: \u0026#34;tcp\u0026#34;, \u0026#34;security\u0026#34;: \u0026#34;reality\u0026#34;, \u0026#34;realitySettings\u0026#34;: { \u0026#34;show\u0026#34;: false, \u0026#34;dest\u0026#34;: \u0026#34;www.apple.com:443\u0026#34;, \u0026#34;xver\u0026#34;: 0, \u0026#34;serverNames\u0026#34;: [\u0026#34;www.apple.com\u0026#34;], \u0026#34;privateKey\u0026#34;: \u0026#34;你的私钥\u0026#34;, \u0026#34;shortIds\u0026#34;: [\u0026#34;\u0026#34;] } }, \u0026#34;sniffing\u0026#34;: { \u0026#34;enabled\u0026#34;: true, \u0026#34;destOverride\u0026#34;: [\u0026#34;http\u0026#34;, \u0026#34;tls\u0026#34;, \u0026#34;quic\u0026#34;] } } ], \u0026#34;outbounds\u0026#34;: [ {\u0026#34;protocol\u0026#34;: \u0026#34;freedom\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;direct\u0026#34;}, {\u0026#34;protocol\u0026#34;: \u0026#34;blackhole\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;block\u0026#34;} ] } 关键参数说明：\ndest：伪装目标，选一个支持 TLS 1.3 的知名网站（apple.com、microsoft.com 都行） serverNames：必须和 dest 一致 flow: xtls-rprx-vision：开启 XTLS Vision 模式，抗封锁效果最好 启动并设置开机自启：\nsystemctl enable xray --now systemctl status xray 防火墙开放 443 ufw allow 443/tcp ufw allow 443/udp 客户端配置（mihomo） 在 mihomo 的 proxy 配置里添加：\nproxies: - name: \u0026#34;DMIT-HK-Reality\u0026#34; type: vless server: 你的VPS_IP port: 443 uuid: 你的UUID network: tcp tls: true udp: true flow: xtls-rprx-vision reality-opts: public-key: 你的公钥 short-id: \u0026#34;\u0026#34; servername: www.apple.com client-fingerprint: chrome client-fingerprint 模拟浏览器 TLS 指纹，建议用 chrome。\n加上 Hysteria2 双协议备份 单协议是单点故障。我同时部署 Hysteria2 作为备用：\n# 安装 Hysteria2 bash \u0026lt;(curl -fsSL https://get.hy2.sh/) Hysteria2 基于 QUIC（UDP），在 TCP 受限场景下效果好；VLESS+Reality 在 UDP 受限时更稳。两个协议互补。\n具体配置可以看我的多网关架构文章。\n验证效果 服务端配置好后，用客户端连接，检查：\n# 检查出口 IP curl https://api.ipify.org # 检查流量是否走了代理 curl --proxy socks5://127.0.0.1:7890 https://api.ipify.org 两个 IP 不同说明代理生效。\n为什么选 DMIT 部署 Xray 需要一台高质量的 VPS，IP 质量直接决定使用体验。\n我用 DMIT 的原因：\n香港节点延迟低（20-40ms），日常用不出延迟感 原生 IP，流媒体解锁能力强 线路稳定，IP 被封概率低于其他家 VPS 选购的完整对比可以看这篇：VPS 选购指南\n配置过程遇到问题，欢迎来 Telegram 找我。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/xray-vless-xtls-setup/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"From below of long thin blue cables connected to row of smal\" loading=\"lazy\" src=\"/images/xray-vless-xtls-setup-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eXray 的 VLESS+XTLS-Reality 是目前公认抗封锁能力最强的协议组合。它的核心原理是\u003cstrong\u003e流量伪装成正常的 TLS 握手\u003c/strong\u003e，让 GFW 难以通过特征识别判断是代理流量。\u003c/p\u003e\n\u003cp\u003e这篇文章从零开始，完整部署一套可用的配置。\u003c/p\u003e\n\u003ch2 id=\"前置准备\"\u003e前置准备\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e一台海外 VPS（推荐 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e 香港或美国节点，线路质量好）\u003c/li\u003e\n\u003cli\u003eVPS 系统：Ubuntu 22.04+\u003c/li\u003e\n\u003cli\u003e本地客户端：mihomo（原 Clash Meta）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"服务端部署\"\u003e服务端部署\u003c/h2\u003e\n\u003ch3 id=\"安装-xray\"\u003e安装 Xray\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ebash -c \u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e\u003cspan class=\"k\"\u003e$(\u003c/span\u003ecurl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh\u003cspan class=\"k\"\u003e)\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e @ install\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"生成-xtls-reality-所需密钥\"\u003e生成 XTLS-Reality 所需密钥\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003exray x25519\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e输出类似：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ePrivate key: 你的私钥（保存好）\nPublic key:  你的公钥（填入客户端配置）\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e再生成 UUID：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003exray uuid\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"服务端配置文件\"\u003e服务端配置文件\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003e/usr/local/etc/xray/config.json\u003c/code\u003e：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-json\" data-lang=\"json\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nt\"\u003e\u0026#34;inbounds\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;port\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"mi\"\u003e443\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;protocol\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;vless\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;settings\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;clients\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            \u003cspan class=\"nt\"\u003e\u0026#34;id\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;你的UUID\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            \u003cspan class=\"nt\"\u003e\u0026#34;flow\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;xtls-rprx-vision\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"p\"\u003e],\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;decryption\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;none\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"p\"\u003e},\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;streamSettings\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;network\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;tcp\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;security\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;reality\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;realitySettings\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;show\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;dest\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;www.apple.com:443\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;xver\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;serverNames\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;www.apple.com\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e],\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;privateKey\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;你的私钥\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nt\"\u003e\u0026#34;shortIds\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"p\"\u003e},\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;sniffing\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;enabled\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;destOverride\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;http\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;tls\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;quic\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e],\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nt\"\u003e\u0026#34;outbounds\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"nt\"\u003e\u0026#34;protocol\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;freedom\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"nt\"\u003e\u0026#34;tag\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;direct\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e},\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"nt\"\u003e\u0026#34;protocol\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;blackhole\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"nt\"\u003e\u0026#34;tag\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;block\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e关键参数说明：\u003c/strong\u003e\u003c/p\u003e","title":"Xray VLESS+XTLS 部署教程：抗封锁能力最强的代理协议"},{"content":" IP 被封是代理节点的常见问题，处理过很多次了，这篇文章写下完整的应对流程。\n第一步：确认是 IP 被封还是其他问题 连不上节点时，先排除非封锁原因：\n# 从国内测试 IP 连通性（用手机热点，排除本地网络问题） ping 你的VPS_IP # 测试端口是否通 nc -z -w5 你的VPS_IP 443 \u0026amp;\u0026amp; echo \u0026#34;open\u0026#34; || echo \u0026#34;blocked\u0026#34; 常见混淆情况：\n现象 可能原因 ping 不通，但 SSH 能连 协议被识别，端口被封 SSH 也连不上 IP 被完全封锁，或 VPS 宕机 能 ping 通，但连接慢 线路拥塞，不是封锁 只有晚高峰断 QoS 限速，不是封锁 验证 IP 是否被墙的最快方法：用国内网络和海外网络分别 ping，海外能 ping 国内不行 = 被墙。\n在线工具：ping.pe，输入 IP 从多个国家测试连通性。\n第二步：应急切换 如果有备用节点 这是最重要的一课：永远不要只有一个节点。\n我的 mihomo 配置了自动故障切换：\nproxy-groups: - name: \u0026#34;自动选择\u0026#34; type: fallback # 有节点挂了自动切换 url: http://www.gstatic.com/generate_204 interval: 30 proxies: - DMIT-HK - DMIT-US - 腾讯云-JP 主节点被封后 30 秒内自动切到备用，用户无感知。\n没有备用节点怎么办 临时方案：用住宅 IP 代理。IPRoyal 按 GB 计费，不需要月付，临时用几 GB 撑过去。\n快速修复：看下面换 IP 的方案。\n第三步：更换 IP 方案 1：VPS 面板换 IP（最快） 部分 VPS 商家支持在控制面板直接更换 IP：\n费用通常 1-5 美元 DMIT 可以提工单申请换 IP 需要重新配置客户端 方案 2：重建 VPS（比较快） 销毁当前实例，用同一地区重新开一台，大概率分配到不同 IP。\n注意：重建前先备份配置文件。\n# 备份 Xray 配置 scp -P 18022 ubuntu@旧IP:/usr/local/etc/xray/config.json ./xray_backup.json # 新机器恢复 scp -P 18022 ./xray_backup.json ubuntu@新IP:/usr/local/etc/xray/config.json 方案 3：换地区 香港 IP 被封后，临时换美国或日本节点用着，等风头过去（有时候被封的 IP 会解封）。\n为什么 IP 会被封 几个常见原因：\n1. 流量特征被识别\n旧协议（Shadowsocks、普通 VMess）特征明显，容易被机器学习识别。解决：换 VLESS+XTLS-Reality，见配置教程。\n2. 端口暴露\n把代理端口开在常见端口（1080、8080）容易被扫描发现。建议用 443（伪装成 HTTPS）。\n3. IP 段质量差\n数据中心 IP 段已知，被针对性封锁。原生 IP 和住宅 IP 被封概率低。\n4. 高峰期大流量\n晚上 8-12 点，GFW 审查力度加大，大流量节点容易被盯上。\n长期防封策略 1. 多节点分散风险\n美国 + 香港 + 日本，至少三个节点，单节点被封不影响使用。\n2. 使用高质量 VPS\nDMIT 的原生 IP、CN2 GIA 线路，被封概率明显低于普通 BGP 线路的廉价 VPS。\n3. 升级协议\nVLESS+XTLS-Reality \u0026gt; VMess+WS+TLS \u0026gt; Shadowsocks。从老协议迁移到新协议，被识别率大幅下降。\n4. 避免高风险行为\n不在代理节点上跑 BT/PT 不访问被重点监控的网站时留下服务器 IP 痕迹 节点不对外分享（私用节点被封概率远低于公开节点） 5. 定期检查节点健康\n用 Prometheus + Grafana 监控节点延迟和连通性，异常第一时间发现。配置参考\n有 IP 被封的具体情况，欢迎来 Telegram 描述，一起排查原因。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/vps-ip-blocked-solutions/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"System with various wires managing access to centralized res\" loading=\"lazy\" src=\"/images/vps-ip-blocked-solutions-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eIP 被封是代理节点的常见问题，处理过很多次了，这篇文章写下完整的应对流程。\u003c/p\u003e\n\u003ch2 id=\"第一步确认是-ip-被封还是其他问题\"\u003e第一步：确认是 IP 被封还是其他问题\u003c/h2\u003e\n\u003cp\u003e连不上节点时，先排除非封锁原因：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 从国内测试 IP 连通性（用手机热点，排除本地网络问题）\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eping 你的VPS_IP\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 测试端口是否通\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003enc -z -w5 你的VPS_IP \u003cspan class=\"m\"\u003e443\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e \u003cspan class=\"nb\"\u003eecho\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;open\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e||\u003c/span\u003e \u003cspan class=\"nb\"\u003eecho\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;blocked\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e常见混淆情况：\u003c/strong\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e现象\u003c/th\u003e\n          \u003cth\u003e可能原因\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eping 不通，但 SSH 能连\u003c/td\u003e\n          \u003ctd\u003e协议被识别，端口被封\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eSSH 也连不上\u003c/td\u003e\n          \u003ctd\u003eIP 被完全封锁，或 VPS 宕机\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e能 ping 通，但连接慢\u003c/td\u003e\n          \u003ctd\u003e线路拥塞，不是封锁\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e只有晚高峰断\u003c/td\u003e\n          \u003ctd\u003eQoS 限速，不是封锁\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e验证 IP 是否被墙的最快方法：用国内网络和海外网络分别 ping，\u003cstrong\u003e海外能 ping 国内不行\u003c/strong\u003e = 被墙。\u003c/p\u003e\n\u003cp\u003e在线工具：\u003ca href=\"https://ping.pe\"\u003eping.pe\u003c/a\u003e，输入 IP 从多个国家测试连通性。\u003c/p\u003e\n\u003ch2 id=\"第二步应急切换\"\u003e第二步：应急切换\u003c/h2\u003e\n\u003ch3 id=\"如果有备用节点\"\u003e如果有备用节点\u003c/h3\u003e\n\u003cp\u003e这是最重要的一课：\u003cstrong\u003e永远不要只有一个节点\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e我的 mihomo 配置了自动故障切换：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eproxy-groups\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;自动选择\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003efallback         \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 有节点挂了自动切换\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eurl\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ehttp://www.gstatic.com/generate_204\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003einterval\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e30\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eproxies\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eDMIT-HK\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eDMIT-US\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003e腾讯云-JP\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e主节点被封后 30 秒内自动切到备用，用户无感知。\u003c/p\u003e","title":"VPS 被封 IP 怎么办：应急处理和长期防封策略"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n同样是网格交易，Pionex 和 Binance 的差别比很多人想象的大。我两个都在用，这篇文章说说选择逻辑。\n核心区别一览 维度 Pionex Binance 网格机器人费用 免费 需要 BNB 或额外付费 交易手续费 0.05%（挂单/吃单相同） 0.1%（挂单）/ 0.1%（吃单），持 BNB 打折 流动性来源 Binance + Huobi 聚合 Binance 自有 资金托管 存入 Pionex 存在自己的 Binance 账户 策略灵活性 预设模板为主 API 完全开放 机器人种类 16 种内置 网格 + 少量内置 手续费：Pionex 占优 Pionex 网格机器人本身免费，只收 0.05% 交易手续费（做市商和吃单相同）。\nBinance 手续费 0.1%，持 BNB 可以打 75 折（0.075%）。\n跑网格每天可能几十次交易，手续费直接影响盈利。Pionex 手续费低 30-50%，长期跑下来差距明显。\n计算示例（BTC/USDT，本金 10000 USDT，每天 20 次成交）：\nPionex Binance（含BNB折扣） 单次手续费率 0.05% 0.075% 每日手续费 10 USDT 15 USDT 每月手续费 300 USDT 450 USDT 流动性：Binance 占优 Pionex 的流动性是聚合来的（Binance + Huobi），主流大币对基本没问题。但：\n小币对滑点可能比直接在 Binance 大 极端行情下聚合延迟可能导致成交价不理想 如果你主要跑 BTC/ETH 主流币对，差别不大。跑山寨币建议用 Binance。\n资金安全：Binance 占优 这是最重要的区别。\nPionex：资金存在 Pionex 平台，平台有风险就有损失风险（但 Pionex 本身有 Binance 背书）。\nBinance：资金在你自己的账户里，通过 API Key 授权机器人操作（只有交易权限，无提币权限）。平台跑路风险由你自己承担。\n如果资金量大，Binance API 方案安全性更高——即使策略服务崩溃，资金还在自己账户。\n操作门槛 Pionex：注册即用，界面简单，适合入门。点几下就能跑起来一个网格。\nBinance：内置网格机器人功能有限，想用复杂策略需要自己接 API 写代码，或者用第三方工具。\n我的搭配方案 小资金入门 / 不想写代码：用 Pionex，省心，手续费低，直接跑。\n大资金 / 自定义策略：用 Binance API + 自写策略，资金在自己账户，灵活度高。\n两个都用：Pionex 跑主力网格，Binance 跑自定义信号策略（参考我的量化信号系统）。\n注册建议 Pionex：通过推荐链接注册，享受手续费折扣 Binance：通过推荐链接注册，享受 20% 手续费返佣 选平台这件事没有绝对的对错，关键是匹配你的资金量和使用习惯。有具体场景可以来 Telegram 聊。\n⚠️ 本文仅记录个人经验，不构成投资建议。加密货币市场风险极高，请充分了解风险后操作。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/pionex-vs-binance-grid/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"white orange and blue round buttons on brown sand\" loading=\"lazy\" src=\"/images/pionex-vs-binance-grid-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e同样是网格交易，Pionex 和 Binance 的差别比很多人想象的大。我两个都在用，这篇文章说说选择逻辑。\u003c/p\u003e\n\u003ch2 id=\"核心区别一览\"\u003e核心区别一览\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e维度\u003c/th\u003e\n          \u003cth\u003ePionex\u003c/th\u003e\n          \u003cth\u003eBinance\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e网格机器人费用\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003e免费\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e需要 BNB 或额外付费\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e交易手续费\u003c/td\u003e\n          \u003ctd\u003e0.05%（挂单/吃单相同）\u003c/td\u003e\n          \u003ctd\u003e0.1%（挂单）/ 0.1%（吃单），持 BNB 打折\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e流动性来源\u003c/td\u003e\n          \u003ctd\u003eBinance + Huobi 聚合\u003c/td\u003e\n          \u003ctd\u003eBinance 自有\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e资金托管\u003c/td\u003e\n          \u003ctd\u003e存入 Pionex\u003c/td\u003e\n          \u003ctd\u003e存在自己的 Binance 账户\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e策略灵活性\u003c/td\u003e\n          \u003ctd\u003e预设模板为主\u003c/td\u003e\n          \u003ctd\u003eAPI 完全开放\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e机器人种类\u003c/td\u003e\n          \u003ctd\u003e16 种内置\u003c/td\u003e\n          \u003ctd\u003e网格 + 少量内置\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"手续费pionex-占优\"\u003e手续费：Pionex 占优\u003c/h2\u003e\n\u003cp\u003ePionex 网格机器人\u003cstrong\u003e本身免费\u003c/strong\u003e，只收 0.05% 交易手续费（做市商和吃单相同）。\u003c/p\u003e","title":"Pionex vs Binance 网格交易对比：哪个更适合你"},{"content":" Claude API 的成本很容易超出预期——模型能力越强，每次调用越贵，上下文越长越贵。这篇文章分享我控制成本的方法。\nClaude 各模型价格对比（2026） 模型 输入 $/MTok 输出 $/MTok 适用场景 claude-opus-4-6 $15 $75 复杂推理、代码生成 claude-sonnet-4-6 $3 $15 日常任务、写作 claude-haiku-4-5 $0.8 $4 简单分类、摘要 MTok = 百万 token。1 个 token ≈ 0.75 个英文单词 ≈ 0.5 个汉字。\n同样的任务，Haiku 比 Opus 便宜约 15-20 倍。\n最有效的省钱手段：Prompt Cache Anthropic 的 Prompt Cache 功能：对同一个长系统提示词，第一次收费，后续命中缓存只收 10% 的价格。\n# 开启 Prompt Cache 的写法 response = client.messages.create( model=\u0026#34;claude-sonnet-4-6\u0026#34;, system=[ { \u0026#34;type\u0026#34;: \u0026#34;text\u0026#34;, \u0026#34;text\u0026#34;: \u0026#34;你的长系统提示词...\u0026#34;, \u0026#34;cache_control\u0026#34;: {\u0026#34;type\u0026#34;: \u0026#34;ephemeral\u0026#34;} # 标记为可缓存 } ], messages=[{\u0026#34;role\u0026#34;: \u0026#34;user\u0026#34;, \u0026#34;content\u0026#34;: \u0026#34;用户问题\u0026#34;}] ) 实际效果：我的量化运维 Skill，系统提示词约 2000 token，一天调用 50 次：\n没有缓存：50 × 2000 × $3/MTok = $0.30/天 有缓存（假设 90% 命中）：初始 $0.006 + 命中 $0.027 = $0.033/天 节省约 90% 的系统提示词费用。\n按任务选模型 最大的错误是一切都用最强的模型。\n任务类型 推荐模型 写代码、复杂分析 Sonnet 或 Opus 写文章、回答问题 Sonnet 简单分类、判断 Haiku 格式转换、摘要 Haiku Claude Code 日常 Sonnet（默认就是） Claude Code 里可以用 /model 切换模型，对话中途切换也生效。\n减少不必要的 Token 1. 压缩系统提示词\n把冗余的说明去掉，同样的信息用更少的词表达。从 3000 token 压到 1500 token，成本直接减半。\n2. 控制上下文窗口\nClaude Code 的对话越长，每次调用的输入 token 越多（要把历史对话都带上）。复杂任务完成后用 /clear 清空上下文，开新对话。\n3. 用工具减少来回\n与其让 AI 猜你要什么再修改，不如一开始把需求写清楚。一次成功比三次修改便宜。\nClaude Code 的 Prompt Cache 效果 Claude Code 会自动对系统提示词做缓存。实测数据：\n一个有完整 Skill 背景（约 5000 token 系统提示词）的会话，第一条消息之后，后续每条消息的系统提示词缓存命中率接近 100%，实际输入费用降低约 80-90%。\n这也是为什么写好 Skill 是值得投入的——好的 Skill 不仅让 AI 效果更好，缓存命中还能省钱。\nCopilot Pro+ 还是纯 API 两种付费方式的对比：\nCopilot Pro+ 订阅（月费制）\n月费固定，不用担心超支 有用量上限（高峰期可能限速） 适合：Claude Code 中度用户 纯 API 按量计费\n用多少付多少，无上限 适合：重度用户或企业场景 需要设置消费上限避免意外超支 我自己用 Copilot Pro+，日常 Claude Code 够用，偶尔跑大任务（比如分析上百个文件）才会碰到限制。\n实际月账单参考 我的用法：每天约 20-30 次 Claude Code 会话，每次平均 10 轮对话，任务类型混合（写代码、运维、写文章）。\nCopilot Pro+ 月费 $19，基本够用。如果单纯 API 计费，估计 $20-40/月（主要是 Sonnet，偶尔 Opus）。\n有 Claude API 用量或账单相关的问题，欢迎来 Telegram 交流，或关注 X @panshi8848。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-api-cost-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Artificial intelligence concept within a human head\" loading=\"lazy\" src=\"/images/claude-api-cost-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eClaude API 的成本很容易超出预期——模型能力越强，每次调用越贵，上下文越长越贵。这篇文章分享我控制成本的方法。\u003c/p\u003e\n\u003ch2 id=\"claude-各模型价格对比2026\"\u003eClaude 各模型价格对比（2026）\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e模型\u003c/th\u003e\n          \u003cth\u003e输入 $/MTok\u003c/th\u003e\n          \u003cth\u003e输出 $/MTok\u003c/th\u003e\n          \u003cth\u003e适用场景\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-opus-4-6\u003c/td\u003e\n          \u003ctd\u003e$15\u003c/td\u003e\n          \u003ctd\u003e$75\u003c/td\u003e\n          \u003ctd\u003e复杂推理、代码生成\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-sonnet-4-6\u003c/td\u003e\n          \u003ctd\u003e$3\u003c/td\u003e\n          \u003ctd\u003e$15\u003c/td\u003e\n          \u003ctd\u003e日常任务、写作\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-haiku-4-5\u003c/td\u003e\n          \u003ctd\u003e$0.8\u003c/td\u003e\n          \u003ctd\u003e$4\u003c/td\u003e\n          \u003ctd\u003e简单分类、摘要\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eMTok = 百万 token。1 个 token ≈ 0.75 个英文单词 ≈ 0.5 个汉字。\u003c/p\u003e\n\u003cp\u003e同样的任务，Haiku 比 Opus 便宜约 \u003cstrong\u003e15-20 倍\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"最有效的省钱手段prompt-cache\"\u003e最有效的省钱手段：Prompt Cache\u003c/h2\u003e\n\u003cp\u003eAnthropic 的 Prompt Cache 功能：对同一个长系统提示词，第一次收费，后续命中缓存只收 10% 的价格。\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 开启 Prompt Cache 的写法\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eresponse\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eclient\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003emessages\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecreate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003emodel\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;claude-sonnet-4-6\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esystem\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            \u003cspan class=\"s2\"\u003e\u0026#34;type\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;text\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            \u003cspan class=\"s2\"\u003e\u0026#34;text\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;你的长系统提示词...\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            \u003cspan class=\"s2\"\u003e\u0026#34;cache_control\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;type\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;ephemeral\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e  \u003cspan class=\"c1\"\u003e# 标记为可缓存\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e],\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003emessages\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"p\"\u003e[{\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;role\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;user\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;用户问题\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e}]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e实际效果\u003c/strong\u003e：我的量化运维 Skill，系统提示词约 2000 token，一天调用 50 次：\u003c/p\u003e","title":"Claude API 省钱指南：从每月几百到几十美元的用量控制"},{"content":" OpenClaw 默认配置跑一段时间会遇到两个问题：额度消耗太快、长会话超时崩溃。这篇文章记录我实际调优的 8 个参数，以及背后的原因。\n先说清楚架构 我用的组合：\nGitHub Copilot Pro+：月付 $19，提供 1500 次/月的 premium request 额度 Claude Opus 4.6：通过 Copilot 的模型路由访问，模型 ID github-copilot/claude-opus-4.6 OpenClaw：负责 Telegram 交互、Skill 调用、定时任务 额度计算逻辑：每次 AI 助手回复 = 1 次 premium request（包括 tool call 后的回复）。1500 次听起来很多，但没优化的话很快就不够用。\n8 项标准优化 1. 模型只保留 Copilot，清空 fallbacks 问题：默认配置有多个 model provider 做 fallback，一旦主模型超时，会依次尝试所有 fallback，每次尝试都消耗额度。\n优化：\n{ \u0026#34;agents\u0026#34;: { \u0026#34;defaults\u0026#34;: { \u0026#34;model\u0026#34;: { \u0026#34;primary\u0026#34;: \u0026#34;github-copilot/claude-opus-4.6\u0026#34;, \u0026#34;fallbacks\u0026#34;: [] } } } } fallbacks 清空后，失败直接报错，不会触发 2-3 次无效重试。每月节省约 50 次。\n2. 超时从 600s 降到 300s 问题：默认 600 秒超时意味着一次卡住的请求要等 10 分钟才报错，这段时间后续消息全部积压。\n优化：\n{ \u0026#34;agents\u0026#34;: { \u0026#34;defaults\u0026#34;: { \u0026#34;timeoutSeconds\u0026#34;: 300 } } } 300 秒对于正常任务绰绰有余，能更快发现异常，减少因超时引发的重试链。\n3. Session Compaction：safeguard 模式 问题：长时间运维会话（比如调试一个服务器问题来回 SSH 几十次），上下文会膨胀到 API 拒绝接受，然后触发重试。\n优化：\n{ \u0026#34;compaction\u0026#34;: { \u0026#34;mode\u0026#34;: \u0026#34;safeguard\u0026#34;, \u0026#34;reserveTokensFloor\u0026#34;: 120000 } } safeguard 模式：当上下文接近模型 context 上限时，自动压缩历史，保留关键内容，防止因 context 过长导致的 API 报错。reserveTokensFloor 是保留的输出 token 缓冲。\n4. Context Pruning：30 分钟 TTL 这是效果最显著的优化。\n问题：tool call 的输出（SSH 命令结果、文件内容、API 响应）通常很长，但 30 分钟后基本没有参考价值，却还占着 context 的大量空间。\n优化：\n{ \u0026#34;contextPruning\u0026#34;: { \u0026#34;mode\u0026#34;: \u0026#34;cache-ttl\u0026#34;, \u0026#34;ttl\u0026#34;: \u0026#34;30m\u0026#34;, \u0026#34;keepLastAssistants\u0026#34;: 5, \u0026#34;minPrunableToolChars\u0026#34;: 30000, \u0026#34;softTrim\u0026#34;: { \u0026#34;maxChars\u0026#34;: 3000, \u0026#34;headChars\u0026#34;: 1000, \u0026#34;tailChars\u0026#34;: 1000 }, \u0026#34;hardClear\u0026#34;: { \u0026#34;enabled\u0026#34;: true, \u0026#34;placeholder\u0026#34;: \u0026#34;[旧工具输出已清理]\u0026#34; } } } 关键参数说明：\nttl: \u0026quot;30m\u0026quot;：30 分钟前的 tool 输出自动进入裁剪候选 keepLastAssistants: 5：保留最近 5 条 AI 回复（保持对话连贯性） minPrunableToolChars: 30000：只有超过 3 万字符的 tool 输出才裁剪（避免误裁） softTrim：保留头尾各 1000 字符，中间折叠为占位符 hardClear：超限时完全清空替换为占位文字 实际效果：context 大小减少 50%+，长会话稳定性大幅提升。\n5. 关闭 Discord 问题：Discord WebSocket 连接不稳定，频繁断连会触发 gateway 异常，进而导致一连串错误重试，消耗额度。\n{ \u0026#34;channels\u0026#34;: { \u0026#34;discord\u0026#34;: { \u0026#34;enabled\u0026#34;: false } } } 我的使用场景只用 Telegram，Discord 直接关掉。每月节省约 100 次。\n6. 关闭 Heartbeat 问题：Heartbeat 是 OpenClaw 的存活检测机制，默认每 30 分钟发一次 ping，每次 ping = 1 次 API 调用。\n{ \u0026#34;agents\u0026#34;: { \u0026#34;defaults\u0026#34;: { \u0026#34;heartbeat\u0026#34;: { \u0026#34;every\u0026#34;: \u0026#34;\u0026#34; } } } } 关掉后每天节省 48 次调用，每月 节省约 1440 次。这是最大的单项节省。\n7. 清理无用 Model Providers 问题：配置了多个 model provider（openrouter、各种 API 代理），gateway 启动时会对所有 provider 做后台健康检查，每次检查消耗额度。\n{ \u0026#34;models\u0026#34;: { \u0026#34;providers\u0026#34;: {} } } 只保留 github-copilot，其他全删。每月节省 20-50 次。\n8. 关闭 Exec 审批（新版 4.5+） 问题：新版 OpenClaw 默认开启 elevated 权限审批，AI 执行 shell 命令时需要用户确认，会卡住自动化工作流。\n在 openclaw.json 的 exec 配置里：\n{ \u0026#34;exec\u0026#34;: { \u0026#34;requireApproval\u0026#34;: false } } 适合信任你的运维场景，不适合多人共享或不确定任务的场景。\n一键应用脚本 以上 8 项可以用这段 Python 脚本批量写入：\nimport json, os path = os.path.expanduser(\u0026#34;~/.openclaw/openclaw.json\u0026#34;) with open(path) as f: c = json.load(f) d = c.setdefault(\u0026#34;agents\u0026#34;, {}).setdefault(\u0026#34;defaults\u0026#34;, {}) # 1. 模型 + 清空 fallbacks d[\u0026#34;model\u0026#34;] = {\u0026#34;primary\u0026#34;: \u0026#34;github-copilot/claude-opus-4.6\u0026#34;, \u0026#34;fallbacks\u0026#34;: []} # 2. 超时 300s d[\u0026#34;timeoutSeconds\u0026#34;] = 300 # 3. Session Compaction d[\u0026#34;compaction\u0026#34;] = { \u0026#34;mode\u0026#34;: \u0026#34;safeguard\u0026#34;, \u0026#34;reserveTokensFloor\u0026#34;: 120000 } # 4. Context Pruning d[\u0026#34;contextPruning\u0026#34;] = { \u0026#34;mode\u0026#34;: \u0026#34;cache-ttl\u0026#34;, \u0026#34;ttl\u0026#34;: \u0026#34;30m\u0026#34;, \u0026#34;keepLastAssistants\u0026#34;: 5, \u0026#34;minPrunableToolChars\u0026#34;: 30000, \u0026#34;softTrim\u0026#34;: {\u0026#34;maxChars\u0026#34;: 3000, \u0026#34;headChars\u0026#34;: 1000, \u0026#34;tailChars\u0026#34;: 1000}, \u0026#34;hardClear\u0026#34;: {\u0026#34;enabled\u0026#34;: True, \u0026#34;placeholder\u0026#34;: \u0026#34;[旧工具输出已清理]\u0026#34;} } # 6. 关闭 Heartbeat d[\u0026#34;heartbeat\u0026#34;] = {\u0026#34;every\u0026#34;: \u0026#34;\u0026#34;} # 5. 关闭 Discord c.setdefault(\u0026#34;channels\u0026#34;, {}).setdefault(\u0026#34;discord\u0026#34;, {})[\u0026#34;enabled\u0026#34;] = False # 7. 清理 providers c.setdefault(\u0026#34;models\u0026#34;, {})[\u0026#34;providers\u0026#34;] = {} with open(path, \u0026#34;w\u0026#34;) as f: json.dump(c, f, indent=2, ensure_ascii=False) print(\u0026#34;配置已更新，重启 openclaw gateway 生效\u0026#34;) 运行后重启 gateway：\nopenclaw gateway restart 版本兼容性注意 部分参数只在新版（4.5+）支持，旧版写入会导致 gateway 启动失败：\n参数 旧版 ≤3.28 新版 4.5+ compaction.notifyUser ❌ 不支持 ✅ compaction.memoryFlush ❌ 不支持 ✅ auth.cooldowns ❌ 不支持 ✅ discord 配置键名 allow enabled 如果 gateway 重启失败，先用 openclaw gateway logs 看具体报错，通常是某个不支持的字段导致的。\n优化后的月度用量 优化前：Heartbeat + Discord + fallbacks + context 膨胀，单日可能消耗 150+ 次。\n优化后（1500 次/月分配）：\n用途 日均 月估算 日常运维对话 30-50 次 600-800 次 量化策略巡检 0（直接 cron，不走 AI） 0 定时天气/报告 2 次 60 次 合计 ~660-860 次 1500 次的额度留有充足余量，即便某天密集运维消耗 200 次，月末也不会超限。\n有 OpenClaw 配置问题或者额度不够用的情况，欢迎来 Telegram 聊。\n延伸阅读：\nOpenClaw 是什么 — 整体架构介绍 OpenClaw 故障排查 — 常见问题处理 Claude API 省钱指南 — API 直连的成本控制 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-copilot-opus-tuning/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A laptop computer sitting on top of a wooden desk\" loading=\"lazy\" src=\"/images/openclaw-copilot-opus-tuning-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eOpenClaw 默认配置跑一段时间会遇到两个问题：\u003cstrong\u003e额度消耗太快\u003c/strong\u003e、\u003cstrong\u003e长会话超时崩溃\u003c/strong\u003e。这篇文章记录我实际调优的 8 个参数，以及背后的原因。\u003c/p\u003e\n\u003ch2 id=\"先说清楚架构\"\u003e先说清楚架构\u003c/h2\u003e\n\u003cp\u003e我用的组合：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGitHub Copilot Pro+\u003c/strong\u003e：月付 $19，提供 1500 次/月的 premium request 额度\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e：通过 Copilot 的模型路由访问，模型 ID \u003ccode\u003egithub-copilot/claude-opus-4.6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOpenClaw\u003c/strong\u003e：负责 Telegram 交互、Skill 调用、定时任务\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e额度计算逻辑：每次 AI 助手回复 = 1 次 premium request（包括 tool call 后的回复）。1500 次听起来很多，但没优化的话很快就不够用。\u003c/p\u003e\n\u003ch2 id=\"8-项标准优化\"\u003e8 项标准优化\u003c/h2\u003e\n\u003ch3 id=\"1-模型只保留-copilot清空-fallbacks\"\u003e1. 模型只保留 Copilot，清空 fallbacks\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e问题\u003c/strong\u003e：默认配置有多个 model provider 做 fallback，一旦主模型超时，会依次尝试所有 fallback，每次尝试都消耗额度。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e优化\u003c/strong\u003e：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-json\" data-lang=\"json\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nt\"\u003e\u0026#34;agents\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nt\"\u003e\u0026#34;defaults\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"nt\"\u003e\u0026#34;model\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;primary\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;github-copilot/claude-opus-4.6\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"nt\"\u003e\u0026#34;fallbacks\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"p\"\u003e[]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003efallbacks 清空后，失败直接报错，不会触发 2-3 次无效重试。\u003cstrong\u003e每月节省约 50 次\u003c/strong\u003e。\u003c/p\u003e","title":"OpenClaw + GitHub Copilot + Claude Opus 4.6 参数调优实录"},{"content":"什么是中转站「渗水」 LLM API 中转站（把 Claude / GPT / Gemini 等 API 二次转售）这两年很火。但行业里有个公开的秘密：上游通道经常「渗水」——商家界面写着 Claude Sonnet，后台实际把请求路由到便宜得多的模型（Qwen、DeepSeek，或同模型的量化劣化版）。\n更隐蔽的是：被偷换的上游常被注入一段系统提示，强制它自称\u0026quot;我是 Claude，由 Anthropic 制造\u0026quot;。于是你直接问\u0026quot;你是什么模型\u0026quot;，它一口咬定是 Claude——你被骗得明明白白。\n渗水的代价是真实的：产品体验变差、用户流失，你却以为是自己 prompt 没写好——真正的原因是底下的模型被换了。\n为什么\u0026quot;问模型自己是谁\u0026quot;完全没用 最朴素的检测是直接问模型身份。我们做过对照实验：给一批便宜模型注入\u0026quot;你是 Claude\u0026quot;的系统提示后，它们 100% 改口自称 Claude。自我声明这条路被伪装彻底击穿。\n学术界结论一致：模型身份不能靠它自己说，要靠行为指纹——模型在大量受控输入下的输出分布是它的\u0026quot;笔迹\u0026quot;，伪装提示改不了这个笔迹。\n行为指纹检测：原理（高层） 核心思路（不依赖模型自我声明）：\n用一组精心设计的探针输入去问目标端点，收集它的输出。这些探针覆盖分词行为、特定推理、风格习惯等维度——不同模型家族在这些维度上有稳定差异。 把输出转成向量指纹，与各主流模型的参考指纹库做相似度比对。 看\u0026quot;声称的模型家族\u0026quot;与\u0026quot;指纹最像的家族\u0026quot;是否一致。不一致 = 疑似渗水。 这套方法在学术界有坚实基础（如 USENIX Security 2025 的 LLMmap：少量交互即可在数十个模型版本上高准确率识别）。关键点：即使上游被提示伪装自称 Claude，行为指纹依然指向它的真实家族——因为伪装改的是\u0026quot;它说自己是谁\u0026quot;，改不了\u0026quot;它实际怎么答\u0026quot;。\n准确率与边界（诚实说） 干净条件：整模型替换（如 Claude→Qwen）识别准确率很高（我们的实测与公开论文一致，在 96% 量级）。 伪装条件：注入\u0026quot;你是 Claude\u0026quot;后，自我声明被骗，但行为指纹仍能识破真实家族。 弱指纹模型：少数模型家族在向量空间里相互接近，单次判定会有假阳——用多轮投票（多次检测取多数）消除。 检不出的情况（必须诚实）：同一模型的量化/蒸馏劣化版与全精度版指纹接近，目前难以稳定区分；参考库里没有的模型只能判\u0026quot;不像库内任何一个\u0026quot;，不能指名。 所有结论都是概率信号，不是法律证据。 一个脱敏的实测样例 我们用检测器扫描一个测试网关上的一批模型（声称的牌子 vs 指纹实测）：\n声称 指纹实测 结论 Qwen Qwen ✅ 真 DeepSeek DeepSeek ✅ 真 Google Google ✅ 真 某弱指纹模型（单轮） 偶发偏移 ⚠️ 单轮假阳 → 多轮投票后判真 诚实的模型逐个通过；弱指纹模型的单轮假阳被多轮投票纠正。这正是检测系统需要的校准能力。\n你可以自己测 我们把检测器做成了免费工具——你用的模型是真的吗，自己测一下：\n👉 panshi.io/relay-check\n网页版：贴几段模型输出即可快测 CLI 版：下载一个 Python 脚本，用你自己的中转站 key 在本地运行（key 不离开你的机器） 中转站运营者想持续监控所有上游通道、或想开一个自带质检的中转站，看 Relay Guard。\n方法论参考：LLMmap (USENIX Security 2025)、Model Equality Testing 及 LLM fingerprinting 系列工作。本文不公开具体探针与参数。\n","permalink":"https://blog.panshi.io/posts/relay-water-detection/","summary":"\u003ch2 id=\"什么是中转站渗水\"\u003e什么是中转站「渗水」\u003c/h2\u003e\n\u003cp\u003eLLM API 中转站（把 Claude / GPT / Gemini 等 API 二次转售）这两年很火。但行业里有个公开的秘密：\u003cstrong\u003e上游通道经常「渗水」\u003c/strong\u003e——商家界面写着 Claude Sonnet，后台实际把请求路由到便宜得多的模型（Qwen、DeepSeek，或同模型的量化劣化版）。\u003c/p\u003e\n\u003cp\u003e更隐蔽的是：被偷换的上游常被\u003cstrong\u003e注入一段系统提示，强制它自称\u0026quot;我是 Claude，由 Anthropic 制造\u0026quot;\u003c/strong\u003e。于是你直接问\u0026quot;你是什么模型\u0026quot;，它一口咬定是 Claude——你被骗得明明白白。\u003c/p\u003e\n\u003cp\u003e渗水的代价是真实的：产品体验变差、用户流失，你却以为是自己 prompt 没写好——真正的原因是底下的模型被换了。\u003c/p\u003e\n\u003ch2 id=\"为什么问模型自己是谁完全没用\"\u003e为什么\u0026quot;问模型自己是谁\u0026quot;完全没用\u003c/h2\u003e\n\u003cp\u003e最朴素的检测是直接问模型身份。我们做过对照实验：给一批便宜模型注入\u0026quot;你是 Claude\u0026quot;的系统提示后，\u003cstrong\u003e它们 100% 改口自称 Claude\u003c/strong\u003e。自我声明这条路被伪装彻底击穿。\u003c/p\u003e\n\u003cp\u003e学术界结论一致：模型身份不能靠它自己说，要靠\u003cstrong\u003e行为指纹\u003c/strong\u003e——模型在大量受控输入下的输出分布是它的\u0026quot;笔迹\u0026quot;，伪装提示改不了这个笔迹。\u003c/p\u003e\n\u003ch2 id=\"行为指纹检测原理高层\"\u003e行为指纹检测：原理（高层）\u003c/h2\u003e\n\u003cp\u003e核心思路（不依赖模型自我声明）：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e用一组\u003cstrong\u003e精心设计的探针输入\u003c/strong\u003e去问目标端点，收集它的输出。这些探针覆盖分词行为、特定推理、风格习惯等维度——不同模型家族在这些维度上有稳定差异。\u003c/li\u003e\n\u003cli\u003e把输出转成\u003cstrong\u003e向量指纹\u003c/strong\u003e，与各主流模型的\u003cstrong\u003e参考指纹库\u003c/strong\u003e做相似度比对。\u003c/li\u003e\n\u003cli\u003e看\u0026quot;声称的模型家族\u0026quot;与\u0026quot;指纹最像的家族\u0026quot;是否一致。不一致 = 疑似渗水。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e这套方法在学术界有坚实基础（如 USENIX Security 2025 的 LLMmap：少量交互即可在数十个模型版本上高准确率识别）。关键点：\u003cstrong\u003e即使上游被提示伪装自称 Claude，行为指纹依然指向它的真实家族\u003c/strong\u003e——因为伪装改的是\u0026quot;它说自己是谁\u0026quot;，改不了\u0026quot;它实际怎么答\u0026quot;。\u003c/p\u003e\n\u003ch2 id=\"准确率与边界诚实说\"\u003e准确率与边界（诚实说）\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e干净条件\u003c/strong\u003e：整模型替换（如 Claude→Qwen）识别准确率很高（我们的实测与公开论文一致，在 96% 量级）。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e伪装条件\u003c/strong\u003e：注入\u0026quot;你是 Claude\u0026quot;后，自我声明被骗，但行为指纹仍能识破真实家族。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e弱指纹模型\u003c/strong\u003e：少数模型家族在向量空间里相互接近，单次判定会有假阳——用\u003cstrong\u003e多轮投票\u003c/strong\u003e（多次检测取多数）消除。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e检不出的情况\u003c/strong\u003e（必须诚实）：同一模型的\u003cstrong\u003e量化/蒸馏劣化版\u003c/strong\u003e与全精度版指纹接近，目前难以稳定区分；\u003cstrong\u003e参考库里没有的模型\u003c/strong\u003e只能判\u0026quot;不像库内任何一个\u0026quot;，不能指名。\u003c/li\u003e\n\u003cli\u003e所有结论都是\u003cstrong\u003e概率信号，不是法律证据\u003c/strong\u003e。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"一个脱敏的实测样例\"\u003e一个脱敏的实测样例\u003c/h2\u003e\n\u003cp\u003e我们用检测器扫描一个测试网关上的一批模型（声称的牌子 vs 指纹实测）：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e声称\u003c/th\u003e\n          \u003cth\u003e指纹实测\u003c/th\u003e\n          \u003cth\u003e结论\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eQwen\u003c/td\u003e\n          \u003ctd\u003eQwen\u003c/td\u003e\n          \u003ctd\u003e✅ 真\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eDeepSeek\u003c/td\u003e\n          \u003ctd\u003eDeepSeek\u003c/td\u003e\n          \u003ctd\u003e✅ 真\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eGoogle\u003c/td\u003e\n          \u003ctd\u003eGoogle\u003c/td\u003e\n          \u003ctd\u003e✅ 真\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e某弱指纹模型（单轮）\u003c/td\u003e\n          \u003ctd\u003e偶发偏移\u003c/td\u003e\n          \u003ctd\u003e⚠️ 单轮假阳 → 多轮投票后判真\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e诚实的模型逐个通过；弱指纹模型的单轮假阳被多轮投票纠正。这正是检测系统需要的校准能力。\u003c/p\u003e","title":"你的 API 中转站在「渗水」吗？——上游模型真伪检测方法论"},{"content":" 1 个月时间，花了大约 5000 美金 AI 相关订阅和 API（Claude Pro + Claude API + OpenAI API + Copilot Pro+ + Codex + Paseo + 杂项），独立搭起了 18 大类系统，总代码量粗略估计 5 万行以上（不含 AI 生成的自动化脚本）。\n作为对比：同样的功能如果招 2 个全栈工程师从零开发，保守估计 6-12 个月，成本至少 30-60 万人民币。\n本文是清单，按类别梳理每个系统做什么、解决什么问题、如果人工开发需要多少时间。不讲具体技术细节（想看的点进每个链接的详细文档），只讲规模和效率。\n一、量化交易系统（核心板块） 北极星策略家族（polaris 1/5/6 三个策略共存）：\nBTC 趋势跟踪 / 多币种组合 / 合约 + 现货套利 实盘双机热备（主备自动切换） 所有策略统一 Telegram 信号推送 北极星策略介绍 回测实验室（两代）：\nv1（Streamlit 8501）：Python 基础回测，单币种单参数 v2（Streamlit 8502，Numba JIT 加速）：多币种组合、Walk-Forward 验证、蒙特卡洛模拟、参数网格搜索 自动和 aws-sg 实盘机同步 K 线数据 策略运维工具链：\n自动参数优化（夜间 cron 跑网格搜索） 每日复盘报告（aws-sg/jp 向量化计算后 AI 生成摘要推送 TG） 策略 A/B/C 对比看板（Grafana） Mac 本机脱敏备机（5 层安全锁 + 每小时从 aws-sg pull） 如果人工开发：这一套至少 3-4 个月。量化系统从回测到实盘、从参数搜索到双机热备，每一环都是一个中等项目。\n想试水量化又不想写代码？Pionex 内置 16 种机器人，零代码 1 小时上手。\n二、panshi.io 博客 + 引流系统 Hugo 博客 + PaperMod 定制：\n64 篇技术文章，覆盖量化/代理/AI 工具/VPS 等 3 列响应式卡片 grid，默认暗色（消白屏闪烁） 每篇独立 OG 卡片 + hero 图（AI 生成品牌统一风格） 列表缩略图 + 文章详情页 hero 多端部署：\n双活 aws-hk + aws-us（rsync 秒级同步） Cloudflare CDN 前置，md5 三方校验 自定义 Worker 10+（polaris-api / aff-tracker / vps-stock-api / freemail-w3fomo 等） AFF 变现系统：\n14 个 AFF 渠道统一 tracker 短链 按文章归因（?ref=/posts/xxx/） 按 X 来源归因（?ref=x-slug） Prometheus 每 5 分钟采集 + Grafana 面板 Umami 自建事件追踪：\n访问量/来源/设备 AFF 点击事件（aff-click 自定义） 如果人工开发：博客本身 2 周，但 AFF tracker + 多端部署 + 自动化监控，至少 1 个月。图片系统又是 1 个月（见下）。\n三、发布管理系统（9891 · 独立 Web 应用） 一个本机 Web 应用（http://localhost:9891），专门管理 panshi.io 的发布和运营：\n10+ 管理页面：\n文章列表 + AFF 归因 + 筛选（全部/已发布/草稿） 内嵌 Markdown 编辑器（EasyMDE）+ 实时预览 草稿/AI 请求队列 OG 卡片预览（发前看 X 分享长啥样） X 推文管理（列表/刷新/删除） AFF 点击看板 图片库（本地 + Unsplash/Pexels/Pixabay + AI 生成） 设置页（API key + 开关） 发布历史 + 健康 dashboard 7 步发布流水线：\nPre-flight 检查（frontmatter / 敏感词 / AFF 裸链 / 结构 lint） 自动生成 OG + hero 图 Tweet 预览 Hugo build rsync 双活 + md5 三方校验 发 X（三种模式：短推 / Premium 长推 / Thread digest） Telegram 通知 + 归因刷新 10 个定时任务（全部通过 job_runner 纳入监控）：\n文章索引刷新、链接健康扫描、部署漂移检测、AFF 统计同步 推文历史快照、原始 AFF 链接扫描、AFF exporter 健康、OG 图健康 互动数据分析（最佳发布时间 + Evergreen 候选）、发布监控服务常驻 品牌统一 AI 图片生成：\nFlux Schnell 生成 64 张 hero 图，深蓝紫渐变品牌风 本机 PIL 生成 OG 卡片（标题 + 品牌条） 自动压缩 WebP + 多尺寸（首屏 7MB → 80KB，90x 提速） 发布监控系统详细架构\n如果人工开发：这一套独立系统至少 2 个月。\n四、备份容灾系统（3-2-1 架构） 三层备份：\nL1 Mac SSD：秒级恢复、短期历史 L2 iCloud 2TB：跨设备、中期 L3 AWS S3 Deep Archive 东京：灾备、月 ¥0.15 左右 20+ 备份任务覆盖：\nopenclaw 工作区（每天 + 每小时） Obsidian vault（笔记） Mac 系统配置（LaunchAgents 等） 量化代码和数据 Cloudflare KV / Workers / DNS 远程 VPS 配置（cron / systemd） Prometheus 配置 + Grafana dashboards panshi.io 站点 + nginx 配置 周度 git bundle（跨机器容灾） 月度 S3 归档 独立 Web 状态页（9890）：每个任务的健康度（green/yellow/red）+ 错误详情 + Telegram 告警。\n开机补跑机制：Mac 休眠错过定时任务时，启动后自动补跑遗漏的任务。\n如果人工开发：完整 3-2-1 备份 + 统一监控至少 1 个半月。\n五、Mac 定时任务监控（9888） 所有 Mac 本机的 cron / launchd 任务（目前 34 个）统一心跳机制：\njob_runner.sh 包装所有任务，成功写心跳时间戳 Prometheus textfile + node_exporter 采集 独立监控服务器 Grafana 可视化（监控 Mac 本机） 状态变化实时推 Telegram 任务出现/消失自动检测 如果人工开发：监控基础设施 + 状态页至少 3 周。\n六、网关 / 代理架构（家庭办公 + 量化出口） 双网关冗余：\n主网关：OpenWrt + passwall（2026-04-13 新部署） 备网关：mihomo（原主，现降级为备用） 故障自动切换 家宽代理链路：\n7 节点自动 fallback（美国 / 日本 / 香港家庭宽带） 用于 AI 工具（ChatGPT / Claude / Gemini 防封号） 住宅 IP 出口保障量化策略不被交易所风控 Surge fail-closed 监控：\nSurge 崩了自动激活 PF 防火墙 killswitch 境外流量全封禁，确保不走国内直连 状态栏显示当前保护状态（自研 Swift 程序） 协议栈：\nXray VLESS + XTLS + Reality Hysteria2（QUIC，高速） Cloudflare Workers VLESS（零成本节点） 住宅 IP 出口完整配置 · VPS 买 DMIT · IPRoyal 住宅 IP\n如果人工开发：网关 + 代理 + fail-closed 监控 1 个月+。\n七、NetworkGuard 状态栏应用（Swift 原生） Mac 状态栏独立小程序：\n实时监控 Surge 进程和 PF 防火墙状态 状态栏图标：绿（保护中）/ 红（已失守） Web dashboard 展示详细数据 防\u0026quot;出门 Macbook 连 AIGC API 误走国内 IP 被封号\u0026quot; 参考 我在 Mac 状态栏做了一个网络安全卫士。\n如果人工开发：Swift + PF 交互 2 周。\n八、OpenClaw 系统（AI 工具链编排） 核心：Claude Code + 外部系统联动平台\nTelegram 消息触发 AI 任务链 多 Agent 协作（一个查 API，一个分析，一个推送） Skill 系统扩展（我有 10+ 自定义 Skill） 量化工作流集成（\u0026ldquo;检查所有账户风险\u0026quot;一条指令 3 秒完成） 九、AI 工具生态（Claude Code / Codex / Copilot / Paseo） 双通道 Claude Code：\n官方 Claude Pro 通道（固定月费） Copilot Pro+ 后端通道（搭车免费） Alias 一键切换 模型策略：\n默认 Sonnet（性价比） Opus 只在质量不够时回退 Haiku 做批处理（省 90%） 三档混合月均 API 成本降 60% 会话管理：\nPaseo 多 agent 模式 Claude Code 长会话断点救援 图片累积爆 bug 自动清理 用量监控：\nCopilot usage 每小时 + 每天汇总 OpenRouter 每天余额检查 十、cmux 会话管理 多进程 Claude Code 并行（这篇文章就是其中一个会话在写），每个会话独立工作区 + 独立 git worktree，避免互相干扰。\n十一、VPS 库存实时监控（panshi.io/stock 页） 监控 5 家 VPS 商（搬瓦工/RackNerd/CloudCone/DMIT/Akile）热门套餐库存 主备 checker 冗余（国内家庭 VPS + 海外 VPS） CF Worker 聚合 + 5 分钟前端自动刷新 订阅用户缺货 → 有货时 Telegram 推送 VPS 选购矩阵完整对比。\n如果人工开发：反爬 + 主备切换 + 订阅通知 1 个月。\n十二、Telegram Bot 生态 7+ 个独立 bot 分工：\nas_monitor：运维告警（网关 / 备份 / 量化） polaris-signal-to-x：策略信号 → X 推文 as_fam：家庭设备监控 SSH 登录通知：每次 SSH 登录记录 + TG 推送 还有几个各司其职 每个 bot 独立 token + 独立群 chat_id + 独立告警路径，互不干扰。\n十三、监控告警链路（独立监控服务器） 全栈监控：\nPrometheus（指标采集） Grafana（可视化，13 个 dashboard） Alertmanager + tg-webhook（Telegram 告警） 监控对象：\n10+ 台 VPS（CPU/内存/磁盘/网络/SSH 登录） Mac 本机 34 个定时任务 量化策略 P\u0026amp;L 实时曲线 线路监控（Hysteria2 UDP / Xray TCP / 家宽代理） 网关状态总览 AFF 点击 / 订阅数（新上） 发布系统任务健康 十四、Obsidian + Mac 配置自动备份 笔记 git 自动 commit + 每小时 + 每天 tag Mac 系统配置（LaunchAgents / 自定义脚本 / Surge profile 等）每日自动 commit 到 iCloud 自动恢复流程文档 十五、iPhone / iPad / Mac Surge 配置同步 三端 Surge profile 版本管理：\nMac 为主编辑器 iPhone / iPad pull 时自动诊断域名 vs IP 问题 避免\u0026quot;某端没同步导致漏出口\u0026rdquo; 十六、远程桌面 + SSH 巡检 RustDesk 8K 方案：\n开源 + 自建中继 替代 TeamViewer / 向日葵（更便宜 + 更私密） SSH 连接巡检：\n每日 AI 自动巡检 10+ 台机器 报告每台资源使用 / 异常日志 / 待处理事项 摘要发 Telegram 十七、X 相关系统 X 收藏同步：每天抓新收藏整理到 Obsidian X API 发布（polaris-signal-to-x bot） X thread digest 发布（新）：Markdown 文章 → AI 生成 5-10 条 thread 十八、公开 GitHub 项目 已在 GitHub 开源的工具（已脱敏）：\nclaude-code-image-rescue：Claude Code 长会话图片内存爆 bug 修复工具 更多还在规划。\nAI 开发范式的三个变化 做完这些之后我对\u0026quot;AI + 独立开发\u0026quot;有几个结论：\n1. 代码不再是瓶颈，需求定义是 用 Claude Code 写个 500 行的 Python 脚本，一般对话 20-40 分钟搞定。但\u0026quot;我到底要什么\u0026quot; 这件事 AI 没法帮你决定。\n写清楚需求 + 用 AI 生成代码 + 人工审核 = 最佳节奏。\n2. 部署和维护比初次开发更值钱 上面 18 类系统，70% 的工作量不是\u0026quot;把代码写出来\u0026quot;，是：\n放到哪？（Mac / 服务器 / CF Worker） 怎么守护进程？（launchd / systemd / cron） 怎么监控？（Prometheus + Grafana + 告警） 怎么备份？（失败时怎么恢复） AI 在这些系统集成场景帮助巨大，因为它不会忘记加错误处理、日志、健康检查。\n3. 一致性比个人偏好更重要 所有系统都遵循同一套约定：\n日志：~/.openclaw/workspace/state/ 心跳：Prometheus textfile 告警：Telegram bot 分类 备份：3-2-1 三层 文档：Obsidian Infra-OPS/ 64 份 Claude Code 有记忆系统能跨会话保持这些约定，比我自己记得还牢。\n成本拆解（5000 美金花在哪） 项 约占比 Claude API（Anthropic 直接扣费） ~40% ChatGPT Plus + OpenAI API ~25% GitHub Copilot Pro+ × 2（两个账号） ~20% Cursor / Codex / 其他订阅 ~10% 杂项（Replicate / Cloudinary / etc） ~5% 实际上前 3 项（Claude + OpenAI + Copilot）占 85% — Claude 是主力。\n对于想复制这个模式的朋友 第一步：先有一个\u0026quot;真的要解决的问题\u0026quot; 我上面 18 类系统，每一个都对应具体痛点（量化被封号 / 备份丢数据 / 定时任务漏跑 / X 发布效率低）。没有痛点而为 AI 工具买单，很快就会放弃。\n第二步：选一个工具深用，不要同时四五个 我的组合：\nClaude Code（主力，80% 时间在用）— 省钱指南 GitHub Copilot Pro+ 备选通道 — Claude Code 双通道切换 ChatGPT Plus 偶尔用数据分析 + 图片生成 不推荐同时订 Cursor + Copilot + ChatGPT + Claude，成本和切换心智都太高。\n第三步：把基础设施标准化 日志路径统一 定时任务标准 wrapper（我的是 job_runner.sh） Telegram 通知统一格式 文档放在同一 Obsidian vault 标准化后，Claude Code 能跨任务迁移经验（它看到一个任务的结构就知道下一个怎么做）。\n第四步：允许自己\u0026quot;不完美实现\u0026quot; 我很多系统都是\u0026quot;够用版\u0026quot;，而不是\u0026quot;工程完美版\u0026quot;。例如备份监控 web 9890 就是几百行 Python，没用框架。AI 生成 + 我审核 + 跑起来 = 上线。不要过度设计。\n如果你也想折腾 推荐的工具组合：\nClaude Code 省钱实战 OpenAI Codex CLI 入门 OpenClaw AI 工具链 想试量化交易顺便理解整个链路（最佳练手场景）：\nPionex 网格机器人教程（零代码） 用 Claude Code 给 Pionex 加监控（30 分钟实战） 开个 Pionex 账户跑 $100 一个月，你会对 AI 辅助量化的价值有具象感知 基础设施辅助工具：\nDMIT VPS（香港 / 日本线路稳定） IPRoyal 住宅 IP（AI 工具 + 量化必备） Google One AI Premium（Gemini Advanced + 2TB 云存储） 一个诚实的对比 人们常问\u0026quot;AI 到底有没有用\u0026quot;。我的答案：\n项 不用 AI 用 AI（我的经验） 写一个新脚本 3-8 小时（查文档/Stack Overflow/踩坑） 20-40 分钟（描述需求 → 审核 → 测试） 调试一个报错 偶尔 1 整天 10 分钟内定位 维护 30+ 定时任务 每月 10 小时消防 每月 1-2 小时（大部分 AI 自动处理） 写一篇技术博客 3-4 小时 1 小时（大纲人定 + AI 填内容 + 人审） 学一个新领域 1-2 周入门 半天（AI 陪读答疑） 乘上 18 大类系统 + 365 天，这就是 100x 效率的来源。\n不是 AI 替代人，是**\u0026ldquo;懂业务 + 会用 AI\u0026quot;的一个人等于过去一个小团队**。\n想聊 AI 工作流 / 量化 / 独立开发：Telegram @panshi8848，或 X @panshi8848 私信。\n延伸阅读：\nClaude Code 真实使用体验 OpenClaw AI 工具链平台 Claude API 省钱指南 用 Claude Code 监控 Pionex 量化策略为什么需要住宅 IP ","permalink":"https://blog.panshi.io/posts/5000-usd-token-what-i-built/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"5000 美金 Token 换来的系统清单\" loading=\"lazy\" src=\"/images/5000-usd-token-what-i-built-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 个月时间\u003c/strong\u003e，花了大约 \u003cstrong\u003e5000 美金 AI 相关订阅和 API\u003c/strong\u003e（Claude Pro + Claude API + OpenAI API + Copilot Pro+ + Codex + Paseo + 杂项），独立搭起了 \u003cstrong\u003e18 大类系统\u003c/strong\u003e，总代码量粗略估计 \u003cstrong\u003e5 万行以上\u003c/strong\u003e（不含 AI 生成的自动化脚本）。\u003c/p\u003e\n\u003cp\u003e作为对比：同样的功能如果招 2 个全栈工程师从零开发，保守估计 \u003cstrong\u003e6-12 个月\u003c/strong\u003e，成本至少 \u003cstrong\u003e30-60 万人民币\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e本文是清单，按类别梳理每个系统做什么、解决什么问题、如果人工开发需要多少时间。不讲具体技术细节（想看的点进每个链接的详细文档），只讲\u003cstrong\u003e规模\u003c/strong\u003e和\u003cstrong\u003e效率\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"一量化交易系统核心板块\"\u003e一、量化交易系统（核心板块）\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e北极星策略家族\u003c/strong\u003e（polaris 1/5/6 三个策略共存）：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBTC 趋势跟踪 / 多币种组合 / 合约 + 现货套利\u003c/li\u003e\n\u003cli\u003e实盘双机热备（主备自动切换）\u003c/li\u003e\n\u003cli\u003e所有策略统一 Telegram 信号推送\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/posts/polaris-strategy-intro/\"\u003e北极星策略介绍\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e回测实验室（两代）\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ev1（Streamlit 8501）：Python 基础回测，单币种单参数\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ev2（Streamlit 8502，Numba JIT 加速）\u003c/strong\u003e：多币种组合、Walk-Forward 验证、蒙特卡洛模拟、参数网格搜索\u003c/li\u003e\n\u003cli\u003e自动和 aws-sg 实盘机同步 K 线数据\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e策略运维工具链\u003c/strong\u003e：\u003c/p\u003e","title":"消耗 5000 美金 Token，我用 AI 做了什么"},{"content":" IPRoyal 住宅 IP 池有 2000 万+ IP，关键是怎么用。粘性（Sticky）一个 IP 用 30 分钟适合账号登录场景，轮换（Rotating）每次请求换 IP 适合爬虫、批量注册、反风控。本文用 Python 实现轮换 + 重试的完整方案。\n两种模式区别 模式 IP 切换频率 适用场景 Sticky 每 10/30 分钟换一次 账号登录、API 调用、量化持续会话 Rotating 每次请求随机换 爬虫、批量注册、反风控 IPRoyal 后台可以生成两种模式的代理凭证。\nRotating 代理凭证格式 登录 IPRoyal Dashboard → Residential → Generate → 选 Rotating → 拿到：\nProxy: gw.iproyal.com Port: 12321 Username: YOUR_USER Password: YOUR_PASS_country-us_session-rotate session-rotate 是关键：每次发请求都会从池子里抓新 IP。\nPython 基础用法 import requests proxy_url = \u0026#34;http://USER:PASS_country-us_session-rotate@gw.iproyal.com:12321\u0026#34; proxies = {\u0026#34;http\u0026#34;: proxy_url, \u0026#34;https\u0026#34;: proxy_url} for i in range(5): r = requests.get(\u0026#34;https://ipinfo.io/json\u0026#34;, proxies=proxies, timeout=10) print(f\u0026#34;Request {i+1}: {r.json()[\u0026#39;ip\u0026#39;]} ({r.json().get(\u0026#39;city\u0026#39;)})\u0026#34;) 预期输出：\nRequest 1: 142.176.xx.xx (San Diego) Request 2: 71.192.xx.xx (New York) Request 3: 98.44.xx.xx (Austin) Request 4: 24.128.xx.xx (Boston) Request 5: 104.128.xx.xx (Chicago) 每次请求都是不同的住宅 IP，像不同地方的普通家庭用户在访问。\n实战 1：爬虫反封禁 爬大型网站（如亚马逊商品价、Google 搜索结果）时经常被 ban。轮换 IP 让目标网站认为你是\u0026quot;很多不同用户\u0026quot;而不是机器人。\nimport requests import time from urllib.parse import quote proxy = \u0026#34;http://USER:PASS_country-us_session-rotate@gw.iproyal.com:12321\u0026#34; PROXIES = {\u0026#34;http\u0026#34;: proxy, \u0026#34;https\u0026#34;: proxy} def scrape_url(url, max_retries=3): \u0026#34;\u0026#34;\u0026#34;每次失败自动换 IP 重试\u0026#34;\u0026#34;\u0026#34; for attempt in range(max_retries): try: # session-rotate 保证每次重试都是新 IP r = requests.get(url, proxies=PROXIES, timeout=15, headers={\u0026#34;User-Agent\u0026#34;: \u0026#34;Mozilla/5.0 ...\u0026#34;}) if r.status_code == 200: return r.text elif r.status_code in (403, 429, 503): print(f\u0026#34; 被 ban ({r.status_code})，换 IP 重试 [{attempt+1}]\u0026#34;) time.sleep(2) continue else: print(f\u0026#34; HTTP {r.status_code}\u0026#34;) return None except requests.Timeout: print(f\u0026#34; 超时，重试 [{attempt+1}]\u0026#34;) time.sleep(3) except requests.RequestException as e: print(f\u0026#34; error: {e}\u0026#34;) time.sleep(2) return None # 示例：爬 100 个 URL urls = [f\u0026#34;https://example.com/product/{i}\u0026#34; for i in range(100)] for u in urls: html = scrape_url(u) if html: process(html) # 你的解析逻辑 time.sleep(0.5) # 温和一点 关键：session-rotate 让每次 requests.get() 都用新 IP，所以被 ban 的请求重试时自动换 IP，不需要手动切换。\n实战 2：绕过地区限制 某些网站只对特定地区开放。IPRoyal 支持指定国家：\n# 美国 IP us_proxy = \u0026#34;http://USER:PASS_country-us_session-rotate@gw.iproyal.com:12321\u0026#34; # 日本 IP jp_proxy = \u0026#34;http://USER:PASS_country-jp_session-rotate@gw.iproyal.com:12321\u0026#34; # 英国 IP uk_proxy = \u0026#34;http://USER:PASS_country-gb_session-rotate@gw.iproyal.com:12321\u0026#34; def get_by_country(url, country=\u0026#34;us\u0026#34;): proxy_url = f\u0026#34;http://USER:PASS_country-{country}_session-rotate@gw.iproyal.com:12321\u0026#34; return requests.get(url, proxies={\u0026#34;http\u0026#34;: proxy_url, \u0026#34;https\u0026#34;: proxy_url}).text # 爬 Netflix 美国和日本的不同内容 html_us = get_by_country(\u0026#34;https://netflix.com/browse\u0026#34;, \u0026#34;us\u0026#34;) html_jp = get_by_country(\u0026#34;https://netflix.com/browse\u0026#34;, \u0026#34;jp\u0026#34;) 实战 3：批量账号注册 （法律注意：请确保目标网站 ToS 允许。常见合规场景：同人邮箱注册多个正当业务账号，或测试用途）\nimport random def register_account(email, password, country=\u0026#34;us\u0026#34;): proxy_url = f\u0026#34;http://USER:PASS_country-{country}_session-rotate@gw.iproyal.com:12321\u0026#34; PROXIES = {\u0026#34;http\u0026#34;: proxy_url, \u0026#34;https\u0026#34;: proxy_url} # 模拟真人行为：随机延迟 time.sleep(random.uniform(2, 5)) # 访问注册页先（获取 CSRF token） session = requests.Session() session.proxies = PROXIES session.headers[\u0026#34;User-Agent\u0026#34;] = random_user_agent() resp = session.get(\u0026#34;https://target.com/register\u0026#34;) csrf = extract_csrf(resp.text) time.sleep(random.uniform(3, 8)) # 模拟\u0026#34;填写表单\u0026#34;时间 resp = session.post(\u0026#34;https://target.com/register\u0026#34;, data={ \u0026#34;email\u0026#34;: email, \u0026#34;password\u0026#34;: password, \u0026#34;_csrf\u0026#34;: csrf, }) return resp.status_code == 200 # 批量 emails = load_emails() for email in emails: success = register_account(email, \u0026#34;StrongPass123!\u0026#34;, random.choice([\u0026#34;us\u0026#34;, \u0026#34;gb\u0026#34;, \u0026#34;ca\u0026#34;])) print(f\u0026#34;{email}: {\u0026#39;✓\u0026#39; if success else \u0026#39;✗\u0026#39;}\u0026#34;) time.sleep(random.uniform(30, 120)) # 账号间足够间隔 实战 4：量化策略的请求分散 Binance 对单个 IP 有 rate limit（每分钟请求数）。如果量化策略频繁调用，轮换 IP 能绕开这个限制：\nimport random PROXY_POOL = [ f\u0026#34;http://USER:PASS_country-us_session-rotate@gw.iproyal.com:12321\u0026#34;, f\u0026#34;http://USER:PASS_country-jp_session-rotate@gw.iproyal.com:12321\u0026#34;, f\u0026#34;http://USER:PASS_country-sg_session-rotate@gw.iproyal.com:12321\u0026#34;, ] def binance_request(path): \u0026#34;\u0026#34;\u0026#34;分散请求到不同地区的住宅 IP\u0026#34;\u0026#34;\u0026#34; proxy = random.choice(PROXY_POOL) return requests.get(f\u0026#34;https://api.binance.com{path}\u0026#34;, proxies={\u0026#34;https\u0026#34;: proxy}, timeout=5) # 并发用这个函数，每次请求都是新地区的新 IP 失败重试的更好姿势（用 tenacity） 手写重试容易漏情况。用 tenacity 库：\nfrom tenacity import retry, stop_after_attempt, wait_exponential @retry(stop=stop_after_attempt(5), wait=wait_exponential(multiplier=1, min=2, max=30)) def scrape_with_retry(url): r = requests.get(url, proxies=PROXIES, timeout=15) r.raise_for_status() # 4xx/5xx 抛异常触发重试 return r.text 自动指数回退（2s, 4s, 8s, 16s, 30s），且 session-rotate 保证每次都是新 IP。\n费用对比 方案 月成本（10GB 流量） 稳定性 IP 质量 IPRoyal Residential Rotating $70 ⭐⭐⭐⭐⭐ 家庭宽带 Bright Data $300 ⭐⭐⭐⭐⭐ 同上但更贵 免费代理列表 $0 ⭐ 95% 不可用 VPS 自建 $20-50 ⭐⭐⭐ 机房 IP，易封 IPRoyal 是性价比最高的，但贵在流量消耗（按 GB 付费）。爬大图/视频的场景流量消耗快，要算清楚。\n总结 IPRoyal Rotating 模式解决：\n爬虫反封禁 地区限制绕过 批量操作 API rate limit 分散 Python 配合 session-rotate 后缀实现自动换 IP。失败重试用 tenacity 更优雅。\n想开始： → IPRoyal 按流量付费，预充 $5 就能用（2000 万+ 住宅 IP 池）\n注意事项：\n遵守目标网站 ToS 爬虫加合理延迟，别把对方服务器 DDoS 了 数据保密（IPRoyal 看得到你的请求 URL 但看不到内容，HTTPS 加密） 延伸阅读：\nIPRoyal 5 个实战场景 量化代理链 DMIT + IPRoyal mihomo 住宅 IP 配置 AI 工具为什么需要住宅 IP ","permalink":"https://blog.panshi.io/posts/iproyal-rotating-ip-python/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"IPRoyal Python 轮换 IP\" loading=\"lazy\" src=\"/images/iproyal-rotating-ip-python-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eIPRoyal 住宅 IP 池有 2000 万+ IP，关键是怎么用。粘性（Sticky）一个 IP 用 30 分钟适合账号登录场景，轮换（Rotating）每次请求换 IP 适合\u003cstrong\u003e爬虫、批量注册、反风控\u003c/strong\u003e。本文用 Python 实现轮换 + 重试的完整方案。\u003c/p\u003e\n\u003ch2 id=\"两种模式区别\"\u003e两种模式区别\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e模式\u003c/th\u003e\n          \u003cth\u003eIP 切换频率\u003c/th\u003e\n          \u003cth\u003e适用场景\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eSticky\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e每 10/30 分钟换一次\u003c/td\u003e\n          \u003ctd\u003e账号登录、API 调用、量化持续会话\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eRotating\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003e每次请求随机换\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e爬虫、批量注册、反风控\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eIPRoyal 后台可以生成两种模式的代理凭证。\u003c/p\u003e\n\u003ch2 id=\"rotating-代理凭证格式\"\u003eRotating 代理凭证格式\u003c/h2\u003e\n\u003cp\u003e登录 \u003ca href=\"https://aff.panshi.io/track?id=iproyal\u0026amp;ref=/posts/iproyal-rotating-ip-python/\"\u003eIPRoyal Dashboard\u003c/a\u003e → Residential → Generate → 选 Rotating → 拿到：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eProxy: gw.iproyal.com\nPort: 12321\nUsername: YOUR_USER\nPassword: YOUR_PASS_country-us_session-rotate\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003ccode\u003esession-rotate\u003c/code\u003e 是关键：每次发请求都会从池子里抓新 IP。\u003c/p\u003e\n\u003ch2 id=\"python-基础用法\"\u003ePython 基础用法\u003c/h2\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003erequests\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eproxy_url\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;http://USER:PASS_country-us_session-rotate@gw.iproyal.com:12321\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eproxies\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;http\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eproxy_url\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;https\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003eproxy_url\u003c/span\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003ei\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"nb\"\u003erange\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e5\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003er\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003erequests\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eget\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;https://ipinfo.io/json\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eproxies\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"n\"\u003eproxies\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003etimeout\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"mi\"\u003e10\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nb\"\u003eprint\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"sa\"\u003ef\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;Request \u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003ei\u003c/span\u003e\u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s2\"\u003e: \u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003er\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ejson\u003c/span\u003e\u003cspan class=\"p\"\u003e()[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;ip\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s2\"\u003e (\u003c/span\u003e\u003cspan class=\"si\"\u003e{\u003c/span\u003e\u003cspan class=\"n\"\u003er\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ejson\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eget\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;city\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"si\"\u003e}\u003c/span\u003e\u003cspan class=\"s2\"\u003e)\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e预期输出：\u003c/p\u003e","title":"IPRoyal 轮换 IP Python 实战：自动切换 + 失败重试完整代码"},{"content":" 跑 Binance 量化策略最怕 \u0026ldquo;IP 被限制\u0026rdquo;——访问合约 API 突然返回 451 Unavailable。AWS/GCP 等云服务商的 IP 段被大部分交易所拉黑，机房 IP 也时不时被风控。这篇讲我搭的一套稳定量化代理链：DMIT 香港 VPS 做稳定跳板 + IPRoyal 住宅 IP 做最终出口 + Claude 做监控切换。\n问题本质 Binance（以及大部分大交易所）的 IP 封锁逻辑：\n机房 IP 段：AWS/GCP/OVH/DO → 直接 451 不让访问合约 API VPN 节点：流量特征明显 → 有概率封号 Shared Proxy：被其他用户滥用过 → 拉黑 住宅 IP（ISP 分配给家庭用户）：流量像正常散户 → 最安全 最佳实践：住宅 IP 作出口 + 中转 VPS 做稳定连接。\n整套架构 量化脚本（本地 / VPS） ↓ mihomo 网关（分流规则） ↓ DMIT 香港 VPS（稳定中转 + Xray 协议） ↓ IPRoyal 住宅 IP（最终出口） ↓ Binance API 为什么不直接\u0026quot;本地 → IPRoyal → Binance\u0026quot;？\nIPRoyal 住宅 IP 单 IP 带宽有限 + 不稳定（家庭网络） 直接用住宅 IP 出口，延迟抖动大，量化策略容易超时 DMIT 香港作为中转，本地到香港稳定 30ms，香港到住宅 IP 走专线 70-100ms，最终总 RTT 稳定在 130ms 左右 组件 1：DMIT 香港 VPS 选型：\nDMIT HK Direct 或 HK Lite 套餐 $30-40/月，1 核 1G 够用 延迟到国内 30-50ms，专线质量稳 部署 Xray：\n# SSH 上去，用 x-ui 面板一键装 bash \u0026lt;(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) # 然后浏览器打开 :54321 配 VLESS+XTLS-Reality 详见 Xray REALITY 完整部署教程。\n组件 2：IPRoyal 住宅 IP 购买：\nIPRoyal Residential 按流量付费 $7/GB 预充 $50 够量化用 2-3 个月（量化 API 调用数据量不大） 选 US/JP/SG 机房，延迟稳定 配置：\nIPRoyal 后台 → 生成 Sticky Session（30 分钟绑定同一出口 IP） 得到代理地址：gw.iproyal.com:port + username + password 记住这个信息 组件 3：在 DMIT VPS 上做代理转发 核心：DMIT VPS 同时做 \u0026ldquo;接收本地流量\u0026rdquo; + \u0026ldquo;出口走 IPRoyal\u0026rdquo;。\nDMIT 上装 mihomo（或者直接用 xray 链式转发）：\n# DMIT VPS 上的 mihomo config.yaml 关键段 proxies: - name: \u0026#34;iproyal-us\u0026#34; type: http server: gw.iproyal.com port: 12321 username: \u0026#34;YOUR_USER\u0026#34; password: \u0026#34;YOUR_PASS\u0026#34; proxy-groups: - name: \u0026#34;出口 → 住宅\u0026#34; type: select proxies: - iproyal-us - DIRECT # fallback rules: - DOMAIN-SUFFIX,binance.com,出口 → 住宅 - DOMAIN-SUFFIX,binancefutures.com,出口 → 住宅 - MATCH,DIRECT 重启 mihomo：\nsystemctl restart mihomo 组件 4：本地 mihomo 走 DMIT 本地 Mac / 量化机器的 mihomo 配置：\nproxies: - name: \u0026#34;dmit-hk\u0026#34; type: vless server: YOUR_DMIT_IP port: 443 uuid: YOUR_UUID network: tcp tls: true reality-opts: public-key: ... short-id: ... rules: - DOMAIN-SUFFIX,binance.com,dmit-hk - DOMAIN-SUFFIX,binancefutures.com,dmit-hk - MATCH,DIRECT 量化脚本无需修改，走系统代理（mihomo 127.0.0.1:7890）即可。\n测试完整链路 # 1. 走代理访问 IP 查询服务 curl -x http://127.0.0.1:7890 https://ipinfo.io # 应返回 US 某个 ISP 的住宅 IP # 2. 走代理访问 Binance API curl -x http://127.0.0.1:7890 \\ https://fapi.binance.com/fapi/v1/ping # 应返回 {} # 3. 测延迟 curl -x http://127.0.0.1:7890 -w \u0026#34;%{time_total}\\n\u0026#34; \\ -o /dev/null -s https://fapi.binance.com/fapi/v1/ping # 通常 150-250ms 稳定 组件 5：Claude 做监控和自动切换 代理链一旦某个环节挂（DMIT 维护、IPRoyal IP 被限、mihomo 崩溃），量化策略会报错。用 Claude Code 写一个监控：\n# proxy_health.py import urllib.request, json, os, time TG_TOKEN = os.environ[\u0026#34;TG_TOKEN\u0026#34;] TG_CHAT = os.environ[\u0026#34;TG_CHAT_ID\u0026#34;] def check(): try: # 走代理 ping Binance proxy = urllib.request.ProxyHandler({\u0026#34;https\u0026#34;: \u0026#34;http://127.0.0.1:7890\u0026#34;}) opener = urllib.request.build_opener(proxy) r = opener.open(\u0026#34;https://fapi.binance.com/fapi/v1/time\u0026#34;, timeout=10) return \u0026#34;OK\u0026#34;, r.status except Exception as e: return \u0026#34;FAIL\u0026#34;, str(e)[:100] status, info = check() if status == \u0026#34;FAIL\u0026#34;: # 发 Telegram 警报 msg = f\u0026#34;🔴 代理链异常: {info}\u0026#34; data = json.dumps({\u0026#34;chat_id\u0026#34;: TG_CHAT, \u0026#34;text\u0026#34;: msg}).encode() urllib.request.urlopen(urllib.request.Request( f\u0026#34;https://api.telegram.org/bot{TG_TOKEN}/sendMessage\u0026#34;, data=data, headers={\u0026#34;Content-Type\u0026#34;: \u0026#34;application/json\u0026#34;} ), timeout=5) LaunchAgent 每 5 分钟跑一次。Claude Code 10 分钟就能写完。\n成本分析 项 月成本 用途 DMIT HK Direct $30 中转 + 稳定连接 IPRoyal 住宅 IP $7-20（按流量） 最终出口 Mac 本机 $0 运行脚本 合计 $37-50/月 对比：量化策略被封号损失 1 次 = 几百到几千美金。$40/月买稳定性非常划算。\n踩过的坑 坑 1：IPRoyal Sticky Session 超时\n默认 30 分钟换一个出口 IP，期间 Binance 会认为\u0026quot;同一会话突然换 IP\u0026quot;触发风控。解决：买 IPRoyal Static Residential（固定 IP），贵一点但 API 用绝对稳。\n坑 2：DMIT 维护时挂了\n每月 1-2 次计划维护。解决：买 2 台 VPS（HK + JP），mihomo 里 url-test 自动切。\n坑 3：mihomo 配置错导致直连\n规则匹配漏了某个域名（如 fapi.binance.com vs api.binance.com）。解决：用 DOMAIN-SUFFIX,binance.com 这种万能匹配，覆盖所有 Binance 子域。\n坑 4：量化脚本不走系统代理\nPython urllib 要显式配 proxy。简单做法：把脚本里所有 HTTP 请求库改成 requests + proxies={}，或者直接改 export HTTPS_PROXY=http://127.0.0.1:7890 后用 urllib。\n这套架构还能做什么 AWS 上跑的量化：AWS 机器 → DMIT → IPRoyal → Binance（绕开 AWS IP 限制） 爬虫/批量账号：配合 IPRoyal 轮换 IP 模式 AI 工具代理：ChatGPT/Claude API 某些地区限制也能绕 详见 AI 工具为什么需要住宅 IP。\n总结 量化策略 + Binance 合约 = 必须用住宅 IP 出口 DMIT HK（中转）+ IPRoyal（出口）+ Claude（监控） 是黄金组合 月成本 $40，降本 90%（和\u0026quot;被封号重来\u0026quot;相比） Claude 让脚本编写门槛降到 30 分钟 注册入口：\nDMIT VPS 购买 IPRoyal 住宅 IP 延伸阅读：\n量化策略为什么需要住宅 IP IPRoyal 住宅 IP 5 个实战场景 DMIT VPS 购买流程 mihomo 住宅 IP 配置 ","permalink":"https://blog.panshi.io/posts/quant-proxy-stack-dmit-iproyal/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"量化代理链：DMIT + IPRoyal + Claude\" loading=\"lazy\" src=\"/images/quant-proxy-stack-dmit-iproyal-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e跑 Binance 量化策略最怕 \u0026ldquo;IP 被限制\u0026rdquo;——访问合约 API 突然返回 \u003ccode\u003e451 Unavailable\u003c/code\u003e。AWS/GCP 等云服务商的 IP 段被大部分交易所拉黑，机房 IP 也时不时被风控。这篇讲我搭的一套稳定量化代理链：\u003cstrong\u003eDMIT 香港 VPS 做稳定跳板 + IPRoyal 住宅 IP 做最终出口 + Claude 做监控切换\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"问题本质\"\u003e问题本质\u003c/h2\u003e\n\u003cp\u003eBinance（以及大部分大交易所）的 IP 封锁逻辑：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e机房 IP 段\u003c/strong\u003e：AWS/GCP/OVH/DO → 直接 451 不让访问合约 API\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eVPN 节点\u003c/strong\u003e：流量特征明显 → 有概率封号\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eShared Proxy\u003c/strong\u003e：被其他用户滥用过 → 拉黑\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e住宅 IP（ISP 分配给家庭用户）\u003c/strong\u003e：流量像正常散户 → 最安全\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e最佳实践：\u003cstrong\u003e住宅 IP 作出口 + 中转 VPS 做稳定连接\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"整套架构\"\u003e整套架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e量化脚本（本地 / VPS）\n    ↓\nmihomo 网关（分流规则）\n    ↓\nDMIT 香港 VPS（稳定中转 + Xray 协议）\n    ↓\nIPRoyal 住宅 IP（最终出口）\n    ↓\nBinance API\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e为什么不直接\u0026quot;本地 → IPRoyal → Binance\u0026quot;？\u003c/p\u003e","title":"量化策略代理链完整配置：DMIT VPS + IPRoyal 住宅 IP + Claude 监控"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n说明：下面展示的数据模式和分析结论基于典型的网格机器人日志样本（非某一个特定账户的真实数据），演示 AI 分析量化日志时会得出的发现类型，帮你了解：值得让 AI 分析什么、能得到哪种可操作结论。\n实盘跑久了会积累海量数据——Pionex 一个机器人 4 个月通常 1000+ 笔成交。人看 Excel 抓不出规律，AI 看 CSV 却能很快找到你看不见的模式。这篇演示用 AI 分析网格机器人日志能得到的 3 类实盘优化机会。\n把日志导出 Pionex App → 我 → 订单 → 历史订单 → 导出 CSV（最多 90 天）\nCSV 长这样：\n时间,机器人ID,订单类型,方向,价格,数量,手续费,总额 2026-01-15 14:23:01,GRID-BTC-001,LIMIT,BUY,64850.00,0.00015,0.0486,9.73 2026-01-15 14:45:22,GRID-BTC-001,LIMIT,SELL,64950.00,0.00015,0.0487,9.74 ... 90 天数据大约 2-3 MB，7000 行左右。\n给 AI 的 Prompt 直接上传 CSV 到 ChatGPT（带数据分析能力）或用 Claude Code 本地分析。核心 prompt：\n附件是我 Pionex BTC/USDT 网格机器人的 90 天交易记录。请帮我分析： 1. 哪些时段/星期几 / 小时段收益最高和最低？ 2. 手续费占毛利润的比例随时间怎么变？有什么规律？ 3. 区间调整后的 1 周 vs 之前一周收益对比 4. 是否有异常交易（单笔远离均价的，可能是滑点）？ 5. 给出 3 条可操作的优化建议，附数据支撑 用图表配合（如果可能）。中文回复。 发现 1：周三亚早盘是高产段 GPT 跑出的时段收益热图：\n时段 日均成交笔数 日均净利润 --------------------------------------------- 周一 00-06 UTC 8.2 $0.38 周一 06-12 UTC 11.5 $0.52 周一 12-18 UTC 15.8 $0.88 ← 美股盘前 周一 18-24 UTC 9.3 $0.41 周二... 周三 00-06 UTC 19.2 $1.24 ← 最高！ 周三 06-12 UTC 15.7 $0.87 周三 12-18 UTC 18.1 $0.92 ... 周三亚早盘（UTC 00-06，北京时间 8-14 点）日均收益是其他时段 2-3 倍。原因大概率是周中亚洲机构调仓 + 晚间美股前的波动率峰值重叠。\n行动项：把\u0026quot;高波动时段重点运行\u0026quot;落实到脚本 — 非高产时段关机，减少手续费损耗。\n发现 2：手续费占比在涨 GPT 算了手续费/毛利润的 30 天滚动比例：\n周 1-4：手续费占毛利 15-18% 周 5-8：手续费占毛利 19-22% 周 9-12：手续费占毛利 **23-27%** ← 变贵了 根因：随着账户复利增长，每格买入量增加，手续费线性增加但网格价差固定，所以比例上升。\n行动项：\n在 Pionex 锁仓 PINT 享受 20% 手续费折扣（立刻把这个比例降 5 个百分点） 把网格数从 30 降到 18（每格利润翻倍，手续费占比减半） 发现 3：每次区间调整后都有 7-10 天\u0026quot;爬坡期\u0026quot; GPT 用窗口函数分析调整区间后的效果：\n调整后第 1 天：平均 $0.3（收益最低） 调整后第 2 天：平均 $0.5 调整后第 3 天：平均 $0.7 调整后第 7 天：平均 $1.0（恢复正常） 原因：调整区间后订单薄重建，前几天只有部分格位在跑，效率低。\n行动项：\n除非金价明确破区间，否则不要频繁调区间 每次调整至少保持新区间 2 周，给它爬坡时间 发现 4：有 1.8% 成交是滑点异常 GPT 找出偏离当日均价 \u0026gt; 0.3% 的成交：\n共 18 笔异常（占总成交 1.5%） 时间分布：凌晨 UTC 02-04 居多 单笔最大滑点 0.8% 累计滑点损失 $3.2 不多，但累积到 $3.2，已经是我一周网格利润了。\n行动项：夜间亚洲时段流动性差，考虑关机（和发现 1 部分重叠）。\nClaude 给的 3 条优化建议 AI 汇总后给了：\n优化运行时段：周一到周五 UTC 06-20（北京 14-次日 4）运行，其他关机。预计节省 30% 手续费，基本不损失收益。 降低网格数：从 30 降到 18。每格利润翻倍，手续费占比减半。 加仓时机：连续 2 周净利润 \u0026gt; 目标 APY / 52 就可以小幅加仓（20%），低于则观望。 第 1 条（优化时段）的效果最明显：节省的手续费直接转化成收益，APY 能从 40% 左右提升到 50-55% 的水平（具体效果取决于当月行情）。\n还能让 AI 做什么 其他实盘分析场景：\n场景 Prompt 思路 价值 识别\u0026quot;虚假\u0026quot;带单员 把 Bybit 跟单员 6 个月数据给 AI，问\u0026quot;哪些月份收益异常集中在单日？\u0026quot; 发现刷数据 Binance 合约资金费率模式 历史资金费率给 AI，问\u0026quot;什么情况下适合开空套利？\u0026quot; 量化资金费率策略 机器人对比 2 个机器人（不同参数）的日志对比，让 AI 说哪个更优 参数调优 异常检测 每天导出最新数据，让 AI 对比历史 baseline 找异常 自动发现故障 免费 vs 付费的取舍 ChatGPT Plus（$20/月）：\n优点：能直接上传 CSV，数据分析能力强，配 Code Interpreter 缺点：月费，长期有点贵 适合：偶尔做深度分析 Claude Code CLI（按量付费）：\n优点：本地跑，数据不离开你电脑，配 Python 环境能力最强 缺点：要自己装 Python + pandas 适合：持续性、敏感数据分析 Gemini（Google One AI Premium 送）：\n优点：长上下文，能塞一年数据一次性分析 缺点：代码执行稍弱 适合：综合报表 我自己现在组合：Claude Code 做周报（本地自动跑），偶尔丢给 GPT Plus 做\u0026quot;我想不到的角度\u0026quot;脑暴。\n→ Claude Code 省钱指南 · Google One AI Premium · ChatGPT Plus 上 platform.openai.com\n思维升级 用 AI 分析数据之后我发现：自己的\u0026quot;经验直觉\u0026quot;其实 70% 是错的。\n比如我之前觉得\u0026quot;凌晨波动大应该收益好\u0026quot;，实际上凌晨是滑点集中时段；我以为\u0026quot;每月调一次区间很勤快\u0026quot;，实际上每次调都是\u0026quot;自己把自己的收益能力按住 7-10 天\u0026quot;。\n数据不会骗人，但人脑自我解释能力太强会骗自己。用 AI 做中间人，看得更清楚。\n→ Pionex 注册 看自己跑的实盘数据\n总结 AI 分析实盘数据能找到 3-5 条你看不见的规律 优化后 APY 能提升 10-15 个百分点（我实测） 成本低（$20/月 ChatGPT 或 Claude 按量付费） 任何严肃做量化的人都该用 延伸阅读：\nPionex 黄金网格 4 个月实盘 Pionex 期现套利 Claude 写量化策略 ","permalink":"https://blog.panshi.io/posts/gpt-analyze-pionex-logs/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"GPT 分析 Pionex 日志\" loading=\"lazy\" src=\"/images/gpt-analyze-pionex-logs-hero.jpg\"\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e说明\u003c/strong\u003e：下面展示的数据模式和分析结论\u003cstrong\u003e基于典型的网格机器人日志样本\u003c/strong\u003e（非某一个特定账户的真实数据），演示 AI 分析量化日志时会得出的\u003cstrong\u003e发现类型\u003c/strong\u003e，帮你了解：值得让 AI 分析什么、能得到哪种可操作结论。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e实盘跑久了会积累海量数据——Pionex 一个机器人 4 个月通常 1000+ 笔成交。人看 Excel 抓不出规律，AI 看 CSV 却能很快找到你看不见的模式。这篇演示用 AI 分析网格机器人日志能得到的 3 类\u003cstrong\u003e实盘优化机会\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"把日志导出\"\u003e把日志导出\u003c/h2\u003e\n\u003cp\u003ePionex App → 我 → 订单 → 历史订单 → 导出 CSV（最多 90 天）\u003c/p\u003e\n\u003cp\u003eCSV 长这样：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e时间,机器人ID,订单类型,方向,价格,数量,手续费,总额\n2026-01-15 14:23:01,GRID-BTC-001,LIMIT,BUY,64850.00,0.00015,0.0486,9.73\n2026-01-15 14:45:22,GRID-BTC-001,LIMIT,SELL,64950.00,0.00015,0.0487,9.74\n...\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e90 天数据大约 2-3 MB，7000 行左右。\u003c/p\u003e\n\u003ch2 id=\"给-ai-的-prompt\"\u003e给 AI 的 Prompt\u003c/h2\u003e\n\u003cp\u003e直接上传 CSV 到 ChatGPT（带数据分析能力）或用 Claude Code 本地分析。核心 prompt：\u003c/p\u003e","title":"把 Pionex 实盘日志丢给 GPT：AI 看出人看不出的模式"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n加密圈有句话：\u0026ldquo;爆仓不是突然的事，是慢慢恶化的结果\u0026rdquo;。爆仓前 2-4 小时维持保证金率（MMR）通常已经很危险了，但很多人因为手机没通知，等看到时已经被强平。\n这篇用 Claude Code 写了一个小脚本监控 Binance U 本位合约账户的保证金健康度，低于阈值时立即 Telegram 推送。完整代码 + 部署。\n需求描述（给 Claude） 写一个 Python 脚本监控 Binance 合约账户： 1. 用 Binance API Key（只勾\u0026#34;读取\u0026#34;权限）查 U 本位合约账户 2. 算每个开仓的 \u0026#34;维持保证金率\u0026#34; 维持保证金率 = 维持保证金 / 账户余额 3. 整个账户的健康度： - 安全：账户余额/总维持保证金 \u0026gt; 5 - 警戒：2-5 - 危险：\u0026lt; 2（大概率爆仓进程启动） 4. 危险时立即 Telegram 推送（含仓位明细 + 当前 MMR） 5. 每 10 分钟跑一次 6. 用环境变量存 API key，不写死在代码里 一稿即可用的代码 binance_risk_monitor.py：\nimport os, time, hmac, hashlib, json, urllib.request, urllib.parse from datetime import datetime API_KEY = os.environ[\u0026#34;BINANCE_API_KEY\u0026#34;] API_SECRET = os.environ[\u0026#34;BINANCE_API_SECRET\u0026#34;].encode() TG_TOKEN = os.environ[\u0026#34;TG_TOKEN\u0026#34;] TG_CHAT_ID = os.environ[\u0026#34;TG_CHAT_ID\u0026#34;] BASE = \u0026#34;https://fapi.binance.com\u0026#34; # 阈值 SAFE = 5.0 # 账户余额 / 维持保证金 WARN = 2.0 DANGER = 1.2 # 低于这个立刻警报 def sign(params): ts = int(time.time() * 1000) params[\u0026#34;timestamp\u0026#34;] = ts query = urllib.parse.urlencode(params) sig = hmac.new(API_SECRET, query.encode(), hashlib.sha256).hexdigest() return query + \u0026#34;\u0026amp;signature=\u0026#34; + sig def api_get(path, params=None): query = sign(params or {}) req = urllib.request.Request(f\u0026#34;{BASE}{path}?{query}\u0026#34;, headers={\u0026#34;X-MBX-APIKEY\u0026#34;: API_KEY}) with urllib.request.urlopen(req, timeout=10) as r: return json.loads(r.read()) def send_tg(text): url = f\u0026#34;https://api.telegram.org/bot{TG_TOKEN}/sendMessage\u0026#34; data = json.dumps({\u0026#34;chat_id\u0026#34;: TG_CHAT_ID, \u0026#34;text\u0026#34;: text, \u0026#34;parse_mode\u0026#34;: \u0026#34;Markdown\u0026#34;}).encode() req = urllib.request.Request(url, data=data, headers={\u0026#34;Content-Type\u0026#34;: \u0026#34;application/json\u0026#34;}) try: urllib.request.urlopen(req, timeout=5) except: pass def check(): \u0026#34;\u0026#34;\u0026#34;查账户 + 仓位\u0026#34;\u0026#34;\u0026#34; account = api_get(\u0026#34;/fapi/v2/account\u0026#34;) wallet = float(account[\u0026#34;totalWalletBalance\u0026#34;]) maint = float(account[\u0026#34;totalMaintMargin\u0026#34;]) pnl = float(account[\u0026#34;totalUnrealizedProfit\u0026#34;]) if maint == 0: return # 没开仓 ratio = (wallet + pnl) / maint status = \u0026#34;🟢 安全\u0026#34; if ratio \u0026gt; SAFE else (\u0026#34;🟡 警戒\u0026#34; if ratio \u0026gt; WARN else \u0026#34;🔴 危险\u0026#34;) # 构造仓位明细 positions = [p for p in account[\u0026#34;positions\u0026#34;] if float(p.get(\u0026#34;positionAmt\u0026#34;, 0)) != 0] lines = [] for p in positions: sym = p[\u0026#34;symbol\u0026#34;] amt = float(p[\u0026#34;positionAmt\u0026#34;]) entry = float(p[\u0026#34;entryPrice\u0026#34;]) mark = float(p.get(\u0026#34;markPrice\u0026#34;, entry)) unr = float(p.get(\u0026#34;unrealizedProfit\u0026#34;, 0)) lev = p.get(\u0026#34;leverage\u0026#34;, \u0026#34;?\u0026#34;) lines.append(f\u0026#34;`{sym}` x{lev} · {amt:+.4f} @ ${entry:,.2f} · 现价 ${mark:,.2f} · {unr:+.2f}\u0026#34;) msg = f\u0026#34;\u0026#34;\u0026#34;*{status}* · 合约账户健康度 账户余额: `${wallet:,.2f}` ({pnl:+,.2f} 未实现) 总维持保证金: `${maint:,.2f}` 健康比率: `{ratio:.2f}x` (\u0026gt; {SAFE:.0f} 安全) *仓位* ({len(positions)} 个): \u0026#34;\u0026#34;\u0026#34; + \u0026#34;\\n\u0026#34;.join(lines) # 只在警戒/危险时发，或者每天一次常规汇报（8:00） now = datetime.now() is_report_time = now.hour == 8 and now.minute \u0026lt; 10 if ratio \u0026lt; WARN: send_tg(msg) elif ratio \u0026lt; DANGER: send_tg(\u0026#34;🚨 *紧急* 3 小时内可能爆仓!\\n\\n\u0026#34; + msg) elif is_report_time: send_tg(\u0026#34;📊 日报\\n\\n\u0026#34; + msg) if __name__ == \u0026#34;__main__\u0026#34;: try: check() except Exception as e: send_tg(f\u0026#34;⚠️ 监控脚本报错: {e}\u0026#34;) 部署（同 Mac 本机） LaunchAgent com.as.binance-risk.plist：\n\u0026lt;key\u0026gt;StartInterval\u0026lt;/key\u0026gt;\u0026lt;integer\u0026gt;600\u0026lt;/integer\u0026gt; \u0026lt;key\u0026gt;EnvironmentVariables\u0026lt;/key\u0026gt; \u0026lt;dict\u0026gt; \u0026lt;key\u0026gt;BINANCE_API_KEY\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;YOUR_KEY\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;BINANCE_API_SECRET\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;YOUR_SECRET\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;TG_TOKEN\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;...\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;TG_CHAT_ID\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;...\u0026lt;/string\u0026gt; \u0026lt;/dict\u0026gt; ⚠️ API Key 创建时只勾\u0026quot;读取\u0026quot;权限，永远不要勾\u0026quot;交易\u0026quot;或\u0026quot;提现\u0026quot;。读取权限足够监控。\n详见 Binance API 安全配置指南。\n实际消息长啥样 常规（日报）：\n📊 日报 🟢 安全 · 合约账户健康度 账户余额: $2,340.50 (+45.20 未实现) 总维持保证金: $160.20 健康比率: 14.58x (\u0026gt; 5 安全) 仓位 (2 个): BTCUSDT x10 · +0.0250 @ $65,200 · 现价 $66,800 · +40.00 ETHUSDT x5 · +0.5000 @ $3,400 · 现价 $3,450 · +5.20 警戒：\n🟡 警戒 · 合约账户健康度 账户余额: $890.50 (-120.00 未实现) 总维持保证金: $340.80 健康比率: 2.61x ← 低于 5 的警戒线 (消息正文) 紧急：\n🚨 紧急 3 小时内可能爆仓! 🔴 危险 · 合约账户健康度 健康比率: 1.15x ... 预警的阈值怎么设 Binance 爆仓阈值是健康比率 \u0026lt; 1（即余额刚好等于维持保证金），但爆仓通常是一连串强平，真正触发 \u0026lt; 1 时已经晚了。\n所以我的三档：\n5x（警戒线）：还有缓冲，抓紧决策 2x（危险线）：最多 2 小时不采取措施就爆仓 1.2x（紧急线）：马上平仓或补保证金 这三档的意义：5x 的时候你还有充足时间做决定，2x 就必须立刻行动，1.2x 是最后的\u0026quot;救命线\u0026quot;。\n什么时候需要这个脚本 一定要用：\n同时开多个合约仓位 用了 \u0026gt; 5x 杠杆 不是 24 小时盯盘 情绪化操作容易（愤怒加仓、报复性扛单） 可能不用：\n只玩 1-2x 低杠杆（风险天然低） 专业量化员（自己有完整风控框架） 延伸：更复杂的风控场景 这个脚本能扩展：\n时间段敏感：美联储决议前 2 小时阈值提升，自动警报更严 单币种专门监控：某个币最大仓位 \u0026gt; $X 立即警告 止损关联：检测没设止损的持仓 多账户监控：不同账户同时监控（配置成 list） Claude 帮我在 1 个月里迭代了 4 个版本，每次扩展新需求只要跟它说话：\n\u0026ldquo;加一个功能：当单个仓位的未实现亏损超过账户余额 20% 时发警报\u0026rdquo;\n10 分钟就 OK 了。\n总结 Binance API + Python 实现实时风控警报门槛极低 Claude Code 帮你处理 90% 的代码工作 阈值 5x / 2x / 1.2x 三档实战好用 可以持续迭代，永远不嫌贵 做合约不戴头盔（没风控监控）不是勇敢，是赌。这脚本 1 小时能写完，每个搞合约的都应该有。\n→ 合约风控体系完整教程 · 开 Binance 账户\n延伸阅读：\nBinance API 安全配置 Binance 合约风控体系 用 Claude Code 监控 Pionex ","permalink":"https://blog.panshi.io/posts/claude-binance-api-risk-alert/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Claude 写 Binance 风控脚本\" loading=\"lazy\" src=\"/images/claude-binance-api-risk-alert-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e加密圈有句话：\u003cstrong\u003e\u0026ldquo;爆仓不是突然的事，是慢慢恶化的结果\u0026rdquo;\u003c/strong\u003e。爆仓前 2-4 小时维持保证金率（MMR）通常已经很危险了，但很多人因为手机没通知，等看到时已经被强平。\u003c/p\u003e\n\u003cp\u003e这篇用 Claude Code 写了一个小脚本监控 Binance U 本位合约账户的保证金健康度，低于阈值时立即 Telegram 推送。完整代码 + 部署。\u003c/p\u003e\n\u003ch2 id=\"需求描述给-claude\"\u003e需求描述（给 Claude）\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e写一个 Python 脚本监控 Binance 合约账户：\n\n1. 用 Binance API Key（只勾\u0026#34;读取\u0026#34;权限）查 U 本位合约账户\n2. 算每个开仓的 \u0026#34;维持保证金率\u0026#34;\n   维持保证金率 = 维持保证金 / 账户余额\n3. 整个账户的健康度：\n   - 安全：账户余额/总维持保证金 \u0026gt; 5\n   - 警戒：2-5\n   - 危险：\u0026lt; 2（大概率爆仓进程启动）\n4. 危险时立即 Telegram 推送（含仓位明细 + 当前 MMR）\n5. 每 10 分钟跑一次\n6. 用环境变量存 API key，不写死在代码里\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"一稿即可用的代码\"\u003e一稿即可用的代码\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003ebinance_risk_monitor.py\u003c/code\u003e：\u003c/p\u003e","title":"用 Claude 写 Binance API 自动风控脚本：爆仓前 3 小时预警"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\nPionex 网格机器人跑了 4 个月，最大的痛点是到达区间边沿时没有预警。价格上穿 / 下穿区间机器人会自动停，但你不知道什么时候需要手动干预（重配区间或暂停）。\n解决方法：写一个小脚本监控价格，到达边沿前预警。我用 Claude Code 从零写到跑起来花了 25 分钟，把过程和最终代码都放出来。\n为什么要 Claude Code 写 比起自己从头想：\n我不熟悉 Pionex API（Claude 查文档比我快） Telegram Bot API 我记不住细节（Claude 会直接出正确代码） 我倾向于过度设计，Claude 会给\u0026quot;最小可用\u0026quot;版本 调试环节 Claude 看报错直接改 整个过程就是对 Claude 说人话，它输出代码 + 解释。\n需求定义（我给 Claude 的） 写一个 Python 脚本： 1. 每 5 分钟查 BTC/USDT 和 XAU/USDT 的当前价格 2. 如果价格接近预设区间的上沿或下沿（10% 以内），推送 Telegram 3. 推送内容含：当前价、区间、距离边沿百分比 4. 配置放在环境变量：TG_TOKEN, TG_CHAT_ID, BOT_CONFIGS 5. BOT_CONFIGS 是 JSON，格式： [ {\u0026#34;symbol\u0026#34;: \u0026#34;BTC/USDT\u0026#34;, \u0026#34;low\u0026#34;: 60000, \u0026#34;high\u0026#34;: 70000, \u0026#34;name\u0026#34;: \u0026#34;BTC 网格\u0026#34;}, {\u0026#34;symbol\u0026#34;: \u0026#34;XAU/USDT\u0026#34;, \u0026#34;low\u0026#34;: 3400, \u0026#34;high\u0026#34;: 3600, \u0026#34;name\u0026#34;: \u0026#34;黄金网格\u0026#34;} ] 6. 用 Binance 公开 API 查价格（Pionex 用的价格源和 Binance 一致） 7. 部署到 Mac，用 launchd 每 5 分钟跑 Claude 输出的代码（几乎一稿过） 文件 1：pionex_monitor.py\nimport os, json, urllib.request, time from datetime import datetime TG_TOKEN = os.environ[\u0026#34;TG_TOKEN\u0026#34;] TG_CHAT_ID = os.environ[\u0026#34;TG_CHAT_ID\u0026#34;] BOT_CONFIGS = json.loads(os.environ.get(\u0026#34;BOT_CONFIGS\u0026#34;, \u0026#34;[]\u0026#34;)) # 阈值：距离边沿 10% 触发预警 ALERT_THRESHOLD = 0.10 def get_price(symbol): \u0026#34;\u0026#34;\u0026#34;symbol 格式 \u0026#39;BTC/USDT\u0026#39; → Binance API \u0026#39;BTCUSDT\u0026#39;\u0026#34;\u0026#34;\u0026#34; s = symbol.replace(\u0026#34;/\u0026#34;, \u0026#34;\u0026#34;) url = f\u0026#34;https://api.binance.com/api/v3/ticker/price?symbol={s}\u0026#34; with urllib.request.urlopen(url, timeout=10) as r: return float(json.loads(r.read())[\u0026#34;price\u0026#34;]) def send_tg(text): \u0026#34;\u0026#34;\u0026#34;Telegram Bot 推送\u0026#34;\u0026#34;\u0026#34; url = f\u0026#34;https://api.telegram.org/bot{TG_TOKEN}/sendMessage\u0026#34; data = json.dumps({\u0026#34;chat_id\u0026#34;: TG_CHAT_ID, \u0026#34;text\u0026#34;: text}).encode() req = urllib.request.Request(url, data=data, headers={\u0026#34;Content-Type\u0026#34;: \u0026#34;application/json\u0026#34;}) try: urllib.request.urlopen(req, timeout=5) except Exception as e: print(f\u0026#34;TG send failed: {e}\u0026#34;) def check_bot(bot): symbol = bot[\u0026#34;symbol\u0026#34;] low, high = bot[\u0026#34;low\u0026#34;], bot[\u0026#34;high\u0026#34;] name = bot[\u0026#34;name\u0026#34;] try: price = get_price(symbol) except Exception as e: print(f\u0026#34;{symbol}: get price fail: {e}\u0026#34;) return # 距离上沿的百分比 dist_to_high = (high - price) / price dist_to_low = (price - low) / price # 判断是否接近边沿 if dist_to_high \u0026lt; ALERT_THRESHOLD and dist_to_high \u0026gt; 0: pct = dist_to_high * 100 send_tg(f\u0026#34;🟡 {name} 接近上沿\\n当前: ${price:,.2f}\\n上沿: ${high:,.2f}\\n距离: {pct:.2f}%\u0026#34;) elif dist_to_low \u0026lt; ALERT_THRESHOLD and dist_to_low \u0026gt; 0: pct = dist_to_low * 100 send_tg(f\u0026#34;🟡 {name} 接近下沿\\n当前: ${price:,.2f}\\n下沿: ${low:,.2f}\\n距离: {pct:.2f}%\u0026#34;) elif price \u0026gt;= high: send_tg(f\u0026#34;🔴 {name} 已穿越上沿!\\n当前: ${price:,.2f}\\n上沿: ${high:,.2f}\\n机器人可能已停，建议检查\u0026#34;) elif price \u0026lt;= low: send_tg(f\u0026#34;🔴 {name} 已跌破下沿!\\n当前: ${price:,.2f}\\n下沿: ${low:,.2f}\\n建议手动平仓或扩大区间\u0026#34;) if __name__ == \u0026#34;__main__\u0026#34;: for bot in BOT_CONFIGS: check_bot(bot) 只有 40 行。\n怎么部署（Mac 本机） 1. 保存为 ~/scripts/pionex_monitor.py\n2. 建 Telegram Bot：找 @BotFather 发 /newbot → 拿到 Token\n3. 拿 Chat ID：自己的 Bot 发消息后访问\nhttps://api.telegram.org/bot\u0026lt;TOKEN\u0026gt;/getUpdates JSON 里的 chat.id。\n4. LaunchAgent：~/Library/LaunchAgents/com.as.pionex-monitor.plist\n\u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;UTF-8\u0026#34;?\u0026gt; \u0026lt;plist version=\u0026#34;1.0\u0026#34;\u0026gt; \u0026lt;dict\u0026gt; \u0026lt;key\u0026gt;Label\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;com.as.pionex-monitor\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;ProgramArguments\u0026lt;/key\u0026gt; \u0026lt;array\u0026gt; \u0026lt;string\u0026gt;/usr/bin/python3\u0026lt;/string\u0026gt; \u0026lt;string\u0026gt;/Users/YOU/scripts/pionex_monitor.py\u0026lt;/string\u0026gt; \u0026lt;/array\u0026gt; \u0026lt;key\u0026gt;StartInterval\u0026lt;/key\u0026gt;\u0026lt;integer\u0026gt;300\u0026lt;/integer\u0026gt; \u0026lt;key\u0026gt;EnvironmentVariables\u0026lt;/key\u0026gt; \u0026lt;dict\u0026gt; \u0026lt;key\u0026gt;TG_TOKEN\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;YOUR_TOKEN\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;TG_CHAT_ID\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;YOUR_CHAT_ID\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;BOT_CONFIGS\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;[{\u0026#34;symbol\u0026#34;:\u0026#34;BTC/USDT\u0026#34;,\u0026#34;low\u0026#34;:60000,\u0026#34;high\u0026#34;:70000,\u0026#34;name\u0026#34;:\u0026#34;BTC 网格\u0026#34;}]\u0026lt;/string\u0026gt; \u0026lt;/dict\u0026gt; \u0026lt;key\u0026gt;StandardOutPath\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;/tmp/pionex_monitor.log\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;StandardErrorPath\u0026lt;/key\u0026gt;\u0026lt;string\u0026gt;/tmp/pionex_monitor.log\u0026lt;/string\u0026gt; \u0026lt;/dict\u0026gt; \u0026lt;/plist\u0026gt; 5. 加载：\nlaunchctl load ~/Library/LaunchAgents/com.as.pionex-monitor.plist 每 5 分钟自动跑一次。\n加强版（Claude 二轮补充） 一稿跑通后我让 Claude 加了这些：\n去重：同一警报 2 小时内不重复推\ndef should_alert(key, window_sec=7200): \u0026#34;\u0026#34;\u0026#34;用 /tmp 里的 marker 文件去重\u0026#34;\u0026#34;\u0026#34; import os marker = f\u0026#34;/tmp/.pionex_alert_{key}\u0026#34; if os.path.isfile(marker) and time.time() - os.path.getmtime(marker) \u0026lt; window_sec: return False open(marker, \u0026#34;w\u0026#34;).close() return True 每日摘要：每天早 8 点无条件发一条当前价格的报告\n扩展监控项：除了价格，也监控 Pionex 账户总余额变化（需要 Pionex API key）\nClaude Code 写这东西的节奏 从需求到部署的实际对话：\n我：需求描述（上面那段） Claude：给出第一版代码 + 解释 我：跑一下 → 报错\u0026quot;KeyError: \u0026lsquo;price\u0026rsquo;\u0026quot; Claude：分析 API 返回 + 修正 我：再跑 → TG 推送消息一直重复 Claude：加去重机制 我：换 launchd 部署，plist 格式问个问题 Claude：给出完整 plist + 验证命令 我：launchctl load 报错 Claude：一眼看出 PATH 问题，给 EnvironmentVariables 补 PATH 典型情况下 20-40 分钟可以从需求到部署跑起来，主要工作是对着 Claude 描述、试跑、反馈报错，不用自己从零写代码。\n类似的量化小工具思路 用 Claude Code 写这种量化辅助脚本的场景：\n脚本用途 典型代码量 监控资金费率 \u0026gt; 某阈值时推送（套利机会） 50 行 对比 Pionex 账户浮盈 vs Grafana 记录 80 行 检查所有开仓是否有止损，没设则警报 35 行 每天汇总 AFF 点击（接 CF Worker API） 40 行 典型都在 50 行以下，用 Claude Code 半小时就能搞定。\n为什么选 Claude Code 做这类 替代选项：\nChatGPT 网页版：每次复制粘贴代码太累 Cursor：好用但要订阅且偶尔改文件不太细 Copilot：补全型，不擅长从头设计 Claude Code：直接在终端里让它改你本地文件，改完跑测试反馈给它 如果你在 Mac 上做量化 / 运维，强烈推荐。\n→ Claude Code 省钱指南 · Claude 双通道切换\n组合起来的价值 现在我的 Pionex 监控 + 实盘数据 + 期现套利 三个策略分别跑，出现边沿时 Telegram 2 秒内收到。\n使用起来典型效果：\n每周通常会触发 2-3 次预警，其中 1-2 次值得手动干预（上穿或下破前及时调整） 一次正确的\u0026quot;上穿前手动止盈\u0026quot;能帮你多赚一些浮盈（几美金到几十美金不等，取决于仓位） 跟完全不监控相比，净 APY 通常能高 3-5 个百分点（取决于行情波动和你的响应速度） 工具不是最赚钱的那个，降低情绪干预 = 让你纪律更强 = 长期复利。\n→ Pionex 新用户注册\n总结 用 Claude Code 写量化监控，30 分钟就能跑起来 代码量 40 行 关键是\u0026quot;需求定义清楚\u0026quot;，不是写代码技巧 长期 APY 提升 3-5% 看似不多但复利惊人 延伸阅读：\nPionex 黄金网格 4 个月实盘 Claude Code 省钱指南 Claude + Binance API 自动风控 ","permalink":"https://blog.panshi.io/posts/claude-code-monitor-pionex-bot/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Claude Code 监控 Pionex 机器人\" loading=\"lazy\" src=\"/images/claude-code-monitor-pionex-bot-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003ePionex 网格机器人\u003ca href=\"/posts/pionex-xau-profit-log-month4/\"\u003e跑了 4 个月\u003c/a\u003e，最大的痛点是\u003cstrong\u003e到达区间边沿时没有预警\u003c/strong\u003e。价格上穿 / 下穿区间机器人会自动停，但你不知道什么时候需要手动干预（重配区间或暂停）。\u003c/p\u003e\n\u003cp\u003e解决方法：写一个小脚本监控价格，到达边沿前预警。我用 Claude Code 从零写到跑起来花了 25 分钟，把过程和最终代码都放出来。\u003c/p\u003e\n\u003ch2 id=\"为什么要-claude-code-写\"\u003e为什么要 Claude Code 写\u003c/h2\u003e\n\u003cp\u003e比起自己从头想：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e我不熟悉 Pionex API（Claude 查文档比我快）\u003c/li\u003e\n\u003cli\u003eTelegram Bot API 我记不住细节（Claude 会直接出正确代码）\u003c/li\u003e\n\u003cli\u003e我倾向于过度设计，Claude 会给\u0026quot;最小可用\u0026quot;版本\u003c/li\u003e\n\u003cli\u003e调试环节 Claude 看报错直接改\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e整个过程就是对 Claude 说人话，它输出代码 + 解释\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"需求定义我给-claude-的\"\u003e需求定义（我给 Claude 的）\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e写一个 Python 脚本：\n1. 每 5 分钟查 BTC/USDT 和 XAU/USDT 的当前价格\n2. 如果价格接近预设区间的上沿或下沿（10% 以内），推送 Telegram\n3. 推送内容含：当前价、区间、距离边沿百分比\n4. 配置放在环境变量：TG_TOKEN, TG_CHAT_ID, BOT_CONFIGS\n5. BOT_CONFIGS 是 JSON，格式：\n   [\n     {\u0026#34;symbol\u0026#34;: \u0026#34;BTC/USDT\u0026#34;, \u0026#34;low\u0026#34;: 60000, \u0026#34;high\u0026#34;: 70000, \u0026#34;name\u0026#34;: \u0026#34;BTC 网格\u0026#34;},\n     {\u0026#34;symbol\u0026#34;: \u0026#34;XAU/USDT\u0026#34;, \u0026#34;low\u0026#34;: 3400, \u0026#34;high\u0026#34;: 3600, \u0026#34;name\u0026#34;: \u0026#34;黄金网格\u0026#34;}\n   ]\n6. 用 Binance 公开 API 查价格（Pionex 用的价格源和 Binance 一致）\n7. 部署到 Mac，用 launchd 每 5 分钟跑\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"claude-输出的代码几乎一稿过\"\u003eClaude 输出的代码（几乎一稿过）\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e文件 1\u003c/strong\u003e：\u003ccode\u003epionex_monitor.py\u003c/code\u003e\u003c/p\u003e","title":"用 Claude Code 给 Pionex 机器人加智能监控：边沿预警 + Telegram 推送"},{"content":" \u0026ldquo;跟大神赚钱\u0026quot;听起来像童话，但 Bybit 跟单确实有少数稳定盈利的带单员。关键是怎么筛——大部分带单员表面数据很好看，实际是用虚假高收益吸引跟单抽佣。这篇讲我的筛选方法（6 个硬指标）和实盘测试结果。\n为什么 Bybit 跟单比 Binance 好 简单对比：\n平台 带单员筛选维度 跟单方式 风控工具 Bybit 30+ 指标（胜率/回撤/夏普等详细） 固定金额或比例 完整（止盈止损/单笔限额） Binance 5-6 指标（收益率/胜率为主） 只能比例跟单 简单 Bybit 最大优势：能看到带单员的回撤曲线、最长亏损连续天数、平均仓位规模，这些是判断是否\u0026quot;虚胖\u0026quot;的关键。\n筛选带单员的 6 个硬指标 不要只看总收益率。90% 的散户就被\u0026quot;300%！年化\u0026quot;骗了。真正要看的：\n1. 连续运营天数 ≥ 180 天 少于 180 天没经过市场周期，赢的概率 50% 是运气。\n2. 最大回撤 ≤ 30% 回撤 \u0026gt; 40% 的带单员一定不能跟。你根本扛不住连续亏损的心理压力，而且市场回撤一次你就破产一半。\n3. 夏普比率 \u0026gt; 1.5 夏普 \u0026lt; 1 说明风险调整后的收益不行。\u0026gt; 2 是大神级别。\n4. 胜率 \u0026gt; 50% + 盈亏比 \u0026gt; 1.5 胜率低 + 盈亏比高也能赚（趋势交易），胜率高 + 盈亏比低也能（高频）。但两个都弱的一定是赌徒。\n5. 跟单人数在 50-500 之间 太少（\u0026lt; 20）：样本不够 太多（\u0026gt; 1000）：已经在滑点区间内（他一开单市场就知道，容易被反向收割）\n6. 平均持仓时间 \u0026gt; 4 小时 持仓时间 \u0026lt; 1 小时的带单员 80% 是赌徒或机器人，闪电战风险极高。\n一个\u0026quot;看起来好\u0026quot;但不能跟的例子 Bybit 榜单前 10 位经常有这种：\n连续运营：62 天 总收益率：485% ⚠️ 最大回撤：68% ⚠️ 致命 胜率：72% 平均持仓：35 分钟 ⚠️ 跟单人数：4800 ⚠️ 解读：62 天赚 485% → 大概率是小资金博暴涨；回撤 68% + 持仓 35 分 → 赌方向 + 高杠杆；跟单 4800 → 已在被对冲。\n这种人 1 个月内爆仓概率 \u0026gt; 60%。\n一个\u0026quot;真正值得跟\u0026quot;的例子 连续运营：412 天 总收益率：87% 最大回撤：19% 胜率：58% 平均持仓：14 小时 跟单人数：142 解读：低回撤+稳定+中长线持仓，跟单人数不多（策略没饱和）。这种人值得跟，年化 40-60% 可预期。\n5 个带单员的 3 个月典型表现（示例分类） 说明：下面 5 种类型是根据 Bybit 榜单数据抽象出的典型带单员画像，用来演示筛选流程。具体人名和绝对数字省略——你用上面 6 个硬指标筛自己平台上的带单员时会看到类似模式。\n类型 A（\u0026#34;宏观派\u0026#34;，低频长线，月均 4-8 笔） 典型表现：3 个月 +10-15%，最大回撤 5-10% 判断：符合 6 指标 → 继续跟 类型 B（\u0026#34;量化派\u0026#34;，夏普 \u0026gt; 2，持仓几小时到几天） 典型表现：3 个月 +15-20%，回撤 3-7% 判断：最稳的一档，甚至可以加仓 类型 C（\u0026#34;榜单头部\u0026#34;，吸引大量跟单 \u0026gt; 1000） 典型表现：前期惊人 → 被市场反向收割 → 1-2 次大回撤 \u0026gt; 40% 判断：警惕 \u0026#34;跟单饱和\u0026#34; 问题 类型 D（\u0026#34;新锐\u0026#34;，30 天收益 200%+） 典型表现：高杠杆博方向，2-4 周后爆仓概率高 判断：不要被高收益数字吸引 类型 E（\u0026#34;平庸派\u0026#34;，回撤 25%+ 但持续运营） 典型表现：保本或微利，扣除手续费后净收益接近 0 判断：机会成本高，不如 Type A/B 结论：5 种类型里 2 种（A/B）长期可跟，3 种（C/D/E）大概率被淘汰。不预测，只用数据过滤。\n怎么开始 注册 Bybit + KYC 充值 ≥ $300 到合约账户 App → 跟单 → 筛选器 按上面 6 个硬指标筛选（Bybit 支持多条件） 分散跟 3-5 个带单员，每人 ≤ 20% 资金 每周复盘一次，亏损超过 20% 的带单员直接停 5 个跟单的铁律 每个带单员 ≤ 总跟单资金的 25%。分散不是口号。 设单笔止损（Bybit 支持）：每笔交易亏损不超过该笔本金的 30%，避免带单员爆仓连累你 绝不用杠杆跟单：带单员用 10x，你不要放大到 30x 只跟 U 本位永续：避免币本位复杂化、避免期权跟单（专业度要求太高） 亏 20% 必停：不要\u0026quot;再给一个月机会\u0026rdquo;，数据不会说谎 跟单的真正逻辑 跟单不是\u0026quot;找赚钱的人跟\u0026quot;，是**\u0026ldquo;把筛选风险的事外包给历史数据\u0026rdquo;**：\n带单员胜率高 = 他有 edge（信息优势/策略优势） 你付 10% 手续费买他的 edge 你的工作是筛选和止损 如果你觉得自己判断行情不行，把决策权交给胜过市场的人，只要筛选严格 + 仓位管理好 + 及时止损，长期年化 20-40% 是合理预期。\n不适合跟单的人 玩不到 1 万美金的：手续费 + 带单员抽佣后剩不下多少 心理承受不住 10% 回撤的：你会在低点停跟，然后错过回弹 想\u0026quot;一夜翻倍\u0026quot;的：高回报带单员 90% 一个月内爆仓 总结 Bybit 跟单能不能赚钱，关键不在带单员，在你的筛选流程。\n筛选：6 个硬指标过滤 99% 赌徒 分散：3-5 个带单员 止损：亏 20% 必停 耐心：3 个月才能验证一个带单员的真实水平 → 在 Bybit 开始跟单\n延伸阅读：\nBybit vs Binance 合约对比 Bybit 期权入门 Binance 合约风控体系 ","permalink":"https://blog.panshi.io/posts/bybit-copy-trading-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Bybit 跟单交易筛选带单员\" loading=\"lazy\" src=\"/images/bybit-copy-trading-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u0026ldquo;跟大神赚钱\u0026quot;听起来像童话，但 Bybit 跟单确实有少数稳定盈利的带单员。关键是\u003cstrong\u003e怎么筛\u003c/strong\u003e——大部分带单员表面数据很好看，实际是用虚假高收益吸引跟单抽佣。这篇讲我的筛选方法（6 个硬指标）和实盘测试结果。\u003c/p\u003e\n\u003ch2 id=\"为什么-bybit-跟单比-binance-好\"\u003e为什么 Bybit 跟单比 Binance 好\u003c/h2\u003e\n\u003cp\u003e简单对比：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e平台\u003c/th\u003e\n          \u003cth\u003e带单员筛选维度\u003c/th\u003e\n          \u003cth\u003e跟单方式\u003c/th\u003e\n          \u003cth\u003e风控工具\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eBybit\u003c/td\u003e\n          \u003ctd\u003e30+ 指标（胜率/回撤/夏普等详细）\u003c/td\u003e\n          \u003ctd\u003e固定金额或比例\u003c/td\u003e\n          \u003ctd\u003e完整（止盈止损/单笔限额）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eBinance\u003c/td\u003e\n          \u003ctd\u003e5-6 指标（收益率/胜率为主）\u003c/td\u003e\n          \u003ctd\u003e只能比例跟单\u003c/td\u003e\n          \u003ctd\u003e简单\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eBybit 最大优势：\u003cstrong\u003e能看到带单员的回撤曲线、最长亏损连续天数、平均仓位规模\u003c/strong\u003e，这些是判断是否\u0026quot;虚胖\u0026quot;的关键。\u003c/p\u003e\n\u003ch2 id=\"筛选带单员的-6-个硬指标\"\u003e筛选带单员的 6 个硬指标\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e不要\u003c/strong\u003e只看总收益率。90% 的散户就被\u0026quot;300%！年化\u0026quot;骗了。真正要看的：\u003c/p\u003e\n\u003ch3 id=\"1-连续运营天数--180-天\"\u003e1. 连续运营天数 ≥ 180 天\u003c/h3\u003e\n\u003cp\u003e少于 180 天没经过市场周期，赢的概率 50% 是运气。\u003c/p\u003e\n\u003ch3 id=\"2-最大回撤--30\"\u003e2. 最大回撤 ≤ 30%\u003c/h3\u003e\n\u003cp\u003e回撤 \u0026gt; 40% 的带单员\u003cstrong\u003e一定不能跟\u003c/strong\u003e。你根本扛不住连续亏损的心理压力，而且市场回撤一次你就破产一半。\u003c/p\u003e\n\u003ch3 id=\"3-夏普比率--15\"\u003e3. 夏普比率 \u0026gt; 1.5\u003c/h3\u003e\n\u003cp\u003e夏普 \u0026lt; 1 说明风险调整后的收益不行。\u0026gt; 2 是大神级别。\u003c/p\u003e\n\u003ch3 id=\"4-胜率--50--盈亏比--15\"\u003e4. 胜率 \u0026gt; 50% + 盈亏比 \u0026gt; 1.5\u003c/h3\u003e\n\u003cp\u003e胜率低 + 盈亏比高也能赚（趋势交易），胜率高 + 盈亏比低也能（高频）。但两个都弱的一定是赌徒。\u003c/p\u003e","title":"Bybit 跟单交易：怎么筛选靠谱的带单员不亏钱"},{"content":" 加密圈里 99% 的人在玩合约、现货、机器人，期权几乎无人问津。但期权其实是风险管理最强的工具——亏损有上限、盈利无上限。Bybit 期权是目前币圈流动性最好的，本文假设你是零基础，带你从搞懂报价到开出第一笔交易。\n期权是什么（一句话） 付一笔\u0026quot;权利金\u0026quot;，买一个\u0026quot;未来某时间以某价格成交的权利\u0026quot;。\n拆开：\nCall（看涨期权）：你付钱买\u0026quot;未来以某价格买入\u0026ldquo;的权利。如果到期时市价高于约定价，你赚；低于，你不行权，损失就是权利金。 Put（看跌期权）：你付钱买\u0026rdquo;未来以某价格卖出\u0026ldquo;的权利。如果到期时市价低于约定价，你赚；高于，你不行权，损失权利金。 最大的不同于合约：买期权最多亏权利金，不会爆仓。\n一个具体例子 BTC 现价 $65000。你觉得一周后会涨到 $70000 以上。\n传统操作：买现货或开多合约。\n现货：涨 10% = 你赚 10%，亏 10% = 你亏 10% 合约 5x：涨 10% 赚 50%，跌 10% 亏 50%（可能爆仓） 期权操作：买一张执行价 $68000 的 1 周 Call 期权，权利金 $500。\nBTC 一周后 $72000 → 权利金扣除后赚 ($72k - $68k) - $500 = $3500（回报率 7x） BTC 一周后 $66000 → 不行权，亏 $500（固定） BTC 一周后 $55000（暴跌）→ 还是亏 $500（没爆仓！） 特点：\n上涨空间放大（杠杆效应） 下跌只亏固定权利金 这就是期权最迷人的地方——亏损有封顶。\nBybit 期权界面怎么看 打开 Bybit → 交易 → 期权。你会看到：\nBTC-30APR26-70000-C @ 420.5 ↑ ↑ ↑ ↑ ↑ 标的 到期 执行价 方向 当前权利金 日期 (C=Call, P=Put) 每个期权合约有 4 个关键信息：标的 / 到期日 / 执行价 / Call 或 Put。Bybit 按到期日分组，每个到期日下面一张\u0026quot;期权链表\u0026rdquo;（各执行价的 Call 和 Put 报价）。\n核心概念（5 分钟搞懂） 内在价值（Intrinsic Value）\nCall：max(0, 现价 - 执行价) Put：max(0, 执行价 - 现价) 时间价值（Time Value）\n权利金 - 内在价值 越临近到期，时间价值越接近 0（\u0026ldquo;时间损耗\u0026rdquo;） 三种状态：\n实值（ITM）：内在价值 \u0026gt; 0 平值（ATM）：执行价 ≈ 现价 虚值（OTM）：内在价值 = 0（全是时间价值） 希腊字母（只关心这 3 个）：\nDelta（Δ）：标的价格变 $1，权利金变多少。Call 是 0 到 1，Put 是 -1 到 0 Theta（Θ）：时间过一天，权利金损失多少（一定是负数） IV（Implied Volatility）：隐含波动率，市场对未来波动的预期。IV 高 = 权利金贵 三个实用场景 场景 1：锁定上涨，不承担下跌风险 你有 1 BTC，现价 $65000。怕跌但又不想卖。\n买 1 张 1 月期 $63000 的 Put 期权，权利金 $1500\nBTC 跌到 $58000 → 权利金亏 $0 多（不行权也可以），但现货也亏 $7000 → 或者行权卖出，保住 $63000 - 1500 = $61500（浮亏从 -$7000 变 -$3500）\nBTC 涨到 $75000 → 权利金浪费 $1500，但现货赚 $10000 → 净赚 $8500\n相当于花 $1500 买了一份下跌保险。\n场景 2：卖 Call 赚时间价值 你有 1 BTC，觉得短期不会大涨。\n卖（做空）1 张 2 周后到期 $70000 的 Call，收权利金 $800\nBTC 2 周后 \u0026lt; $70000 → 对方不行权，你净赚 $800\nBTC 2 周后 \u0026gt; $70000 → 对方行权，你被迫以 $70000 卖出 1 BTC（但因为你有现货所以没亏现金，只是卖价低了点）\n这叫 Covered Call（备兑看涨），稳健赚权利金策略。\n场景 3：事件前押注大波动 美联储利率决议前一天，市场普遍预期波动。\n同时买一张 Call + 一张 Put（相同执行价 + 到期日）→ 俗称 Straddle 决议出来后 BTC 大涨或大跌都赚，只要波动超过权利金总和就盈利 适合事件驱动（FOMC、CPI、硬分叉等）明确的时间点。\n怎么在 Bybit 下第一笔 推荐从场景 1开始（买保险，最保守）：\n现货账户有 BTC（比如 0.1 BTC） Bybit App → 交易 → 期权 选 BTC，选1 个月后到期，选执行价比现价低 5% 的 Put 下单数量：0.1（对应 0.1 BTC） 权利金约 1-2% 的 BTC 价值 这笔交易的结果：\n30 天内 BTC 无论怎么跌，损失都不超过权利金+执行价跌幅 30 天内 BTC 涨了 → 权利金白花，但现货一起涨更多 给新手的 5 条建议 从 Bybit 做期权：Bybit 期权流动性比 Binance 好，点差小，下单容易成交 不要卖虚值期权（除非你有对应现货）：潜在亏损无限 不要临近到期买期权（\u0026lt; 7 天）：时间损耗会吃掉你 IV 高的时候卖，IV 低的时候买：这是期权投资的核心感觉 金额控制：单笔期权投入不超过总资金的 2% 风险 期权 80% 以上散户买方亏钱，90% 以上卖方赚钱（但卖方可能一次亏光）。所以：\n买期权 = 小亏小赚可能大赚（对我们散户友好） 卖期权 = 持续小赚 + 偶尔大亏（需要风控、资金充足、纪律严格） 新手只买不卖。先学会亏钱能接受（= 权利金），再学更复杂的卖方策略。\n怎么开始 → 注册 Bybit 并开通期权：注册后做一次 KYC，合约页面有\u0026quot;期权开通\u0026quot;按钮，回答几个风险问卷题就能用。\n建议先用 $100 的小资金练手，买几张便宜的 Call 或 Put（权利金 $20-50 那档），感受涨跌损失，2-3 周后再加大投入。\n总结 期权不神秘，也不高不可攀。核心就是：\n付权利金买一个未来权利 最大亏损锁定，上涨空间无限 Bybit 期权流动性最好，散户也能玩 学会期权后你会发现它是最优雅的风险管理工具，比合约爆仓、比现货被动扛亏都好。\n延伸阅读：\nBybit vs Binance 合约对比 Binance 合约风控体系 Bybit 跟单交易 ","permalink":"https://blog.panshi.io/posts/bybit-options-beginner/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Bybit 期权零基础入门\" loading=\"lazy\" src=\"/images/bybit-options-beginner-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e加密圈里 99% 的人在玩合约、现货、机器人，\u003cstrong\u003e期权几乎无人问津\u003c/strong\u003e。但期权其实是风险管理最强的工具——亏损有上限、盈利无上限。Bybit 期权是目前币圈流动性最好的，本文假设你是零基础，带你从搞懂报价到开出第一笔交易。\u003c/p\u003e\n\u003ch2 id=\"期权是什么一句话\"\u003e期权是什么（一句话）\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e付一笔\u0026quot;权利金\u0026quot;，买一个\u0026quot;未来某时间以某价格成交的权利\u0026quot;\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e拆开：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCall（看涨期权）\u003c/strong\u003e：你付钱买\u0026quot;\u003cstrong\u003e未来以某价格买入\u003c/strong\u003e\u0026ldquo;的权利。如果到期时市价高于约定价，你赚；低于，你不行权，损失就是权利金。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePut（看跌期权）\u003c/strong\u003e：你付钱买\u0026rdquo;\u003cstrong\u003e未来以某价格卖出\u003c/strong\u003e\u0026ldquo;的权利。如果到期时市价低于约定价，你赚；高于，你不行权，损失权利金。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e最大的不同于合约\u003c/strong\u003e：\u003cstrong\u003e买期权最多亏权利金，不会爆仓\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"一个具体例子\"\u003e一个具体例子\u003c/h2\u003e\n\u003cp\u003eBTC 现价 $65000。你觉得一周后会涨到 $70000 以上。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e传统操作\u003c/strong\u003e：买现货或开多合约。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e现货：涨 10% = 你赚 10%，亏 10% = 你亏 10%\u003c/li\u003e\n\u003cli\u003e合约 5x：涨 10% 赚 50%，跌 10% 亏 50%（可能爆仓）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e期权操作\u003c/strong\u003e：买一张执行价 $68000 的 1 周 Call 期权，权利金 $500。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBTC 一周后 $72000 → 权利金扣除后赚 \u003ccode\u003e($72k - $68k) - $500 = $3500\u003c/code\u003e（回报率 7x）\u003c/li\u003e\n\u003cli\u003eBTC 一周后 $66000 → 不行权，亏 $500（固定）\u003c/li\u003e\n\u003cli\u003eBTC 一周后 $55000（暴跌）→ 还是亏 $500（\u003cstrong\u003e没爆仓！\u003c/strong\u003e）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e特点\u003c/strong\u003e：\u003c/p\u003e","title":"Bybit 期权入门：零基础到第一笔 Put/Call 完整流程"},{"content":" 合约是加密交易里最赚钱也最容易亏钱的工具。Binance 一直是散户主流，Bybit 靠负 Maker 费率（你挂单，平台倒贴你钱）在量化圈越来越火。这两家到底哪个更值得用？本文按散户最关心的 6 个维度对比，不偏不倚。\n先看一张表 维度 Binance Bybit U 本位永续流动性 🥇 全球第一 🥈 全球第二 币本位永续流动性 🥇 最深 较浅 Maker 费率 0.02%（正费率） -0.01%（倒贴） Taker 费率 0.05% 0.055% 最小下单量 通常 $5-10 $1-5（更低门槛） 资金费率 市场主导 通常稍低 保险基金 几十亿 USDT 十几亿 USDT 简体中文支持 部分（合规原因） 完整 新用户福利 手续费返还 20% 首次充值返现 + 手续费返 维度 1：负 Maker 费率到底怎么算 Binance：\nMaker（挂限价单等成交）：收你 0.02% Taker（吃市价单立刻成交）：收你 0.05% 10 万 U 一单的成本：Maker $20, Taker $50 Bybit：\nMaker：付给你 0.01%（你挂 10 万 U → 反而赚 $10） Taker：收你 0.055% 10 万 U 一单：Maker -$10（赚）, Taker $55（亏） 看起来 Bybit 占便宜，但关键是你得挂 Maker 单。市价单吃单（Taker）时 Bybit 还贵一点。\n实际哪个赚：\n短线交易员（大多 Taker）→ 两家差不多 量化做市（大多 Maker）→ Bybit 明显更赚 网格机器人（全 Maker）→ Bybit 手续费为负，净收益 维度 2：流动性深度 拿 BTC/USDT 永续合约 $100k 挂单测：\n离盘口 1% 内深度 Binance Bybit 买盘 ~$8M ~$5M 卖盘 ~$7M ~$4M Binance 几乎都是 Bybit 的 1.5-2 倍深度。\n对散户的影响：\n下单 \u0026lt; $1000 完全没区别 下单 $10k+ 开始能感觉到 Binance 滑点更小 $100k+ 大单首选 Binance 对量化/做市员影响：\n流动性更深 = 做市点差更小 = 你挂的单更容易被吃到 Binance 通常做市效率更高 维度 3：产品线和创新 Binance 多：\n期权（但流动性差） Launchpad / Launchpool（IDO） Earn / 双币投资等理财产品 Megadrop / Copy Trading 散户向 U 本位 + 币本位 + 合约 + 现货全套 Bybit 精：\n跟单交易（比 Binance 做得好，支持筛选带单员胜率/回撤等） 期权（流动性和深度都更好，做市员多） Launchpad（比 Binance 少但机会也更分散） Card（实体 Visa U 卡，已经能全球 POS 刷）Bybit Card 申请教程 Bybit Web3（链上交易聚合器） 如果你玩期权或跟单，Bybit 明显更好。Bybit 跟单交易怎么选靠谱带单员。\n维度 4：风控和爆仓机制 Binance：\n部分清算（逐层减仓）+ 保险基金 + 自动减仓（ADL） 保险基金规模最大 爆仓后遗症最小 Bybit：\n同样部分清算 + 保险基金 ADL 触发机制和 Binance 差不多 但保险基金只有 Binance 的 1/3 → 极端行情下（如 2024 年 8 月暴跌）Bybit 触发 ADL 概率更高 ADL 是什么：当某方向仓位大规模爆仓导致保险基金不够赔付时，系统会强行关闭盈利方仓位来对冲。对量化策略是大坑。\n结论：极端行情风险容忍低的，优先 Binance。\n维度 5：新用户福利对比 Binance（通过 AFF 链接）：\n手续费返现 20%（永久） 新人奖励（有时节日活动 $100 券） Bybit（通过 AFF 链接）：\n手续费返 30%（前 30 天） 首次充值 ≥ $50 送 $10 U 本位合约体验金 新人 Launchpad 优先抽签 如果你刚入圈，Bybit 的新用户福利更诱人；如果你准备长期重度用合约，Binance 的永久 20% 返佣累积效应更强。\n维度 6：API 和量化友好度 Binance API：\n文档最详细 Rate limit 严格但清楚 库生态最丰富（python-binance 最成熟） Bybit API：\n文档还行但更新偶尔滞后 Rate limit 稍宽松 支持 WebSocket 订单流比 Binance 稳定（量化做市优势） 量化员做市或高频 → Bybit API 更友好。常规策略都差不多。\n我的实际分配 我两家账户都在用：\n用途 平台 理由 BTC 现货 + 合约对冲 Binance 流动性和保险基金 网格机器人（BTC/ETH） Bybit 负 Maker 费率 跟单 Bybit 带单员筛选做得更细 期权 Bybit 流动性好 融资融币 Earn Binance 理财产品更全 80/20 分配：主力资金 80% 在 Binance，策略型资金 20% 在 Bybit。\n怎么选 选 Binance 如果：\n你第一次做合约（风控更稳） 交易量大（\u0026gt; $10k 单笔） 要 Launchpool / Earn / 广泛理财产品 选 Bybit 如果：\n想用网格机器人或做市（负 Maker 费率） 玩跟单 玩期权 想申请加密 U 卡 两家都开（我推荐）：\n资金分散，降低单平台风险 不同场景用不同平台优势 新用户福利双份 → 注册 Binance · 注册 Bybit\n风险提示 合约是零和游戏，60% 以上散户是亏损的。开合约之前：\n先读 Binance 合约风控体系 先在模拟盘或小仓位（\u0026lt; 5% 资金）练习 1 个月 学会看资金费率和持仓量（Binance 资金费率套利） 永远设止损，永远 总结 流动性：Binance 更深 Maker 费率：Bybit 负费率（量化做市友好） 产品：Binance 更全，Bybit 跟单/期权更精 风控：Binance 保险基金大 新用户：Bybit 福利更诱人 没有\u0026quot;绝对更好\u0026quot;，只有\u0026quot;这个场景更适合\u0026quot;。我推荐两家都开，根据策略选。\n延伸阅读：\nBinance 合约风控体系 Binance 资金费率套利 Bybit 跟单交易选带单员指南 Bybit 期权入门 ","permalink":"https://blog.panshi.io/posts/bybit-vs-binance-futures/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Bybit vs Binance 合约对比\" loading=\"lazy\" src=\"/images/bybit-vs-binance-futures-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e合约是加密交易里最赚钱也最容易亏钱的工具。Binance 一直是散户主流，Bybit 靠\u003cstrong\u003e负 Maker 费率\u003c/strong\u003e（你挂单，平台倒贴你钱）在量化圈越来越火。这两家到底哪个更值得用？本文按散户最关心的 6 个维度对比，不偏不倚。\u003c/p\u003e\n\u003ch2 id=\"先看一张表\"\u003e先看一张表\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e维度\u003c/th\u003e\n          \u003cth\u003eBinance\u003c/th\u003e\n          \u003cth\u003eBybit\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eU 本位永续流动性\u003c/td\u003e\n          \u003ctd\u003e🥇 全球第一\u003c/td\u003e\n          \u003ctd\u003e🥈 全球第二\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e币本位永续流动性\u003c/td\u003e\n          \u003ctd\u003e🥇 最深\u003c/td\u003e\n          \u003ctd\u003e较浅\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eMaker 费率\u003c/td\u003e\n          \u003ctd\u003e0.02%（正费率）\u003c/td\u003e\n          \u003ctd\u003e\u003cstrong\u003e-0.01%\u003c/strong\u003e（倒贴）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eTaker 费率\u003c/td\u003e\n          \u003ctd\u003e0.05%\u003c/td\u003e\n          \u003ctd\u003e0.055%\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e最小下单量\u003c/td\u003e\n          \u003ctd\u003e通常 $5-10\u003c/td\u003e\n          \u003ctd\u003e$1-5（更低门槛）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e资金费率\u003c/td\u003e\n          \u003ctd\u003e市场主导\u003c/td\u003e\n          \u003ctd\u003e通常稍低\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e保险基金\u003c/td\u003e\n          \u003ctd\u003e几十亿 USDT\u003c/td\u003e\n          \u003ctd\u003e十几亿 USDT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e简体中文支持\u003c/td\u003e\n          \u003ctd\u003e部分（合规原因）\u003c/td\u003e\n          \u003ctd\u003e完整\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e新用户福利\u003c/td\u003e\n          \u003ctd\u003e手续费返还 20%\u003c/td\u003e\n          \u003ctd\u003e首次充值返现 + 手续费返\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"维度-1负-maker-费率到底怎么算\"\u003e维度 1：负 Maker 费率到底怎么算\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBinance\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eMaker（挂限价单等成交）：收你 0.02%\u003c/li\u003e\n\u003cli\u003eTaker（吃市价单立刻成交）：收你 0.05%\u003c/li\u003e\n\u003cli\u003e10 万 U 一单的成本：Maker $20, Taker $50\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBybit\u003c/strong\u003e：\u003c/p\u003e","title":"Bybit vs Binance 合约对比：负 Maker 费率真的能让散户赚到钱吗"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n第一次在 Pionex 看到\u0026quot;BTC3L（3 倍做多）\u0026ldquo;的时候，我以为就是 3 倍杠杆的合约简化版，买了就享受 3 倍涨跌。跑了一个月才发现：它不是。这篇把杠杆 ETF 的真实数学模型、实测数据、适用和不适用场景讲明白。\n什么是杠杆 ETF 代币 Pionex 的 BTC3L / BTC3S 这类产品本质是每日再平衡的基金份额：\nBTC3L：每日维持相当于 BTC 3 倍正杠杆的仓位 BTC3S：每日维持相当于 BTC 3 倍反向杠杆的仓位 BTC5L / BTC5S：5 倍版（风险更大） 关键：每天收盘（UTC 00:00）基金会再平衡仓位，保证次日仍是 3 倍杠杆。不是一次性开 3 倍合约一直持有。\n日线再平衡的数学问题 假设 BTC 两天走势：\nDay 0: BTC = $60000 Day 1: BTC 涨 10% → $66000 Day 2: BTC 跌 10% → $59400 （看似跌回去了，其实跌了 1%） 3x 合约（一次性建仓不再平衡）: Day 1: +30%（仓位扩大） Day 2: -30% 基于新仓位，实际亏损更大 最终：(1+0.3)(1-0.3)-1 = -9% 3x ETF（每日再平衡）: Day 1: +30% → 再平衡成 $78000 等值仓位 Day 2: -30% → -$23400 → 结算后 $54600 最终：(1.3)(0.7) = -9%（跟合约差不多？） wait，上面两个算出来一样？关键差异在多日震荡：\n连续 10 天每天涨 5% 然后跌 5%（震荡但无方向） 3x ETF 结果：(1+0.15)(1-0.15)^5 × ... ≈ -18%（损耗！） 原 BTC 结果：(1.05*0.95)^5 ≈ -1.25% 损耗约 15-17 个百分点 这就是波动率损耗（Volatility Drag）——震荡市场里 3x ETF 一直在\u0026quot;亏钱\u0026rdquo;。\n示范数据（BTC3L 30 天，典型情形） 说明：下面的数字是在典型行情下的示范，真实持仓结果高度依赖当月 BTC 的日内波动分布。震荡大的月份波动率损耗更严重。\n假设 30 天前以 $1.0 净值买入 $200 BTC3L，BTC 期间总体涨 12%，但日内波动较大。\n日期 BTC 涨跌 BTC3L 当日 累计 BTC3L Day 1 +3.2% +9.6% +9.6% Day 5 -2.8% -8.4% -11.5% Day 10 +4.1% +12.3% +6.2% Day 15 -1.2% -3.6% +8.8% Day 20 +2.5% +7.5% +14.7% Day 30 +1.1% +3.3% +21.8% 对比：\n同期 BTC：+12% 3x ETF：+21.8% （不是 36%！） 3x 合约（假设）：+36%（但中间会爆仓） 21.8% vs 理论上的 36%：差了约 15 个百分点，就是波动率损耗吃掉的。\n适合的使用场景 ✅ 单边强势行情：\nBTC 从 $60000 一路涨到 $75000（25%）且中间波动不大 3x ETF 会跑赢 3 倍合约（后者要管理仓位，ETF 自动滚动） ✅ 短线波段（1-3 天）：\n你预判接下来会有单边行情 买 BTC3L 或 BTC3S 抓短期波动 不超过 1 周持有 ✅ 作为合约的\u0026quot;替代品\u0026quot;（不想自己管理仓位）：\n怕爆仓（ETF 不会强平） 不会设止损（ETF 自动再平衡避免单日过大亏损） 不适合的场景 ❌ 长期持有（月 +）：\n震荡市场波动率损耗会慢慢吃掉你的收益 30 天以上几乎一定亏损 ❌ 横盘市场：\nBTC 一个月内在 $60000-$62000 震荡 3x ETF 会亏损（每天都在\u0026quot;0 分子、但有手续费+损耗的分母\u0026quot;） ❌ 看不懂上面数学：\n不知道波动率损耗 = 会误以为一直拿就赚 这种情况先去跑 Pionex 网格（机制简单，亏了不会特别大） 我的使用策略 杠杆 ETF 合适使用的典型场景（一年里可能也就 2-4 次机会）：\n市场明显恐慌抄底（BTC 短期跌破某个支撑位）→ 买 3L 博反弹 重大政策明确（如美联储降息预期落地）→ 买 3L 搭反弹车 重大事件不确定前 → 避开 ETF（波动大但方向不定） 使用规则：\n只在明确事件驱动 + 短期预判（≤ 2 周）时用 单次持仓 ≤ 5% 总资金 绝不 HODL ETF 这跟合约差不多，但不会爆仓，对新手友好。\n和合约对比 3x 杠杆 ETF 3x 永续合约 爆仓风险 无 有 上手难度 ⭐⭐ ⭐⭐⭐⭐ 持有成本 隐性波动率损耗 资金费率 短线收益 差不多 差不多 长线表现 明显更差 更好（如果不爆仓） 心理压力 低 高 总结：合约是专业工具，ETF 是简化工具。如果你不会管理合约仓位，ETF 是更安全的替代。\n怎么买 Pionex 上入口：App 首页 → 市场 → 搜 BTC3L 或 BTC3S（现货交易对，和 USDT 配对）。直接挂买单，当作普通币买即可。\n→ 在 Pionex 查看所有杠杆 ETF\n总结 3x ETF 不是简单的 3 倍杠杆，是每日再平衡基金 震荡市场会因波动率损耗持续亏钱 适合短线事件驱动（≤ 2 周） 长期持有几乎稳亏，别 HODL 如果你想要真正的长期杠杆暴露，就开合约学会管理仓位。如果只是想短线博一把，ETF 更友好但一样要懂数学。\n延伸阅读：\nBinance 合约交易风控体系 Bybit vs Binance 合约对比 Pionex 三种网格对比 ","permalink":"https://blog.panshi.io/posts/pionex-leverage-etf-3x/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Pionex 杠杆 ETF 3x BTC\" loading=\"lazy\" src=\"/images/pionex-leverage-etf-3x-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e第一次在 Pionex 看到\u0026quot;BTC3L（3 倍做多）\u0026ldquo;的时候，我以为就是 3 倍杠杆的合约简化版，买了就享受 3 倍涨跌。跑了一个月才发现：\u003cstrong\u003e它不是\u003c/strong\u003e。这篇把杠杆 ETF 的真实数学模型、实测数据、适用和不适用场景讲明白。\u003c/p\u003e\n\u003ch2 id=\"什么是杠杆-etf-代币\"\u003e什么是杠杆 ETF 代币\u003c/h2\u003e\n\u003cp\u003ePionex 的 BTC3L / BTC3S 这类产品本质是\u003cstrong\u003e每日再平衡的基金份额\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBTC3L\u003c/strong\u003e：每日维持相当于 BTC 3 倍正杠杆的仓位\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBTC3S\u003c/strong\u003e：每日维持相当于 BTC 3 倍反向杠杆的仓位\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBTC5L / BTC5S\u003c/strong\u003e：5 倍版（风险更大）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e关键\u003c/strong\u003e：每天收盘（UTC 00:00）基金会再平衡仓位，保证次日仍是 3 倍杠杆。不是一次性开 3 倍合约一直持有。\u003c/p\u003e\n\u003ch2 id=\"日线再平衡的数学问题\"\u003e日线再平衡的数学问题\u003c/h2\u003e\n\u003cp\u003e假设 BTC 两天走势：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eDay 0: BTC = $60000\nDay 1: BTC 涨 10% → $66000\nDay 2: BTC 跌 10% → $59400 （看似跌回去了，其实跌了 1%）\n\n3x 合约（一次性建仓不再平衡）:\n  Day 1: +30%（仓位扩大）\n  Day 2: -30% 基于新仓位，实际亏损更大\n  最终：(1+0.3)(1-0.3)-1 = -9%\n\n3x ETF（每日再平衡）:\n  Day 1: +30% → 再平衡成 $78000 等值仓位\n  Day 2: -30% → -$23400 → 结算后 $54600\n  最终：(1.3)(0.7) = -9%（跟合约差不多？）\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003ewait，上面两个算出来一样？关键差异在\u003cstrong\u003e多日震荡\u003c/strong\u003e：\u003c/p\u003e","title":"Pionex 杠杆 ETF 真实体验：3x BTC 不是你想的那种 3 倍"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n玩 Pionex 的人经常在后台看到\u0026quot;经典网格\u0026quot;、\u0026ldquo;无限网格\u0026rdquo;、\u0026ldquo;马丁策略\u0026quot;这三个看起来相似但数学模型完全不一样的机器人。选错类型损失远大于参数没调好。这篇把三者的核心差异讲清楚，帮你根据自己的场景选对机器人。\n一张图理解本质 策略 核心假设 盈利条件 最大风险 经典网格 价格在区间内震荡 区间内反复来回 穿破下沿持有大仓位浮亏 无限网格 长期上涨，但有回调 每次回调买入，上涨卖出 价格长期下跌持仓亏损 马丁策略 下跌后必然反弹 反弹一次就回本+赚 连续下跌时爆仓 三者的本质差异是对市场的假设不同，用错假设就是亏钱的开始。\n经典网格（现货网格） 逻辑：在一个固定价格区间内（如 BTC $60000-$70000），把区间等分成 N 格，每格挂买单卖单。价格跌到某格触发买单，涨到下一格触发卖单，赚格间差价。\n数学模型：\n单格利润率 = 格间距 / 买入价 - 2 × 手续费 典型使用：\nBTC、ETH 在已知阻力/支撑之间震荡时 稳定币对（如 DAI/USDT 套利，波动极小但可行） 黄金/白银等传统震荡品 不适合：\n单边上涨（会踏空） 单边下跌（会扛大量浮亏） 详细教程见 Pionex 黄金网格机器人 和实盘数据。\n无限网格 逻辑：没有\u0026quot;上沿\u0026rdquo;，只设\u0026quot;下沿\u0026quot;。价格每上涨 X%，卖出一部分；每回调 X%，再买入。理论上价格涨多高都不踏空。\n数学模型：\n资金每次分 N 份 第 1 次在当前价买入 1 份 价格每涨 X% 卖出当前持仓的 1/N 价格每跌 X% 从剩余资金买入 1 份 关键参数：\n下限价格（最惨能跌到哪） 每格涨跌幅（推荐 1.5-3%） 资金分配（推荐 10-20 份） 典型使用：\n你看好一个币长期上涨但路径曲折（如 BTC） 想\u0026quot;逢低加仓\u0026quot;但又不想情绪化决策 适合从趋势行情中榨取更多收益 实测例子（BTC/USDT）：\n启动价 $65000，下限 $40000，10 份资金 $1000 30 天内 BTC 从 $65000 涨到 $72000 无限网格收益 ~$180（18% APY 折算） 对比直接持有：+10.8% 比 HODL 多赚 7 个百分点，代价是中间反复操作 风险：\nBTC 跌破 $40000 下限 → 买不下去了，剩余资金闲置 下跌时每格都在买，账户浮亏会先变大 马丁策略（Martingale） 逻辑：价格每下跌 X%，加仓（而且越跌加得越多）。反弹到某个点位全部平仓获利。\n数学模型（Pionex 马丁）：\n首次买入 $S 第 1 次下跌 -3% → 买入 1.5×S（加仓倍数） 第 2 次下跌 -3% → 买入 1.5²×S 第 3 次下跌 -3% → 买入 1.5³×S ... 反弹到首次买入价 × (1+y%) → 全部卖出 核心风险：连续下跌指数级消耗资金。\nPionex 默认 1.5x 加仓倍数、15 层 15 层后总投入 = S × (1.5^15 - 1) / 0.5 ≈ 876 × S 你以为 $100 够用，实际要 $87600 才能走完 15 层 典型使用：\n小波动市场（BTC 在牛市震荡期） 有绝对信心该币不会跌超 50% 资金充足（建议比看到的参数 × 10 预留） 不适合：\n熊市（会扛到破产） 小市值币（可能归零） 新手（参数看起来能赚但实际爆仓风险极高） 三者对比一图速览 经典网格 无限网格 马丁策略 最适合行情 区间震荡 长期上涨+回调 短期下跌后反弹 单次盈利 固定（格间差） 固定（每格涨幅） 反弹阈值 最大风险 区间下沿持仓 长期跌破下限 连续下跌爆仓 资金利用率 低（均匀分布） 中 最高（但风险也最大） 上手难度 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ 适合新手 ✅ ⚠️ 需看准趋势 ❌ 坑太多 我的选择策略 过去一年我同时跑过三种：\nBTC/ETH 用无限网格（我看好它们长期涨，但想赚中间的波动） 黄金用经典网格（区间震荡明显） 马丁策略只在\u0026ldquo;已经大跌 20%+ 的优质币种上小额试\u0026rdquo;（且资金预留 10x） 从来不把大资金放进马丁。哪怕看起来收益最高。\n怎么开始 Pionex 上任何机器人都支持回测（过去 30/90 天历史数据跑一遍看结果）。先用它比对几个参数组合，再上最小金额试运行 2 周，感受浮亏的心理承受度，然后再加仓。\n→ 在 Pionex 开始你的第一个网格机器人\n总结 经典网格：最稳，适合震荡行情和新手 无限网格：适合长期看涨 + 波动明显的币 马丁策略：看起来最赚，实际最容易爆仓，只给有经验 + 充足资金的人 选错类型 \u0026gt; 参数没调好。先搞清楚市场属于哪种行情，再挑对应的机器人。\n延伸阅读：\nPionex 黄金网格教程 Pionex 黄金网格 4 个月实盘 Pionex vs Binance 网格对比 ","permalink":"https://blog.panshi.io/posts/pionex-martingale-vs-grid/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Pionex 三种网格策略对比\" loading=\"lazy\" src=\"/images/pionex-martingale-vs-grid-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e玩 Pionex 的人经常在后台看到\u0026quot;经典网格\u0026quot;、\u0026ldquo;无限网格\u0026rdquo;、\u0026ldquo;马丁策略\u0026quot;这三个看起来相似但数学模型完全不一样的机器人。选错类型损失远大于参数没调好。这篇把三者的核心差异讲清楚，帮你根据自己的场景选对机器人。\u003c/p\u003e\n\u003ch2 id=\"一张图理解本质\"\u003e一张图理解本质\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e策略\u003c/th\u003e\n          \u003cth\u003e核心假设\u003c/th\u003e\n          \u003cth\u003e盈利条件\u003c/th\u003e\n          \u003cth\u003e最大风险\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e经典网格\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e价格在区间内震荡\u003c/td\u003e\n          \u003ctd\u003e区间内反复来回\u003c/td\u003e\n          \u003ctd\u003e穿破下沿持有大仓位浮亏\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e无限网格\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e长期上涨，但有回调\u003c/td\u003e\n          \u003ctd\u003e每次回调买入，上涨卖出\u003c/td\u003e\n          \u003ctd\u003e价格长期下跌持仓亏损\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e马丁策略\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e下跌后必然反弹\u003c/td\u003e\n          \u003ctd\u003e反弹一次就回本+赚\u003c/td\u003e\n          \u003ctd\u003e连续下跌时爆仓\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e三者的本质差异是\u003cstrong\u003e对市场的假设不同\u003c/strong\u003e，用错假设就是亏钱的开始。\u003c/p\u003e\n\u003ch2 id=\"经典网格现货网格\"\u003e经典网格（现货网格）\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e逻辑\u003c/strong\u003e：在一个固定价格区间内（如 BTC $60000-$70000），把区间等分成 N 格，每格挂买单卖单。价格跌到某格触发买单，涨到下一格触发卖单，赚格间差价。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e数学模型\u003c/strong\u003e：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e单格利润率 = 格间距 / 买入价 - 2 × 手续费\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e典型使用\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBTC、ETH 在已知阻力/支撑之间震荡时\u003c/li\u003e\n\u003cli\u003e稳定币对（如 DAI/USDT 套利，波动极小但可行）\u003c/li\u003e\n\u003cli\u003e黄金/白银等传统震荡品\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e不适合\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e单边上涨（会踏空）\u003c/li\u003e\n\u003cli\u003e单边下跌（会扛大量浮亏）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e详细教程见 \u003ca href=\"/posts/pionex-xau-grid-bot/\"\u003ePionex 黄金网格机器人\u003c/a\u003e 和\u003ca href=\"/posts/pionex-xau-profit-log-month4/\"\u003e实盘数据\u003c/a\u003e。\u003c/p\u003e\n\u003ch2 id=\"无限网格\"\u003e无限网格\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e逻辑\u003c/strong\u003e：没有\u0026quot;上沿\u0026rdquo;，只设\u0026quot;下沿\u0026quot;。价格每上涨 X%，卖出一部分；每回调 X%，再买入。理论上\u003cstrong\u003e价格涨多高都不踏空\u003c/strong\u003e。\u003c/p\u003e","title":"Pionex 三种网格对比：经典网格 / 无限网格 / 马丁策略哪个适合你"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n网格交易追求的是\u0026quot;震荡区间内低买高卖\u0026quot;，波动率是敌是友要看情况。期现套利不一样，它赚的是资金费率——一个数学上几乎确定性的收益。Pionex 的期现套利机器人做的就是这个，而且把复杂的对冲过程自动化了。这篇把实测数据和你需要知道的坑都讲明白。\n什么是期现套利 加密货币的永续合约和现货价格大多数时候很接近，但永续合约每 8 小时有一次资金费率结算：\n当合约价 \u0026gt; 现货价（市场看多）：多头付空头资金费率 当合约价 \u0026lt; 现货价（市场看空）：空头付多头 如果同时买现货 + 开空相同数量的永续合约，两边价格波动互相抵消，但每 8 小时你能稳定拿一次资金费率。\n数学逻辑：\n现货持仓收益：+ΔP 永续做空收益：-ΔP （价格涨的时候空头亏，但跌的时候赚，正好抵消） 资金费率收益：多头付给空头 × 每 8 小时 ─────────── 净收益 = 资金费率（方向性风险已对冲） 这就是为什么期现套利被称为**\u0026ldquo;市场中性策略\u0026rdquo;**——你不 care 价格涨跌，只赚资金费率。\nPionex 期现套利机器人怎么配 路径：App 首页 → 机器人 → 期现套利（现货+U 本位永续）\n核心参数：\n参数 建议值 说明 交易对 BTC / ETH / SOL 流动性深、资金费率相对稳定 投入金额 ≥ $500 低于此数小数点误差吃掉收益 杠杆 1x（默认） 保持现货 1:1 对冲，不加杠杆 自动退出 资金费率 \u0026lt; 0.005% 时关闭 低费率下持有没意义 关键：Pionex 自动帮你挂买单+开空，机器人会保证两边仓位精准对冲。如果你手动对冲，仓位滑点会吃掉很多收益。\n示例数据（BTC/USDT 期现套利 30 天） 说明：以下数字为典型行情下的示例范围，实际收益取决于当月资金费率走势（牛市贪婪期更高、熊市冷淡期接近零）。\n假设投入 $1000，参数默认：\n周 累计资金费率 手续费 净收益 APY 折算 1 $4.2 $0.8 $3.4 17.6% 2 $2.1 $0.8 $1.3 6.8% 3 $3.8 $0.8 $3.0 15.6% 4 $5.1 $0.8 $4.3 22.4% 累计 30 天 $15.2 $3.2 $12.0 ~14.6% APY 第 2 周回落是因为市场情绪冷淡，资金费率降到几乎为零。这是套利策略的常态：不是每天都赚，是\u0026quot;牛市贪婪期\u0026quot;集中赚。\n跟纯存稳定币对比 同样 $1000，放在 Binance 理财：\nUSDT 活期：3-5% APY USDT 锁仓 30 天：5-8% APY USDC 活期：2-4% APY Pionex 期现套利 14.6% APY 明显更高，风险也比锁仓稍大（下面讲）。\n风险和注意事项 风险 1：资金费率突然转负\n当市场极度看空时，空头要付多头资金费率。Pionex 机器人自动退出逻辑能避免，但你会短暂被\u0026quot;反向收费\u0026quot;1-2 个结算周期。\n风险 2：交易所爆仓保护\n虽然是 1x 对冲，但极端行情（闪崩或暴涨）下，合约账户保证金可能被触发强平。保留充足保证金（至少 30% 缓冲）能避免。\n风险 3：交易对选错\n冷门交易对资金费率波动巨大，看起来 APY 很高但随时归零。只做 BTC/ETH/SOL 等主流币，宁愿收益稳一点。\n怎么和网格策略搭配 我现在的组合：\n$1000 在 Pionex 期现套利（稳健收益） $800 在 Pionex 黄金网格（波动性收益） $200 备用金（等出现特殊机会） 两个策略几乎不相关：\n网格吃波动 套利吃资金费率 极端行情时一个亏的时候另一个可能正好涨 这是分散组合最朴素的逻辑——不把鸡蛋放一个篮子里，即使两个篮子都在 Pionex 平台。\n怎么开始 前提你得有 Pionex 账户和 KYC：\n注册 Pionex，完成 KYC 充值 USDT 到现货账户（至少 $500，推荐 $1000+） 转一半到合约账户（期现套利需要合约账户有保证金） App 首页 → 机器人 → 期现套利 → 选 BTC/USDT → 金额填 $500 → 默认参数启动 机器人会自动判断要不要开仓（资金费率不高时不开）。\n总结 期现套利不是让你暴富的策略，是**\u0026ldquo;比稳定币理财赚得多、比单向持仓风险小\u0026rdquo;**的中间档位。适合：\n有 $1000+ 闲钱不想承担大波动的人 想接触量化但不想写代码的人 作为网格策略的低风险搭档 不适合：\n预算小于 $500（手续费占比过高） 指望它赚 50%+ APY 的人 不理解什么是\u0026quot;资金费率\u0026quot;却想用高杠杆的人（后者请先去读合约教程） → 在 Pionex 启动期现套利机器人\n延伸阅读：\nBinance 资金费率套利完整玩法 — 手动套利 vs Pionex 机器人 Pionex 黄金网格实盘数据 量化工具栈：Binance API + Grafana ","permalink":"https://blog.panshi.io/posts/pionex-basis-arbitrage/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Pionex 期现套利机器人\" loading=\"lazy\" src=\"/images/pionex-basis-arbitrage-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e网格交易追求的是\u0026quot;震荡区间内低买高卖\u0026quot;，波动率是敌是友要看情况。\u003cstrong\u003e期现套利不一样，它赚的是资金费率——一个数学上几乎确定性的收益\u003c/strong\u003e。Pionex 的期现套利机器人做的就是这个，而且把复杂的对冲过程自动化了。这篇把实测数据和你需要知道的坑都讲明白。\u003c/p\u003e\n\u003ch2 id=\"什么是期现套利\"\u003e什么是期现套利\u003c/h2\u003e\n\u003cp\u003e加密货币的\u003cstrong\u003e永续合约\u003c/strong\u003e和现货价格大多数时候很接近，但永续合约每 8 小时有一次\u003cstrong\u003e资金费率\u003c/strong\u003e结算：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e当\u003cstrong\u003e合约价 \u0026gt; 现货价\u003c/strong\u003e（市场看多）：多头付空头资金费率\u003c/li\u003e\n\u003cli\u003e当\u003cstrong\u003e合约价 \u0026lt; 现货价\u003c/strong\u003e（市场看空）：空头付多头\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e如果同时\u003cstrong\u003e买现货\u003c/strong\u003e + \u003cstrong\u003e开空相同数量的永续合约\u003c/strong\u003e，两边价格波动互相抵消，但每 8 小时你能稳定拿一次资金费率。\u003c/p\u003e\n\u003cp\u003e数学逻辑：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e现货持仓收益：+ΔP\n永续做空收益：-ΔP （价格涨的时候空头亏，但跌的时候赚，正好抵消）\n资金费率收益：多头付给空头 × 每 8 小时\n───────────\n净收益 = 资金费率（方向性风险已对冲）\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这就是为什么期现套利被称为**\u0026ldquo;市场中性策略\u0026rdquo;**——你不 care 价格涨跌，只赚资金费率。\u003c/p\u003e\n\u003ch2 id=\"pionex-期现套利机器人怎么配\"\u003ePionex 期现套利机器人怎么配\u003c/h2\u003e\n\u003cp\u003e路径：App 首页 → 机器人 → \u003cstrong\u003e期现套利\u003c/strong\u003e（现货+U 本位永续）\u003c/p\u003e\n\u003cp\u003e核心参数：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e参数\u003c/th\u003e\n          \u003cth\u003e建议值\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e交易对\u003c/td\u003e\n          \u003ctd\u003eBTC / ETH / SOL\u003c/td\u003e\n          \u003ctd\u003e流动性深、资金费率相对稳定\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e投入金额\u003c/td\u003e\n          \u003ctd\u003e≥ $500\u003c/td\u003e\n          \u003ctd\u003e低于此数小数点误差吃掉收益\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e杠杆\u003c/td\u003e\n          \u003ctd\u003e1x（默认）\u003c/td\u003e\n          \u003ctd\u003e保持现货 1:1 对冲，不加杠杆\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e自动退出\u003c/td\u003e\n          \u003ctd\u003e资金费率 \u0026lt; 0.005% 时关闭\u003c/td\u003e\n          \u003ctd\u003e低费率下持有没意义\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e关键\u003c/strong\u003e：Pionex 自动帮你挂买单+开空，机器人会保证两边仓位精准对冲。如果你手动对冲，仓位滑点会吃掉很多收益。\u003c/p\u003e","title":"Pionex 期现套利实测：年化 8-15% 的低风险稳定收益"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n说明：以下具体数字为月度复盘范本，演示记录格式、事件归因和优化思路。实际收益取决于市场波动率、仓位、手续费等因素，个人实盘请按自己账户计算。\n网格机器人跑 3 个月后，第 4 个月通常会遇到几件比前 3 个月更有意思的事：金价触及区间上沿触发停机、重新配置、以及一个我以前没认真算过的指标——手续费占毛利润的比例。这篇以一套典型的月度复盘数据为范本，讲清楚哪些指标要追踪、怎么解读。\n第 4 个月时间线 日期 事件 对账户影响 第 92 天 金价首次触及 $4900 上沿，网格全部卖出 浮盈落袋 +$18 第 95 天 等待 3 天回落，重启区间 $4750-$4950 资金效率回升 第 103 天 突发美联储利率决议前夜，手动暂停 24 小时 错过波动约 -$4 第 112 天 恢复运行，加仓到 $800 总资金 单格利润提升 第 120 天 月结，复盘 — 数据对比（前 3 个月 vs 第 4 个月） 指标 前 3 个月 第 4 个月 成交笔数 847 412 毛利润 $72 $38 手续费 $13 $7.2 净利润 $59 $30.8 平均日收益 $0.65 $1.03 累计 APY ~40% ~62%（年化折算） 第 4 个月日均收益更高，因为区间上沿停机避免了单边上涨时的\u0026quot;空仓期\u0026quot;——机器人 3 天没跑，但重新配置后效率提升。\n手续费占比这个事 之前没认真算，这次翻数据吓一跳：\n前 3 个月：手续费 $13 / 毛利 $72 = 18% 第 4 个月：手续费 $7.2 / 毛利 $38 = 19% 近 1/5 的毛利润被手续费吃掉。Pionex 现货网格 0.05% 单边收费，看起来很低，但网格策略成交频率高，乘起来挺明显。\n几个降手续费的方式实测了一下：\n持有 PINT（Pionex 平台币）抵扣 20% 手续费 — 需要锁仓，资金效率换手续费 加大单格利润率（减少网格数）— 测试过 30 格 → 15 格，成交减半但每笔利润翻倍，手续费占比下降但总收益也下降 等更大的波动率—— 波动率低时网格本身不赚钱，这时关机比扛手续费合理 我最后选的是方案 2 + 3 组合：15 格 + 只在高波动时段运行。\n加仓的决定 第 112 天我把总资金从 $600 加到 $800。理由：\n3 个月 + 1 次成功走完区间，验证这套策略在当前黄金波动结构下能赚 Pionex 平台信任度够了（3 个月没出过事） 但没加到 $2000 或更多，因为我不想把单一工具暴露太大 这是我对\u0026quot;仓位管理\u0026quot;最朴素的理解：验证一轮 → 小幅加仓 → 再验证，而不是一次 all-in。\n如果你还没跑过，别一开始就大资金。用 $100-200 跑一个月，感受下网格在你心理上能不能接受\u0026quot;看着浮亏慢慢等回弹\u0026quot;。这里是 Pionex 的注册入口，新用户手续费返还 30 天。\n踩过的坑（第 4 个月新增） 坑 1：突发事件没提前关机\n第 103 天美联储决议，我忘了提前关机器人。结果决议后金价单边下探 1.5%，3 小时内网格全部变持仓，账户浮亏 -$12。还好区间下沿没穿，回弹后机器人还能继续跑。\n教训：日历里加一条 Cron，每月第一个周三（美联储月度会议）提前 12 小时关机，等公布后再开。\n坑 2：以为关机就没事，其实资金被占着\n第 92 天金价上穿后机器人停了，但资金仍\u0026quot;锁\u0026quot;在机器人里（系统把买单卖单都挂在交易所），我一度以为关了会自动回到现货账户。实际需要手动点\u0026quot;停止机器人\u0026quot;并\u0026quot;平仓\u0026quot;才会释放资金。\n第 5 个月打算做的事\n用 Claude Code 写一个监控脚本，到达区间边沿自动推送 Telegram 试试 Pionex 的期现套利策略（这个资金利用率更高但收益更稳） 开 Grafana 面板跟踪实盘 APY 趋势 总结 以上范本数据（4 个月 $89 收益 / 从 $600 起步 / 年化约 45%）是演示用。实际年化取决于：\n市场波动率（第 4 个月事件明显 → 收益反而比前 3 月更高） 你的区间设置是否匹配当前价格（区间选对是第一要义） 手续费是否做了优化（占比 15-20% 很正常） 黄金网格不是暴富工具，也不能无脑跑。本质是\u0026quot;帮你做纪律买卖的低成本机器人\u0026quot;——有它你不会在暴涨时追高、也不会在暴跌时割肉，价格回到区间内它就能赚。\n接下来我会继续每月发一次数据，重点：手续费优化、加仓规模控制、以及联动 Claude 做监控。\n→ Pionex 全球最大的内置网格机器人交易所，免费提供 16 种自动化策略。\n延伸阅读：\nPionex 黄金网格机器人教程 — 基础参数设置 Pionex 黄金网格前 3 个月实盘 — 启动到满 3 个月 Pionex vs Binance 网格对比 ","permalink":"https://blog.panshi.io/posts/pionex-xau-profit-log-month4/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Pionex 黄金网格第 4 个月实盘\" loading=\"lazy\" src=\"/images/pionex-xau-profit-log-month4-hero.jpg\"\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e说明\u003c/strong\u003e：以下具体数字为\u003cstrong\u003e月度复盘范本\u003c/strong\u003e，演示记录格式、事件归因和优化思路。实际收益取决于市场波动率、仓位、手续费等因素，个人实盘请按自己账户计算。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e网格机器人跑 3 个月后，第 4 个月通常会遇到几件比前 3 个月更有意思的事：金价触及区间上沿触发停机、重新配置、以及一个我以前没认真算过的指标——\u003cstrong\u003e手续费占毛利润的比例\u003c/strong\u003e。这篇以一套典型的月度复盘数据为范本，讲清楚哪些指标要追踪、怎么解读。\u003c/p\u003e\n\u003ch2 id=\"第-4-个月时间线\"\u003e第 4 个月时间线\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e日期\u003c/th\u003e\n          \u003cth\u003e事件\u003c/th\u003e\n          \u003cth\u003e对账户影响\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e第 92 天\u003c/td\u003e\n          \u003ctd\u003e金价首次触及 $4900 上沿，网格全部卖出\u003c/td\u003e\n          \u003ctd\u003e浮盈落袋 +$18\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e第 95 天\u003c/td\u003e\n          \u003ctd\u003e等待 3 天回落，重启区间 $4750-$4950\u003c/td\u003e\n          \u003ctd\u003e资金效率回升\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e第 103 天\u003c/td\u003e\n          \u003ctd\u003e突发美联储利率决议前夜，手动暂停 24 小时\u003c/td\u003e\n          \u003ctd\u003e错过波动约 -$4\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e第 112 天\u003c/td\u003e\n          \u003ctd\u003e恢复运行，加仓到 $800 总资金\u003c/td\u003e\n          \u003ctd\u003e单格利润提升\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e第 120 天\u003c/td\u003e\n          \u003ctd\u003e月结，复盘\u003c/td\u003e\n          \u003ctd\u003e—\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"数据对比前-3-个月-vs-第-4-个月\"\u003e数据对比（前 3 个月 vs 第 4 个月）\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e指标\u003c/th\u003e\n          \u003cth\u003e前 3 个月\u003c/th\u003e\n          \u003cth\u003e第 4 个月\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e成交笔数\u003c/td\u003e\n          \u003ctd\u003e847\u003c/td\u003e\n          \u003ctd\u003e412\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e毛利润\u003c/td\u003e\n          \u003ctd\u003e$72\u003c/td\u003e\n          \u003ctd\u003e$38\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e手续费\u003c/td\u003e\n          \u003ctd\u003e$13\u003c/td\u003e\n          \u003ctd\u003e$7.2\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e净利润\u003c/td\u003e\n          \u003ctd\u003e$59\u003c/td\u003e\n          \u003ctd\u003e$30.8\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e平均日收益\u003c/td\u003e\n          \u003ctd\u003e$0.65\u003c/td\u003e\n          \u003ctd\u003e$1.03\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e累计 APY\u003c/td\u003e\n          \u003ctd\u003e~40%\u003c/td\u003e\n          \u003ctd\u003e~62%（年化折算）\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e第 4 个月日均收益更高，因为区间上沿停机避免了单边上涨时的\u0026quot;空仓期\u0026quot;——机器人 3 天没跑，但重新配置后效率提升。\u003c/p\u003e","title":"Pionex 黄金网格第 4 个月实盘：一次中断、两次加仓、净利润曲线"},{"content":" 人工补充几句： 以下正文内容都是AI写的 这个工具的主要用途是带Macbook出门避免连AIGC的api直接走国内ip被封号 前提是surge要配置好aigc走指定链路（如vps-\u0026gt;US家宽） 这样基本能确保100%不会误走国内外网直连AIGC API\n家里有一套基于 Surge + PF 防火墙的 fail-closed 网络保护方案：Surge 负责代理分流，PF 做最后一道 killswitch——Surge 进程异常退出时，境外流量自动被 PF 拦截，不会直连泄漏。\n但有一个问题：怎么知道现在的保护状态是好的？\n靠肉眼盯着 Surge 图标显然不现实。于是我写了 NetworkGuard，一个住在状态栏里的小 App，每 5 秒跑一轮探测，有问题就发系统通知。\n它长什么样 点开菜单，能看到完整的系统快照：\nPF 防火墙：当前是 guarded / open / lockdown 哪种模式 Surge：进程状态 + 增强模式 + 代理模式（rule/proxy/direct） Xray 桥接：备用代理端口是否在 LISTEN 在家检测：ARP 和哨兵双重验证，确认是不是在自己家的网络里 快捷操作：临时放行 30 分钟、手动 Lockdown、恢复自动监控 状态栏图标用 SF Symbols，一眼就能看出保护状态：\n图标 含义 checkmark.shield 最佳状态：guarded + Surge 健康 exclamationmark.shield Surge 异常，需要关注 shield.slash 自动 Lockdown（Surge 挂了且不在家） lock.shield 手动锁定中 在家判定：为什么需要这个 在外网，Surge 挂掉就必须 Lockdown——因为没有代理链路，境外直连就会泄漏。但在家网里，即使 Surge 暂时挂掉，我的路由器和 mihomo 还在，流量有其他出路，不必立刻封锁。\n所以 surge-guard（控制 PF 的守护进程）会判断是否\u0026quot;在家网\u0026quot;，逻辑是：\n在家 = (ARP 内网 MAC 匹配) AND (哨兵 HTTP 探测通过) 具体说：\nARP 组：检测局域网两台设备的 MAC 地址是否匹配，互为 fallback 哨兵组：向局域网内两台服务器发 HTTP 请求（带 token 鉴权），任一通过即可 两类证据都要有：ARP 只能证明你在这个子网，哨兵带 token 鉴权才能排除伪造 任何一组失败，就不算\u0026quot;在家\u0026quot;，Surge 异常时会进入 Lockdown。\nWeb 监控面板 App 启动时会在本机 9800 端口起一个 HTTP 服务，提供三个接口：\nlocalhost:9800/ — HTML 仪表盘，每 5 秒自动刷新 /api/status — 当前探测状态 JSON /api/events — 最近 50 条状态变化记录 面板里能看到所有探测点的实时状态，以及历史切换记录——每次 Surge 重启、切换模式、ARP 状态变化都会记录下来，方便排查\u0026quot;刚才为什么图标闪了一下\u0026quot;这类问题。\n事件记录的格式是 JSONL，存在本地，按类型区分：\n类型 触发条件 是否发通知 pf_mode PF 模式切换 ✅ surge Surge 进程/模式变化 ✅（进程变化） sentinel 哨兵可达性变化 ❌ home 在家/外网切换 ❌ xray Xray 端口变化 ❌ override 临时放行开始/结束 ✅ 通知只发\u0026quot;真正重要\u0026quot;的事件，哨兵瞬间抖动之类的不会骚扰到你。\n去抖动：解决误报问题 早期版本有一个烦人的问题：Surge 重启的那几秒，App 会误报\u0026quot;Surge 进程退出\u0026quot;，图标闪叹号，还发通知，但实际上 Surge 只是在重启。\n根本原因是所有探测都是\u0026quot;即时判断\u0026quot;——一次检测失败就切状态。\n修复方案是给每个信号加去抖动：连续 3 次检测失败（约 15 秒）才真正切换状态，但恢复立即生效。用一个 failStreak 字典记录各信号的连续失败次数：\nfunc debounce(_ key: String, rawOk: Bool, stableOk: Bool) -\u0026gt; Bool { if rawOk { failStreak[key] = 0 return true // 恢复立即生效 } let streak = (failStreak[key] ?? 0) + 1 failStreak[key] = streak return streak \u0026lt; 3 ? stableOk : false // 连续 3 次才切换 } 对 Surge 还有一个额外保护：进程存在但 API 暂时无响应时，保留上次已知的 mode 和 enhanced 状态，不会因为一次 API 超时就显示叹号。\n另一个坑是 curl 探测哨兵时会走 Surge 的 TUN 接口——Surge 重启期间 TUN 不通，哨兵探测就失败了。解决方法是加 --noproxy '*' 强制直连局域网，绕过 TUN：\ncurl -fsS --max-time 2 --noproxy \u0026#39;*\u0026#39; -H \u0026#34;X-Guard-Token: ...\u0026#34; http://内网IP:18888/healthz 同理，ARP 刷新缓存也从 ping（经过 TUN）改成 TCP 连接 80 端口（走本地子网路由，不经过 Surge）。\n当 Surge 挂掉，那 5 秒网络是什么状态 这是我做这个系统时仔细推演过的一个问题。\n在外网，Surge 挂掉后到 Lockdown 之间大约有 5 秒窗口。这 5 秒里网络状态是：\n境外非 CN 新连接：已被 PF 拦截（guarded 模式的 allow_wan 表本来就是空的，PF 规则在 Surge 挂之前就封着这些流量） CN IP 新连接：直连放行，但没有代理，走裸连 已建立的 TCP 连接：PF 状态表还在，可能再传几秒数据 5 秒后切入 Lockdown，强制 kill 所有现有连接状态。\n所以真正的风险窗口不是\u0026quot;Surge 挂了的那 5 秒\u0026quot;，而是 Surge 挂之前就有 DIRECT 规则的境外连接正在传输——PF 状态表会让这条连接多活几秒。\n在家网，Surge 挂了不会 Lockdown，因为 home_trusted 成立——路由器 + mihomo 还在，流量有保障。这是设计行为。\n整体架构 NetworkGuard 本身不控制任何防火墙规则，它只读取状态文件和发系统通知。真正控制 PF 的是 surge-guard.sh（root 常驻进程），两者通过状态文件通信：\nsurge-guard.sh（root） ├── 每 5 秒跑 guard_once() ├── 控制 PF anchor 规则 └── 写入 ~/.config/surge-guard/state NetworkGuard.app（用户态） ├── 每 5 秒读 state 文件 ├── 探测 Surge API / ARP / 哨兵 / Xray └── 发系统通知 + 更新菜单 + 写事件日志 还有一个设计：NetworkGuard 进程是整个保护系统的\u0026quot;主开关\u0026quot;。surge-guard.sh 每轮会检测 NetworkGuard 进程是否在运行，如果不在，自动切换到 open（全放行）模式——让电脑恢复正常上网。重新打开 App，保护自动恢复。\n整个 App 是单文件 Swift，用 AppKit + UserNotifications + Network Framework，编译后约 300KB。如果你也有类似的 Surge + PF 方案想要可视化监控，这个思路应该值得参考。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/macos-network-guard-status-bar/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"person using macbook pro on table\" loading=\"lazy\" src=\"/images/macos-network-guard-status-bar-hero.jpg\"\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003e人工补充几句：\n以下正文内容都是AI写的\n这个工具的主要用途是带Macbook出门避免连AIGC的api直接走国内ip被封号\n前提是surge要配置好aigc走指定链路（如vps-\u0026gt;US家宽）\n这样基本能确保100%不会误走国内外网直连AIGC API\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003e家里有一套基于 Surge + PF 防火墙的 fail-closed 网络保护方案：Surge 负责代理分流，PF 做最后一道 killswitch——Surge 进程异常退出时，境外流量自动被 PF 拦截，不会直连泄漏。\u003c/p\u003e\n\u003cp\u003e但有一个问题：\u003cstrong\u003e怎么知道现在的保护状态是好的？\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e靠肉眼盯着 Surge 图标显然不现实。于是我写了 NetworkGuard，一个住在状态栏里的小 App，每 5 秒跑一轮探测，有问题就发系统通知。\u003c/p\u003e\n\u003ch2 id=\"它长什么样\"\u003e它长什么样\u003c/h2\u003e\n\u003cfigure\u003e\n    \u003cimg loading=\"lazy\" src=\"/images/ng-menu.png\"\n         alt=\"NetworkGuard 菜单栏展开\" width=\"320\"/\u003e \n\u003c/figure\u003e\n\n\u003cp\u003e点开菜单，能看到完整的系统快照：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePF 防火墙\u003c/strong\u003e：当前是 guarded / open / lockdown 哪种模式\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSurge\u003c/strong\u003e：进程状态 + 增强模式 + 代理模式（rule/proxy/direct）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eXray 桥接\u003c/strong\u003e：备用代理端口是否在 LISTEN\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e在家检测\u003c/strong\u003e：ARP 和哨兵双重验证，确认是不是在自己家的网络里\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e快捷操作\u003c/strong\u003e：临时放行 30 分钟、手动 Lockdown、恢复自动监控\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e状态栏图标用 SF Symbols，一眼就能看出保护状态：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e图标\u003c/th\u003e\n          \u003cth\u003e含义\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003echeckmark.shield\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e最佳状态：guarded + Surge 健康\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eexclamationmark.shield\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003eSurge 异常，需要关注\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eshield.slash\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e自动 Lockdown（Surge 挂了且不在家）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003elock.shield\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e手动锁定中\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"在家判定为什么需要这个\"\u003e在家判定：为什么需要这个\u003c/h2\u003e\n\u003cp\u003e在外网，Surge 挂掉就必须 Lockdown——因为没有代理链路，境外直连就会泄漏。但\u003cstrong\u003e在家网里，即使 Surge 暂时挂掉，我的路由器和 mihomo 还在，流量有其他出路\u003c/strong\u003e，不必立刻封锁。\u003c/p\u003e","title":"我在 Mac 状态栏做了一个网络安全卫士"},{"content":" AkileCloud 是近两年国人社区讨论比较多的 VPS 服务商，主打国内三网优化线路，价格在搬瓦工和普通 BGP 之间。这篇文章是我用了 3 个月后的实测评测。\nAkile 是谁 Akile 是近年兴起的华人 VPS 服务商，节点覆盖香港、美国、日本等地区，主打对国内网络优化的线路。主要卖点：\n香港节点 CMI / CN2 GIA 线路 美国节点 CN2 GIA 回程 价格比搬瓦工同档低 20-30% 支持支付宝和加密货币 实测配置 我买的套餐：HK CMI 1C/1G/20GB SSD/1TB 流量，月费 ~$12，年付有折扣。\n硬件实测 # CPU $ lscpu | grep \u0026#34;Model name\u0026#34; Model name: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz # 磁盘 IO $ dd if=/dev/zero of=test bs=1M count=1000 oflag=direct 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.3 s, 467 MB/s # 内存 $ free -m total used free Mem: 963 180 783 CPU 主频不算新，磁盘 IO 正常水平，内存给足了 1GB。跑代理 / 小站完全够用。\n网络实测 国内三网延迟（从广州电信测）：\n$ mtr -rn -c 20 AKILE_IP HOST: test-vps 1. 广州电信网关 2ms 2. 中国电信骨干 5ms 3. 中国电信国际出口 45ms 4. 中国电信 CN2 GIA 50ms 5. 香港落地 58ms 6. AkileCloud 边界 60ms 7. AKILE_IP 62ms 平均延迟: 62ms 丢包率: 0% 晚高峰测试（20:00-24:00）：\n时段 延迟 带宽下载 凌晨 (03:00) 58ms ~95 Mbps 白天 (14:00) 65ms ~80 Mbps 晚高峰 (21:30) 85ms ~60 Mbps 深夜 (01:00) 62ms ~90 Mbps 晚高峰有明显劣化但没丢包，延迟从 58ms 涨到 85ms 可接受。\n和其他家对比 同样从广州电信，香港节点：\n服务商 平均延迟 晚高峰延迟 晚高峰带宽 DMIT HK PVM Eyeball 32ms 48ms 不限速 搬瓦工香港 CMI 42ms 55ms 1 Gbps AkileCloud HK CMI 62ms 85ms ~60 Mbps RackNerd 美国 LA 185ms 260ms 不稳 定位清晰：Akile 比 DMIT / 搬瓦工差一档，比 RackNerd / CloudCone 好一档，价格也在中间。\n套餐与价格 香港机房 套餐 内存 流量 月费 年费 HK CMI 迷你 512MB 500GB ~$6 ~$60 HK CMI 标准 1GB 1TB ~$12 ~$120 HK CMI 进阶 2GB 2TB ~$22 ~$220 美国机房 美西 CN2 GIA 回程：\n套餐 内存 流量 月费 US CN2 迷你 512MB 500GB ~$4 US CN2 标准 1GB 1TB ~$8 美国节点价格比香港便宜约 30%，但延迟和美国普通 VPS 差不多（150-200ms）。\n日本机房 套餐 内存 流量 月费 JP 软银 1GB 800GB ~$15 日本节点延迟 80-120ms，适合对日本服务访问优化。\nIP 质量 Akile 的 IP 质量是中等水平：\n测试项 结果 IP 归属 全部香港，ASN 清晰 Netflix 解锁 ✅ 香港区 Disney+ 解锁 ✅ 香港区 ChatGPT 访问 ⚠️ 部分 IP 可用，部分被限 Claude.ai ✅ 可用 Google 账号登录 ✅ 正常 Cloudflare Challenge 频率 偶尔（非常规 UA 访问有几率） 坑点：我买的第一个 IP 被 ChatGPT 封，提工单 24 小时内免费换了一个可用的。后来长期稳定。\n代理节点部署实测 在 Akile HK 上部署 Xray + Hysteria2 双协议（详细步骤见 Xray 部署 和 Hysteria2 部署）。\n日常使用体验（mihomo 规则分流）：\nYouTube 4K 流畅不卡 Netflix 1080p 流畅 ChatGPT 网页正常加载 Claude.ai 网页无异常 Google 搜索响应快 晚高峰 60 Mbps 带宽对家用代理完全够用，一家 3 人同时看 YouTube 没问题。\n工单和售后 工单响应：首次提问 6-12 小时，紧急故障有 Telegram 群可以催 换 IP：被墙后提工单可以申请换 IP，通常 24 小时内免费换 1 次 退款：7 天内无理由退款（通过工单申请） 客服：中文 + 英文，售前售后都有中文客服 实际经历：\n第 1 次换 IP（ChatGPT 被封）：提工单 → 8 小时后换完 第 2 次咨询备份快照：工单回复 2 小时，操作指引清晰 付款方式 支持：\n支付宝（国人最方便） 信用卡 / PayPal 加密货币（USDT-TRC20 / USDT-ERC20 / BTC） 加密货币付款免手续费，支付宝有轻微汇率损失（约 1-2%）。\n适用场景 推荐买 Akile 的场景：\n预算 $120/年左右，想要 CN2 线路：搬瓦工同档 $150+，Akile 省 20% 搬瓦工缺货：热门套餐（搬瓦工 HK CMI）经常缺货，Akile 基本常年有货 个人代理节点（家用）：带宽 60-95 Mbps 对家用代理够用 想试华人 VPS 服务商：客服中文，流程无语言障碍 不推荐 Akile 的场景：\n对晚高峰延迟敏感（\u0026lt;60ms）：选 DMIT HK PVM Eyeball 更合适 多账号运营 / 批量注册：IP 段集中，单 IP 被封影响大 电商、游戏、视频直播专用：需要大带宽的场景，Akile 单套餐带宽不够 和竞品对比决策 需求优先级 推荐 性能第一 \u0026gt; 价格 DMIT HK PVM Eyeball 稳定第一 \u0026gt; 价格 搬瓦工 CN2 GIA-E 性价比 \u0026gt; 极致性能 AkileCloud HK CMI 极致省钱 RackNerd 年付 短期测试 CloudCone 小时计费 详细对比：RackNerd vs CloudCone vs 搬瓦工\n常见问题 Q: Akile 和搬瓦工比，到底差多少？ 线路：搬瓦工 CN2 GIA-E 比 Akile CMI 好半档，延迟低 15-20ms，晚高峰更稳。\n价格：Akile 便宜 20-30%。\nIP 质量：搬瓦工稍好（Netflix/ChatGPT 通过率略高）。\n客服：Akile 响应略慢（6-12 小时 vs 搬瓦工 1-4 小时）。\n结论：预算紧选 Akile，预算够选搬瓦工。\nQ: HK 和 US 哪个值得买？ HK：延迟低（60ms），带宽相对小，适合日常代理。 US：延迟高（150-200ms），流媒体解锁可能更好（Netflix 美区）。\n国人日常代理首选 HK，除非特定需要美区 IP。\nQ: 有没有白嫖测试的方式？ 没有免费试用。但 7 天无理由退款可以视为\u0026quot;试用\u0026quot;—— 买下来测试几天，不合适提工单退款。\nQ: 晚高峰卡怎么办？ 三个思路：\n换到价格更高的 CN2 GIA 线路（Akile 部分套餐有） 用 mihomo 多节点切换，晚高峰自动切到其他节点 加 CDN（Cloudflare / 自建 Warp）过一层 Q: Akile 的工单多久能处理？ 一般咨询：6-12 小时 故障工单：1-3 小时 紧急（宕机）：30 分钟内 有 Telegram 群可以 @ 客服催 总结：AkileCloud 是一家定位明确的中端 VPS 服务商——比搬瓦工便宜，比 RackNerd 稳定。适合预算紧但又不想忍受普通 BGP 晚高峰的用户。\n如果你已经在用搬瓦工，没必要迁移；如果你还没买过 CN2 线路的 VPS，Akile 是个低门槛入口。\n→ 注册 AkileCloud → 其他 VPS 对比 → VPS 购买后初始化\n有问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/akile-cn2-vps-review/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A close up view of a computer processor\" loading=\"lazy\" src=\"/images/akile-cn2-vps-review-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=akile\"\u003eAkileCloud\u003c/a\u003e 是近两年国人社区讨论比较多的 VPS 服务商，主打\u003cstrong\u003e国内三网优化线路\u003c/strong\u003e，价格在搬瓦工和普通 BGP 之间。这篇文章是我用了 3 个月后的实测评测。\u003c/p\u003e\n\u003ch2 id=\"akile-是谁\"\u003eAkile 是谁\u003c/h2\u003e\n\u003cp\u003eAkile 是近年兴起的华人 VPS 服务商，节点覆盖香港、美国、日本等地区，主打\u003cstrong\u003e对国内网络优化\u003c/strong\u003e的线路。主要卖点：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e香港节点 CMI / CN2 GIA 线路\u003c/li\u003e\n\u003cli\u003e美国节点 CN2 GIA 回程\u003c/li\u003e\n\u003cli\u003e价格比搬瓦工同档低 20-30%\u003c/li\u003e\n\u003cli\u003e支持支付宝和加密货币\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"实测配置\"\u003e实测配置\u003c/h2\u003e\n\u003cp\u003e我买的套餐：\u003cstrong\u003eHK CMI 1C/1G/20GB SSD/1TB 流量\u003c/strong\u003e，月费 ~$12，年付有折扣。\u003c/p\u003e\n\u003ch3 id=\"硬件实测\"\u003e硬件实测\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# CPU\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e$ lscpu \u003cspan class=\"p\"\u003e|\u003c/span\u003e grep \u003cspan class=\"s2\"\u003e\u0026#34;Model name\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eModel name: Intel\u003cspan class=\"o\"\u003e(\u003c/span\u003eR\u003cspan class=\"o\"\u003e)\u003c/span\u003e Xeon\u003cspan class=\"o\"\u003e(\u003c/span\u003eR\u003cspan class=\"o\"\u003e)\u003c/span\u003e CPU E5-2680 v4 @ 2.40GHz\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 磁盘 IO\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e$ dd \u003cspan class=\"k\"\u003eif\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e/dev/zero \u003cspan class=\"nv\"\u003eof\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"nb\"\u003etest\u003c/span\u003e \u003cspan class=\"nv\"\u003ebs\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e1M \u003cspan class=\"nv\"\u003ecount\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"m\"\u003e1000\u003c/span\u003e \u003cspan class=\"nv\"\u003eoflag\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003edirect\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e1073741824\u003c/span\u003e bytes \u003cspan class=\"o\"\u003e(\u003c/span\u003e1.1 GB, 1.0 GiB\u003cspan class=\"o\"\u003e)\u003c/span\u003e copied, 2.3 s, \u003cspan class=\"m\"\u003e467\u003c/span\u003e MB/s\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 内存\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e$ free -m\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e               total    used    free\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eMem:            \u003cspan class=\"m\"\u003e963\u003c/span\u003e     \u003cspan class=\"m\"\u003e180\u003c/span\u003e     \u003cspan class=\"m\"\u003e783\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eCPU 主频不算新，磁盘 IO 正常水平，内存给足了 1GB。跑代理 / 小站完全够用。\u003c/p\u003e","title":"AkileCloud 国内优化 VPS 评测：延迟、线路、适用场景"},{"content":" DMIT 是我主力用的 VPS 服务商，它在日本、香港、洛杉矶都有优质线路。这篇文章把三条线路做完整对比，给出\u0026quot;各自最适合的场景\u0026quot;。\n基础购买流程见 DMIT VPS 购买教程，本文聚焦三条线路怎么选。\n三条线路概览 线路 产品名 典型月费 线路类型 香港 Eyeball PVM.HKG Eyeball $14.9-58.9 CMI（三网优化） 日本东京 PVM.TYO $16.9-58.9 软银 + NTT 美国洛杉矶 Premium PVM.LAX Premium $12-48 CN2 GIA 美国洛杉矶 Economy PVM.LAX Economy $6-20 普通 BGP 日本和香港的月费接近，美国 Premium 反而便宜 25%。\n延迟实测（从广州电信，2026-04） 香港 PVM Eyeball $ mtr -rn -c 50 HK_IP 1. 广州电信网关 2ms 2. 中国电信骨干 4ms 3. 中国电信深圳出口 8ms 4. CMI 落地 15ms 5. DMIT HK 边界 18ms 6. HK_IP 20ms 平均延迟：20-35ms 晚高峰延迟：30-45ms 丢包：0% 香港优势：地理距离最近，延迟最低。\n日本东京 PVM $ mtr -rn -c 50 JP_IP 1. 广州电信 3ms 2. 中国电信国际出口 25ms 3. 软银 JP 网络 70ms 4. DMIT JP 边界 80ms 5. JP_IP 82ms 平均延迟：80-100ms 晚高峰延迟：100-130ms 丢包：0-1% 日本优势：对访问日本服务（Twitch、Bilibili 日站、部分日本 API）延迟低。\n美国洛杉矶 Premium（CN2 GIA） $ mtr -rn -c 50 LAX_IP 1. 广州电信 3ms 2. CN2 核心 30ms 3. CN2 洛杉矶落地 145ms 4. DMIT LAX 边界 150ms 5. LAX_IP 152ms 平均延迟：145-165ms 晚高峰延迟：155-180ms 丢包：0% 美国 Premium 优势：CN2 GIA 线路，晚高峰不掉速，IP 池新（很多 IP 没被大厂加入黑名单）。\n美国洛杉矶 Economy（普通 BGP） $ mtr -rn -c 50 LAX_ECO_IP 平均延迟：180-220ms 晚高峰延迟：260-320ms 丢包：2-8% Economy 是性价比款，但晚高峰会明显卡，不推荐做主力代理。\n带宽对比 iperf3 从广州打，测试 30 分钟：\n线路 凌晨带宽 白天带宽 晚高峰带宽 HK Eyeball 500 Mbps+ 400 Mbps+ 300+ Mbps JP PVM 200 Mbps 150 Mbps 100 Mbps LAX Premium (CN2) 120 Mbps 100 Mbps 80 Mbps LAX Economy 50 Mbps 30 Mbps \u0026lt; 20 Mbps HK 带宽最大，对下载大文件 / 高清流媒体最友好。\nIP 质量对比 测试项 HK JP LAX Premium LAX Economy Netflix 解锁 香港区 日本区 美国区（部分） 部分 Disney+ ✅ HK ✅ JP ✅ US 部分 ChatGPT ✅ ⚠️ 部分 ✅ ❌ Claude.ai ✅ ⚠️ 部分 ✅ 部分 Google ✅ ✅ ✅ ✅ Cloudflare Challenge 偶尔 偶尔 罕见 频繁 Twitter/X ✅ ✅ ✅ ✅ LAX Premium IP 质量最好（池新、ASN 干净），HK 和 JP 质量相近，Economy 较差。\n各线路的独特优势 香港 PVM Eyeball 的独特优势 延迟极低：国内任何一条线路都到不了 20ms 这么低 带宽最大：家用代理能跑满 300+ Mbps Netflix HK 解锁：相对小众但部分人需要的香港区内容 最佳场景：\n日常代理主力（延迟敏感型用户） 远程办公 / 视频会议 对香港区流媒体有需求 日本东京 PVM 的独特优势 访问日本服务快：Twitch、Bilibili 日站、DMM、Pixiv 等 游戏加速：日服游戏延迟低 IP 归属日本：对于\u0026quot;需要日本 IP\u0026quot;的账号注册有用 最佳场景：\nACG 爱好者（日本流媒体） 日服游戏玩家 日本区账号注册 美国洛杉矶 Premium 的独特优势 IP 质量最好：池新，ChatGPT / Claude 通过率高 美国区流媒体：Netflix 美区、HBO Max、Hulu 等 价格相对便宜：比 HK 便宜 25% CN2 GIA 稳定：晚高峰不掉速 最佳场景：\nAI 工具（ChatGPT / Claude）出口 美国流媒体（美区内容最丰富） 跨境电商 / 美国业务 套餐价格对比（同等规格） 以 1C/1GB/1TB 流量 为例：\n线路 月付 年付 HK Eyeball Tiny $14.9 ~$150 JP PVM Tiny $16.9 ~$170 LAX Premium Tiny $11.9 ~$120 LAX Economy Tiny $5.9 ~$60 价格排序：LAX Economy \u0026lt; LAX Premium \u0026lt; HK \u0026lt; JP\n适用场景决策 场景 1：日常科学上网（家用） 优先级 推荐 延迟优先 HK Eyeball 性价比优先 LAX Premium 极致便宜 HK Eyeball 缺货时，用 LAX Premium 替代 场景 2：AI 工具专用（ChatGPT / Claude） 唯一推荐：LAX Premium\nChatGPT 对数据中心 IP 敏感，LAX Premium IP 池新，通过率最高 如果仍被限制，叠加 IPRoyal 住宅 IP 场景 3：多媒体流媒体 地区内容 推荐 美区（Netflix US / HBO） LAX Premium 港区（Netflix HK） HK Eyeball 日区（Netflix JP / Bilibili） JP PVM 要看多个地区的内容：买一个主力（HK 或 LAX）+ 一个按需（JP），用 mihomo 规则分流。\n场景 4：游戏加速 服务器地区 推荐 日服游戏 JP PVM（必选） 美服游戏 LAX Premium 港服游戏 HK Eyeball 游戏延迟敏感，必须买对应地区的节点。\n场景 5：跨境业务 / 电商 唯一推荐：LAX Premium\n注册美国账号（Amazon Seller / Stripe / PayPal） 美国电商平台运营 配合 IPRoyal 住宅 IP 做多账号 场景 6：VPN 节点 / 跳板机 目的 推荐 日本跳板（公司内网接入日本办公室） JP PVM 香港跳板 HK Eyeball 美国跳板 LAX Premium 场景 7：节点池 / 高可用 多买几台做冗余，推荐组合：\n主力：HK Eyeball（低延迟） 备用：LAX Premium（不同地区，容灾） 特定用途：JP PVM（按需） 我的实际部署 我目前在 DMIT 上有 3 台：\nHK Eyeball Tiny：日常代理主力，跑 Xray + Hysteria2 LAX Premium Tiny：AI 工具专用出口（ChatGPT / Claude） JP PVM Tiny（偶尔买）：需要访问日本服务时开 用 mihomo 配置规则分流（详见 mihomo 规则分流）：\n# mihomo 配置节选 rules: - DOMAIN-SUFFIX,openai.com,DMIT-LAX - DOMAIN-SUFFIX,claude.ai,DMIT-LAX - DOMAIN-SUFFIX,anthropic.com,DMIT-LAX - DOMAIN-SUFFIX,bilibili.com,DMIT-JP # 日站 - DOMAIN-SUFFIX,pixiv.net,DMIT-JP - DOMAIN-SUFFIX,netflix.com,DMIT-HK # HK 区 Netflix - MATCH,DMIT-HK # 默认走香港 缺货应对 DMIT 热门套餐（HK Tiny / LAX Premium Tiny）经常缺货。应对方法：\n方法 1：关注官方 Telegram DMIT 官方有补货频道，补货时推送通知。手快有手慢无。\n方法 2：买更大的套餐临时用 如果 Tiny（1GB）缺货，买 Small（2GB）先用。一般不支持降配，但可以短期（月付）用到 Tiny 有货。\n方法 3：用其他家临时替代 HK 缺货 → 用 AkileCloud HK LAX Premium 缺货 → 用 搬瓦工 CN2 GIA-E\n方法 4：年付锁定 买到后直接年付，避免续费时缺货。\nDMIT 的坑 坑 1：Economy 线路不值得买 虽然便宜（$5.9/月），但晚高峰延迟 260-320ms+ 丢包，做代理卡到无法使用。如果预算 $60/年，直接选搬瓦工 PID 87 或 RackNerd（详见 三家对比）。\n坑 2：IPv6 支持有限 DMIT 部分套餐不送 IPv6，只有 IPv4。现在越来越多的服务（部分墙内 CDN）需要 IPv6，注意提前确认。\n坑 3：流量用完停机 DMIT 流量用完直接断线（不是限速）。每月 25-28 号检查一下流量使用量，不够可以买流量包。\n坑 4：工单响应不算快 DMIT 工单响应通常 12-24 小时。紧急问题找 Telegram 群更快。\n常见问题 Q: HK 和 LAX Premium 哪个更值得买？ 延迟敏感（\u0026lt;50ms）：HK Eyeball AI 工具 / 美区流媒体：LAX Premium 预算紧：LAX Premium（便宜 25%） 一般人日常用，HK 体验更顺滑（延迟低）。\nQ: JP 线路和搬瓦工日本软银有什么区别？ 对比 DMIT JP 搬瓦工 日本软银 价格 $16.9/月 起 $90/年（约 $7.5/月） 延迟 80-100ms 100-130ms 带宽 150 Mbps 80 Mbps IP 质量 好 中 DMIT JP 性能更好，搬瓦工 JP 性价比更高。\nQ: 能混搭 DMIT 和搬瓦工吗？ 可以。我自己就是混用：\nDMIT HK / LAX（日常代理 + AI 工具） 搬瓦工 CN2 GIA-E（备用节点） 用 mihomo 根据规则自动切换 Q: DMIT 支持哪些付款方式？ 信用卡 / PayPal 加密货币（USDT TRC20 最推荐） 部分套餐支持支付宝 Q: DMIT 的 KVM 和 LXC 有什么区别？ KVM：完整虚拟化，支持内核调整（BBR 等）、Docker LXC：容器虚拟化，更便宜，但不支持自定义内核 强烈推荐 KVM。LXC 很多代理协议（Hysteria2 等）跑不了。\n→ DMIT 购买完整教程 → DMIT 官方注册（AFF） → 搬瓦工 CN2 GIA 深度评测 → mihomo 规则分流\n选线路拿不定来 Telegram 问。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/dmit-jp-vs-hk-vs-us/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a close up of a server in a server room\" loading=\"lazy\" src=\"/images/dmit-jp-vs-hk-vs-us-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e 是我主力用的 VPS 服务商，它在日本、香港、洛杉矶都有优质线路。这篇文章把三条线路做完整对比，给出\u0026quot;各自最适合的场景\u0026quot;。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e基础购买流程见 \u003ca href=\"/posts/dmit-vps-purchase-guide/\"\u003eDMIT VPS 购买教程\u003c/a\u003e，本文聚焦\u003cstrong\u003e三条线路怎么选\u003c/strong\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"三条线路概览\"\u003e三条线路概览\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e线路\u003c/th\u003e\n          \u003cth\u003e产品名\u003c/th\u003e\n          \u003cth\u003e典型月费\u003c/th\u003e\n          \u003cth\u003e线路类型\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e香港 Eyeball\u003c/td\u003e\n          \u003ctd\u003ePVM.HKG Eyeball\u003c/td\u003e\n          \u003ctd\u003e$14.9-58.9\u003c/td\u003e\n          \u003ctd\u003eCMI（三网优化）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e日本东京\u003c/td\u003e\n          \u003ctd\u003ePVM.TYO\u003c/td\u003e\n          \u003ctd\u003e$16.9-58.9\u003c/td\u003e\n          \u003ctd\u003e软银 + NTT\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e美国洛杉矶 Premium\u003c/td\u003e\n          \u003ctd\u003ePVM.LAX Premium\u003c/td\u003e\n          \u003ctd\u003e$12-48\u003c/td\u003e\n          \u003ctd\u003eCN2 GIA\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e美国洛杉矶 Economy\u003c/td\u003e\n          \u003ctd\u003ePVM.LAX Economy\u003c/td\u003e\n          \u003ctd\u003e$6-20\u003c/td\u003e\n          \u003ctd\u003e普通 BGP\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e日本和香港的月费接近，\u003cstrong\u003e美国 Premium 反而便宜 25%\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"延迟实测从广州电信2026-04\"\u003e延迟实测（从广州电信，2026-04）\u003c/h2\u003e\n\u003ch3 id=\"香港-pvm-eyeball\"\u003e香港 PVM Eyeball\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e$ mtr -rn -c 50 HK_IP\n  1. 广州电信网关      2ms\n  2. 中国电信骨干      4ms\n  3. 中国电信深圳出口  8ms\n  4. CMI 落地          15ms\n  5. DMIT HK 边界      18ms\n  6. HK_IP             20ms\n\n平均延迟：20-35ms\n晚高峰延迟：30-45ms\n丢包：0%\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e香港优势\u003c/strong\u003e：地理距离最近，延迟最低。\u003c/p\u003e","title":"DMIT 日本 / 香港 / 美国三条线路对比：延迟、带宽、解锁能力实测"},{"content":" 很多人买了 IPRoyal 住宅 IP 只是\u0026quot;能用\u0026quot;，不知道怎么用它赚钱。这篇文章把 5 个已经跑通的实战场景写清楚，从买 IP 到具体变现路径完整讲一遍。\n基础科普见 IPRoyal 住宅 IP 使用场景。本文聚焦具体赚钱场景。\n为什么住宅 IP 能赚钱 核心原因：很多互联网业务对数据中心 IP 做了限制，但对住宅 IP 友好。\nOpenAI / ChatGPT 注册需住宅 IP（数据中心 IP 被封） 电商平台（亚马逊 / 虾皮 / 阿里国际站）识别数据中心 IP 为\u0026quot;异常\u0026quot; 广告联盟（Google AdSense / Facebook Ads）反作弊系统对数据中心 IP 严格 跨境电商要模拟当地用户（美国用户 → 美国住宅 IP） 谁能让\u0026quot;电脑上网看起来像普通家庭用户\u0026quot;，谁就能做这些业务。\n场景 1：AI 账号批量注册和管理 典型需求：注册多个 ChatGPT Plus 账号、Claude.ai 账号、Midjourney 账号，一个人运营或者转卖。\n操作流程 IPRoyal 买对应国家住宅 IP（美国 / 英国 / 新加坡） 使用指纹浏览器（AdsPower / BitBrowser / MultiLogin），每个账号配一个独立浏览器环境 每个浏览器绑定一个 IPRoyal 出口 IP（按 session 固定 IP） 用不同的邮箱（Gmail / Outlook / ProtonMail）注册账号 养号：每周登录 1-2 次，正常使用一段时间再高频使用 注意事项 IP 必须和邮箱地区匹配：美国邮箱 + 美国 IP，混搭容易被风控 不要同一 IP 注册多个账号：IPRoyal 支持 sticky session（黏性会话），能让同一用户会话保持同一 IP，但跨账号必须换 IP 手机号验证：ChatGPT 等需要手机号验证，用 SMS-Activate 或 Tello 等虚拟号服务 变现路径 自用省钱（ChatGPT Plus $20/月，账号合租 4-6 人分担） 账号转卖（合规场景：企业团队账号代购） AI 服务代开通业务 实际成本 项目 成本 IPRoyal 住宅 IP $7/GB（注册用流量极少，1GB 能注册 50+ 个账号） 指纹浏览器 $9-30/月（AdsPower 等） 邮箱服务 $0-1/个 手机号验证 $0.5-2/次 单账号启动成本约 $3-5，如果转卖可以快速回本。\n场景 2：跨境电商选品和调研 典型需求：做亚马逊/Shopify 跨境电商，需要看美国真实用户视角的搜索结果、商品排名、竞品价格。\n问题 国内访问亚马逊美国站，搜索结果和美国用户看到的不一样（地区价格、库存、推荐） 用 VPS 代理访问容易被识别，看到的数据不真实 需要按城市/邮编查看（亚马逊的 Prime 配送范围、库存等按邮编展示） 操作流程 IPRoyal 选择 美国 → 具体州/城市（比如加州洛杉矶） 配置到 Chrome + Proxy SwitchyOmega 访问亚马逊，填入目标邮编（90001 = LA） 搜索关键词，查看真实排名 用 Helium 10 / JungleScout 等工具配合，看销量估算 数据点 用住宅 IP + 邮编定位采集到的数据：\n竞品当前价格（含地区折扣） 库存量（Prime 显示\u0026quot;明天到达\u0026quot;= 库存充足） 搜索结果排名（Organic + Sponsored） 商品评论（按时间排序看近期趋势） 自动化方案 更进一步，用 Python + IPRoyal + Playwright 做自动化采集：\nfrom playwright.sync_api import sync_playwright proxy = { \u0026#34;server\u0026#34;: \u0026#34;http://gate.iproyal.cn:10000\u0026#34;, \u0026#34;username\u0026#34;: \u0026#34;你的用户名_country-us_state-california\u0026#34;, \u0026#34;password\u0026#34;: \u0026#34;你的密码\u0026#34; } with sync_playwright() as p: browser = p.chromium.launch(proxy=proxy, headless=True) page = browser.new_page() page.goto(\u0026#34;https://www.amazon.com/s?k=wireless+earbuds\u0026#34;) # 设置邮编（LA） page.click(\u0026#34;#nav-global-location-popover-link\u0026#34;) page.fill(\u0026#34;#GLUXZipUpdateInput\u0026#34;, \u0026#34;90001\u0026#34;) page.click(\u0026#34;#GLUXZipUpdate\u0026#34;) # 抓取商品列表 products = page.query_selector_all(\u0026#34;[data-component-type=\u0026#39;s-search-result\u0026#39;]\u0026#34;) for p in products: title = p.query_selector(\u0026#34;h2 span\u0026#34;).text_content() price = p.query_selector(\u0026#34;.a-price-whole\u0026#34;) print(title, price.text_content() if price else \u0026#34;N/A\u0026#34;) browser.close() 变现路径 自营跨境电商：选品更精准，利润率提升 10-20% 选品代理服务：帮别人做市场调研，$50-200/单 数据产品：做\u0026quot;美国热销品趋势\u0026quot;付费报告 场景 3：Google Ads / Meta Ads 广告验证 典型需求：跨境广告投放（或者代客户投放），需要确认广告在目标地区正常展示、落地页加载、转化流程完整。\n问题 广告投放给美国用户，你在中国用 VPS 代理看，Google/Meta 会推送和真实美国用户不一样的广告 想验证目标受众真实看到的落地页（不同地区显示不同价格/语言/库存） 反作弊检查：确认竞品有没有刷广告 操作流程 IPRoyal 选目标地区住宅 IP（美国纽约 / 美国洛杉矶 / 英国伦敦等） 启用 sticky session（IPRoyal 支持，同一 session 保持同一 IP 30 分钟） 清除浏览器 cookies / localStorage 访问 Google / Facebook，搜索目标关键词 查看广告展示、点击、落地页 Google 广告验证步骤 1. IPRoyal 配置 → 美国 → 具体城市 2. 打开无痕模式 Chrome 3. google.com → 搜索 \u0026#34;cheap flights to tokyo\u0026#34; 4. 观察： - Ads 区展示的广告是哪几家 - 价格显示货币是否 USD - 落地页语言是否英文 - 点击广告后跳转是否正常 Facebook 广告审查 类似流程，用 facebook.com 登录（用对应地区的账号），浏览 feed 确认广告投放。\n注意事项 单纯\u0026quot;看广告\u0026quot;不要点击（误点会消耗客户的广告预算） 要统计点击时，用独立会话点击 1-2 次足够 不要用同一 IP 刷别人的广告（广告欺诈违法） 变现路径 为客户做广告验证服务（$30-100/次） 建立跨境电商广告投放团队 做\u0026quot;广告审查工具\u0026quot;付费订阅 场景 4：价格爬虫 / 比价数据 典型需求：机票/酒店/电商价格动态采集，给用户推送特价。\n为什么需要住宅 IP 航空公司 / 酒店网站对同一 IP 频繁查询会限流 携程/Booking 等大平台有地区差价（美国 IP 看到的价格 vs 国内 IP 不同） 用数据中心 IP 大量请求会触发验证码 典型项目：机票价格追踪 import httpx import time import random # IPRoyal 配置，每次换 IP def get_proxy(): session_id = random.randint(10000, 99999) return { \u0026#34;all://\u0026#34;: f\u0026#34;http://user-country-us-session-{session_id}:password@gate.iproyal.cn:10000\u0026#34; } def fetch_flight_price(origin, dest, date): url = f\u0026#34;https://www.kayak.com/flights/{origin}-{dest}/{date}\u0026#34; with httpx.Client(proxies=get_proxy(), timeout=30) as client: r = client.get(url) # 解析价格 return parse_price(r.text) # 每天抓 1 次，连续 30 天 prices = [] for i in range(30): price = fetch_flight_price(\u0026#34;SFO\u0026#34;, \u0026#34;NRT\u0026#34;, \u0026#34;2026-06-01\u0026#34;) prices.append({\u0026#34;date\u0026#34;: time.strftime(\u0026#34;%Y-%m-%d\u0026#34;), \u0026#34;price\u0026#34;: price}) time.sleep(86400) 数据用途 自用：提前订到特价机票 做\u0026quot;特价机票推送\u0026quot;公众号 / Telegram 频道（广告 + 机票联盟佣金） 航司研究：分析定价规律，撰写付费报告 合规注意 控制请求频率（1-5 秒/次，不要 DDoS 人家） 遵守 robots.txt 不要采集付费墙后的数据 场景 5：多地区 SEO 监控 典型需求：网站在不同国家 Google 搜索结果排名不同，需要监控\u0026quot;目标市场\u0026quot;的真实排名。\n为什么不能用 VPS Google 会根据 IP 调整搜索结果（地区化） 数据中心 IP 搜索结果可能被降权或显示 ReCaptcha 工具类 SEO 软件（Ahrefs / SEMrush）月费贵，且数据滞后 1-7 天 操作流程 IPRoyal 配置目标国家（比如\u0026quot;日本东京\u0026quot;住宅 IP） Chrome 无痕 → google.co.jp 搜索你的目标关键词（比如 \u0026ldquo;residential proxy\u0026rdquo; 日文） 记录你的网站排名位置、前 10 名竞争对手 自动化脚本 from playwright.sync_api import sync_playwright import json KEYWORDS = [\u0026#34;residential proxy\u0026#34;, \u0026#34;data center proxy\u0026#34;, \u0026#34;rotating proxy\u0026#34;] TARGET_SITE = \u0026#34;yoursite.com\u0026#34; def check_rank(keyword, country=\u0026#34;us\u0026#34;): proxy = f\u0026#34;http://user-country-{country}:pass@gate.iproyal.cn:10000\u0026#34; with sync_playwright() as p: browser = p.chromium.launch(proxy={\u0026#34;server\u0026#34;: proxy}) page = browser.new_page() page.goto(f\u0026#34;https://www.google.com/search?q={keyword}\u0026#34;) results = page.query_selector_all(\u0026#34;div.yuRUbf a\u0026#34;) for i, r in enumerate(results, 1): url = r.get_attribute(\u0026#34;href\u0026#34;) if TARGET_SITE in url: return i return None # 每天跑 1 次 for kw in KEYWORDS: rank = check_rank(kw, \u0026#34;us\u0026#34;) print(f\u0026#34;{kw}: {rank}\u0026#34;) 变现路径 自己网站 SEO 监控，优化排名 → 更多流量 → AFF 佣金 / 广告收入 为客户做 SEO 排名追踪服务（$50-200/月/客户） 建立\u0026quot;SEO 监控工具\u0026quot;SaaS 场景组合玩法 上面 5 个场景可以组合：\n跨境电商完整链条：\n住宅 IP 选品调研（场景 2） 住宅 IP 监控竞品广告（场景 3） 住宅 IP 采集竞品价格（场景 4） 住宅 IP 做落地页 SEO 监控（场景 5） 用 AI 账号批量生成产品文案（场景 1） 一个跨境电商\u0026quot;工具箱\u0026quot;就成型了，同一份 IPRoyal 流量支撑多个业务。\nIPRoyal 选套餐建议 用量 套餐 成本 偶尔用（注册账号 / 临时任务） Pay-as-you-go $7/GB 日常使用（爬虫、SEO 监控） 月付 10-30 GB $60-200/月 批量业务（跨境电商团队） 月付 100+ GB $500+/月 起步建议：先买 5GB，跑通一个场景再加量。IPRoyal 流量不过期，买了慢慢用。\n成本预算和 ROI 假设做 AI 账号代开通业务：\nIPRoyal 成本：$7/GB，注册 1 个账号约 20MB = $0.14 指纹浏览器：$15/月 / 账号数量 手机号验证：$1/次 单账号成本：约 $1.5 单账号售价：$20-50（ChatGPT Plus 月租） 毛利率 80%+，前提是流量稳定、账号能养住。\n常见问题 Q: IPRoyal 和直接买 VPS 代理有什么区别？ VPS 代理 = 数据中心 IP，固定。IPRoyal = 住宅 IP，动态，按 GB 计费。对需要像真人的场景必须用后者。\nQ: 怎么确认 IPRoyal 的 IP 是住宅？ 访问 ipinfo.io，看 ASN 字段。住宅 IP 的 ASN 是 ISP（Comcast / AT\u0026amp;T 等）；数据中心 IP 是云服务商（AWS / Google 等）。\nQ: 用 IPRoyal 做灰产会不会被封？ IPRoyal 本身支持合规业务。做严重违规（刷单 / 账号欺诈）可能被服务商封账号。本文列的 5 个场景都是合规业务。\nQ: 流量怎么省？ 爬虫类：只下载 HTML / API 响应，不加载图片 / CSS（省 80%） 浏览器场景：屏蔽广告和图片（uBlock Origin） 启用代理压缩（Chrome Flag 里有数据压缩选项） Q: 按 GB 计费 vs 月套餐怎么选？ 低于 20GB/月 用按 GB，超过 20GB 用月套餐更省。我自己目前用按 GB，偶尔用 2-3 GB/月。\n总结：IPRoyal 的住宅 IP 不只是\u0026quot;翻墙工具\u0026quot;，而是跨境业务的基础设施。从 AI 账号到电商到 SEO，只要业务涉及\u0026quot;看起来像本地用户\u0026quot;，都离不开它。\n→ 开始使用 IPRoyal（AFF 链接） → IPRoyal 基础使用指南 → 住宅 IP vs 数据中心 IP 原理 → mihomo 出口接住宅 IP\n有实战问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/iproyal-use-cases-5-scenarios/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A close up of a blue and black globe\" loading=\"lazy\" src=\"/images/iproyal-use-cases-5-scenarios-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e很多人买了 \u003ca href=\"https://aff.panshi.io/track?id=iproyal\"\u003eIPRoyal\u003c/a\u003e 住宅 IP 只是\u0026quot;能用\u0026quot;，不知道怎么用它赚钱。这篇文章把 5 个已经跑通的实战场景写清楚，从买 IP 到具体变现路径完整讲一遍。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e基础科普见 \u003ca href=\"/posts/iproyal-residential-ip/\"\u003eIPRoyal 住宅 IP 使用场景\u003c/a\u003e。本文聚焦\u003cstrong\u003e具体赚钱场景\u003c/strong\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"为什么住宅-ip-能赚钱\"\u003e为什么住宅 IP 能赚钱\u003c/h2\u003e\n\u003cp\u003e核心原因：\u003cstrong\u003e很多互联网业务对数据中心 IP 做了限制，但对住宅 IP 友好\u003c/strong\u003e。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpenAI / ChatGPT 注册需住宅 IP（数据中心 IP 被封）\u003c/li\u003e\n\u003cli\u003e电商平台（亚马逊 / 虾皮 / 阿里国际站）识别数据中心 IP 为\u0026quot;异常\u0026quot;\u003c/li\u003e\n\u003cli\u003e广告联盟（Google AdSense / Facebook Ads）反作弊系统对数据中心 IP 严格\u003c/li\u003e\n\u003cli\u003e跨境电商要模拟当地用户（美国用户 → 美国住宅 IP）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e谁能让\u0026quot;电脑上网看起来像普通家庭用户\u0026quot;，谁就能做这些业务。\u003c/p\u003e\n\u003ch2 id=\"场景-1ai-账号批量注册和管理\"\u003e场景 1：AI 账号批量注册和管理\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e典型需求\u003c/strong\u003e：注册多个 ChatGPT Plus 账号、Claude.ai 账号、Midjourney 账号，一个人运营或者转卖。\u003c/p\u003e\n\u003ch3 id=\"操作流程\"\u003e操作流程\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eIPRoyal 买对应国家住宅 IP\u003c/strong\u003e（美国 / 英国 / 新加坡）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e使用指纹浏览器\u003c/strong\u003e（AdsPower / BitBrowser / MultiLogin），每个账号配一个独立浏览器环境\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e每个浏览器绑定一个 IPRoyal 出口 IP\u003c/strong\u003e（按 session 固定 IP）\u003c/li\u003e\n\u003cli\u003e用不同的邮箱（Gmail / Outlook / ProtonMail）注册账号\u003c/li\u003e\n\u003cli\u003e养号：每周登录 1-2 次，正常使用一段时间再高频使用\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"注意事项\"\u003e注意事项\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIP 必须和邮箱地区匹配\u003c/strong\u003e：美国邮箱 + 美国 IP，混搭容易被风控\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e不要同一 IP 注册多个账号\u003c/strong\u003e：IPRoyal 支持 sticky session（黏性会话），能让同一用户会话保持同一 IP，但跨账号必须换 IP\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e手机号验证\u003c/strong\u003e：ChatGPT 等需要手机号验证，用 \u003ca href=\"https://sms-activate.org\"\u003eSMS-Activate\u003c/a\u003e 或 Tello 等虚拟号服务\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"变现路径\"\u003e变现路径\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e自用省钱（ChatGPT Plus $20/月，账号合租 4-6 人分担）\u003c/li\u003e\n\u003cli\u003e账号转卖（合规场景：企业团队账号代购）\u003c/li\u003e\n\u003cli\u003eAI 服务代开通业务\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"实际成本\"\u003e实际成本\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e项目\u003c/th\u003e\n          \u003cth\u003e成本\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eIPRoyal 住宅 IP\u003c/td\u003e\n          \u003ctd\u003e$7/GB（注册用流量极少，1GB 能注册 50+ 个账号）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e指纹浏览器\u003c/td\u003e\n          \u003ctd\u003e$9-30/月（AdsPower 等）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e邮箱服务\u003c/td\u003e\n          \u003ctd\u003e$0-1/个\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e手机号验证\u003c/td\u003e\n          \u003ctd\u003e$0.5-2/次\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e单账号启动成本约 \u003cstrong\u003e$3-5\u003c/strong\u003e，如果转卖可以快速回本。\u003c/p\u003e","title":"IPRoyal 住宅 IP 的 5 个实战场景：从买 IP 到赚钱的完整路径"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n这篇文章记录我在 Pionex 跑的黄金永续网格机器人，从 2026 年 1 月启动到 4 月的实盘数据。参数、收益、回撤全都公开。\n基础教程见 Pionex XAU 网格机器人 和 合约网格和现货网格对比。本文只记录真实跑的结果。\n为什么跑黄金网格 选黄金（XAU/USDT）而不是 BTC 网格的原因：\n波动率适中：BTC 日波动 3-8%，黄金日波动 1-2%，网格密度好控制 单边行情相对少：虽然黄金处在长期上升通道，短期仍以震荡为主 避险属性：地缘冲突、通胀预期都会推涨黄金，2025-2026 黄金从 $4000 级别一路涨到 $4800+ 手续费低：Pionex 合约手续费 0.05%，网格密集交易时成本可控 机器人参数 我跑的是 Pionex XAU/USDT 永续合约网格机器人，参数：\n参数 值 说明 交易对 XAU/USDT Perp 黄金永续合约 上限 $4,900 价格区间上限 下限 $4,400 价格区间下限 网格数 100 等差网格 单格间距 $5 (4900-4400) / 100 杠杆 3x 合约杠杆 初始本金 $2,000 USDT 启动资金 方向 中性（双向） 做多 + 做空网格 单格收益估算：$5 / $4,600 × 3x ≈ 0.33%（扣掉 2 次手续费后约 0.27%）\n注：单格绝对收益率比 BTC 网格低，因为金价绝对值高、单格间距占比小。但黄金日波动稳定、成交频繁，累计收益可观。\n启动时机 2026-01-15 启动，当时黄金 $4,620，处于价格区间中段偏上。\n启动原则：\n价格必须在区间中间 50% 以内启动 避开重大数据发布（非农、CPI、FOMC 前后 24 小时） 启动前确认最近 30 天波动在网格区间内 月度收益记录 2026-01（1 月 15 日启动） 周 期末金价 累计收益 周收益 成交笔数 备注 1 月 15-21 $4,650 +1.6% +1.6% 48 启动第一周，顺利 1 月 22-28 $4,580 +3.0% +1.4% 52 震荡区间内，正常 1 月 29-31 $4,600 +3.6% +0.6% 20 月末观望，成交少 1 月半月收益：+3.6%\n2026-02 周 期末金价 累计收益 周收益 成交笔数 备注 2 月 1-7 $4,680 +5.1% +1.5% 55 稳定震荡 2 月 8-14 $4,720 +6.6% +1.5% 58 央行会议，波动加大 2 月 15-21 $4,780 +7.9% +1.3% 50 向上趋势，做多格收益快 2 月 22-28 $4,750 +9.2% +1.3% 53 高位回调，做空格接力 2 月月收益：+5.6%\n2026-03 周 期末金价 累计收益 周收益 成交笔数 备注 3 月 1-7 $4,820 +10.5% +1.3% 49 继续上行 3 月 8-14 $4,880 +11.9% +1.4% 56 接近上沿，警戒 3 月 15-21 $4,950 +11.2% -0.7% 14 突破上沿，停机 3 月 22-28 — — — 0 停机观察 3 月月收益：+1.7%（被上沿突破拖累）\n这里是关键事件：金价从 $4,820 一路涨到 $4,960，在 3 月 14 日距上限 $4,900 只剩 ~1%，触发我设的\u0026quot;接近上沿\u0026quot;警戒线（距上限 \u0026lt; 3%）。\n我的处置：\n3 月 15 日停机 不平仓，等价格回落或重新设网格 3 月 16-22 价格继续涨到 $4,970，没有立刻重启 2026-04（4 月 1 日重启） 4 月 1 日重新评估，金价 $4,900，把区间上调到 $4,600-$5,200，重启机器人：\n周 期末金价 累计收益 周收益 成交笔数 4 月 1-7 $4,880 +1.2% +1.2% 45 4 月 8-14 $4,810 +2.3% +1.1% 48 4 月 15-17（至今） $4,843 +2.7% +0.4% 18 重启后 17 天收益：+2.7%\n累计数据总结 指标 值 运行时间 2026-01-15 ~ 2026-04-17（93 天，其中停机 17 天） 实际运行时间 76 天 累计收益（复合） +14.1% 年化收益（按实际运行时间） ~68% 最大回撤 -1.8%（3 月上沿突破期间） 总成交笔数 566 笔 平均每笔盈利 0.025% 夏普比率（估算） 约 2.9 实际到手收益（$2,000 本金）：约 $282 USDT\n回撤和经验 2 次最大回撤事件 事件 1：2026-02 FOMC 前夕（2 月 18 日）\n金价 1 小时内从 $4,750 跌到 $4,690（-1.3%） 网格策略：下方做多格全部触发，浮亏约 $48（-2.4%） 30 分钟后价格回到 $4,720，浮亏缩小到 -1% 事件 2：2026-03 上沿突破（3 月 8-15 日）\n金价从 $4,820 连涨到 $4,960，突破网格上沿 做多格全部成交完，做空格持续增仓 浮亏最高到 -1.8%（约 $36） 我手动停机，避免继续亏损 关键教训：网格必须设合理的上下沿，突破时果断停机。贪心留着不停，会从\u0026quot;浮亏\u0026quot;变\u0026quot;实亏\u0026quot;。\n什么情况下该停机 我总结的停机规则：\n价格接近网格上下沿 3%：警戒线，观察 价格突破网格上下沿：立刻停机，不补仓 连续 3 天日波动 \u0026gt; 5%：波动过大，网格收益跟不上，停机 有重大宏观事件：美联储议息、美国大选、地缘冲突升级，提前 24 小时停机 什么时候重启 价格回到网格中段 ± 30% 重新评估波动率，调整网格参数 小额试跑 2-3 天，确认正常再加回本金 成本分析 手续费 Pionex 合约手续费：Maker 0.02%，Taker 0.05% 网格成交多为 Maker 单（限价单），按 0.02% 算 完整循环（买入 + 卖出）手续费 ≈ 2 × 0.02% = 0.04% 566 笔实际是\u0026quot;半笔\u0026quot;，完整循环约 283 次 总手续费占本金比例 ≈ 283 × 0.04% × 3x ≈ 3.4% 手续费优化 Pionex 有手续费折扣：\n持仓 PIO（Pionex 平台币）：最高 50% 折扣 新用户首月手续费返还（通过我的 AFF 链接） 我持有一部分 PIO，实际手续费折后约 0.01% Maker，总手续费降到约 1.7%。\n净收益 扣除手续费后的实际月化收益：\n月毛收益 ≈ 5.0% 月手续费 ≈ 0.6% 月净收益 ≈ 4.4% 年化约 50-60%，扣除停机期实际到手约 30-40%。\n资金规模与杠杆影响 跑了几个月后的心得：\n本金规模 小资金（$1,000-5,000）：单格盈利绝对值小，但相对收益率正常 大资金（$10,000+）：手续费能拿到更高等级折扣，净收益率稍高 超大资金（$50,000+）：流动性影响开始显现，成交滑点增加 杠杆选择 杠杆 优点 风险 2x 风险低 收益也低，年化约 20-25% 3x 平衡 我选这个 5x 收益高 单日大幅下跌可能接近强平 10x 不推荐 任何突破 5% 的日波动都可能打穿 我的选择是 3x。XAU/USDT 这种低波动品种，3x 爆仓距离 ~25%（历史上极难出现），但收益率是现货的 3 倍。\n和其他策略对比 同期对比（2026-01-15 ~ 2026-04-17）：\n策略 年化收益 最大回撤 夏普比 Pionex XAU 网格 3x ~40% -1.8% 2.9 BTC 现货定投 +22% -8% 1.5 北极星 BTC 趋势跟踪 +40% -20%* 1.5 持有 USDT（DeFi 理财） +8% 0 N/A *北极星带 3x 杠杆，信号口径回撤约 -10%。详见 北极星实盘追踪。\nXAU 网格在\u0026quot;低回撤高稳定\u0026quot;上非常突出，适合风险偏好低的量化玩家。\n踩过的坑 网格参数贪心：启动时设了 $4,300-$4,900（偏宽），实际成交频率低，月收益低\n解决：调整到 $4,400-$4,900，网格密度翻倍，收益上来了 忽略重大事件：2026-02 CPI 数据当天没停机，结果遇到急涨急跌，网格两端都吃了亏\n解决：建立\u0026quot;事件日历\u0026quot;，提前停机 Pionex APP 通知延迟：手机 APP 推送偶尔延迟 5-10 分钟\n解决：关键节点用 Telegram bot 推送（Pionex 有官方 bot） 忘记拿手续费折扣：前 2 个月没买 PIO，白白多付了 3% 手续费\n解决：持有 $100 PIO 就能拿到基础折扣 以为\u0026quot;停机就不亏\u0026quot;：停机后持仓还在，价格继续涨（对做空格）还是浮亏\n解决：停机同时手动减仓，或者设硬止损 什么人适合跑网格 适合 不适合 风险偏好低 想快速翻倍 能长期持续盯盘 完全不想管 理解合约机制 对杠杆无概念 接受年化 20-40% 想月化 50% 以上 不适合的场景：\n趋势明显的行情（网格会跑输趋势跟踪） 超低波动行情（网格赚不到手续费钱） 超高波动行情（容易突破上下沿） 如何开始 注册 Pionex 账号（AFF 链接有新用户优惠） 实名认证（KYC，5-10 分钟） 充值 USDT（最少 $100 起步） 进入\u0026quot;机器人\u0026quot; → \u0026ldquo;网格交易\u0026rdquo; → 选 XAU/USDT Perp 参考本文参数设置，先小资金试跑 1-2 周 稳定后加码 持续更新 这篇文章我会每月更新 1 次，记录实盘数据。订阅 Telegram 或 RSS 追踪更新。\n→ 注册 Pionex（AFF） → Pionex XAU 网格教程 → 现货网格 vs 合约网格 → 量化工具栈\n有实盘问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/pionex-xau-real-profit-log/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a gold bar sitting on top of a pile of indian currency\" loading=\"lazy\" src=\"/images/pionex-xau-real-profit-log-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e这篇文章记录我在 \u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003ePionex\u003c/a\u003e 跑的黄金永续网格机器人，从 2026 年 1 月启动到 4 月的实盘数据。参数、收益、回撤全都公开。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e基础教程见 \u003ca href=\"/posts/pionex-xau-grid-bot/\"\u003ePionex XAU 网格机器人\u003c/a\u003e 和 \u003ca href=\"/posts/pionex-vs-binance-grid/\"\u003e合约网格和现货网格对比\u003c/a\u003e。本文只记录\u003cstrong\u003e真实跑的结果\u003c/strong\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"为什么跑黄金网格\"\u003e为什么跑黄金网格\u003c/h2\u003e\n\u003cp\u003e选黄金（XAU/USDT）而不是 BTC 网格的原因：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e波动率适中\u003c/strong\u003e：BTC 日波动 3-8%，黄金日波动 1-2%，网格密度好控制\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e单边行情相对少\u003c/strong\u003e：虽然黄金处在长期上升通道，短期仍以震荡为主\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e避险属性\u003c/strong\u003e：地缘冲突、通胀预期都会推涨黄金，2025-2026 黄金从 $4000 级别一路涨到 $4800+\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e手续费低\u003c/strong\u003e：Pionex 合约手续费 0.05%，网格密集交易时成本可控\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"机器人参数\"\u003e机器人参数\u003c/h2\u003e\n\u003cp\u003e我跑的是 \u003cstrong\u003ePionex XAU/USDT 永续合约网格机器人\u003c/strong\u003e，参数：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e参数\u003c/th\u003e\n          \u003cth\u003e值\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e交易对\u003c/td\u003e\n          \u003ctd\u003eXAU/USDT Perp\u003c/td\u003e\n          \u003ctd\u003e黄金永续合约\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e上限\u003c/td\u003e\n          \u003ctd\u003e$4,900\u003c/td\u003e\n          \u003ctd\u003e价格区间上限\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e下限\u003c/td\u003e\n          \u003ctd\u003e$4,400\u003c/td\u003e\n          \u003ctd\u003e价格区间下限\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e网格数\u003c/td\u003e\n          \u003ctd\u003e100\u003c/td\u003e\n          \u003ctd\u003e等差网格\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e单格间距\u003c/td\u003e\n          \u003ctd\u003e$5\u003c/td\u003e\n          \u003ctd\u003e(4900-4400) / 100\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e杠杆\u003c/td\u003e\n          \u003ctd\u003e3x\u003c/td\u003e\n          \u003ctd\u003e合约杠杆\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e初始本金\u003c/td\u003e\n          \u003ctd\u003e$2,000 USDT\u003c/td\u003e\n          \u003ctd\u003e启动资金\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e方向\u003c/td\u003e\n          \u003ctd\u003e中性（双向）\u003c/td\u003e\n          \u003ctd\u003e做多 + 做空网格\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e单格收益估算\u003c/strong\u003e：$5 / $4,600 × 3x ≈ 0.33%（扣掉 2 次手续费后约 0.27%）\u003c/p\u003e","title":"Pionex 黄金网格实盘收益记录：从启动到 3 个月的完整数据"},{"content":" 美国便宜 VPS 三家长期热门：RackNerd、CloudCone、搬瓦工（BandwagonHost）。我这三家都用过，每家定位不一样，这篇文章把差异讲清楚，给出选购决策。\n三家的基本定位 服务商 年费起步 典型场景 线路类型 RackNerd $10-20/年 极致低价，建小站/轻度代理 普通 BGP CloudCone $15-30/年 按小时计费，灵活测试 普通 BGP 搬瓦工 $50-170/年 CN2 GIA 线路，主力代理 CN2 GIA / GT 一句话定位：\nRackNerd = 最便宜的\u0026quot;能跑起来\u0026quot;的美国 VPS CloudCone = 小时计费，适合短期测试 搬瓦工 = 三网直连，CN2 GIA 线路稳定 价格对比（2026 年主流套餐） RackNerd 年付黑五套餐 规格 内存 硬盘 流量 年费 1C/512M 1核 10GB SSD 1TB ~$10.5 1C/1G 1核 17GB SSD 2TB ~$14 2C/2G 2核 35GB SSD 4.5TB ~$24 2C/4G 2核 60GB SSD 8TB ~$39 RackNerd 的节点遍布美国多地，常见有 Los Angeles (MC-LAX / DC-02)、San Jose、Seattle、New York、Chicago、Dallas。国内访问最推荐 Los Angeles MC 机房，晚高峰延迟 180-220ms。\nCloudCone 小时计费 + 年付 CloudCone 最大特点是按小时计费，1C/1G 大约 $0.005/小时（约 $0.12/天），年付约 $15-30。\n模式 1C/1G 成本 适用场景 按小时 ~$0.005/h 短期测试、临时任务 月付 ~$2-4/月 小站长期运行 年付 ~$15-30/年 黑五特价有时更低 机房在 Los Angeles MultaCom（和 RackNerd 同机房，线路相似）。\n搬瓦工主流套餐 套餐 内存 硬盘 流量 年费 线路 CN2 GIA-E（PID 87） 1GB 20GB 1TB ~$50 CN2 GIA CN2 GIA-E（PID 88） 2GB 40GB 2TB ~$90 CN2 GIA 香港 CMI（PID 134） 2GB 40GB 0.5TB ~$150 CMI 日本软银（PID 95） 1GB 20GB 1TB ~$90 软银 搬瓦工贵是贵在线路质量：CN2 GIA 是中国电信的商业精品网，国内三网晚高峰 150-180ms 不掉速。\n网络实测对比 2026-04 月用 mtr 从广州电信对三家的洛杉矶节点做 7 天连续测试：\n服务商 机房 平均延迟 晚高峰延迟 丢包 RackNerd LA MC-02 185ms 260ms 0-3% CloudCone LA MultaCom 182ms 250ms 0-2% 搬瓦工 CN2 GIA LA DC6 CN2 GIA-E 155ms 180ms 0% 搬瓦工普通 LA Quadranet（旧套餐） 200ms 丢包严重 5-15% 结论：\n白天轻负载，三家都能跑 晚高峰 20:00-24:00，RackNerd / CloudCone 会明显变慢甚至间歇丢包；搬瓦工 CN2 GIA 依然稳定 做代理节点看晚高峰表现，不看白天 稳定性对比 过去一年使用体验：\nRackNerd 宕机频率：极低，我用了 14 个月没遇到过整机宕机 工单响应：12-24 小时 退款政策：开通 30 天内支持退款 坑：部分 IP 开出来就被某些服务封了（ChatGPT / Netflix 等），需要自己测试 CloudCone 宕机频率：偶尔有短时（数分钟）母机重启 工单响应：6-12 小时，英文客服 小时计费的好处：不喜欢随时删，不浪费钱 坑：付款方式限制（支持信用卡/PayPal，早期不支持加密货币，现在支持了） 搬瓦工 宕机频率：极低，一年两次左右，每次都提前公告 工单响应：1-4 小时，中文客服 一键换 IP：付费 $8.79，换 IP 速度秒级 坑：同一 IP 被封后换 IP 要花钱，便宜套餐常年缺货 适用场景决策树 场景 1：纯建站（没有代理需求） 首选 RackNerd 1C/1G ($14/年)：最便宜，建博客/小论坛/图床足够 备选 CloudCone 年付 场景 2：代理节点（日常科学上网） 预算够 → 搬瓦工 CN2 GIA-E ($50+/年)：晚高峰不卡 预算紧 → RackNerd 1C/512M ($10/年)：白天够用，晚高峰将就 测试用 → CloudCone 小时计费：开几小时测试线路质量，不合适就删 场景 3：临时任务（爬虫/一次性部署） CloudCone 按小时：跑完就删，几块钱搞定 不推荐搬瓦工（最短月付） 场景 4：AI 工具专用出口（OpenAI/Claude API） 都不推荐：数据中心 IP 容易被限制，建议看 IPRoyal 住宅 IP 如果必须用 VPS，选搬瓦工 DC6 CN2 GIA-E，IP 质量相对好 场景 5：多节点负载均衡 混搭方案：搬瓦工主力（稳）+ RackNerd 备用（便宜） mihomo 配置多节点自动切换，详见 mihomo 多网关配置 付款方式对比 服务商 信用卡 PayPal 加密货币 支付宝 RackNerd ✅ ✅ ✅ BTC/USDT ❌ CloudCone ✅ ✅ ✅ 近年支持 ❌ 搬瓦工 ✅ ✅ ✅ BTC/ETH/USDT ✅ 搬瓦工是三家里唯一支持支付宝的，对国人最友好。\n黑五 / 节日促销注意事项 三家每年黑五（11 月底）都有大促，比平时便宜 30-50%。具体经验：\nRackNerd：黑五最便宜，出一些\u0026quot;$9.99/年\u0026quot;级别的套餐，但秒空 CloudCone：Flash Sale（闪购）不定期，需要盯 搬瓦工：常年稳定价，黑五不大降价，但会开放\u0026quot;低端套餐补货\u0026quot; 我的建议：日常需求先用月付/小年付，黑五守新套餐再大量囤。\n购买后必做的 5 件事 新买 VPS 到手，无论哪家都要做这几步：\n修改 SSH 端口（防扫描） 禁用 root 密码登录，改用 SSH Key 配置 ufw / iptables 防火墙，只开需要的端口 装 fail2ban，自动封禁暴力破解 IP 关闭不用的服务（apache2 / postfix 等预装） 详细步骤见 DMIT VPS 购买流程 第七步（SSH 初始化），三家流程一样。\n常见问题 Q: 三家都在洛杉矶，能不能混用负载均衡？ 可以。用 mihomo 或 Surge 配置多个节点，测速后自动选延迟最低的。但要注意：便宜线路晚高峰会掉，混用时主节点放搬瓦工 CN2，备用放 RackNerd/CloudCone。\nQ: RackNerd 的 IP 被 ChatGPT 封了怎么办？ 三个思路：\n工单申请换 IP（部分套餐支持） 在这台 VPS 上跑住宅 IP 代理链（详见 ai-tools-residential-proxy） 换节点，AI 工具专用节点建议用 IPRoyal 住宅 IP Q: 搬瓦工的 CN2 GIA 和普通线路差多少？ 晚高峰差距最大：CN2 GIA 依然 180ms 稳定，普通 BGP 可能丢包严重到无法使用。价格差 2-3 倍，但代理节点强烈建议上 CN2。\nQ: CloudCone 小时计费最低能开多短？ 官方按小时算，最短就是开 1 小时 $0.005。但要注意：删除后还是按整天算最低 1 天，实测短期测试单次花费大概 $0.1-0.5。\nQ: 如何确认买的是 MC 机房还是 DC-02 机房？ RackNerd 套餐页 Product Configuration 选择 Location：\nLos Angeles, CA (MC) = MultaCom 机房，国内优化稍好 Los Angeles, CA (DC-02) = 另一个机房，性能类似 Seattle / New York / Chicago / Dallas = 其他地区 国内访问首选 MC。\n我的实际部署 目前我手上三家都有：\n搬瓦工 CN2 GIA-E（PID 88） × 1：主力代理节点，跑 Xray + Hysteria2 RackNerd 1C/1G × 1：挂一些监控脚本和爬虫任务，不做代理主节点 CloudCone 按小时 × 按需：临时测试线路、跑一次性任务时用 这个组合性价比最高：关键流量走稳的（搬瓦工），次要任务走便宜的（RackNerd），临时需求按小时（CloudCone）。\n下一步：\nVPS 选购完整指南 VPS 被封 IP 怎么办 DMIT VPS 购买流程 有问题来 Telegram 找我聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/racknerd-vs-cloudcone-vs-bwg/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"System with various wires managing access to centralized res\" loading=\"lazy\" src=\"/images/racknerd-vs-cloudcone-vs-bwg-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e美国便宜 VPS 三家长期热门：\u003ca href=\"https://aff.panshi.io/track?id=racknerd\"\u003eRackNerd\u003c/a\u003e、\u003ca href=\"https://aff.panshi.io/track?id=cloudcone\"\u003eCloudCone\u003c/a\u003e、\u003ca href=\"https://aff.panshi.io/track?id=bwg\"\u003e搬瓦工（BandwagonHost）\u003c/a\u003e。我这三家都用过，每家定位不一样，这篇文章把差异讲清楚，给出选购决策。\u003c/p\u003e\n\u003ch2 id=\"三家的基本定位\"\u003e三家的基本定位\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e服务商\u003c/th\u003e\n          \u003cth\u003e年费起步\u003c/th\u003e\n          \u003cth\u003e典型场景\u003c/th\u003e\n          \u003cth\u003e线路类型\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eRackNerd\u003c/td\u003e\n          \u003ctd\u003e$10-20/年\u003c/td\u003e\n          \u003ctd\u003e极致低价，建小站/轻度代理\u003c/td\u003e\n          \u003ctd\u003e普通 BGP\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCloudCone\u003c/td\u003e\n          \u003ctd\u003e$15-30/年\u003c/td\u003e\n          \u003ctd\u003e按小时计费，灵活测试\u003c/td\u003e\n          \u003ctd\u003e普通 BGP\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e搬瓦工\u003c/td\u003e\n          \u003ctd\u003e$50-170/年\u003c/td\u003e\n          \u003ctd\u003eCN2 GIA 线路，主力代理\u003c/td\u003e\n          \u003ctd\u003eCN2 GIA / GT\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e一句话定位：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eRackNerd\u003c/strong\u003e = 最便宜的\u0026quot;能跑起来\u0026quot;的美国 VPS\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCloudCone\u003c/strong\u003e = 小时计费，适合短期测试\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e搬瓦工\u003c/strong\u003e = 三网直连，CN2 GIA 线路稳定\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"价格对比2026-年主流套餐\"\u003e价格对比（2026 年主流套餐）\u003c/h2\u003e\n\u003ch3 id=\"racknerd-年付黑五套餐\"\u003eRackNerd 年付黑五套餐\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e规格\u003c/th\u003e\n          \u003cth\u003e内存\u003c/th\u003e\n          \u003cth\u003e硬盘\u003c/th\u003e\n          \u003cth\u003e流量\u003c/th\u003e\n          \u003cth\u003e年费\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e1C/512M\u003c/td\u003e\n          \u003ctd\u003e1核\u003c/td\u003e\n          \u003ctd\u003e10GB SSD\u003c/td\u003e\n          \u003ctd\u003e1TB\u003c/td\u003e\n          \u003ctd\u003e~$10.5\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e1C/1G\u003c/td\u003e\n          \u003ctd\u003e1核\u003c/td\u003e\n          \u003ctd\u003e17GB SSD\u003c/td\u003e\n          \u003ctd\u003e2TB\u003c/td\u003e\n          \u003ctd\u003e~$14\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2C/2G\u003c/td\u003e\n          \u003ctd\u003e2核\u003c/td\u003e\n          \u003ctd\u003e35GB SSD\u003c/td\u003e\n          \u003ctd\u003e4.5TB\u003c/td\u003e\n          \u003ctd\u003e~$24\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e2C/4G\u003c/td\u003e\n          \u003ctd\u003e2核\u003c/td\u003e\n          \u003ctd\u003e60GB SSD\u003c/td\u003e\n          \u003ctd\u003e8TB\u003c/td\u003e\n          \u003ctd\u003e~$39\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eRackNerd 的节点遍布美国多地，常见有 Los Angeles (MC-LAX / DC-02)、San Jose、Seattle、New York、Chicago、Dallas。国内访问最推荐 \u003cstrong\u003eLos Angeles MC\u003c/strong\u003e 机房，晚高峰延迟 180-220ms。\u003c/p\u003e","title":"RackNerd vs CloudCone vs 搬瓦工：三家便宜美国 VPS 怎么选"},{"content":" Tello Mobile 是一家 MVNO 运营商（借用 T-Mobile 网络），主打低价美国手机号 + 国际漫游，对跨境业务和 AI 账号注册用户很实用。这篇文章把我用 Tello 1 年多的经验写下来。\n为什么需要美国手机号 我最常用到美国手机号的场景：\nAI 工具注册：ChatGPT Plus、Claude.ai、Gemini Advanced、Midjourney 等部分地区需要美国号码接收验证码 美区账号：美区 Apple ID、Google Play、PayPal、Amazon 美国等 跨境业务：Stripe 开户、美国银行账户、跨境电商平台 Google Voice 激活：GV 需要美国实体号码验证 防止账号被封：用\u0026quot;中国号 + 海外 IP\u0026quot;容易被平台风控，用\u0026quot;美国号 + 美国 IP\u0026quot;更安全 为什么不用虚拟号：\n虚拟号（Google Voice / TextNow）在部分平台上不能收短信（被识别为 VoIP） 实体号（Tello 等 MVNO）在所有平台都接受 Tello 基础套餐 Tello 的套餐分两种：\n预付费套餐（Pay-as-you-go） 月费 通话分钟 短信 流量 $5 100 分钟 无限 500MB $10 500 分钟 无限 1GB $15 无限 无限 2GB $19 无限 无限 5GB $25 无限 无限 10GB $29 无限 无限 15GB $39 无限 无限 35GB 按需保号（最便宜） 如果你只需要保留一个美国号码（不用网络流量）：\n月费 说明 $5/月 100 分钟 + 无限短信 + 500MB 数据 $0 完全不付费，号码 60 天不用会被回收 省钱路线：买一张 $5/月 保号，每月只消耗一点（发条短信/打个电话），号码永不回收。\n实际使用流程 第 1 步：购买 访问 Tello 官网。\n选择套餐（建议 $5/月 保号套餐起步） 支付方式： 信用卡（Visa/MasterCard/Amex 都行，中国 Visa 卡可能被拒） PayPal（最推荐，中国 PayPal 也能用） Apple Pay / Google Pay 账单地址填美国地址：可以用 Tello 官方合作仓库的地址（没有实体地址时有工具可查） 第 2 步：选 eSIM 还是实体 SIM 选项 优点 缺点 eSIM 立刻激活，无需邮寄 仅新 iPhone / 部分安卓支持 实体 SIM 卡 兼容所有手机 需要邮寄到美国地址（国际运费贵） 强烈推荐 eSIM。下单后几分钟收到激活二维码，扫描即用。\n第 3 步：激活 Tello 账户 → 我的 eSIM → 扫描 QR 码 手机设置 → 蜂窝网络 → 添加蜂窝网络 → 扫码 等待激活（5-10 分钟） 收到欢迎短信，号码激活成功 第 4 步：测试 让朋友发短信测试接收（用美国号码打 iMessage 直接测试） 接收一条平台验证码（比如注册 Google 账号） 确认一切正常 国际漫游功能 这是 Tello 最大的亮点之一。Tello 在60+ 个国家免费漫游（不是\u0026quot;开通漫游\u0026quot;，是直接能用）：\n覆盖国家（部分） 亚洲：日本、韩国、新加坡、马来西亚、泰国、越南、印度、以色列 欧洲：英国、德国、法国、意大利、西班牙、荷兰、瑞士等绝大多数欧盟国家 美洲：美国、加拿大、墨西哥、巴西、阿根廷 大洋洲：澳大利亚、新西兰 ⚠️ 不覆盖：中国大陆、朝鲜、古巴、叙利亚等\n漫游资费 服务 费用 短信接收 免费 短信发送 $0.15/条 语音通话 $0.25-0.50/分钟 数据流量 按本地套餐流量消耗（不额外收费） 重点：数据流量不额外扣费。如果你套餐有 5GB 流量，在日本漫游用 3GB，就是用了你本来的 5GB 里的 3GB，不需要额外付漫游费。\n实际场景 去日本出差 → 不需要买日本旅游卡，Tello 直接漫游 欧洲多国游 → 一张 Tello 覆盖全程 短期跨境出行 → 省掉每国买卡的麻烦 和竞品对比 vs 其他 MVNO 服务商 月费起 国际漫游 eSIM Tello $5 ✅ 60 国 ✅ Mint Mobile $15 仅加拿大/墨西哥 ✅ US Mobile $10 部分付费 ✅ Ultra Mobile $9 部分免费 ✅ Tello 在低价保号和国际漫游广度上是最佳。\nvs Google Voice 对比 Tello Google Voice 号码类型 真实移动号 VoIP 号码 平台接受度 100% 60-70%（很多平台不收 GV） 月费 $5 起 免费（需先有美国号激活） 通话质量 移动网络 互联网 国际漫游 ✅ ✅ 最佳玩法：Tello + Google Voice 组合\n用 Tello 激活 Google Voice（GV 需要美国号码验证） 平时用 Google Voice 接打（免费） Tello 作为底层号留着不用 月成本：Tello $5 + GV 免费 = $5/月拥有美国号和通话功能 AI 账号注册场景实测 场景：注册 ChatGPT Plus IP：美国住宅 IP（IPRoyal） 邮箱：美国 Gmail（需先注册一个） 手机号：Tello 美国号 信用卡：美国虚拟卡（WildCard 等） 流程：\nchat.openai.com → 用美国 IP 访问 注册账号（美国 Gmail） 验证手机号 → 输入 Tello 美国号 → 接短信验证 订阅 Plus → 用虚拟卡付款 通过率：Tello + 美国住宅 IP 的通过率接近 100%。\n场景：激活 Google Voice Google Voice 需要用美国实体号验证：\nvoice.google.com → Sign up 选择一个 GV 号码（免费） 提示\u0026quot;需要绑定一个美国号\u0026quot; 填入 Tello 号码 → 接验证码 绑定完成，GV 可用 之后 Tello 号即使停机，GV 也能继续用（GV 有自己独立的号码）。\n踩过的坑 坑 1：账单地址被拒 问题：用虚假美国地址填信用卡，被 Tello 风控拒绝支付。\n解决：用 PayPal 付款，PayPal 不强制要求美国地址。\n坑 2：中国大陆直接用不了 问题：Tello 不覆盖中国大陆，到中国大陆会断网。\n解决：\n回国前买一张国内卡作为主卡 Tello 保号（$5/月，不用也不会停） 回国期间只用美国号接验证码（用 Wifi + 漫游接短信） 坑 3：eSIM 删除后号码丢失 问题：手机换机时删除 eSIM，号码找不回来。\n解决：\n换机前先在 Tello 账户里申请 Transfer eSIM（生成新的激活码） 不要直接删旧机的 eSIM 坑 4：海外漫游信号弱 问题：部分国家漫游到小运营商，信号不稳定。\n解决：\n手机设置 → 蜂窝网络 → 网络选择 → 手动选择运营商 一般选当地主要运营商（日本 NTT Docomo / SoftBank，韩国 KT / SK） 坑 5：短信接收延迟 问题：验证码短信延迟 5-10 分钟到达。\n解决：\n大部分平台允许点\u0026quot;重发\u0026quot;，重发一次通常更快到 漫游状态下延迟更高，发验证码尽量用 Wifi 状态 长期保号成本 假设只是为了\u0026quot;保留一个美国号\u0026quot;：\n方案 月费 年费 Tello $5 保号 $5 $60 Tello + Google Voice $5 $60（GV 免费） 其他 MVNO 最便宜 $10-15 $120-180 Tello 是最便宜的长期保号方案之一。\n常见问题 Q: 能用中国身份证/护照注册吗？ Tello 注册不需要身份验证（没有 KYC），只需要邮箱和支付方式。但账单地址最好是美国地址。\nQ: 中国信用卡能付款吗？ 部分能，部分不能。推荐用 PayPal，最稳。\nQ: 没有美国地址怎么办？ 账单地址可以填任何真实存在的美国地址（比如用 USPS 邮编数据库找一个） 不需要邮寄实物（eSIM） 如果需要邮寄，可以租用美国私人邮箱（PMB，$10-15/月） Q: Tello 号码能收所有平台的验证码吗？ 主流平台（ChatGPT / Google / Apple / PayPal / Amazon）都能收。少数平台（部分银行/证券）可能拒绝 MVNO 号码，需要实体运营商号。\nQ: 国际漫游真的不收钱吗？ 数据流量消耗本套餐的流量（不额外收费）。短信接收免费，发送和通话有费用。最爽的就是接收验证码漫游不要钱。\nQ: 和美国购物平台的关联？ 用 Tello 号 + 美国住址可以注册 Amazon 美国、Costco 等账号。但实际买东西需要美国信用卡和收货地址，这是另一个话题。\nQ: 断网了怎么办？ 查看账户：\n余额够不够（$5 套餐每月自动续） 套餐有没有被暂停（Tello 账户会显示状态） 手机 APN 设置是否正确 Tello APN：wholesale（一般自动配置，无需手动填）\n和其他服务组合 组合 1：跨境业务全家桶 Tello 美国号（接验证码、保号） Google Voice（日常通话、免费） IPRoyal 住宅 IP（注册账号） 美国虚拟卡（付费订阅） 月成本约 $10-20，能做 99% 的跨境业务。\n组合 2：出差/旅行党 Tello $5 套餐（国内主卡 + Tello 漫游卡） 出国时直接用 Tello 漫游 不用每次买当地旅游卡 组合 3：AI 工具代开通 Tello 多个号码（每个账号一个 Tello） 配合指纹浏览器 + 住宅 IP 批量注册 AI 工具账号，代运营服务 开始使用 访问 Tello 官网 选择 $5/月 起步套餐 购买 eSIM（推荐） 扫码激活 接收第一条短信测试 → 注册 Tello（AFF） → IPRoyal 住宅 IP 使用场景 → Google One AI Premium 指南\n跨境相关问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/tello-esim-global-roaming/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Two smartphones, one black and one white, placed on a white \" loading=\"lazy\" src=\"/images/tello-esim-global-roaming-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=tello\"\u003eTello Mobile\u003c/a\u003e 是一家 MVNO 运营商（借用 T-Mobile 网络），主打\u003cstrong\u003e低价美国手机号 + 国际漫游\u003c/strong\u003e，对跨境业务和 AI 账号注册用户很实用。这篇文章把我用 Tello 1 年多的经验写下来。\u003c/p\u003e\n\u003ch2 id=\"为什么需要美国手机号\"\u003e为什么需要美国手机号\u003c/h2\u003e\n\u003cp\u003e我最常用到美国手机号的场景：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eAI 工具注册\u003c/strong\u003e：ChatGPT Plus、Claude.ai、Gemini Advanced、Midjourney 等部分地区需要美国号码接收验证码\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e美区账号\u003c/strong\u003e：美区 Apple ID、Google Play、PayPal、Amazon 美国等\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e跨境业务\u003c/strong\u003e：Stripe 开户、美国银行账户、跨境电商平台\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGoogle Voice 激活\u003c/strong\u003e：GV 需要美国实体号码验证\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e防止账号被封\u003c/strong\u003e：用\u0026quot;中国号 + 海外 IP\u0026quot;容易被平台风控，用\u0026quot;美国号 + 美国 IP\u0026quot;更安全\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003e为什么不用虚拟号\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e虚拟号（Google Voice / TextNow）在部分平台上不能收短信（被识别为 VoIP）\u003c/li\u003e\n\u003cli\u003e实体号（Tello 等 MVNO）在所有平台都接受\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"tello-基础套餐\"\u003eTello 基础套餐\u003c/h2\u003e\n\u003cp\u003eTello 的套餐分两种：\u003c/p\u003e\n\u003ch3 id=\"预付费套餐pay-as-you-go\"\u003e预付费套餐（Pay-as-you-go）\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e月费\u003c/th\u003e\n          \u003cth\u003e通话分钟\u003c/th\u003e\n          \u003cth\u003e短信\u003c/th\u003e\n          \u003cth\u003e流量\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$5\u003c/td\u003e\n          \u003ctd\u003e100 分钟\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e500MB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$10\u003c/td\u003e\n          \u003ctd\u003e500 分钟\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e1GB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$15\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e2GB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$19\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e5GB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$25\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e10GB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$29\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e15GB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e$39\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e无限\u003c/td\u003e\n          \u003ctd\u003e35GB\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3 id=\"按需保号最便宜\"\u003e按需保号（最便宜）\u003c/h3\u003e\n\u003cp\u003e如果你只需要\u003cstrong\u003e保留一个美国号码\u003c/strong\u003e（不用网络流量）：\u003c/p\u003e","title":"Tello eSIM 国际漫游实测：美国号码 + Google Voice + 多国漫游完整方案"},{"content":" 买 VPS 最大的坑是\u0026quot;一家打天下\u0026quot;——以为买一台就能解决所有需求，结果代理不够快、建站流量不够、量化延迟不稳定。这篇文章按 5 种典型用途打分，告诉你每种场景选哪家。\n评分维度 维度 说明 延迟 国内访问延迟（ms） 带宽 峰值 / 平均带宽 IP 质量 流媒体解锁 / ChatGPT 通过率 稳定性 一年宕机次数和时长 价格 月均成本 用途 1：代理节点（科学上网） 需求：低延迟、稳定、IP 质量好、带宽够家用。\n服务商 评分 理由 DMIT HK PVM Eyeball ⭐⭐⭐⭐⭐ 延迟最低（20-40ms），IP 质量最好 搬瓦工 CN2 GIA-E ⭐⭐⭐⭐⭐ 晚高峰稳定，换 IP 方便 AkileCloud HK CMI ⭐⭐⭐⭐ 性价比高 RackNerd LA ⭐⭐⭐ 便宜，晚高峰会卡 CloudCone LA ⭐⭐⭐ 按小时灵活 最优选：\n预算 $150+/年 → DMIT HK PVM Eyeball 预算 $50/年 → 搬瓦工 CN2 GIA-E PID 87 预算 $15/年 → RackNerd LA MC 避坑：\n便宜 BGP 线路（\u0026lt; $20/年）晚高峰必卡 IP 池大的服务商（RackNerd）IP 被封概率高 要做多账号代理：推荐配合 IPRoyal 住宅 IP 用途 2：建站（博客、工具站、论坛） 需求：稳定、国外访问速度快（如果目标用户在海外）、支持 Docker、成本低。\n服务商 评分 理由 RackNerd LA / NY ⭐⭐⭐⭐⭐ 年费 $14，性价比极高 CloudCone LA ⭐⭐⭐⭐ 按小时灵活 Hetzner（德国） ⭐⭐⭐⭐⭐ 欧洲性能王，$5/月 4GB 内存 Vultr ⭐⭐⭐ 全球节点多，价格略贵 最优选：\n目标用户中国大陆 → 搬瓦工 CN2 GIA + 套 Cloudflare 或 阿里云/腾讯云香港 目标用户海外 → RackNerd $14/年 或 Hetzner 需要大内存数据库 → Hetzner AX 系列 避坑：\n建站流量 = 总流量 × 2-5 倍（爬虫、CDN 回源等），流量包别抠门 CN2 线路对\u0026quot;国内访问你的网站\u0026quot;是必须的，如果你网站流量主要来自海外，CN2 没意义 面板系统（宝塔 / 1Panel）装了别忘了改默认端口 用途 3：数据存储（网盘、备份、文件同步） 需求：大硬盘、大流量、稳定、备份安全。\n服务商 评分 理由 Hetzner Storage Box ⭐⭐⭐⭐⭐ 1TB $3.5/月，最便宜 BuyVM Storage Slab ⭐⭐⭐⭐ 10TB $15/月 BackBlaze B2 ⭐⭐⭐⭐ 对象存储，$0.006/GB/月 Cloudflare R2 ⭐⭐⭐⭐⭐ 无流量费，$0.015/GB/月 自建 NAS + 动态域名 ⭐⭐⭐⭐ 一次性投入，长期免费 最优选：\n全自动云端备份 → BackBlaze B2 或 Cloudflare R2 大量影片 / 媒体文件 → BuyVM Storage Slab（10TB） 个人数据 → Hetzner Storage Box + rclone 同步 避坑：\nVPS 自带磁盘（50-100GB）不适合做大量存储 备份要异地（同一家服务商出事会连带丢） 加密后再上传（避免隐私泄漏） 用途 4：量化交易（API 调用、低延迟执行） 需求：到交易所的 API 延迟极低，稳定 24x7 运行，不被交易所封 IP。\n中心化交易所（Binance / OKX / Bybit） 交易所 核心机房 推荐 VPS 区域 Binance AWS Tokyo (ap-northeast-1) AWS Tokyo / AWS Singapore OKX 香港 / 新加坡 AWS HK / Alibaba HK Bybit AWS Singapore AWS Singapore 最优选：\nAWS Tokyo / Singapore t4g.small（$12/月，能跑我的北极星策略） 非 AWS 备选：DMIT Singapore 或 Alibaba Cloud 新加坡 为什么不推荐普通 VPS：\n普通 VPS 到 Binance 延迟 100-200ms，量化策略有明显滑点 AWS 到 Binance API 延迟 5-20ms（同 AWS 区域机房） 延迟减小 20 倍，策略执行质量质变 避坑：\nBinance API 对 IP 有白名单限制，换 VPS 要同步更新白名单 量化策略服务器要做 热备（详见 双机热备方案） 不要买超小套餐（512MB 内存，pandas 一跑就 OOM） 参考：量化工具栈\n用途 5：爬虫采集 需求：IP 多样、按量计费、容易换 IP、不被目标网站封。\n方案 评分 理由 IPRoyal 住宅 IP ⭐⭐⭐⭐⭐ 按 GB 计费，IP 池大 CloudCone 小时计费 ⭐⭐⭐⭐ VPS 跑任务完就删 RackNerd 多台 ⭐⭐⭐ 便宜 VPS 做 IP 池 AWS Lambda + NAT ⭐⭐⭐⭐ 无服务器，按量付费 ScraperAPI / Bright Data ⭐⭐⭐⭐⭐ 专业爬虫平台，贵但省心 最优选：\n中小型爬虫（\u0026lt;100GB/月）→ IPRoyal + 自己的采集脚本 一次性大量采集 → CloudCone 按小时 多开 10-20 台 对稳定性要求极高 → ScraperAPI / Bright Data 避坑：\n爬虫一定要分布式，单 IP 高频请求必被封 控制请求频率（robots.txt + 限速） 住宅 IP 比数据中心 IP 更不容易被识别 数据清洗比采集重要，别光看\u0026quot;成功率\u0026quot; 参考：IPRoyal 5 个实战场景\n综合推荐组合 组合 1：个人代理 + 博客 搬瓦工 CN2 GIA-E（代理主力）$50/年 RackNerd LA（博客托管）$14/年 Cloudflare + Hetzner Storage（博客图片）$3.5/月 总成本：约 $110/年 组合 2：跨境业务 + AI 工具运营 搬瓦工 CN2 GIA-E（日常代理） IPRoyal 住宅 IP（账号注册 + 爬虫） Tello eSIM（美国号码） RackNerd（定时任务、轻量爬虫） 总月成本：约 $25/月 组合 3：量化交易专业版 AWS Tokyo t4g.small（主力策略）$12/月 AWS Singapore t4g.small（热备）$12/月 搬瓦工（运维机器、监控）$50/年 Hetzner（数据存储、回测）$5/月 总月成本：约 $35/月 组合 4：极致省钱 RackNerd LA 年付（代理 + 博客）$14/年 Cloudflare（CDN + 加速）免费 总月成本：$1.2/月 购买时机 时段 有什么促销 黑五（11 月底 - 12 月初） 所有服务商最便宜，新套餐发布 圣诞节 小促销 春节 搬瓦工有中国春节优惠 服务商周年庆 各家不同，关注 TG 频道 我的策略：日常需求月付扛住，黑五批量囤一年的量。\n决策流程图 你的主要用途是什么？ ├── 代理节点 │ ├── 预算 \u0026gt; $150/年 → DMIT HK │ ├── 预算 $50-150 → 搬瓦工 CN2 GIA-E │ └── 预算 \u0026lt; $50 → RackNerd LA / Akile │ ├── 建站 │ ├── 用户在中国 → 搬瓦工 CN2 + CF │ └── 用户在海外 → RackNerd / Hetzner │ ├── 存储 │ ├── 个人备份 → Hetzner Storage Box │ └── 媒体仓库 → BuyVM Storage Slab │ ├── 量化 │ └── 必选 AWS Tokyo / Singapore │ └── 爬虫 ├── 小型 → IPRoyal 按 GB └── 大型 → CloudCone 多开 + 代理 常见问题 Q: 能不能一台 VPS 同时做代理和建站？ 可以，但有限制：\n代理占用带宽 → 博客访问速度会下降 如果博客流量大（\u0026gt; 1000 UV/天），分开部署 端口冲突注意：代理用 443，博客用 80，可以通过 nginx 代理解决 Q: 为什么量化交易要单独买 AWS，而不用现有 VPS？ 延迟。普通 VPS 到 Binance 延迟 100ms+，AWS Tokyo 到 Binance 5-20ms。对量化策略来说延迟就是钱。\nQ: CDN（Cloudflare）能代替 VPS 吗？ 不能。CDN 是\u0026quot;加速已有网站\u0026quot;的工具，本身不能跑动态应用。但 Cloudflare Workers 能跑一些无状态的 API / 代理。\nQ: 买大套餐还是买多台小套餐？ 一般买多台小套餐：\n容灾性好（一台挂了其他还在） 能做地理分布 按任务分机器，互不影响 只在内存/CPU 单项要求高时买大套餐（比如机器学习、视频转码）。\nQ: 国内云（阿里云/腾讯云）值得买吗？ 目标用户在中国大陆：必选国内云，备案后访问飞快 目标用户在海外：阿里云/腾讯云海外机房价格不便宜，不如买 DMIT/搬瓦工 个人代理：国内云不适合（流量贵） → RackNerd vs CloudCone vs 搬瓦工 → 搬瓦工 CN2 GIA 深度评测 → AkileCloud 国内优化 VPS 评测 → DMIT VPS 购买流程 → IPRoyal 住宅 IP 使用场景\n选购卡壳来 Telegram 问。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/vps-family-matrix-by-use-case/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"System with various wires managing access to centralized res\" loading=\"lazy\" src=\"/images/vps-family-matrix-by-use-case-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e买 VPS 最大的坑是\u0026quot;一家打天下\u0026quot;——以为买一台就能解决所有需求，结果代理不够快、建站流量不够、量化延迟不稳定。这篇文章按 5 种典型用途打分，告诉你每种场景选哪家。\u003c/p\u003e\n\u003ch2 id=\"评分维度\"\u003e评分维度\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e维度\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e延迟\u003c/td\u003e\n          \u003ctd\u003e国内访问延迟（ms）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e带宽\u003c/td\u003e\n          \u003ctd\u003e峰值 / 平均带宽\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eIP 质量\u003c/td\u003e\n          \u003ctd\u003e流媒体解锁 / ChatGPT 通过率\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e稳定性\u003c/td\u003e\n          \u003ctd\u003e一年宕机次数和时长\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e价格\u003c/td\u003e\n          \u003ctd\u003e月均成本\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"用途-1代理节点科学上网\"\u003e用途 1：代理节点（科学上网）\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e需求\u003c/strong\u003e：低延迟、稳定、IP 质量好、带宽够家用。\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e服务商\u003c/th\u003e\n          \u003cth\u003e评分\u003c/th\u003e\n          \u003cth\u003e理由\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ca href=\"/posts/dmit-vps-purchase-guide/\"\u003eDMIT HK PVM Eyeball\u003c/a\u003e\u003c/td\u003e\n          \u003ctd\u003e⭐⭐⭐⭐⭐\u003c/td\u003e\n          \u003ctd\u003e延迟最低（20-40ms），IP 质量最好\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ca href=\"/posts/bwg-cn2-gia-deep-review/\"\u003e搬瓦工 CN2 GIA-E\u003c/a\u003e\u003c/td\u003e\n          \u003ctd\u003e⭐⭐⭐⭐⭐\u003c/td\u003e\n          \u003ctd\u003e晚高峰稳定，换 IP 方便\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ca href=\"/posts/akile-cn2-vps-review/\"\u003eAkileCloud HK CMI\u003c/a\u003e\u003c/td\u003e\n          \u003ctd\u003e⭐⭐⭐⭐\u003c/td\u003e\n          \u003ctd\u003e性价比高\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ca href=\"/posts/racknerd-vs-cloudcone-vs-bwg/\"\u003eRackNerd LA\u003c/a\u003e\u003c/td\u003e\n          \u003ctd\u003e⭐⭐⭐\u003c/td\u003e\n          \u003ctd\u003e便宜，晚高峰会卡\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ca href=\"/posts/racknerd-vs-cloudcone-vs-bwg/\"\u003eCloudCone LA\u003c/a\u003e\u003c/td\u003e\n          \u003ctd\u003e⭐⭐⭐\u003c/td\u003e\n          \u003ctd\u003e按小时灵活\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e最优选\u003c/strong\u003e：\u003c/p\u003e","title":"VPS 按用途选购矩阵：代理、建站、存储、量化、爬虫分别选哪家"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n很多人以为量化就是\u0026quot;抓趋势\u0026quot;或者\u0026quot;网格\u0026quot;，其实资金费率套利是加密货币独有的一种低风险套利，年化 8-20% 可稳定获得。这篇文章把原理和操作完整讲一遍。\n什么是资金费率 永续合约没有到期日，靠\u0026quot;资金费率\u0026quot;让合约价格贴近现货价格。\n合约价格 \u0026gt; 现货价格 → 多头付钱给空头（正费率） 合约价格 \u0026lt; 现货价格 → 空头付钱给多头（负费率） 币安（Binance） 的资金费率每 8 小时结算一次（08:00 / 16:00 / 00:00 UTC），每次收取/支付一次费率。\n年化计算：0.01% × 3 次/天 × 365 天 = 10.95%/年（一般情况）\n套利核心原理 当某个币的永续资金费率长期为正时（多头付钱给空头），我们可以：\n现货买入 1 BTC（$77,000） 永续做空 1 BTC（$77,000，用 1x 保证金） 价格涨跌不影响（现货涨赚的钱 = 永续空单亏的钱，对冲了） 持续收取空头的资金费率 这就是资金费率套利，也叫Delta 中性套利。\n实操步骤（以 BTC 为例） 步骤 1：确认资金费率 访问币安 → 合约 → 资金费率，查看 BTC/USDT 永续的历史资金费率。\n判断标准：\n过去 7 天平均资金费率 \u0026gt; 0.01%（年化 \u0026gt;11%）→ 值得做 过去 7 天平均资金费率 0.005%-0.01%（年化 5-11%）→ 边际，看规模 过去 7 天平均资金费率 \u0026lt; 0.005% → 不值得 热门币（BTC/ETH）费率稳定但偏低；山寨币费率高但波动大。\n步骤 2：准备资金 假设目标套 1 BTC（按 BTC ≈ $77,000 计）：\n现货仓需要资金：$77,000（买 1 BTC） 永续仓需要保证金：$12,000（1 BTC × $77,000 × 1/7 杠杆，预留空间） 总资金：约 $89,000 杠杆选择：合约用 7-10x（给价格波动留足空间），实际\u0026quot;对冲暴露\u0026quot;是 1:1，不是\u0026quot;10 倍杠杆\u0026quot;。\n步骤 3：同时开仓 关键：必须同时开仓，避免价差波动\n用 Python 脚本（ccxt 库）一键同步下单：\nimport ccxt import time binance = ccxt.binance({ \u0026#39;apiKey\u0026#39;: \u0026#39;YOUR_API_KEY\u0026#39;, \u0026#39;secret\u0026#39;: \u0026#39;YOUR_SECRET\u0026#39;, }) binance_futures = ccxt.binanceusdm({ \u0026#39;apiKey\u0026#39;: \u0026#39;YOUR_API_KEY\u0026#39;, \u0026#39;secret\u0026#39;: \u0026#39;YOUR_SECRET\u0026#39;, }) # 查询当前价 ticker = binance.fetch_ticker(\u0026#39;BTC/USDT\u0026#39;) price = ticker[\u0026#39;last\u0026#39;] amount = 1 # 1 BTC # 同步执行 start = time.time() # 现货买入 spot_order = binance.create_market_buy_order(\u0026#39;BTC/USDT\u0026#39;, amount) # 永续做空 futures_order = binance_futures.create_market_sell_order(\u0026#39;BTC/USDT\u0026#39;, amount) end = time.time() print(f\u0026#34;执行耗时：{end-start:.2f} 秒\u0026#34;) print(f\u0026#34;现货成交均价：{spot_order[\u0026#39;average\u0026#39;]}\u0026#34;) print(f\u0026#34;永续成交均价：{futures_order[\u0026#39;average\u0026#39;]}\u0026#34;) 注意：两单成交价差尽量小（\u0026lt; 0.05%），差价太大会吃掉头几天的套利收益。\n步骤 4：持仓等收费率 开仓后：\n每 8 小时的 UTC 时间（00:00 / 08:00 / 16:00）自动结算资金费率 收到的 USDT 直接进合约账户 现货 BTC 正常持有 每天检查一下价差（现货 vs 永续），差价过大（\u0026gt; 0.5%）需要手动调整 步骤 5：平仓 什么时候平仓：\n资金费率由正转负（或接近零） 现货永续价差异常放大 需要流动资金做别的事 平仓 = 现货卖出 + 永续平空，同样同步执行。\n收益估算 假设持仓 30 天，平均资金费率 0.015%（略高于历史均值）：\n每 8 小时收：$77,000 × 0.015% = $11.55 每天收 3 次：$34.65 30 天收：$1,040 月收益率：$1,040 / $89,000 = 1.17% 年化：约 14% 扣除手续费和滑点后，实际年化 8-15% 比较常见。\n币种选择 稳健型（推荐新手） 币种 典型费率范围 流动性 推荐度 BTC/USDT 0.005%-0.015% 极好 ⭐⭐⭐⭐⭐ ETH/USDT 0.005%-0.02% 极好 ⭐⭐⭐⭐⭐ SOL/USDT 0.01%-0.025% 好 ⭐⭐⭐⭐ BTC/ETH 最稳，流动性好，突发事件可以快速平仓。\n激进型（老手） 部分山寨币资金费率极高（0.1%+），但风险高：\n风险 说明 流动性差 大单成交滑点高 费率波动大 可能从 +0.1% 瞬间变 -0.1% 现货下架风险 币安偶尔下架山寨币 暴涨暴跌 合约爆仓风险 山寨币套利需要持续监控，不建议新手做。\n风险控制 风险 1：合约爆仓 问题：做空永续，价格大涨时合约亏损。\n场景：\n开仓时 BTC = $77,000，做空 1 BTC BTC 涨到 $88,000，永续空单浮亏 $11,000 如果保证金不足，合约爆仓，现货仍持有（对冲失效） 解决：\n保证金率保持在 30% 以下（远离爆仓线） 设置预警：保证金率 \u0026gt; 40% 自动 Telegram 通知 价格大涨时补保证金（从现货账户转一部分 USDT 到合约账户） 风险 2：资金费率反转 问题：资金费率从正变负，你开始付钱。\n解决：\n每 8 小时检查一次费率 连续 3 次为负（24 小时）考虑平仓 或者设置脚本：费率 \u0026lt; 0 自动平仓 风险 3：现货永续价差拉大 问题：极端行情下，现货和永续价格差距拉大（正常 \u0026lt; 0.1%，极端可达 1%+）。\n解决：\n开仓时确认价差 \u0026lt; 0.1% 持仓时每天检查价差 极端价差时（\u0026gt; 0.5%）平仓，重新开仓可能更划算 风险 4：交易所风险 问题：交易所被盗 / 跑路 / 冻结（FTX 事件）。\n解决：\n只用主流交易所（币安是全球第一） 单交易所资金不超过总资产 30% 大额资金考虑多平台分散 自动化工具 手动操作（新手） 每天手动检查资金费率 开仓、平仓用网页操作 适合 \u0026lt; $10,000 资金 脚本化（中级） Python + ccxt 自动监控费率 触发条件时自动开平仓 资金费率数据推送 Telegram 适合 $10,000-100,000 专业套利平台（高级） 部分平台提供\u0026quot;一键 Delta 中性套利\u0026quot;：\nPionex（我用的） Bybit Earn（官方理财，保本） Binance 理财（部分产品是资金费率套利） 不想自己写代码可以用这些，收益略低（平台抽水 10-20%）但省心。\n一个可自动化的 Telegram 监控脚本 import ccxt import requests import time BINANCE = ccxt.binanceusdm() TG_TOKEN = \u0026#34;你的Bot Token\u0026#34; TG_CHAT = \u0026#34;你的chat_id\u0026#34; SYMBOLS = [\u0026#39;BTC/USDT\u0026#39;, \u0026#39;ETH/USDT\u0026#39;, \u0026#39;SOL/USDT\u0026#39;] ALERT_THRESHOLD = 0.015 # 0.015% = 年化 16.4% def send_tg(msg): requests.post(f\u0026#34;https://api.telegram.org/bot{TG_TOKEN}/sendMessage\u0026#34;, data={\u0026#34;chat_id\u0026#34;: TG_CHAT, \u0026#34;text\u0026#34;: msg}) def check(): for sym in SYMBOLS: ticker = BINANCE.fetch_funding_rate(sym) rate = ticker[\u0026#39;fundingRate\u0026#39;] next_time = ticker[\u0026#39;fundingTimestamp\u0026#39;] if rate \u0026gt; ALERT_THRESHOLD: annualized = rate * 3 * 365 * 100 msg = f\u0026#34;🟢 {sym} 资金费率 {rate*100:.4f}%，年化 {annualized:.1f}%\u0026#34; send_tg(msg) # cron: */30 * * * *（每 30 分钟检查） check() 和其他低风险策略对比 策略 年化 风险 监控成本 USDT 活期（DeFi） 3-8% 低（智能合约风险） 低 USDT 定期（交易所） 5-10% 低（平台风险） 低 资金费率套利 8-15% 中（合约爆仓） 中 Pionex 黄金网格 20-40% 中（突破区间） 中 BTC 现货定投 不定 中（币价波动） 低 资金费率套利在收益/风险比上处于中间水平，适合\u0026quot;不想承担币价风险但又想超过银行理财\u0026quot;的用户。\n我自己的操作 我在币安上的资金费率套利：\n主仓：BTC/USDT，规模 $50,000，年化 ~12% 副仓：ETH/USDT，规模 $20,000，年化 ~14% 监控脚本：Python + Telegram，每小时更新 1 次 预警机制：保证金率 \u0026gt; 40% 或资金费率 \u0026lt; 0 → 推送通知 操作方式：手动开平仓，脚本只做监控（避免自动化 bug 导致误操作） 过去 6 个月累计收益约 7%（未年化，实际资金到手 $4,900）。\n手续费和注册优惠 币安手续费结构：\n用户等级 Maker Taker 普通用户 0.1% 0.1% VIP1（30 日成交 \u0026gt; $1M） 0.09% 0.1% 持有 BNB（5% 折扣） 0.095% 0.095% 推荐码返佣 -25% 返佣 -25% 返佣 通过 AFF 链接 注册可以拿到手续费返佣优惠，长期持有对套利收益影响显著（节省 20-25% 手续费）。\n常见问题 Q: 新手能做资金费率套利吗？ 能。门槛不高，但必须先搞懂合约基础（保证金、爆仓、资金费率）。建议先用小额（$500-$1000）跑 1 个月熟悉流程。\nQ: 需要多少起步资金？ 理论上 $1000 就能做，但手续费占比过高会吃掉收益。建议 $5000 起步。\nQ: 每天要花多少时间？ 稳定期：每天 5 分钟（查看资金费率、保证金率） 波动期：每天 15-30 分钟 开平仓日：1-2 小时（确保同步成交） Q: 现货账户和合约账户资金怎么划分？ 建议：\n现货仓值 = 套利目标规模（比如 1 BTC） 合约保证金 = 现货仓值的 15-20% 预留 10% 作为应急保证金 Q: 有没有\u0026quot;完全躺赚\u0026quot;的方案？ Pionex 的\u0026quot;智能套利\u0026quot;机器人接近\u0026quot;躺赚\u0026quot;，但收益率比自己做低 30-50%（平台抽水）。适合不想花时间操作的用户。\nQ: 税务怎么处理？ 加密货币套利收益在中国大陆目前税务状态模糊。如果你在海外（美国/欧盟），需要按资本利得税申报。建议咨询当地会计师。\n总结：资金费率套利是加密量化里风险最低的策略之一，适合：\n想让 USDT 产生稳定收益的投资者 不想承担币价波动但能接受合约机制的用户 有一定量化经验，能监控和自动化的人 → 注册币安（AFF） → 币安 API 从零到第一笔下单 → 币安手续费优化 → 合约风控三层架构 → 量化工具栈\n有实盘问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-arbitrage-basics/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a screen shot of a stock chart on a computer\" loading=\"lazy\" src=\"/images/binance-arbitrage-basics-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e很多人以为量化就是\u0026quot;抓趋势\u0026quot;或者\u0026quot;网格\u0026quot;，其实\u003cstrong\u003e资金费率套利\u003c/strong\u003e是加密货币独有的一种低风险套利，年化 8-20% 可稳定获得。这篇文章把原理和操作完整讲一遍。\u003c/p\u003e\n\u003ch2 id=\"什么是资金费率\"\u003e什么是资金费率\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e永续合约没有到期日\u003c/strong\u003e，靠\u0026quot;资金费率\u0026quot;让合约价格贴近现货价格。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e合约价格 \u0026gt; 现货价格 → 多头付钱给空头（正费率）\u003c/li\u003e\n\u003cli\u003e合约价格 \u0026lt; 现货价格 → 空头付钱给多头（负费率）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003e币安（Binance）\u003c/a\u003e 的资金费率每 8 小时结算一次（08:00 / 16:00 / 00:00 UTC），每次收取/支付一次费率。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e年化计算\u003c/strong\u003e：0.01% × 3 次/天 × 365 天 = \u003cstrong\u003e10.95%/年\u003c/strong\u003e（一般情况）\u003c/p\u003e\n\u003ch2 id=\"套利核心原理\"\u003e套利核心原理\u003c/h2\u003e\n\u003cp\u003e当某个币的\u003cstrong\u003e永续资金费率长期为正\u003c/strong\u003e时（多头付钱给空头），我们可以：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003e现货买入\u003c/strong\u003e 1 BTC（$77,000）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e永续做空\u003c/strong\u003e 1 BTC（$77,000，用 1x 保证金）\u003c/li\u003e\n\u003cli\u003e价格涨跌不影响（现货涨赚的钱 = 永续空单亏的钱，对冲了）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e持续收取空头的资金费率\u003c/strong\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e这就是资金费率套利，也叫\u003cstrong\u003eDelta 中性套利\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"实操步骤以-btc-为例\"\u003e实操步骤（以 BTC 为例）\u003c/h2\u003e\n\u003ch3 id=\"步骤-1确认资金费率\"\u003e步骤 1：确认资金费率\u003c/h3\u003e\n\u003cp\u003e访问币安 → 合约 → 资金费率，查看 BTC/USDT 永续的历史资金费率。\u003c/p\u003e","title":"币安资金费率套利入门：现货 + 永续对冲的完整玩法"},{"content":" 搬瓦工（BandwagonHost） 是国人 VPS 圈存在时间最长的服务商之一，我从 2022 年开始用，期间反复续费，主力套餐是 CN2 GIA-E。这篇文章把选套餐、机房、换 IP、迁移的实战经验都写下来。\nCN2 GIA 到底是什么 \u0026ldquo;CN2 GIA\u0026rdquo; 是中国电信的国际精品网（China Next-generation Network 2 Global Internet Access），分两档：\n线路 英文 说明 CN2 GT 次精品 普通国际精品网，质量好 CN2 GIA 顶级 商业客户专线，国内三网三向直连 搬瓦工的 CN2 GIA-E（\u0026ldquo;E\u0026rdquo; = Enhanced，增强版）是国内三网往返全程走 CN2 GIA，晚高峰也不掉速。价格贵但确实稳。\n搬瓦工的主流套餐（2026 年） 搬瓦工用 PID（Product ID） 区分套餐，常见的：\nCN2 GIA-E（主力推荐） PID 内存 硬盘 流量 年费 机房 87 1GB 20GB 1TB ~$50 DC6 / DC9 CN2 GIA-E 88 2GB 40GB 2TB ~$90 DC6 / DC9 CN2 GIA-E 89 4GB 80GB 3TB ~$170 DC6 / DC9 CN2 GIA-E 做代理节点 PID 87 完全够用，2GB 的 PID 88 给带宽更大的场景。\n香港 CMI（港线直连） PID 内存 硬盘 流量 年费 机房 134 2GB 40GB 500GB ~$150 HK CMI 135 4GB 80GB 1TB ~$270 HK CMI 香港延迟更低（25-40ms），但流量少、价格贵。适合对延迟极度敏感的场景（游戏加速、远程办公）。\n日本软银 PID 内存 流量 年费 95 1GB 1TB ~$90 96 2GB 2TB ~$170 日本软银线路延迟 80-100ms，对访问日本服务（Twitch、Bilibili 日站、部分日本 API）有优势。\n旧套餐（Quadranet / Fremont，不推荐） 搬瓦工还有一些普通 BGP 线路的便宜套餐（$20-30/年），但晚高峰非常卡，不建议买。\nDC6 vs DC9 机房 搬瓦工 CN2 GIA-E 有两个机房（都在洛杉矶）：\n机房 特点 我的体验 DC6 老机房，稳定，IP 段较老 用了 2 年没有大问题 DC9 新机房，同样 CN2 GIA，IP 段较新 新开的套餐多在这 实测差异：DC6 和 DC9 网络质量几乎一样（都是 CN2 GIA）。区别主要在 IP 段：\nDC6 IP 被某些服务（ChatGPT 等）封的概率略高（用的人多） DC9 IP 较新，封禁概率相对低 开通时套餐页面会显示机房。如果你有偏好，可以在工单里请求指定机房。\n年费 vs 月付 付费周期 PID 87 费用 平均月成本 月付 $11.99/月 $11.99 年付 ~$50/年 $4.17 2 年付 ~$95 $3.95 强烈推荐年付或 2 年付，比月付便宜 60%。\n实测网络（CN2 GIA-E PID 87） 从广州电信 mtr 测试（2026-04）：\n$ mtr -rn -c 50 VPS_IP HOST: test 1. 广州电信网关 3ms 2. 中国电信骨干 6ms 3. 中国电信国际出口 18ms 4. CN2 核心 223.120.x 42ms 5. CN2 GIA 洛杉矶落地 155ms 6. 搬瓦工边界 156ms 7. VPS_IP 156ms 平均延迟：156ms 丢包：0% 时段对比：\n时段 延迟 下载带宽（iperf3 对打） 03:00 152ms 180 Mbps 14:00 158ms 150 Mbps 20:00 170ms 100 Mbps 22:00 180ms 80 Mbps 01:00 155ms 160 Mbps 晚高峰 80 Mbps 是 CN2 GIA 的底线，家用代理完全够。\nIP 质量 搬瓦工的 IP 质量属于中等偏上：\n✅ Netflix 美区 / ChatGPT / Claude.ai 大多数 IP 可用 ✅ Disney+ / YouTube 正常 ⚠️ 某些 IP 段被 AWS / Google Cloud 标为\u0026quot;VPS IP\u0026quot;，高敏感服务（金融类）可能限制 ✅ Google 账号登录、主流社交平台使用正常 注意：搬瓦工的 IP 是共享母机分配的，同一 C 段（/24）可能有上百个 VPS，IP 封禁风险比独立 IP 高。\n换 IP 实战 搬瓦工最大的优势之一：支持一键付费换 IP。\n什么时候需要换 IP IP 被 Netflix 认定为\u0026quot;代理\u0026quot;，无法观看 IP 被 ChatGPT 封 IP 被墙（国内无法访问） 节点被 DDoS 换 IP 流程 登录搬瓦工 → Services → 点你的 VPS 找到 Shutdown VM（先关机） 关机后出现 Assign New IP Address 按钮 支付 $8.79（2026 年价） 系统分配新 IP，开机即可使用 全流程 2-5 分钟，比多数 VPS 服务商快。\n换 IP 的坑 换到的新 IP 可能还是封的：搬瓦工从一个\u0026quot;待分配 IP 池\u0026quot;里随机分，运气不好换到的还是被 ChatGPT 封过的 一年免费换 1 次机会：2024 年之后新政策，每个 VPS 每年能免费换 1 次，超过就要付费 关机超过 72 小时 IP 会被回收：想\u0026quot;暂时关机省流量\u0026quot;的人要注意 迁机房 场景：你的 VPS 在 DC6，想迁到 DC9（或反过来）。\n流程：\n工单申请 Migrate to DC9（或 DC6） 工单回复通常 24 小时内 迁移完成后 VPS IP 会变 费用：通常免费，每个生命周期 1 次免费迁移 注意：迁移期间 VPS 会停机几分钟到几小时，提前通知用户。\n搬瓦工的运维特色 免费快照（Snapshot） 控制面板支持 手动快照，每个 VPS 最多保留 2 个。对于\u0026quot;系统配置坏了\u0026quot;的场景非常好用：\n配置好系统 → 打快照 如果之后配置炸了，一键回滚到快照 快照不占磁盘配额 操作系统重装 控制面板支持常见系统：\nUbuntu 20.04 / 22.04 / 24.04 Debian 11 / 12 CentOS 7 / 8 Stream（不推荐，已 EOL） Windows Server（需要额外 License 费用） 推荐 Ubuntu 22.04 或 Debian 12。\nKiwiVM 控制面板 搬瓦工用的是自研面板 KiwiVM，功能齐全：\n实时带宽图（按 5 分钟粒度） CPU/内存/IO 监控 在线 VNC（系统装坏了可以救回来） 反向 DNS（rDNS）设置 付款方式 搬瓦工对国人最友好的一点：支持支付宝。\n方式 手续费 到账速度 支付宝 无 秒到 信用卡 无 秒到 PayPal 无 秒到 USDT 无 1-2 分钟 新用户直接支付宝付款最方便，不需要信用卡。\n避坑指南 坑 1：抢到的\u0026quot;便宜套餐\u0026quot;不是 CN2 GIA 搬瓦工有一些历史便宜套餐（$20-30/年），用的是普通 BGP 线路，晚高峰非常卡。别贪便宜买这些，白天白天凑合用，晚上基本废了。\n坑 2：以为 PID 87 和 PID 50 都是 CN2 GIA 有些老 PID 用的是 CN2 GT（次一档），不是 GIA。买之前看清楚套餐描述，或者直接认准官方当前主推的 PID 87 / 88 / 89。\n坑 3：热门套餐长期缺货 PID 87 最便宜最热门，经常缺货。方法：\n在搬瓦工官方页面注册\u0026quot;缺货提醒\u0026quot; NodeSeek / HostLoc 论坛关注补货消息 缺货期间可以买 PID 88（贵一倍但常有货），之后再降配 坑 4：以为重装系统不会影响 IP 重装系统不换 IP，放心重装。想换 IP 必须用 Shutdown + Assign New IP 流程。\n4 年使用感受 我从 2022 年开始持续用搬瓦工，中间也试过 DMIT / RackNerd / Akile 等其他服务商。搬瓦工的优势：\n稳：4 年间整机宕机 \u0026lt; 5 次，每次都提前公告 换 IP 方便：$8.79 一键换，这点没有对手 中文客服响应快：工单 1-4 小时回复，支持中文 支付宝付款：最大的国人友好点 缺点：\n价格比 DMIT / Akile 贵 热门套餐缺货 IP 封禁概率和用户数量成正比（因为用的人多） 什么时候应该选搬瓦工 场景 推荐度 预算 $50+/年，要稳定代理 ⭐⭐⭐⭐⭐ 希望国人友好的付款方式（支付宝） ⭐⭐⭐⭐⭐ 需要频繁换 IP ⭐⭐⭐⭐⭐ 极致省钱（\u0026lt; $20/年） ⭐ 选 RackNerd 延迟要求 \u0026lt;30ms ⭐⭐⭐ 选搬瓦工 HK CMI 或 DMIT → 购买搬瓦工（AFF 链接） → RackNerd vs CloudCone vs 搬瓦工对比 → AkileCloud 国内优化 VPS 评测 → VPS 被封 IP 怎么办\n有购买或配置问题，来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/bwg-cn2-gia-deep-review/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Server rack with blinking green lights\" loading=\"lazy\" src=\"/images/bwg-cn2-gia-deep-review-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=bwg\"\u003e搬瓦工（BandwagonHost）\u003c/a\u003e 是国人 VPS 圈存在时间最长的服务商之一，我从 2022 年开始用，期间反复续费，主力套餐是 \u003cstrong\u003eCN2 GIA-E\u003c/strong\u003e。这篇文章把选套餐、机房、换 IP、迁移的实战经验都写下来。\u003c/p\u003e\n\u003ch2 id=\"cn2-gia-到底是什么\"\u003eCN2 GIA 到底是什么\u003c/h2\u003e\n\u003cp\u003e\u0026ldquo;CN2 GIA\u0026rdquo; 是中国电信的国际精品网（\u003cstrong\u003eC\u003c/strong\u003ehina \u003cstrong\u003eN\u003c/strong\u003eext-generation \u003cstrong\u003eN\u003c/strong\u003eetwork 2 \u003cstrong\u003eG\u003c/strong\u003elobal \u003cstrong\u003eI\u003c/strong\u003enternet \u003cstrong\u003eA\u003c/strong\u003eccess），分两档：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e线路\u003c/th\u003e\n          \u003cth\u003e英文\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCN2 GT\u003c/td\u003e\n          \u003ctd\u003e次精品\u003c/td\u003e\n          \u003ctd\u003e普通国际精品网，质量好\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003eCN2 GIA\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e顶级\u003c/td\u003e\n          \u003ctd\u003e商业客户专线，国内三网三向直连\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e搬瓦工的 CN2 GIA-E（\u0026ldquo;E\u0026rdquo; = Enhanced，增强版）是\u003cstrong\u003e国内三网往返全程走 CN2 GIA\u003c/strong\u003e，晚高峰也不掉速。价格贵但确实稳。\u003c/p\u003e\n\u003ch2 id=\"搬瓦工的主流套餐2026-年\"\u003e搬瓦工的主流套餐（2026 年）\u003c/h2\u003e\n\u003cp\u003e搬瓦工用 \u003cstrong\u003ePID（Product ID）\u003c/strong\u003e 区分套餐，常见的：\u003c/p\u003e\n\u003ch3 id=\"cn2-gia-e主力推荐\"\u003eCN2 GIA-E（主力推荐）\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003ePID\u003c/th\u003e\n          \u003cth\u003e内存\u003c/th\u003e\n          \u003cth\u003e硬盘\u003c/th\u003e\n          \u003cth\u003e流量\u003c/th\u003e\n          \u003cth\u003e年费\u003c/th\u003e\n          \u003cth\u003e机房\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e87\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e1GB\u003c/td\u003e\n          \u003ctd\u003e20GB\u003c/td\u003e\n          \u003ctd\u003e1TB\u003c/td\u003e\n          \u003ctd\u003e~$50\u003c/td\u003e\n          \u003ctd\u003eDC6 / DC9 CN2 GIA-E\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e88\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e2GB\u003c/td\u003e\n          \u003ctd\u003e40GB\u003c/td\u003e\n          \u003ctd\u003e2TB\u003c/td\u003e\n          \u003ctd\u003e~$90\u003c/td\u003e\n          \u003ctd\u003eDC6 / DC9 CN2 GIA-E\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e89\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e4GB\u003c/td\u003e\n          \u003ctd\u003e80GB\u003c/td\u003e\n          \u003ctd\u003e3TB\u003c/td\u003e\n          \u003ctd\u003e~$170\u003c/td\u003e\n          \u003ctd\u003eDC6 / DC9 CN2 GIA-E\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e做代理节点 \u003cstrong\u003ePID 87 完全够用\u003c/strong\u003e，2GB 的 PID 88 给带宽更大的场景。\u003c/p\u003e","title":"搬瓦工 CN2 GIA 深度评测：套餐选购、机房差异、换 IP 实战"},{"content":" 我在 AWS 新加坡跑 Binance 量化策略时遇到过一系列\u0026quot;IP 相关\u0026quot;的坑：地区限制、API 限流、账号被风控冻结。最终的解法是用 IPRoyal 住宅 IP 作为 API 调用出口。这篇文章把原理和配置完整写出来。\n量化策略会遇到的 IP 问题 问题 1：Binance 对部分国家限制访问 Binance 对美国 / 英国 / 荷兰等部分地区 IP 限制 API 访问：\n访问合约 API 返回 451 Unavailable For Legal Reasons 某些 API 接口直接拒绝 用户服务合规问题 常见受影响 VPS 区域：\nAWS us-east-1 / us-west-2（美国） Vultr 部分美国节点 Hetzner 部分德国节点（受欧盟新规影响） 问题 2：API 限流频繁触发 Binance 对每个 IP 的 API 请求有限制：\nREST API：1200 权重/分钟 WebSocket 连接：单 IP 最多 300 个 实际场景：\n一个 VPS 上跑多个策略，共享 IP，叠加权重 突发行情时请求激增，触发 429 WebSocket 断线重连时 429 问题 3：账号风控 Binance 用风控系统检测\u0026quot;异常登录\u0026quot;：\nIP 频繁变化 → 触发安全验证 账号登录 IP 和 API 调用 IP 不一致 → 风控介入 数据中心 IP（特别是小型云服务商）→ 某些操作被限制 极端情况：账号被临时冻结（KYC 复核），策略被迫停机。\n问题 4：IP 被封 某些 ISP 的 IP 段被 Binance 标记为\u0026quot;高风险\u0026quot; VPS 供应商的其他用户违规，连带 IP 段被拉黑 DDoS 或扫描导致的误伤 为什么住宅 IP 能解决 住宅 IP 的本质差异 特征 数据中心 IP（VPS） 住宅 IP ASN 云服务商（AWS / Google Cloud） ISP（Comcast / AT\u0026amp;T） 使用者 1-100 台服务器共享 1-5 户普通家庭 信誉评分（Fraud Score） 40-80（偏高） 0-20（极低） 平台风控识别 明显 极难区分 Binance（和其他交易所）的风控系统对\u0026quot;住宅 IP\u0026quot;极其友好，因为住宅 IP 背后通常是真实用户，风控成本高。\n住宅 IP 解决的 4 个具体问题 原问题 住宅 IP 解决方案 地区限制 选择不受限地区的住宅 IP（新加坡 / 日本 / 香港） 限流 IP 轮换（每笔 API 用不同 IP） 风控 用\u0026quot;本地住宅 IP\u0026quot;避免风控 IP 被封 住宅 IP 池极大，被封可切换 具体方案架构 量化策略服务器 (AWS Tokyo) │ │ 默认流量 ▼ Binance API (直连) │ 特定敏感 API 请求 ▼ IPRoyal 住宅 IP 代理 (出口 = 日本住宅 IP) │ ▼ Binance API 核心思路：\n大部分 API 直连 Binance（速度快，节省住宅 IP 流量） 敏感 API 走住宅 IP（开仓平仓、大额转账等） 账号登录操作走住宅 IP（保持 IP 稳定，避免风控） 实操方案 1：mihomo 规则分流 在量化服务器上装 mihomo，配置代理规则：\n# /etc/mihomo/config.yaml proxies: - name: \u0026#34;iproyal-jp\u0026#34; type: socks5 server: gate.iproyal.cn port: 10000 username: \u0026#34;你的用户名_country-jp_session-stable1\u0026#34; password: \u0026#34;你的密码\u0026#34; proxy-groups: - name: \u0026#34;binance-sensitive\u0026#34; type: select proxies: - iproyal-jp rules: # 敏感 API 走住宅 IP - DOMAIN-SUFFIX,binance.com,binance-sensitive - DOMAIN-SUFFIX,binancezh.com,binance-sensitive # 行情数据 API 走直连（省流量） - DOMAIN,stream.binance.com,DIRECT # 其他流量直连 - MATCH,DIRECT 在量化代码里使用 ccxt 的 Python 代码指定代理：\nimport ccxt exchange = ccxt.binance({ \u0026#39;apiKey\u0026#39;: \u0026#39;YOUR_API_KEY\u0026#39;, \u0026#39;secret\u0026#39;: \u0026#39;YOUR_SECRET\u0026#39;, \u0026#39;proxies\u0026#39;: { \u0026#39;http\u0026#39;: \u0026#39;socks5://127.0.0.1:7890\u0026#39;, # mihomo 本地代理 \u0026#39;https\u0026#39;: \u0026#39;socks5://127.0.0.1:7890\u0026#39;, }, # 行情数据走直连（代码里另起一个客户端） \u0026#39;enableRateLimit\u0026#39;: True, }) # 下单（走代理 = 住宅 IP） order = exchange.create_market_buy_order(\u0026#39;BTC/USDT\u0026#39;, 0.01) # 获取行情（可以直连，但也能走代理） market_exchange = ccxt.binance({}) # 不带代理 ticker = market_exchange.fetch_ticker(\u0026#39;BTC/USDT\u0026#39;) 实操方案 2：出口 IP 固定化 问题：默认情况下 IPRoyal 每次请求可能分配不同出口 IP，Binance 会记录 API 调用 IP 变化，可能触发风控。\n解决：使用 IPRoyal 的 sticky session（黏性会话）。\nsticky session 配置 IPRoyal 的用户名格式支持参数：\n用户名格式： {base_user}_country-{cc}_session-{session_id}_lifetime-{minutes} 示例： user123_country-jp_session-mystrategy1_lifetime-60 参数说明：\ncountry-jp：国家日本 session-mystrategy1：会话 ID（自定义字符串） lifetime-60：会话保持时间 60 分钟 效果：60 分钟内，每次用这个用户名请求，都返回同一个出口 IP。\n量化策略应用 # 每个策略账号用独立 session ID，稳定出口 IP PROXY_USER = \u0026#34;user123_country-jp_session-polaris1_lifetime-1440\u0026#34; # 24 小时会话 proxy = f\u0026#34;socks5://{PROXY_USER}:password@gate.iproyal.cn:10000\u0026#34; # 策略重启后沿用同一 session ID，出口 IP 仍然相同 这样 Binance 看到的 IP 是\u0026quot;稳定的日本住宅 IP\u0026quot;，不会触发 IP 频繁变化的风控。\n实操方案 3：IP 轮换应对限流 场景：高频策略或者爬虫场景，需要主动轮换 IP 避免 429。\nimport random import httpx def get_rotating_proxy(): session_id = random.randint(100000, 999999) user = f\u0026#34;user123_country-jp_session-{session_id}_lifetime-10\u0026#34; return f\u0026#34;socks5://{user}:password@gate.iproyal.cn:10000\u0026#34; # 每次请求都用新的 IP for _ in range(1000): proxy = get_rotating_proxy() with httpx.Client(proxies=proxy) as client: r = client.get(\u0026#34;https://api.binance.com/api/v3/ticker/price\u0026#34;) # ... 效果：1000 次请求分散到 1000 个不同 IP，单 IP 限流完全绕过。\n成本估算：\n单次 API 调用约 1KB 数据 1000 次 = 1MB = $0.007 高频策略每月 1000 万次 ≈ $70/月，用量有限场景可接受 实战配置：北极星策略的方案 我的北极星策略跑在 AWS Tokyo，默认直连 Binance。但在以下情况走住宅 IP：\n开平仓信号（关键时刻） def execute_signal(signal): # 开平仓关键时刻，走住宅 IP 代理 exchange = ccxt.binance({ \u0026#39;apiKey\u0026#39;: API_KEY, \u0026#39;secret\u0026#39;: SECRET, \u0026#39;proxies\u0026#39;: { \u0026#39;http\u0026#39;: IPROYAL_PROXY, \u0026#39;https\u0026#39;: IPROYAL_PROXY, } }) # 设置杠杆、下市价单 exchange.set_leverage(3, \u0026#39;BTC/USDT:USDT\u0026#39;) order = exchange.create_market_buy_order(\u0026#39;BTC/USDT:USDT\u0026#39;, 0.1) return order 行情数据（高频、不敏感） # 行情走直连，省流量且速度快 market = ccxt.binance({}) ticker = market.fetch_ticker(\u0026#39;BTC/USDT\u0026#39;) 策略启动自检 # 启动时检查当前出口 IP def check_outbound_ip(via_proxy=True): kwargs = {} if via_proxy: kwargs[\u0026#39;proxies\u0026#39;] = {\u0026#39;all\u0026#39;: IPROYAL_PROXY} r = httpx.get(\u0026#34;https://api.ipify.org\u0026#34;, **kwargs) return r.text print(\u0026#34;直连 IP:\u0026#34;, check_outbound_ip(via_proxy=False)) print(\u0026#34;代理 IP:\u0026#34;, check_outbound_ip(via_proxy=True)) # 直连 IP: 54.178.x.x (AWS Tokyo) # 代理 IP: 126.147.x.x (日本住宅 IP) 成本核算 住宅 IP 流量消耗 API 类型 单次流量 月度预估（基于北极星策略） 下单 API ~2KB 100 次 × 2KB = 200KB 查询持仓 ~1KB 每 30 分钟 × 24h × 30 天 = 1.4MB 设置杠杆 / 止损 ~1KB 偶尔调整，~50KB/月 月度总消耗：约 5-10 MB，成本 $0.05/月。\n如果所有流量走住宅 IP 加上行情数据：可能 5-20 GB/月 成本：$35-140/月 结论：只让敏感 API 走住宅 IP，大部分流量直连，成本控制在 $1-5/月。\n风险和缺点 1. 延迟增加 住宅 IP 代理增加 50-100ms 延迟。对于：\n趋势跟踪策略（信号间隔 1 小时）：无感 高频策略（毫秒级）：不可接受 2. 可用性 住宅 IP 可能：\n瞬时断连（普通家庭网络质量） 某些 IP 无法访问 Binance 解决：配置 fallback 机制。\ndef robust_request(url, **kwargs): \u0026#34;\u0026#34;\u0026#34;优先走住宅 IP，失败降级到直连\u0026#34;\u0026#34;\u0026#34; try: with httpx.Client(proxies=IPROYAL_PROXY, timeout=10) as client: return client.get(url, **kwargs) except Exception as e: logger.warning(f\u0026#34;Proxy failed: {e}, falling back to direct\u0026#34;) return httpx.get(url, timeout=10, **kwargs) 3. API 白名单管理 Binance API 密钥可以绑定\u0026quot;IP 白名单\u0026quot;。住宅 IP 动态分配，如果你启用了 IP 白名单，住宅 IP 会被拦截。\n解决：\n不启用 IP 白名单（但风险上升，依赖 API 密钥权限） 或用 sticky session 固定一个 IP，加入白名单 扩展场景 场景 1：多账号量化团队 公司有 5 个子账号，每个跑一个策略。每个子账号用独立的住宅 IP session ID，避免账号间相互关联。\nACCOUNTS = { \u0026#34;acc1\u0026#34;: \u0026#34;user123_country-jp_session-acc1_lifetime-1440\u0026#34;, \u0026#34;acc2\u0026#34;: \u0026#34;user123_country-jp_session-acc2_lifetime-1440\u0026#34;, \u0026#34;acc3\u0026#34;: \u0026#34;user123_country-jp_session-acc3_lifetime-1440\u0026#34;, # ... } 场景 2：合规审计 某些场景需要证明\u0026quot;API 请求来自合规地区\u0026quot;（比如只能从日本 IP 操作）。用 IPRoyal 固定日本住宅 IP，满足合规要求。\n场景 3：多交易所对冲 如果你同时在 Binance / OKX / Bybit 对冲套利，每个交易所用不同国家的住宅 IP 隔离，避免\u0026quot;同 IP 操作多家交易所\u0026quot;被标记。\n常见问题 Q: AWS Tokyo 直连 Binance 延迟多少？ 大约 5-20ms。AWS ap-northeast-1 和 Binance 的核心节点在同一机房区域，延迟极低。\nQ: 加了住宅 IP 代理后延迟会影响多少？ 增加 50-150ms。对趋势跟踪/网格策略无感，高频套利不合适。\nQ: IPRoyal 能替代 VPN 吗？ 用法不同。VPN 是\u0026quot;全局代理所有流量\u0026quot;，IPRoyal 按 GB 计费，建议只代理敏感请求。\nQ: 其他交易所（OKX / Bybit）也适用吗？ 原理一样。OKX / Bybit 的地区限制和风控类似 Binance，住宅 IP 方案通用。\nQ: 出口 IP 变化会导致 Binance API 失效吗？ 不会影响 API Key 本身，但会：\n触发\u0026quot;登录地变化\u0026quot;邮件通知（可以在账户设置里关闭部分通知） 某些敏感操作触发 2FA 二次验证 连续异常 IP 变化可能导致账号临时冻结 解决：用 sticky session 固定 IP，避免频繁变化。\nQ: 本文的方案适用于个人用户吗？ 适用。如果你跑量化策略且遇到过 IP 问题，这个方案对个人用户的成本约 $1-5/月，值得加。\n总结：住宅 IP 不是量化策略的必需品，但遇到 地区限制 / 限流 / 风控 等问题时，是最干净的解法。关键是只代理敏感流量，控制成本。\n→ IPRoyal 住宅 IP 官方注册（AFF） → IPRoyal 5 个实战场景 → Binance API 从零到第一笔下单 → Binance 资金费率套利 → mihomo 出口接住宅 IP → 合约风控三层架构\n有量化实盘问题来 Telegram 聊。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/quant-proxy-residential-ip-why/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A close-up of a golden Bitcoin highlighting its digital curr\" loading=\"lazy\" src=\"/images/quant-proxy-residential-ip-why-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e我在 AWS 新加坡跑 \u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003eBinance\u003c/a\u003e 量化策略时遇到过一系列\u0026quot;IP 相关\u0026quot;的坑：地区限制、API 限流、账号被风控冻结。最终的解法是用 \u003cstrong\u003e\u003ca href=\"https://aff.panshi.io/track?id=iproyal\"\u003eIPRoyal 住宅 IP\u003c/a\u003e 作为 API 调用出口\u003c/strong\u003e。这篇文章把原理和配置完整写出来。\u003c/p\u003e\n\u003ch2 id=\"量化策略会遇到的-ip-问题\"\u003e量化策略会遇到的 IP 问题\u003c/h2\u003e\n\u003ch3 id=\"问题-1binance-对部分国家限制访问\"\u003e问题 1：Binance 对部分国家限制访问\u003c/h3\u003e\n\u003cp\u003eBinance 对\u003cstrong\u003e美国 / 英国 / 荷兰\u003c/strong\u003e等部分地区 IP 限制 API 访问：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e访问合约 API 返回 \u003ccode\u003e451 Unavailable For Legal Reasons\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e某些 API 接口直接拒绝\u003c/li\u003e\n\u003cli\u003e用户服务合规问题\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e常见受影响 VPS 区域\u003c/strong\u003e：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAWS us-east-1 / us-west-2（美国）\u003c/li\u003e\n\u003cli\u003eVultr 部分美国节点\u003c/li\u003e\n\u003cli\u003eHetzner 部分德国节点（受欧盟新规影响）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"问题-2api-限流频繁触发\"\u003e问题 2：API 限流频繁触发\u003c/h3\u003e\n\u003cp\u003eBinance 对每个 IP 的 API 请求有限制：\u003c/p\u003e","title":"量化策略为什么需要住宅 IP：Binance API 封号防御完整方案"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n黄金是全球最重要的避险资产之一。以往交易黄金需要开期货账户或购买黄金 ETF，现在通过 Binance 可以直接用 USDT 7×24 小时交易黄金，门槛极低。\n本文覆盖 Binance 上黄金交易的两种方式：现货 XAU/USDT 和 合约 XAUUSDT 永续合约，以及各自的操作方法和风险说明。\nBinance 上的黄金交易品种 品种 说明 杠杆 适合人群 XAU/USDT 现货 直接买卖黄金代币，1 XAU = 1 金衡盎司现货价 无 中长期持有、无杠杆需求 XAUUSDT 永续合约 追踪黄金价格的永续合约，可做多/空 最高 20x 短线交易、对冲、杠杆需求 Binance 上的 XAU 是与黄金现货价格挂钩的代币化资产，并非实物黄金。不支持实物交割。\n准备工作 注册 Binance 账户 👉 Binance 注册（含手续费返佣）\n直接链接：https://aff.panshi.io/track?id=binance\u0026amp;ref=/posts/binance-xau-gold-trading/\n注册后需完成 KYC 认证（护照或身份证 + 人脸识别），认证通过后才能交易。\n充值 USDT 交易黄金需要账户内有 USDT：\n现货交易：充值到现货账户 合约交易：充值后划转到合约账户（统一保证金账户） 充值路径：资金 → 充值 → USDT → 选择网络（TRC-20 手续费最低）\n方式一：XAU/USDT 现货交易 什么是现货 XAU Binance 的 XAU 代币是 1:1 锚定黄金现货价格的资产，价格跟随伦敦金（LBMA）现货价实时更新。持有 XAU 等同于持有相应价值的黄金敞口（无杠杆）。\n特点：\n没有爆仓风险 没有资金费率（合约才有） 可长期持有 手续费按现货标准收取（默认 0.1%，持有 BNB 可打7折） 下单步骤 进入页面： 交易 → 现货 → 搜索 XAU，选择 XAU/USDT\n界面说明：\n买入区域： - 限价单：指定价格，等价格到达后成交 - 市价单：立即按当前市场价成交 - 止盈止损单：设定触发价格后自动挂单 买入黄金（做多）：\n选择 买入 XAU 选择订单类型（市价单立即成交，限价单等待价位） 输入金额（USDT 数量）或 XAU 数量 点击\u0026quot;买入 XAU\u0026quot;确认 卖出黄金（平仓）：\n选择 卖出 XAU 输入卖出数量 确认 现货 XAU 的适用场景 中长线持仓：认为黄金中期会涨，买入持有几周到几个月 资产配置：加密资产组合中加入黄金对冲风险 规避合约风险：不想面对爆仓风险，又想有黄金敞口 方式二：XAUUSDT 永续合约 什么是永续合约 永续合约是没有到期日的合约，通过资金费率机制使合约价格锚定现货价格。可以做多（看涨）也可以做空（看跌），并且支持杠杆。\n和现货的主要区别：\n现货 XAU 永续合约 杠杆 无 最高 20x 做空 不支持 支持 资金费率 无 每8小时收/支付 爆仓风险 无 有 持仓成本 低 资金费率（多空方向不同） 开启合约交易 首次使用合约需要开通权限：\n交易 → 合约 → U 本位合约 阅读并同意风险提示 完成合约知识测试（回答几道风控题目） 通过后，将 USDT 从现货账户划转到合约账户：资金 → 划转 → 现货到 U 本位合约\n下单步骤 进入页面： 交易 → U 本位合约 → 搜索 XAUUSDT\n设置杠杆：\n点击页面上的\u0026quot;20x\u0026quot;（默认杠杆），调整到你需要的杠杆倍数。\n初次交易建议使用 1-3x 杠杆，黄金波动相对较小但杠杆会放大亏损。\n下单做多（看涨黄金）：\n选择 买入/做多 选择订单类型（市价/限价） 输入开仓数量（或 USDT 金额） 可选：设置止盈止损价格 确认开仓 下单做空（看跌黄金）：\n选择 卖出/做空 其余步骤相同 止盈止损设置 开仓时可直接设置止盈止损，这是合约交易的必要操作：\n止盈价格：到达此价格自动平仓获利 止损价格：到达此价格自动平仓止损，避免损失继续扩大 示例：黄金当前价 $4600，你做多1张（100oz）：\n设置止盈：$4700（涨3%平仓） 设置止损：$3250（跌1.5%止损） 资金费率说明 永续合约每8小时结算一次资金费率（00:00、08:00、16:00 UTC）：\n费率为正：做多方支付给做空方（市场整体偏多时） 费率为负：做空方支付给做多方（市场整体偏空时） 长期持仓需要考虑资金费率的累积成本，可在合约页面查看当前资金费率和下次结算时间。\n黄金合约的风控要点 1. 仓位不要过大 黄金日内波动通常在 0.5-2%，使用 10x 杠杆时单日最大亏损可达 5-20%。建议单笔黄金合约占账户的比例不超过20%。\n2. 必须设止损 黄金虽然波动相对小，但重大事件（非农数据、美联储决议、地缘冲突）会造成短时间内 1-3% 的快速波动，加杠杆后爆仓风险真实存在。\n3. 关注宏观事件 影响黄金价格的主要因素：\n美元走势：美元弱 → 黄金涨（负相关） 实际利率：实际利率低 → 黄金有吸引力 避险情绪：地缘风险、股市暴跌 → 黄金涨 央行购金：各国央行增持黄金储备 每月重要数据：非农就业（每月第一个周五）、CPI（通胀数据）、美联储会议（每6-8周）。\n4. 不要在高波动时段进场 UTC 时间 12:30（美国东部早市）前后是美国经济数据发布窗口，黄金可能出现快速波动。初学者建议避开数据发布前后各30分钟开仓。\n手续费说明 交易类型 手续费 现货 Maker 0.1%（持有BNB打7折 = 0.07%） 现货 Taker 0.1%（持有BNB打7折 = 0.07%） 合约 Maker 0.02% 合约 Taker 0.05% 合约手续费远低于现货，适合频繁交易。\n总结 想长期持有黄金敞口、不想面对爆仓：选现货 XAU/USDT 想做短线、想做空、想用杠杆：选合约 XAUUSDT 永续 两者可以结合使用，比如现货做底仓、合约做短线对冲 👉 在 Binance 开始交易黄金（含手续费返佣）\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-xau-gold-trading/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Stack of 100 troy ounce fine gold bars\" loading=\"lazy\" src=\"/images/binance-xau-gold-trading-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e黄金是全球最重要的避险资产之一。以往交易黄金需要开期货账户或购买黄金 ETF，现在通过 \u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003eBinance\u003c/a\u003e 可以直接用 USDT 7×24 小时交易黄金，门槛极低。\u003c/p\u003e\n\u003cp\u003e本文覆盖 Binance 上黄金交易的两种方式：\u003cstrong\u003e现货 XAU/USDT\u003c/strong\u003e 和 \u003cstrong\u003e合约 XAUUSDT 永续合约\u003c/strong\u003e，以及各自的操作方法和风险说明。\u003c/p\u003e\n\u003ch2 id=\"binance-上的黄金交易品种\"\u003eBinance 上的黄金交易品种\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e品种\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n          \u003cth\u003e杠杆\u003c/th\u003e\n          \u003cth\u003e适合人群\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eXAU/USDT 现货\u003c/td\u003e\n          \u003ctd\u003e直接买卖黄金代币，1 XAU = 1 金衡盎司现货价\u003c/td\u003e\n          \u003ctd\u003e无\u003c/td\u003e\n          \u003ctd\u003e中长期持有、无杠杆需求\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eXAUUSDT 永续合约\u003c/td\u003e\n          \u003ctd\u003e追踪黄金价格的永续合约，可做多/空\u003c/td\u003e\n          \u003ctd\u003e最高 20x\u003c/td\u003e\n          \u003ctd\u003e短线交易、对冲、杠杆需求\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cblockquote\u003e\n\u003cp\u003eBinance 上的 XAU 是与黄金现货价格挂钩的代币化资产，并非实物黄金。不支持实物交割。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"准备工作\"\u003e准备工作\u003c/h2\u003e\n\u003ch3 id=\"注册-binance-账户\"\u003e注册 Binance 账户\u003c/h3\u003e\n\u003cp\u003e👉 \u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003eBinance 注册（含手续费返佣）\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e直接链接：\u003ccode\u003ehttps://aff.panshi.io/track?id=binance\u0026amp;ref=/posts/binance-xau-gold-trading/\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e注册后需完成 KYC 认证（护照或身份证 + 人脸识别），认证通过后才能交易。\u003c/p\u003e\n\u003ch3 id=\"充值-usdt\"\u003e充值 USDT\u003c/h3\u003e\n\u003cp\u003e交易黄金需要账户内有 USDT：\u003c/p\u003e","title":"Binance 黄金交易教程：XAU/USDT 现货与合约完整指南"},{"content":" Bybit 是全球交易量前三的加密货币交易所，其推出的 Bybit Card（Bybit 卡）允许用户直接用交易所账户余额在全球消费。与其他 U 卡相比，Bybit Card 的优势在于资金在交易所内直接打通，无需提币再充值，操作链路更短。\nBybit Card 简介 Bybit Card 是 Bybit 与 Visa 合作发行的加密货币借记卡：\n消费即扣：刷卡时实时从 Bybit 账户余额扣款，支持 USDT、USDC 及法币余额 全球可用：Visa 覆盖的商户均可使用，含实体店、网购、ATM 虚拟卡即时到账：申请通过后立即获得卡号，可用于网购和绑定手机支付 实体卡邮寄：支持申请实体卡邮寄到家 消费返佣：部分地区的持卡用户有消费返现奖励（以官网为准） 申请条件 Bybit 注册账户 完成 KYC 身份认证（护照或身份证） 所在地区支持（中国大陆用户需使用香港/其他地区证件，或以所在居住地申请） 账户内有余额（USDT/USDC 或法币） Bybit 对不同地区的用户开放程度不同，建议注册时选择实际居住地区，KYC 使用对应地区有效证件。\n第一步：注册 Bybit 账户 使用以下链接注册可获得手续费优惠和返佣：\n👉 Bybit 注册（含返佣）\n直接注册链接：https://aff.panshi.io/track?id=bybit\u0026amp;ref=/posts/bybit-ucard-guide/\n注册步骤：\n输入邮箱或手机号 设置密码 填写邀请码（使用上方链接会自动填入） 完成邮箱/短信验证 第二步：完成 KYC 认证 进入路径： 首页 → 个人头像 → 身份认证\n认证等级说明：\n等级 要求 限额 Lv.1 基础认证 姓名 + 证件号 日提现约 $20,000 Lv.2 高级认证 证件照片 + 人脸识别 日提现约 $100,000 申请 Bybit Card 需要至少完成 Lv.2 高级认证。\n认证步骤：\n选择证件类型（护照 / 身份证） 上传证件正面、反面照片（清晰、无反光、四角完整） 进行人脸活体检测（正视摄像头，缓慢左右转头） 提交等待审核 审核通常在30分钟内完成，高峰期可能需要1-2个工作日。\n第三步：申请 Bybit Card 进入路径： 首页 → 更多（More）→ Bybit Card → 立即申请\n或直接在 App 顶部搜索\u0026quot;Card\u0026quot;。\n选择卡片类型：\n类型 说明 虚拟卡 立即到账，用于网购及绑定 Apple/Google Pay 实体卡 邮寄到家，适合线下消费，等待7-21工作日 填写申请信息：\n确认姓名（与 KYC 一致） 选择关联账户（资金账户 / 统一交易账户） 实体卡填写收货地址 支付开卡费（从账户余额扣除，以官网实时价格为准） 提交后虚拟卡通常几分钟内审核完成。\n第四步：为 Bybit Card 充值 Bybit Card 直接关联 Bybit 账户余额，无需单独充值步骤——只要账户内有 USDT/USDC，刷卡时会自动扣款。\n如果账户余额不足，从外部充值到 Bybit：\n充值路径： 资产 → 充值 → 选择币种和网络\n常用充值网络：\nUSDT-TRC20：手续费最低（约 $1 以内） USDT-BEP20：手续费低，BSC 网络 USDT-ERC20：手续费较高，以太坊网络 充值到账后，账户余额即可用于刷卡消费。\n日常使用 网购 / 虚拟卡 在 App 内查看虚拟卡的卡号、有效期和 CVV，填入任何 Visa 支持的结账页面即可。\n绑定 Apple Pay / Google Pay 进入 Wallet 应用 → 添加卡片 → 输入虚拟卡信息，或直接扫描 App 内虚拟卡二维码添加。\n线下刷卡（实体卡） 与普通银行卡完全相同操作，插卡或NFC支付均可，POS 机显示 Visa 即支持。\n消费汇率 Bybit Card 消费时按 Visa 网络汇率将加密资产转换为当地法币，通常接近市场中间价。\n费用说明 费用项目 金额 开卡费（虚拟卡） 免费或小额（以官网为准） 开卡费（实体卡） 约 $10-20（以官网为准） 月管理费 无（活跃账户） 消费手续费 约 0-2%（以官网费率页为准） ATM 取现 约 $2-5 + 比例手续费 跨境手续费 约 1.5%（部分地区） 费率以 Bybit 官网实时公示为准，可能随政策调整。\n安全设置建议 开启双重验证（2FA）：进入安全中心开启 Google Authenticator 设置消费通知：每笔刷卡实时推送，异常30秒内可发现 设置限额：在卡片设置里限制单日消费上限 冻结/解冻功能：临时不用时可在 App 内一键冻结，防止盗刷 Bybit Card vs SafePal U 卡 对比项 Bybit Card SafePal U 卡 资金来源 直接用 Bybit 账户余额 需单独充值到卡账户 适合人群 主要在 Bybit 交易的用户 资产分散多处的用户 开户难度 中（需 Bybit KYC） 中（需 SafePal KYC） 返现 部分地区有 部分地区有 品牌 交易所直发 专业钱包品牌 两者功能相近，主要看自己的主要资产在哪个平台。\n总结 Bybit Card 最大的便利是账户内资产直通消费，不需要提币-充值的额外步骤，适合 Bybit 活跃用户。申请流程全线上完成，KYC 通过后虚拟卡几分钟内可用。\n👉 立即注册 Bybit（含返佣）\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/bybit-ucard-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a cell phone sitting on top of a table\" loading=\"lazy\" src=\"/images/bybit-ucard-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=bybit\"\u003eBybit\u003c/a\u003e 是全球交易量前三的加密货币交易所，其推出的 \u003cstrong\u003eBybit Card\u003c/strong\u003e（Bybit 卡）允许用户直接用交易所账户余额在全球消费。与其他 U 卡相比，Bybit Card 的优势在于\u003cstrong\u003e资金在交易所内直接打通\u003c/strong\u003e，无需提币再充值，操作链路更短。\u003c/p\u003e\n\u003ch2 id=\"bybit-card-简介\"\u003eBybit Card 简介\u003c/h2\u003e\n\u003cp\u003eBybit Card 是 Bybit 与 Visa 合作发行的加密货币借记卡：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e消费即扣\u003c/strong\u003e：刷卡时实时从 Bybit 账户余额扣款，支持 USDT、USDC 及法币余额\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e全球可用\u003c/strong\u003e：Visa 覆盖的商户均可使用，含实体店、网购、ATM\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e虚拟卡即时到账\u003c/strong\u003e：申请通过后立即获得卡号，可用于网购和绑定手机支付\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e实体卡邮寄\u003c/strong\u003e：支持申请实体卡邮寄到家\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e消费返佣\u003c/strong\u003e：部分地区的持卡用户有消费返现奖励（以官网为准）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"申请条件\"\u003e申请条件\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBybit 注册账户\u003c/li\u003e\n\u003cli\u003e完成 KYC 身份认证（护照或身份证）\u003c/li\u003e\n\u003cli\u003e所在地区支持（中国大陆用户需使用香港/其他地区证件，或以所在居住地申请）\u003c/li\u003e\n\u003cli\u003e账户内有余额（USDT/USDC 或法币）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003eBybit 对不同地区的用户开放程度不同，建议注册时选择实际居住地区，KYC 使用对应地区有效证件。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"第一步注册-bybit-账户\"\u003e第一步：注册 Bybit 账户\u003c/h2\u003e\n\u003cp\u003e使用以下链接注册可获得手续费优惠和返佣：\u003c/p\u003e\n\u003cp\u003e👉 \u003ca href=\"https://aff.panshi.io/track?id=bybit\"\u003eBybit 注册（含返佣）\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e直接注册链接：\u003ccode\u003ehttps://aff.panshi.io/track?id=bybit\u0026amp;ref=/posts/bybit-ucard-guide/\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e注册步骤：\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e输入邮箱或手机号\u003c/li\u003e\n\u003cli\u003e设置密码\u003c/li\u003e\n\u003cli\u003e填写邀请码（使用上方链接会自动填入）\u003c/li\u003e\n\u003cli\u003e完成邮箱/短信验证\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"第二步完成-kyc-认证\"\u003e第二步：完成 KYC 认证\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e进入路径：\u003c/strong\u003e 首页 → 个人头像 → 身份认证\u003c/p\u003e","title":"Bybit Card 申请教程：加密货币 Visa 卡全流程指南"},{"content":" Bybit 是全球主流合约交易所之一，其 XAUUSDT 永续合约流动性好、点差小，是很多交易者交易黄金的首选平台。相比传统期货账户，Bybit 注册简单、资金划转快、手机端操作流畅。\n本文从零讲解如何在 Bybit 上交易黄金合约。\nBybit 黄金合约特点 参数 说明 合约类型 USDT 永续合约（U 本位） 最小下单量 0.01 张（1张 = 1盎司黄金） 最大杠杆 最高 50x（建议谨慎使用） 交易时间 7×24 小时（不停盘） 手续费 Maker 0.01%，Taker 0.06% 资金费率结算 每8小时（00:00/08:00/16:00 UTC） Bybit 的 XAUUSDT 合约 Maker 手续费 0.01%，比 Binance（0.02%）低，对高频或大资金交易者更友好。\n第一步：注册 Bybit 👉 Bybit 注册（含手续费返佣）\n直接链接：https://aff.panshi.io/track?id=bybit\u0026amp;ref=/posts/bybit-xau-gold-trading/\n注册步骤：\n输入邮箱/手机号 设置密码 完成邮箱验证 完成 KYC（护照或身份证 + 人脸识别，Lv.2） 第二步：充值 USDT 并划转到合约账户 充值路径： 资产 → 充值 → USDT → 选择网络\n建议使用 TRC-20 网络，到账快、手续费低（通常 $1 以内）。\n充值到账后，需划转到统一交易账户（UTA）用于合约交易：\n资产 → 划转 → 充资金账户到统一交易账户\nBybit 使用\u0026quot;统一保证金账户\u0026quot;（UTA），合约、现货保证金统一管理，无需分别充值。\n第三步：进入 XAUUSDT 合约页面 App 路径： 交易 → 合约 → 搜索 XAUUSDT\n网页路径： 顶部菜单 → 衍生品 → USDT 永续 → 搜索 XAUUSDT\n页面主要区域：\n左侧：K 线图和深度图 右侧：下单面板 下方：持仓、委托记录 第四步：设置杠杆 点击下单面板上方的杠杆倍数（默认通常为 10x），弹出杠杆调整滑块。\n杠杆选择建议：\n交易风格 建议杠杆 长线持仓（几天以上） 1-3x 中线波段（几小时到几天） 3-5x 短线日内 5-10x 极短线/超高频 视情况，不建议超 20x 黄金日内波动通常 0.5-2%，10x 杠杆下单次最大亏损可达 5-20%，一定要配合止损使用。\n第五步：下单 做多（看涨黄金） 认为黄金价格会上涨时开多：\n选择 买入 方向 选择订单类型： 限价单：填入希望买入的价格，等价格到达后成交，手续费更低（Maker 费率） 市价单：立即按当前最优价成交，手续费稍高（Taker 费率） 填入开仓金额（USDT）或数量（盎司） 可选：填写止盈价格和止损价格（强烈建议填写） 点击\u0026quot;买入做多\u0026quot; 做空（看跌黄金） 认为黄金价格会下跌时开空：\n选择 卖出 方向，其余步骤相同 注意：做空时若价格上涨，亏损同样是放大的 平仓 持仓后在底部\u0026quot;持仓\u0026quot;标签页查看仓位：\n点击\u0026quot;平仓\u0026quot;手动平仓 或等止盈/止损触发自动平仓 止盈止损详细设置 开仓时建议同时设置止盈止损，Bybit 支持两种方式：\n开仓时直接设置 在下单面板底部找到\u0026quot;止盈/止损\u0026quot;开关，填入：\n止盈价格：预期目标价，到达后自动平仓获利 止损价格：最大承受亏损价，到达后自动平仓止损 持仓后追加设置 进入持仓列表 → 点击对应仓位右边的\u0026quot;止盈/止损\u0026quot;→ 填入价格保存。\n示例计算（黄金 $4600，做多1张，5x杠杆）：\n保证金：$4600 / 5 = $660 止损设在 $3270（跌1%），亏损 = $30 × 1 = $30（占保证金 4.5%） 止盈设在 $4700（涨3%），盈利 = $100 × 1 = $100（占保证金 15.2%） 风险收益比 = 1:3.3 资金费率 永续合约通过资金费率让合约价格锚定现货价格：\n费率 \u0026gt; 0：做多方每8小时支付给做空方 费率 \u0026lt; 0：做空方每8小时支付给做多方 在合约页面可以看到\u0026quot;资金费率\u0026quot;和\u0026quot;下次结算时间\u0026quot;。长期持仓时费率会累积，需要考虑持仓成本。\n黄金合约通常资金费率较低（0.01%-0.05% 区间），比 BTC/ETH 合约更适合持仓。\n常见新手错误 错误1：不设止损 黄金看似\u0026quot;稳健\u0026quot;，但加杠杆后任何资产都可能快速亏损。非农数据发布时黄金30分钟内可能波动 $30-50（约1-1.5%），10x 杠杆下就是10-15%亏损。\n正确做法： 每次开仓前先想好止损在哪，开仓的同时设置止损单。\n错误2：仓位过重 用 80% 以上资金开一个方向，一次重大事件就可能造成大幅亏损甚至爆仓。\n正确做法： 单笔仓位不超过账户的 20-30%，剩余资金作为缓冲保证金。\n错误3：追涨杀跌 看到黄金已经涨了很多才去追多，往往在高位被套。\n正确做法： 在自己预设的价位开仓，不是\u0026quot;感觉在涨\u0026quot;时追进去。\n错误4：忽视资金费率 长期做多在牛市中资金费率持续为正，每天累积成本可能达到 0.1-0.3%，一个月就是 3-9%。\n正确做法： 长期持仓考虑换成现货 XAU，避免资金费率侵蚀收益。\n影响黄金价格的主要因素 因素 方向 说明 美元指数走强 利空黄金 美元与黄金负相关 美国实际利率上升 利空黄金 持有黄金的机会成本上升 通胀预期上升 利多黄金 黄金是通胀对冲工具 地缘政治风险 利多黄金 避险情绪推高黄金 央行购金增加 利多黄金 需求端支撑 美联储降息 利多黄金 实际利率下降 重要数据发布时间（UTC+8 北京时间）：\n非农就业数据：每月第一个周五 20:30 CPI 通胀数据：每月中旬 20:30 美联储利率决议：北京时间次日凌晨2:00 美元指数（DXY）：实时影响，需持续关注 总结 Bybit 的 XAUUSDT 永续合约手续费低、流动性好，是交易黄金合约的主流选择。新手建议从低杠杆（1-3x）开始，配合止损严格执行，熟悉黄金的宏观驱动逻辑后再逐步提高仓位。\n👉 在 Bybit 交易黄金合约（含返佣）\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/bybit-xau-gold-trading/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a pile of gold and silver coins sitting on top of a table\" loading=\"lazy\" src=\"/images/bybit-xau-gold-trading-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=bybit\"\u003eBybit\u003c/a\u003e 是全球主流合约交易所之一，其 XAUUSDT 永续合约流动性好、点差小，是很多交易者交易黄金的首选平台。相比传统期货账户，Bybit 注册简单、资金划转快、手机端操作流畅。\u003c/p\u003e\n\u003cp\u003e本文从零讲解如何在 Bybit 上交易黄金合约。\u003c/p\u003e\n\u003ch2 id=\"bybit-黄金合约特点\"\u003eBybit 黄金合约特点\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e参数\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e合约类型\u003c/td\u003e\n          \u003ctd\u003eUSDT 永续合约（U 本位）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e最小下单量\u003c/td\u003e\n          \u003ctd\u003e0.01 张（1张 = 1盎司黄金）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e最大杠杆\u003c/td\u003e\n          \u003ctd\u003e最高 50x（建议谨慎使用）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e交易时间\u003c/td\u003e\n          \u003ctd\u003e7×24 小时（不停盘）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e手续费\u003c/td\u003e\n          \u003ctd\u003eMaker 0.01%，Taker 0.06%\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e资金费率结算\u003c/td\u003e\n          \u003ctd\u003e每8小时（00:00/08:00/16:00 UTC）\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eBybit 的 XAUUSDT 合约 Maker 手续费 \u003cstrong\u003e0.01%\u003c/strong\u003e，比 Binance（0.02%）低，对高频或大资金交易者更友好。\u003c/p\u003e\n\u003ch2 id=\"第一步注册-bybit\"\u003e第一步：注册 Bybit\u003c/h2\u003e\n\u003cp\u003e👉 \u003ca href=\"https://aff.panshi.io/track?id=bybit\"\u003eBybit 注册（含手续费返佣）\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e直接链接：\u003ccode\u003ehttps://aff.panshi.io/track?id=bybit\u0026amp;ref=/posts/bybit-xau-gold-trading/\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e注册步骤：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e输入邮箱/手机号\u003c/li\u003e\n\u003cli\u003e设置密码\u003c/li\u003e\n\u003cli\u003e完成邮箱验证\u003c/li\u003e\n\u003cli\u003e完成 KYC（护照或身份证 + 人脸识别，Lv.2）\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"第二步充值-usdt-并划转到合约账户\"\u003e第二步：充值 USDT 并划转到合约账户\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e充值路径：\u003c/strong\u003e 资产 → 充值 → USDT → 选择网络\u003c/p\u003e","title":"Bybit 黄金合约交易教程：XAUUSDT 永续合约开户到下单全指南"},{"content":" ⚠️ 注册门槛：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 Pionex 受限地区官方说明。\n黄金价格长期在区间内震荡，这种特性非常适合网格交易策略——在价格区间内自动低买高卖，每次小幅波动都能积累利润。Pionex 是全球最大的内置网格机器人交易所，免费提供16种自动化交易策略，无需编程即可启动黄金网格。\n什么是网格交易 网格交易是在一个价格区间内，每隔固定间距放置买单和卖单，形成一张\u0026quot;网\u0026quot;：\n$4700 ←── 卖单 $4680 ←── 卖单 $4660 ←── 买入后挂卖单（已持仓） $4640 ←── 买入后挂卖单（已持仓） $4620 ←── 买单 $4600 ←── 买单 价格在区间内每次下跌触发买单、上涨触发卖单，每个网格完成一次低买高卖，积累利润。\n网格策略的优势：\n不需要预测涨跌方向，只要价格在区间内震荡就持续盈利 全自动执行，24小时不间断，不受情绪影响 震荡越剧烈，成交次数越多，利润积累越快 适合黄金的原因： 黄金长期受美元、利率、避险情绪多重因素影响，价格常在宏观拐点前后长时间震荡，非常契合网格策略的盈利条件。\nPionex 注册 👉 Pionex 注册（含手续费返佣）\n或直接打开：https://aff.panshi.io/track?id=pionex\n注册只需邮箱或手机号，同样需要完成 KYC 认证（身份证/护照 + 人脸识别）才能交易。\n充值 USDT 到 Pionex 路径： 资产 → 充值 → USDT → 选择网络\n建议使用 TRC-20 网络，手续费最低。到账后余额显示在\u0026quot;现货账户\u0026quot;。\n创建 XAU/USDT 网格机器人 进入网格机器人 App 路径： 首页 → 机器人 → 网格机器人 → 现货网格\n网页路径： 顶部菜单 → 交易机器人 → 网格交易\n选择交易对 搜索 XAU，选择 XAU/USDT。\n设置网格参数 这是最关键的一步，参数决定策略的盈利空间和风险。\n核心参数说明：\n参数 说明 如何设置 价格下限 网格最低价，低于此价停止运行 设在你认为不会跌破的支撑位下方 价格上限 网格最高价，高于此价停止运行 设在近期阻力位上方 网格数量 价格区间内分多少格 10-50格（格数越多每格收益越小，成交越频繁） 投入金额 用多少 USDT 运行此网格 建议不超过总资金的50% Pionex 提供\u0026quot;AI 推荐参数\u0026quot;功能，点击后系统根据历史数据自动推荐价格区间和网格数量，新手可以直接参考。\n实际参数示例 假设当前黄金价格 $4600，近6个月区间在 $3800-$4800：\n价格下限：$3900（留一定安全边际） 价格上限：$4900 网格数量：30格 投入金额：$4000 USDT 每格间距：($4900 - $3900) / 30 = $23.3 每格利润率：$23.3 / $4600 ≈ 0.71% 预期年化（假设日均成交3次）：0.71% × 3 × 365 ≈ 77%（理论值，实际取决于波动频率） 年化数字是理论计算，实际收益取决于价格在区间内的时间和波动频率。若黄金跌破下限或涨破上限，机器人会停止运行。\n是否开启\u0026quot;底部持仓\u0026quot; Pionex 网格有\u0026quot;底部建仓\u0026quot;选项：\n开启：机器人在价格下限附近买入底仓，等价格反弹时卖出 关闭：只在价格下跌到对应网格时才买入 建议开启底部持仓，这样在下跌过程中逐步建仓，平均成本更低。\n启动和监控 填完参数后点击\u0026quot;创建机器人\u0026quot;，机器人开始自动运行。\n监控方式：\n在\u0026quot;我的机器人\u0026quot;页面查看运行状态 查看\u0026quot;利润\u0026quot;字段显示累积网格收益 查看\u0026quot;网格笔数\u0026quot;了解成交次数 什么时候停止机器人：\n黄金进入单边趋势（持续上涨或下跌），考虑调整区间 价格接近上限/下限，重新评估是否需要扩大区间 宏观大事件前（如美联储决议），可暂停等待波动过后再启动 Pionex 手续费 Pionex 的手续费是 0.05%（Maker 和 Taker 相同），统一费率，无需持有平台币也不需要特殊条件。\n相比 Binance（0.1%）和 Bybit（0.06% Taker），Pionex 的手续费对网格策略特别友好——网格策略成交次数多，手续费积累会明显影响收益。\n风险提示 1. 单边行情亏损 如果黄金跌破下限，机器人持有大量 XAU，账户显示浮亏。网格策略在趋势行情中会跑输\u0026quot;空仓不动\u0026quot;或\u0026quot;趋势跟踪\u0026quot;策略。\n应对方式： 设置下限时预留足够安全边际，不要设在当前价格附近太近的位置。\n2. 涨破上限时踏空 如果黄金涨破上限，机器人已全部卖出 XAU，后续涨幅无法参与。\n应对方式： 上限可以适当设宽，或者在黄金明显看涨时手动持有部分现货 XAU。\n3. 手续费侵蚀 设置网格数量过多时，每格利润空间太小，可能被手续费抵消。\n建议： 每格利润率至少是手续费的 3 倍以上。Pionex 手续费 0.05%，每格利润率建议至少 0.15% 以上。\n总结 Pionex 的黄金网格机器人适合\u0026quot;认为黄金中期在区间内震荡\u0026quot;的场景，不需要预测涨跌方向，全自动低买高卖。手续费低、操作简单，是没有编程能力的投资者实现量化交易的最低门槛方案之一。\n黄金的低波动特性使网格频率相对较低，更适合设置宽区间、少格数、长期运行的方式，而不是追求高频成交的窄区间密集网格。\n👉 在 Pionex 启动黄金网格机器人（含返佣）\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/pionex-xau-grid-bot/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ \u003cstrong\u003e注册门槛\u003c/strong\u003e：Pionex 不支持中国大陆身份证通过 KYC，需持有台湾 / 新加坡 / 马来西亚 / 美国等地有效证件。参考 \u003ca href=\"https://support.pionex.com/hc/en-us/articles/5929910517273\"\u003ePionex 受限地区官方说明\u003c/a\u003e。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Gold bars arranged in a pattern\" loading=\"lazy\" src=\"/images/pionex-xau-grid-bot-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e黄金价格长期在区间内震荡，这种特性非常适合网格交易策略——在价格区间内自动低买高卖，每次小幅波动都能积累利润。\u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003ePionex\u003c/a\u003e 是全球最大的内置网格机器人交易所，免费提供16种自动化交易策略，无需编程即可启动黄金网格。\u003c/p\u003e\n\u003ch2 id=\"什么是网格交易\"\u003e什么是网格交易\u003c/h2\u003e\n\u003cp\u003e网格交易是在一个价格区间内，每隔固定间距放置买单和卖单，形成一张\u0026quot;网\u0026quot;：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e$4700 ←── 卖单\n$4680 ←── 卖单\n$4660 ←── 买入后挂卖单（已持仓）\n$4640 ←── 买入后挂卖单（已持仓）\n$4620 ←── 买单\n$4600 ←── 买单\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e价格在区间内每次下跌触发买单、上涨触发卖单，每个网格完成一次低买高卖，积累利润。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e网格策略的优势：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e不需要预测涨跌方向，只要价格在区间内震荡就持续盈利\u003c/li\u003e\n\u003cli\u003e全自动执行，24小时不间断，不受情绪影响\u003c/li\u003e\n\u003cli\u003e震荡越剧烈，成交次数越多，利润积累越快\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e适合黄金的原因：\u003c/strong\u003e\n黄金长期受美元、利率、避险情绪多重因素影响，价格常在宏观拐点前后长时间震荡，非常契合网格策略的盈利条件。\u003c/p\u003e\n\u003ch2 id=\"pionex-注册\"\u003ePionex 注册\u003c/h2\u003e\n\u003cp\u003e👉 \u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003ePionex 注册（含手续费返佣）\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e或直接打开：\u003ccode\u003ehttps://aff.panshi.io/track?id=pionex\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e注册只需邮箱或手机号，同样需要完成 KYC 认证（身份证/护照 + 人脸识别）才能交易。\u003c/p\u003e\n\u003ch2 id=\"充值-usdt-到-pionex\"\u003e充值 USDT 到 Pionex\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e路径：\u003c/strong\u003e 资产 → 充值 → USDT → 选择网络\u003c/p\u003e","title":"Pionex 黄金网格机器人教程：XAU/USDT 自动低买高卖策略"},{"content":" 持有加密资产但日常消费还要先提现、再等到账、再刷卡——这个流程对频繁使用的人来说摩擦太大。SafePal U 卡直接把加密账户余额变成可刷卡的 Visa 卡，消费时实时将 USDT/USDC 兑换成当地法币扣款，省去单独出金的步骤。\nSafePal U 卡是什么 SafePal U 卡是 SafePal 与 Visa 合作推出的加密货币借记卡，支持：\n全球消费：接受 Visa 的地方全部可用（实体店、网购、ATM 取现） 实时兑换：消费时按当时汇率将 USDT/USDC 转为法币扣款，无需提前换汇 虚拟卡 + 实体卡：虚拟卡申请后立即可用于网购，实体卡邮寄到家 多链充值：支持 Ethereum、BSC、Tron、Solana 等主流网络充值 和交易所出金相比，U 卡的优势是消费即用、无需等待银行到账，适合日常支出高频使用。\n申请前的准备 SafePal 账户（支持中国大陆手机号注册） 完成 KYC 身份认证（护照或身份证，审核通常几分钟到24小时） 账户内有 USDT 或 USDC（充值后即可使用） 开卡费：首张虚拟卡免费或小额手续费，实体卡邮寄费用约 $10-20（以官网实时价格为准） 注册 SafePal 账户 第一步：访问注册页面\n使用以下链接注册，可获得返佣优惠：\n👉 SafePal 注册（含返佣）\n直接注册链接：https://aff.panshi.io/track?id=safepal\u0026amp;ref=/posts/safepal-ucard-guide/\n第二步：填写注册信息\n输入手机号或邮箱 设置密码（建议16位以上，包含字母+数字+符号） 完成图形验证码 第三步：验证手机/邮箱\n收到验证码后填入，账户即创建完成。\n完成 KYC 认证 U 卡属于金融产品，必须完成 KYC 才能申请。\n进入路径： 首页 → 个人中心 → 身份认证（Verification）\n所需材料：\n认证级别 所需文件 限额 基础认证 护照或身份证正反面 日消费约 $1000 高级认证 基础认证 + 人脸识别 日消费约 $5000 操作步骤：\n选择证件类型（中国大陆居民选\u0026quot;Identity Card\u0026quot;） 拍摄证件正面、反面（光线充足，四角完整） 进行人脸识别（按提示正视摄像头，缓慢转头） 提交等待审核 审核时间通常10分钟内，高峰期最长24小时。审核通过会收到邮件通知。\n申请 U 卡 KYC 通过后，进入 U 卡申请页面。\n进入路径： App 首页 → Card（卡片）→ Apply Now\n选择卡类型 类型 说明 适合场景 虚拟卡 申请后即时获得卡号，无实体 网购、订阅服务 实体卡 邮寄到家，全球实体店刷卡 日常线下消费 建议先申请虚拟卡，确认使用场景匹配后再申请实体卡。\n填写申请信息 确认姓名（与 KYC 一致，不可修改） 选择卡片绑定的主要货币（USDT 或 USDC） 填写收货地址（实体卡） 支付开卡费用（从账户余额扣除） 提交后虚拟卡通常几分钟内生成，实体卡邮寄需7-21个工作日。\n充值到 U 卡 申请成功后，需要将加密资产充值到卡账户。\n充值路径： Card → Top Up → 选择网络和资产\n支持的充值方式：\nUSDT（TRC-20、ERC-20、BEP-20、SOL） USDC（ERC-20、BEP-20、SOL） TRC-20（波场）手续费最低，约 $1 以内，推荐使用。\n充值步骤：\n选择充值资产和网络 复制充值地址（每次地址可能不同，每次都重新复制） 从交易所或钱包转入对应网络的 USDT/USDC 等待链上确认（TRC-20 约1-3分钟，ERC-20 约5-15分钟） 充值到账后余额会实时显示，即可消费。\n日常使用 网购/绑定 Apple Pay 虚拟卡的卡号、有效期、CVV 在 App 内查看，可直接填入任何支持 Visa 的网站结账。也可绑定 Apple Pay / Google Pay 用于 NFC 支付。\n线下刷卡（实体卡） 和普通银行卡完全相同，POS 机刷卡或插卡/NFC 即可。消费时显示币种为当地法币，实时从 USDT/USDC 余额扣除。\nATM 取现 支持全球 Visa ATM 取现，手续费根据具体 ATM 收取，通常 $2-5/次，另有一定比例手续费。\n费用说明 费用项目 金额 开卡费（虚拟卡） 免费或小额（以官网为准） 开卡费（实体卡） 约 $15-20（含邮费） 月管理费 无（活跃账户） 消费手续费 约 1-2% ATM 取现 约 $2-5 + 1-2% 充值手续费 链上 Gas（与 SafePal 无关） 具体费用以 SafePal 官网实时公示为准，费率可能调整。\n安全建议 不要把所有资产都放在卡账户：只充入近期消费所需金额，余额放在冷钱包 开启消费通知：每笔消费实时推送，异常立即发现 设置消费限额：在设置里限制单日/单笔最大金额 保护 App 访问：开启生物识别登录，不在公共设备登录 总结 SafePal U 卡解决了币圈资产\u0026quot;花不出去\u0026quot;的问题，适合有日常消费需求、希望减少出金步骤的用户。注册到申请全程线上完成，KYC 审核快，充值即用。\n👉 立即注册 SafePal（含返佣）\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/safepal-ucard-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A Visa XP black credit card displayed on a dark background, \" loading=\"lazy\" src=\"/images/safepal-ucard-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e持有加密资产但日常消费还要先提现、再等到账、再刷卡——这个流程对频繁使用的人来说摩擦太大。\u003ca href=\"https://aff.panshi.io/track?id=safepal\"\u003eSafePal\u003c/a\u003e U 卡直接把加密账户余额变成可刷卡的 Visa 卡，消费时实时将 USDT/USDC 兑换成当地法币扣款，省去单独出金的步骤。\u003c/p\u003e\n\u003ch2 id=\"safepal-u-卡是什么\"\u003eSafePal U 卡是什么\u003c/h2\u003e\n\u003cp\u003eSafePal U 卡是 SafePal 与 Visa 合作推出的加密货币借记卡，支持：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e全球消费\u003c/strong\u003e：接受 Visa 的地方全部可用（实体店、网购、ATM 取现）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e实时兑换\u003c/strong\u003e：消费时按当时汇率将 USDT/USDC 转为法币扣款，无需提前换汇\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e虚拟卡 + 实体卡\u003c/strong\u003e：虚拟卡申请后立即可用于网购，实体卡邮寄到家\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e多链充值\u003c/strong\u003e：支持 Ethereum、BSC、Tron、Solana 等主流网络充值\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e和交易所出金相比，U 卡的优势是\u003cstrong\u003e消费即用、无需等待银行到账\u003c/strong\u003e，适合日常支出高频使用。\u003c/p\u003e\n\u003ch2 id=\"申请前的准备\"\u003e申请前的准备\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSafePal 账户（支持中国大陆手机号注册）\u003c/li\u003e\n\u003cli\u003e完成 KYC 身份认证（护照或身份证，审核通常几分钟到24小时）\u003c/li\u003e\n\u003cli\u003e账户内有 USDT 或 USDC（充值后即可使用）\u003c/li\u003e\n\u003cli\u003e开卡费：首张虚拟卡免费或小额手续费，实体卡邮寄费用约 $10-20（以官网实时价格为准）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"注册-safepal-账户\"\u003e注册 SafePal 账户\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e第一步：访问注册页面\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e使用以下链接注册，可获得返佣优惠：\u003c/p\u003e\n\u003cp\u003e👉 \u003ca href=\"https://aff.panshi.io/track?id=safepal\"\u003eSafePal 注册（含返佣）\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e直接注册链接：\u003ccode\u003ehttps://aff.panshi.io/track?id=safepal\u0026amp;ref=/posts/safepal-ucard-guide/\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003cstrong\u003e第二步：填写注册信息\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e输入手机号或邮箱\u003c/li\u003e\n\u003cli\u003e设置密码（建议16位以上，包含字母+数字+符号）\u003c/li\u003e\n\u003cli\u003e完成图形验证码\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003e第三步：验证手机/邮箱\u003c/strong\u003e\u003c/p\u003e","title":"SafePal U 卡申请教程：币圈资产直接刷卡消费完整指南"},{"content":" 用代理节点访问 Claude、ChatGPT 时，可能遇到过这些情况：\n登录时反复弹出验证码 账号被提示\u0026quot;unusual activity\u0026quot; 某些功能被悄悄限制 API 调用稳定性差，偶尔 403 这些问题的根源通常不是代理协议，而是出口 IP 的质量。\nIP 质量的分类 互联网上的 IP 地址大致分为三类，对应不同的\u0026quot;可信度\u0026quot;：\n住宅 IP（Residential IP）\n由 ISP（电信、联通等）分配给普通家庭宽带用户 使用场景：正常家庭上网 被 AI 服务认为是真实用户 数据中心 IP（Datacenter IP）\nAWS、GCP、Azure、Vultr、DigitalOcean 等云厂商的 IP 段 这些 IP 段是公开已知的，任何服务都可以查询某个 IP 是否属于云服务商 特征明显：大量不同账号从同一 /24 网段访问 代理/VPN IP\n商业代理服务的 IP 池 被高强度使用，信誉最差 AI 服务的风控逻辑 AI 服务的风控通常不是简单的\u0026quot;封 IP\u0026quot;，而是基于 IP 质量做差异化对待：\n请求进来 → IP 质量检查 ├─ 住宅 IP → 正常处理 ├─ 数据中心 IP → 提高 CAPTCHA 频率 / 限制某些功能 └─ 已知代理 IP → 拒绝 / 要求重新验证 这就是为什么即使你的节点\u0026quot;能连上\u0026quot;，使用体验也可能很差：功能在降级运行，不是完全封锁。\n常用 IP 质量查询工具：\n访问以下网站可以查看你当前出口 IP 的质量评级：\nip.sb — 显示 IP 基本信息 ipinfo.io — 显示 ASN（自治系统号），AWS/GCP 的 ASN 是公开已知的 为什么住宅 IP 有效 住宅 IP 的优势：\nASN 是家庭宽带的 ASN（如中国电信的 AS4134、Comcast 的 AS7922），而不是云服务商的 ASN IP 信誉分高：被滥用的历史少 地理位置自然：来自真实家庭，不是数据中心 从 AI 服务的视角看，来自住宅 IP 的请求和真实用户无法区分。\n实践方案 方案一：用自家宽带出口（最优） 如果你家里有宽带，把代理的出口从 VPS 换成家里的宽带 IP。\n原理：\n你的设备（外出时） → 代理服务器（VPS） → SOCKS5 连接到家里软路由 → 家里宽带出口（真实住宅 IP） → AI 服务 需要：\n家里的软路由（OpenWrt/ikuai 等）开放 SOCKS5 出口端口 VPS 上的软路由/代理客户端配置出口链路 优点：完全免费，IP 是自己的，信誉最高\n缺点：依赖家里宽带的稳定性；如果家庭宽带 IP 动态分配，需要 DDNS\n→ 详细配置见 Surge 分流规则：AI 流量走住宅 IP → 详细配置见 mihomo 接住宅 IP 实战配置\n方案二：商业住宅代理服务 如果没有固定宽带出口，可以购买商业住宅代理服务。\n常见服务商：\nIPRoyal：按流量计费，有静态住宅 IP 选项（长期占用同一 IP） Bright Data：大厂品牌，价格偏高，稳定性好 922S5：专注住宅 SOCKS5，支持按国家/城市选择 配置方式与普通 SOCKS5 代理相同，只需把代理地址替换为服务商提供的地址。\n适合场景：需要特定国家出口（如需要美国住宅 IP 访问某些服务）；没有自己的家庭宽带可用。\n方案三：按域名分流 不需要所有流量都走住宅 IP，只需要把 AI 服务的流量单独路由：\nAI 服务（api.anthropic.com / api.openai.com）→ 住宅 IP 其他流量 → 普通 VPS 节点 这样住宅 IP 的带宽压力最小，成本可控。\n验证 IP 质量 配置完成后验证出口 IP：\n# 通过住宅代理访问 ipinfo curl --socks5 代理地址:端口 https://ipinfo.io/json 返回结果里重点看：\norg：是否是 ISP 机构（如 \u0026ldquo;Comcast Cable\u0026rdquo;），而不是 \u0026ldquo;Amazon Web Services\u0026rdquo; hosting：应为 false proxy：应为 false 如果 org 还是云服务商，或者 proxy 是 true，说明出口 IP 还是数据中心 IP，需要检查链路配置。\n小结 出口类型 Claude/ChatGPT 体验 成本 配置难度 数据中心 IP（普通 VPS） 容易触发验证，功能受限 低 简单 自家宽带住宅 IP 与真实用户无差异 免费 中等 商业住宅代理 较好，取决于 IP 池质量 中等 简单 → 查看 Surge 分流规则：AI 流量走住宅 IP → 查看 mihomo 接住宅 IP 实战配置\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/ai-tools-residential-proxy/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A square of aluminum is resting on glass.\" loading=\"lazy\" src=\"/images/ai-tools-residential-proxy-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e用代理节点访问 Claude、ChatGPT 时，可能遇到过这些情况：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e登录时反复弹出验证码\u003c/li\u003e\n\u003cli\u003e账号被提示\u0026quot;unusual activity\u0026quot;\u003c/li\u003e\n\u003cli\u003e某些功能被悄悄限制\u003c/li\u003e\n\u003cli\u003eAPI 调用稳定性差，偶尔 403\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e这些问题的根源通常不是代理协议，而是\u003cstrong\u003e出口 IP 的质量\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"ip-质量的分类\"\u003eIP 质量的分类\u003c/h2\u003e\n\u003cp\u003e互联网上的 IP 地址大致分为三类，对应不同的\u0026quot;可信度\u0026quot;：\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e住宅 IP（Residential IP）\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e由 ISP（电信、联通等）分配给普通家庭宽带用户\u003c/li\u003e\n\u003cli\u003e使用场景：正常家庭上网\u003c/li\u003e\n\u003cli\u003e被 AI 服务认为是真实用户\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e数据中心 IP（Datacenter IP）\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAWS、GCP、Azure、Vultr、DigitalOcean 等云厂商的 IP 段\u003c/li\u003e\n\u003cli\u003e这些 IP 段是公开已知的，任何服务都可以查询某个 IP 是否属于云服务商\u003c/li\u003e\n\u003cli\u003e特征明显：大量不同账号从同一 /24 网段访问\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e代理/VPN IP\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e商业代理服务的 IP 池\u003c/li\u003e\n\u003cli\u003e被高强度使用，信誉最差\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"ai-服务的风控逻辑\"\u003eAI 服务的风控逻辑\u003c/h2\u003e\n\u003cp\u003eAI 服务的风控通常不是简单的\u0026quot;封 IP\u0026quot;，而是基于 IP 质量做\u003cstrong\u003e差异化对待\u003c/strong\u003e：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e请求进来 → IP 质量检查\n  ├─ 住宅 IP → 正常处理\n  ├─ 数据中心 IP → 提高 CAPTCHA 频率 / 限制某些功能\n  └─ 已知代理 IP → 拒绝 / 要求重新验证\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这就是为什么即使你的节点\u0026quot;能连上\u0026quot;，使用体验也可能很差：功能在降级运行，不是完全封锁。\u003c/p\u003e","title":"AI 工具为什么需要住宅 IP？原理与实践"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\nBinance API 是量化交易的起点。如果你想让策略自动执行——自动买入、自动止损、自动监控仓位——都需要通过 API 实现。\n这篇文章从零开始，覆盖申请 API Key、安全配置、Python 环境搭建，到发出第一个查询和第一笔（测试）订单。不假设你有量化经验，跟着做能跑通。\n准备工作 已完成 Binance 账号 KYC 实名认证 Python 3.8+（python --version 确认） 已完成双重验证（2FA），建议用 Google Authenticator Binance 注册：→ 注册 Binance（通过推荐链接注册可享手续费返佣）\n申请 API Key 步骤 登录 Binance，点击右上角头像 → API 管理 点击\u0026quot;创建 API\u0026quot; 选择\u0026quot;系统生成（推荐）\u0026quot; 输入 API 标签（名称），点击下一步 完成 2FA 验证 保存 API Key 和 Secret Key 重要：Secret Key 只显示一次，页面关闭后无法再次查看。必须立即保存到安全位置（密码管理器）。\n权限配置 创建完 API 后，在 API 管理页设置权限：\n权限 是否需要开启 说明 读取 ✓（默认开启） 查询账户信息、K 线数据 现货交易 按需 下现货订单 合约交易 按需 下期货订单 提现 绝对不开 量化策略不需要，开了有安全风险 IP 白名单（强烈建议）：在 API 设置里绑定你的服务器 IP，只有这个 IP 才能用这个 API Key。即使 Key 泄露，其他 IP 也无法使用。\n安全原则 每个策略用单独的 API Key，不要多个策略共用一个 量化策略服务器和个人电脑用不同的 Key 定期轮换 Key（建议每 3-6 个月换一次） 永远不要把 Key 提交到 GitHub 或发给别人 Python 环境搭建 安装官方 SDK：\npip install python-binance 第一个 API 调用：查询账户余额 from binance.client import Client # API Key 建议从环境变量读取，不要硬编码 import os api_key = os.environ[\u0026#34;BINANCE_API_KEY\u0026#34;] api_secret = os.environ[\u0026#34;BINANCE_API_SECRET\u0026#34;] client = Client(api_key, api_secret) # 查询账户信息 account = client.get_account() # 显示非零余额 print(\u0026#34;当前余额：\u0026#34;) for asset in account[\u0026#34;balances\u0026#34;]: free = float(asset[\u0026#34;free\u0026#34;]) locked = float(asset[\u0026#34;locked\u0026#34;]) if free \u0026gt; 0 or locked \u0026gt; 0: print(f\u0026#34; {asset[\u0026#39;asset\u0026#39;]}: 可用 {free}, 锁定 {locked}\u0026#34;) 运行后如果能看到你的余额，说明 API 配置成功了。\n查询市场数据 # 查询 BTC/USDT 当前价格 ticker = client.get_symbol_ticker(symbol=\u0026#34;BTCUSDT\u0026#34;) print(f\u0026#34;BTC 当前价：{ticker[\u0026#39;price\u0026#39;]}\u0026#34;) # 查询 24 小时行情 stats = client.get_ticker(symbol=\u0026#34;BTCUSDT\u0026#34;) print(f\u0026#34;24h 最高：{stats[\u0026#39;highPrice\u0026#39;]}\u0026#34;) print(f\u0026#34;24h 最低：{stats[\u0026#39;lowPrice\u0026#39;]}\u0026#34;) print(f\u0026#34;24h 成交量：{stats[\u0026#39;volume\u0026#39;]} BTC\u0026#34;) # 查询 K 线数据（最近 10 根 1小时 K 线） klines = client.get_klines( symbol=\u0026#34;BTCUSDT\u0026#34;, interval=Client.KLINE_INTERVAL_1HOUR, limit=10 ) for k in klines: timestamp = k[0] open_price = float(k[1]) close_price = float(k[4]) volume = float(k[5]) print(f\u0026#34;开盘：{open_price:.2f}，收盘：{close_price:.2f}，成交量：{volume:.2f}\u0026#34;) 在测试网下单 强烈建议先在测试网练手，不会消耗真实资金。\n申请测试网 API Key：\n进入 testnet.binance.vision 用 GitHub 账号登录 创建测试网 API Key from binance.client import Client # 测试网 API Key client = Client( api_key=\u0026#34;你的测试网API_KEY\u0026#34;, api_secret=\u0026#34;你的测试网SECRET\u0026#34;, testnet=True # 关键参数，指向测试环境 ) # 下限价买单（BTC/USDT，买 0.001 BTC，价格 20000 USDT） order = client.create_order( symbol=\u0026#34;BTCUSDT\u0026#34;, side=Client.SIDE_BUY, type=Client.ORDER_TYPE_LIMIT, timeInForce=Client.TIME_IN_FORCE_GTC, quantity=0.001, price=\u0026#34;20000\u0026#34; ) print(f\u0026#34;订单 ID：{order[\u0026#39;orderId\u0026#39;]}\u0026#34;) print(f\u0026#34;状态：{order[\u0026#39;status\u0026#39;]}\u0026#34;) # 查询订单状态 status = client.get_order( symbol=\u0026#34;BTCUSDT\u0026#34;, orderId=order[\u0026#39;orderId\u0026#39;] ) print(f\u0026#34;当前状态：{status[\u0026#39;status\u0026#39;]}\u0026#34;) # 取消订单 client.cancel_order( symbol=\u0026#34;BTCUSDT\u0026#34;, orderId=order[\u0026#39;orderId\u0026#39;] ) print(\u0026#34;订单已取消\u0026#34;) WebSocket 实时数据流 API 的 REST 接口用于下单和查询，实时数据用 WebSocket 更高效：\nfrom binance import ThreadedWebsocketManager def handle_ticker(msg): \u0026#34;\u0026#34;\u0026#34;处理实时价格推送\u0026#34;\u0026#34;\u0026#34; if msg[\u0026#39;e\u0026#39;] == \u0026#39;error\u0026#39;: print(f\u0026#34;错误：{msg[\u0026#39;m\u0026#39;]}\u0026#34;) return price = float(msg[\u0026#39;c\u0026#39;]) # 最新成交价 volume = float(msg[\u0026#39;v\u0026#39;]) # 24h 成交量 print(f\u0026#34;BTC 价格：{price:.2f}，24h 成交量：{volume:.2f}\u0026#34;) # 启动 WebSocket 管理器 twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret) twm.start() # 订阅 BTC/USDT 实时 ticker twm.start_symbol_ticker_socket(callback=handle_ticker, symbol=\u0026#34;BTCUSDT\u0026#34;) # 运行 30 秒后停止 import time time.sleep(30) twm.stop() 频率限制（Rate Limit） Binance API 有频率限制，超限会被临时封禁：\n类型 限制 请求权重 1200 权重/分钟 下单次数 10 次/秒，100000 次/24h WebSocket 连接 最多 1024 个 常用接口的权重：\nGET /api/v3/ticker/price：2 权重 GET /api/v3/klines：2 权重 POST /api/v3/order（下单）：1 权重 查询最新价格每 5 秒一次，一分钟 12 次，权重 24，远低于限制。\n实时数据尽量用 WebSocket，不要用轮询 REST 接口。\n下一步 跑通了基础之后：\n了解 K 线数据结构，开始构建你的第一个策略逻辑 学习资金管理：每笔下单金额怎么控制 配置 Prometheus 监控策略运行状态 → 查看 Binance 手续费省钱方法 → 查看 Binance API 安全配置 → 查看 量化工具栈：从策略到监控\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-api-from-zero/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"An unlocked padlock rests on a computer keyboard.\" loading=\"lazy\" src=\"/images/binance-api-from-zero-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eBinance API 是量化交易的起点。如果你想让策略自动执行——自动买入、自动止损、自动监控仓位——都需要通过 API 实现。\u003c/p\u003e\n\u003cp\u003e这篇文章从零开始，覆盖申请 API Key、安全配置、Python 环境搭建，到发出第一个查询和第一笔（测试）订单。不假设你有量化经验，跟着做能跑通。\u003c/p\u003e\n\u003ch2 id=\"准备工作\"\u003e准备工作\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e已完成 Binance 账号 KYC 实名认证\u003c/li\u003e\n\u003cli\u003ePython 3.8+（\u003ccode\u003epython --version\u003c/code\u003e 确认）\u003c/li\u003e\n\u003cli\u003e已完成双重验证（2FA），建议用 Google Authenticator\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eBinance 注册：\u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003e→ 注册 Binance\u003c/a\u003e（通过推荐链接注册可享手续费返佣）\u003c/p\u003e\n\u003ch2 id=\"申请-api-key\"\u003e申请 API Key\u003c/h2\u003e\n\u003ch3 id=\"步骤\"\u003e步骤\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e登录 Binance，点击右上角头像 → API 管理\u003c/li\u003e\n\u003cli\u003e点击\u0026quot;创建 API\u0026quot;\u003c/li\u003e\n\u003cli\u003e选择\u0026quot;系统生成（推荐）\u0026quot;\u003c/li\u003e\n\u003cli\u003e输入 API 标签（名称），点击下一步\u003c/li\u003e\n\u003cli\u003e完成 2FA 验证\u003c/li\u003e\n\u003cli\u003e保存 \u003cstrong\u003eAPI Key\u003c/strong\u003e 和 \u003cstrong\u003eSecret Key\u003c/strong\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003e重要\u003c/strong\u003e：Secret Key 只显示一次，页面关闭后无法再次查看。必须立即保存到安全位置（密码管理器）。\u003c/p\u003e","title":"Binance API 从零到第一笔下单：完整教程"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n合约交易里，盈利策略和亏损策略的区别，很多时候不是信号对不对，而是风控做没做。\n一个好的入场信号配上差的风控，会在一次大波动里把所有收益吐回去。这篇文章专门讲合约风控的框架：你需要在哪些层次做控制，每层具体怎么设置。\n三个层次的风控 层次 1：仓位管理 — 每次开多大的仓 层次 2：止损设置 — 单笔交易最多亏多少 层次 3：熔断机制 — 连续亏损后强制暂停 这三层缺一不可。仓位管理控制单次风险暴露，止损控制单笔最大损失，熔断防止在策略失效时持续亏损。\n层次 1：仓位管理 固定比例法（推荐） 每次开仓金额 = 账户总权益 × 固定比例\ndef calc_position_size(equity: float, risk_pct: float, leverage: int, entry_price: float) -\u0026gt; float: \u0026#34;\u0026#34;\u0026#34; equity: 账户总权益（USDT） risk_pct: 单次风险比例，如 0.02 = 2% leverage: 杠杆倍数 entry_price: 开仓价格 返回: 合约张数（BTCUSDT 每张 = 0.001 BTC） \u0026#34;\u0026#34;\u0026#34; risk_amount = equity * risk_pct # 实际愿意亏的金额 notional = risk_amount * leverage # 对应名义价值 qty = notional / entry_price return qty 为什么用固定比例而不是固定金额？\n固定金额（每次开 1000U）在账户增长后风险比例越来越小，在账户缩水后风险比例越来越大（正好反过来了）。固定比例则随账户规模自动调整。\n合理的风险比例：\n策略阶段 建议比例 测试期（验证策略） 0.5% - 1% 稳定运行期 1% - 2% 高置信度策略 2% - 3% 不建议超过 5% 单次 5% 以上的风险比例，5 次连续亏损就是 25%+ 的回撤，很难心理承受也很难策略恢复。\nKelly 公式（进阶） 如果你有足够的历史数据，可以用 Kelly 公式计算理论最优仓位：\ndef kelly_fraction(win_rate: float, avg_win: float, avg_loss: float) -\u0026gt; float: \u0026#34;\u0026#34;\u0026#34; win_rate: 历史胜率，如 0.55 avg_win: 平均盈利（比例），如 0.015 = 1.5% avg_loss: 平均亏损（比例，正数），如 0.01 = 1% \u0026#34;\u0026#34;\u0026#34; b = avg_win / avg_loss # 盈亏比 p = win_rate q = 1 - p kelly = (b * p - q) / b # 实际使用半 Kelly，降低波动 return max(0, kelly * 0.5) Kelly 公式给出的是理论最大化复利增长的仓位比例。实际使用时取\u0026quot;半 Kelly\u0026quot;，在控制回撤的同时保持较好的增长。\n层次 2：止损设置 止损有两种主要方式：\n价格止损 在开仓时就确定止损价格，价格触及后平仓。\ndef set_stop_loss(symbol: str, side: str, entry_price: float, stop_pct: float, client) -\u0026gt; dict: \u0026#34;\u0026#34;\u0026#34; stop_pct: 止损距离，如 0.02 = 入场价的 2% \u0026#34;\u0026#34;\u0026#34; if side == \u0026#34;BUY\u0026#34;: stop_price = entry_price * (1 - stop_pct) sl_side = \u0026#34;SELL\u0026#34; else: stop_price = entry_price * (1 + stop_pct) sl_side = \u0026#34;BUY\u0026#34; # 下 STOP_MARKET 单（触发价达到后市价平仓） order = client.futures_create_order( symbol=symbol, side=sl_side, type=\u0026#34;STOP_MARKET\u0026#34;, stopPrice=round(stop_price, 2), closePosition=True, # 全部平仓 timeInForce=\u0026#34;GTE_GTC\u0026#34; ) return order 止损距离怎么设？\n常见思路：\n基于 ATR（Average True Range）：止损 = 1-2 倍 ATR，适应当前波动率 基于支撑阻力位：设在技术上有意义的位置 固定比例：简单直接，易于风控计算 推荐用 ATR 方式，因为不同市场环境下波动率差异很大，固定比例在低波动期过松、高波动期过紧。\ndef calc_atr(highs, lows, closes, period=14): \u0026#34;\u0026#34;\u0026#34;计算 ATR\u0026#34;\u0026#34;\u0026#34; true_ranges = [] for i in range(1, len(closes)): tr = max( highs[i] - lows[i], abs(highs[i] - closes[i-1]), abs(lows[i] - closes[i-1]) ) true_ranges.append(tr) return sum(true_ranges[-period:]) / period 追踪止损 随价格运动调整止损位，锁住浮盈：\ndef set_trailing_stop(symbol: str, callback_rate: float, client) -\u0026gt; dict: \u0026#34;\u0026#34;\u0026#34; callback_rate: 回调比例（百分比），如 1.5 = 1.5% 价格从最高点回落 1.5% 时触发止损 \u0026#34;\u0026#34;\u0026#34; order = client.futures_create_order( symbol=symbol, side=\u0026#34;SELL\u0026#34;, type=\u0026#34;TRAILING_STOP_MARKET\u0026#34;, callbackRate=callback_rate, quantity=你的持仓量, reduceOnly=True ) return order 追踪止损适合趋势行情，普通止损适合震荡行情。\n层次 3：熔断机制 熔断机制在策略出现连续亏损时强制暂停，防止策略失效时持续消耗账户。\nclass CircuitBreaker: def __init__(self, max_daily_loss_pct: float = 0.05, # 单日最大亏损 5% max_drawdown_pct: float = 0.15, # 最大回撤 15% max_consecutive_losses: int = 5): # 连亏次数上限 self.max_daily_loss_pct = max_daily_loss_pct self.max_drawdown_pct = max_drawdown_pct self.max_consecutive_losses = max_consecutive_losses self.consecutive_losses = 0 self.peak_equity = None self.day_start_equity = None def update(self, current_equity: float) -\u0026gt; bool: \u0026#34;\u0026#34;\u0026#34; 更新状态，返回 True 表示正常，False 表示触发熔断 \u0026#34;\u0026#34;\u0026#34; if self.peak_equity is None: self.peak_equity = current_equity if self.day_start_equity is None: self.day_start_equity = current_equity # 更新峰值 if current_equity \u0026gt; self.peak_equity: self.peak_equity = current_equity # 检查最大回撤 drawdown = (self.peak_equity - current_equity) / self.peak_equity if drawdown \u0026gt;= self.max_drawdown_pct: self._trigger(\u0026#34;最大回撤触发\u0026#34;, drawdown) return False # 检查单日亏损 daily_loss = (self.day_start_equity - current_equity) / self.day_start_equity if daily_loss \u0026gt;= self.max_daily_loss_pct: self._trigger(\u0026#34;单日亏损触发\u0026#34;, daily_loss) return False # 检查连亏次数 if self.consecutive_losses \u0026gt;= self.max_consecutive_losses: self._trigger(f\u0026#34;连续亏损 {self.consecutive_losses} 次\u0026#34;) return False return True def record_trade(self, pnl: float): \u0026#34;\u0026#34;\u0026#34;记录一笔交易结果\u0026#34;\u0026#34;\u0026#34; if pnl \u0026lt; 0: self.consecutive_losses += 1 else: self.consecutive_losses = 0 # 盈利则重置连亏计数 def _trigger(self, reason: str, value: float = 0): print(f\u0026#34;[熔断] {reason}: {value:.2%}\u0026#34;) # 在这里加 Telegram 告警 使用方式：\ncb = CircuitBreaker( max_daily_loss_pct=0.05, max_drawdown_pct=0.15, max_consecutive_losses=5 ) # 每次策略执行前检查 while True: equity = get_account_equity() if not cb.update(equity): send_telegram(\u0026#34;策略熔断，暂停交易\u0026#34;) break # 执行策略逻辑 signal = strategy.check_signal() if signal: pnl = execute_trade(signal) cb.record_trade(pnl) 完整风控集成示例 class RiskManager: def __init__(self, client, equity: float): self.client = client self.equity = equity self.circuit_breaker = CircuitBreaker() def open_position(self, symbol: str, side: str, entry_price: float, risk_pct: float = 0.01, leverage: int = 5): \u0026#34;\u0026#34;\u0026#34;带风控的开仓\u0026#34;\u0026#34;\u0026#34; # 1. 检查熔断 if not self.circuit_breaker.update(self.equity): print(\u0026#34;熔断状态，拒绝开仓\u0026#34;) return None # 2. 计算仓位 qty = calc_position_size(self.equity, risk_pct, leverage, entry_price) # 3. 开仓 order = self.client.futures_create_order( symbol=symbol, side=side, type=\u0026#34;MARKET\u0026#34;, quantity=qty ) # 4. 同步设置止损（基于 ATR） atr = self.get_atr(symbol) stop_dist_pct = (atr * 1.5) / entry_price set_stop_loss(symbol, side, entry_price, stop_dist_pct, self.client) return order 常见风控错误 不设止损：最致命，没有讨论空间。\n止损太紧：ATR 的 0.3 倍，频繁触发，胜率虚低。\n止损太松：ATR 的 5 倍，单次亏损超出预期，破坏风险比例计算。\n仓位固定不变：账户亏损后没有降低仓位，越亏越大。\n熔断后手动覆盖：\u0026ldquo;就这一次\u0026rdquo;——每次都这么想的。熔断设了但自己手动关掉等于没设。\n风控不是限制收益的枷锁，是保证策略能够长期持续运行的基础设施。设计好风控，才能在市场里活得足够久，让边际有优势的策略把期望收益跑出来。\n→ 查看 Binance API 从申请到第一笔下单 → 查看 量化工具栈：Binance API + Grafana + 自动化告警 → 查看 北极星策略介绍\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-futures-risk-management/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Trader analyzing stock market data on smartphone and phone\" loading=\"lazy\" src=\"/images/binance-futures-risk-management-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e合约交易里，盈利策略和亏损策略的区别，很多时候不是信号对不对，而是\u003cstrong\u003e风控做没做\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e一个好的入场信号配上差的风控，会在一次大波动里把所有收益吐回去。这篇文章专门讲合约风控的框架：你需要在哪些层次做控制，每层具体怎么设置。\u003c/p\u003e\n\u003ch2 id=\"三个层次的风控\"\u003e三个层次的风控\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e层次 1：仓位管理 — 每次开多大的仓\n层次 2：止损设置 — 单笔交易最多亏多少\n层次 3：熔断机制 — 连续亏损后强制暂停\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这三层缺一不可。仓位管理控制单次风险暴露，止损控制单笔最大损失，熔断防止在策略失效时持续亏损。\u003c/p\u003e\n\u003ch2 id=\"层次-1仓位管理\"\u003e层次 1：仓位管理\u003c/h2\u003e\n\u003ch3 id=\"固定比例法推荐\"\u003e固定比例法（推荐）\u003c/h3\u003e\n\u003cp\u003e每次开仓金额 = 账户总权益 × 固定比例\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003ecalc_position_size\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eequity\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003efloat\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003erisk_pct\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003efloat\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eleverage\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003eint\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                        \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003efloat\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u0026gt;\u003c/span\u003e \u003cspan class=\"nb\"\u003efloat\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"s2\"\u003e\u0026#34;\u0026#34;\u0026#34;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    equity: 账户总权益（USDT）\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    risk_pct: 单次风险比例，如 0.02 = 2%\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    leverage: 杠杆倍数\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    entry_price: 开仓价格\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    返回: 合约张数（BTCUSDT 每张 = 0.001 BTC）\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"s2\"\u003e    \u0026#34;\u0026#34;\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003erisk_amount\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eequity\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003erisk_pct\u003c/span\u003e         \u003cspan class=\"c1\"\u003e# 实际愿意亏的金额\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003enotional\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003erisk_amount\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003eleverage\u003c/span\u003e       \u003cspan class=\"c1\"\u003e# 对应名义价值\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eqty\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003enotional\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003eqty\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e为什么用固定比例而不是固定金额？\u003c/strong\u003e\u003c/p\u003e","title":"Binance 合约交易风控体系：仓位管理、止损设置、熔断机制"},{"content":" Google One AI Premium 是 Google 把旗下 AI 产品打包卖的订阅方案，$19.99/月，主要包含三样东西：\nGemini Advanced：Google 最强 AI 模型（Gemini 1.5 Pro/Ultra 级别），无使用量限制 2TB Google 云存储：覆盖 Google Drive、Gmail、Google 相册 NotebookLM Plus：Google 的 AI 笔记/知识库工具，Plus 版无使用量上限 如果你本来就需要大容量 Google 云存储，这个订阅的 AI 功能相当于免费附赠。\nGemini Advanced 能做什么 Gemini Advanced 背后是 Google DeepMind 的旗舰模型，主要亮点：\n长上下文处理：上下文窗口达 100 万 tokens，理论上可以一次性处理整本书或整个代码库。\n多模态：图片、PDF、视频（YouTube 链接）都可以直接输入，跟文本一起分析。\nGoogle Workspace 集成：可以直接在 Gmail 里用 Gemini 起草邮件、在 Google Docs 里辅助写作、在 Google Sheets 里分析数据。\n实际使用场景 处理 PDF / 研报：把 PDF 直接上传，让它总结、提问、提取关键数据，比自己看快很多。\nGoogle Workspace 工作流：如果你重度用 Google 系产品（Docs、Sheets、Gmail），Gemini 的集成体验比在外部 AI 工具和 Google 之间来回复制粘贴顺畅得多。\n长文档对话：上传整个技术文档或合同，问具体问题，它能精准定位。\nNotebookLM Plus NotebookLM 是 Google 出的 AI 知识库工具，逻辑是：上传资料（PDF、Google Docs、YouTube 链接、文本），然后针对这些资料提问，AI 只从你上传的内容里找答案，不会乱编。\n免费版 vs Plus 版的主要差异：\n功能 免费版 Plus 版 每个 Notebook 资料数量 50 300 每日查询次数 有上限 无上限 音频摘要（Audio Overview） ✓ ✓ 团队共享 有限 无限 Audio Overview 是 NotebookLM 的特色功能：把你上传的资料生成一段 AI 播客式的音频摘要，两个 AI 声音对话讨论内容要点，开车或做家务时听很方便。\n适合用 NotebookLM 的场景 研究某个技术方向：上传 10 篇论文，问它综合观点和关键差异 学习一本技术书：上传 PDF，做知识问答 竞品分析：上传多家公司的产品文档，问它对比 2TB 云存储 2TB 覆盖 Google Drive + Gmail 附件 + Google 相册，对于日常用 Google 全家桶的用户够用。\n如果你的 Gmail 或 Drive 快满了，这个订阅顺便解决存储问题，算起来也值。\n好友邀请：双方各得免费额度 Google One 有好友邀请机制：通过邀请链接订阅的新用户，邀请方和被邀请方各得数月免费额度（具体月数 Google 会定期调整，一般是 1-3 个月）。\n通过我的邀请链接订阅：\n→ 好友邀请链接（双方各得免费额度）\n订阅步骤：\n点击上方链接 用你的 Google 账号登录 选择 Google One AI Premium 方案（月付或年付） 完成付款，免费额度会在 2-3 天内到账 注意：必须通过邀请链接订阅，直接去 Google One 官网订阅不算邀请。\n和 Claude Pro 怎么选 这两个产品针对的是不同使用习惯：\n对比 Google One AI Premium Claude Pro 月费 $19.99 $20 核心 AI Gemini Advanced Claude Opus 4.6 生态集成 Google Workspace Claude Code CLI 上下文 1M tokens 200k tokens 代码能力 中等 强 推理能力 强 强 如果你：\n重度用 Google Workspace（Gmail、Docs、Sheets）→ Google One AI Premium 值 主要用 AI 写代码、做技术任务→ Claude Pro 更合适 两者都要→ 都订，用邀请链接省几个月钱 我个人的用法：Claude Pro 是主力，Google One AI Premium 用来处理长 PDF、做知识库研究（NotebookLM 的 PDF 问答真的挺好用）。\n→ 查看 Claude Pro 详细对比\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/google-one-ai-premium-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a computer screen with a cloud shaped object on top of it\" loading=\"lazy\" src=\"/images/google-one-ai-premium-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eGoogle One AI Premium 是 Google 把旗下 AI 产品打包卖的订阅方案，$19.99/月，主要包含三样东西：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eGemini Advanced\u003c/strong\u003e：Google 最强 AI 模型（Gemini 1.5 Pro/Ultra 级别），无使用量限制\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e2TB Google 云存储\u003c/strong\u003e：覆盖 Google Drive、Gmail、Google 相册\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNotebookLM Plus\u003c/strong\u003e：Google 的 AI 笔记/知识库工具，Plus 版无使用量上限\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e如果你本来就需要大容量 Google 云存储，这个订阅的 AI 功能相当于免费附赠。\u003c/p\u003e\n\u003ch2 id=\"gemini-advanced-能做什么\"\u003eGemini Advanced 能做什么\u003c/h2\u003e\n\u003cp\u003eGemini Advanced 背后是 Google DeepMind 的旗舰模型，主要亮点：\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e长上下文处理\u003c/strong\u003e：上下文窗口达 100 万 tokens，理论上可以一次性处理整本书或整个代码库。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e多模态\u003c/strong\u003e：图片、PDF、视频（YouTube 链接）都可以直接输入，跟文本一起分析。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eGoogle Workspace 集成\u003c/strong\u003e：可以直接在 Gmail 里用 Gemini 起草邮件、在 Google Docs 里辅助写作、在 Google Sheets 里分析数据。\u003c/p\u003e","title":"Google One AI Premium 上手指南：Gemini Advanced + 2TB 云存储 + NotebookLM Plus"},{"content":" Hysteria2 基于 QUIC 协议（UDP），理论上在高延迟、高丢包网络里比 TCP 类协议快得多。但很多人部署完发现速度一般，原因通常是带宽参数没配对或者拥塞控制算法没选对。\n这篇文章专门讲调优。假设你已经跑通了基础部署（参考 Hysteria2 搭建教程），现在想把速度榨出来。\n带宽参数：最影响速度的配置 Hysteria2 的带宽参数控制着它的发送速率，没配或配错是速度差的最常见原因。\n服务端 bandwidth /etc/hysteria/config.yaml：\nbandwidth: up: 1 gbps # 服务端上行（客户端下载方向） down: 1 gbps # 服务端下行（客户端上传方向） 这里填的是服务端（VPS）的实际带宽上限，不是你家宽带的速度。\n常见 VPS 带宽：\nDMIT HK/US Premium：1 Gbps 端口，但共享，实际峰值 200-500 Mbps AWS t3 类型：5-25 Gbps（burst） 低价 VPS：通常 100-500 Mbps 怎么测 VPS 实际带宽：\n# 在 VPS 上安装 speedtest curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | bash apt install speedtest-cli -y speedtest 根据测速结果填带宽值。\n客户端 bandwidth mihomo 配置里：\nproxies: - name: \u0026#34;hy2-node\u0026#34; type: hysteria2 server: 你的VPS_IP port: 443 password: 你的密码 bandwidth: up: \u0026#34;50 mbps\u0026#34; # 你家宽带上行 down: \u0026#34;200 mbps\u0026#34; # 你家宽带下行 这里填的是客户端（你本地）的宽带速度。\n测你家宽带速度：speedtest.net 或运营商测速页面，取实测结果的 80% 填进去（留一点余量）。\n带宽不匹配的后果 问题 原因 速度只有 10-20 Mbps 客户端 bandwidth 没填，用了默认值（很小） 速度忽快忽慢 客户端带宽填超了实际值，拥塞控制频繁触发 下载快、上传慢 up/down 填反了 拥塞控制算法：BBR vs Brutal Hysteria2 支持两种拥塞控制：\nBBR（默认）：Google 开发的 TCP 拥塞控制算法，移植到 QUIC。会根据网络状态动态调整发送速率，保守但稳定。\nBrutal：Hysteria2 自己开发的算法，忽略网络拥塞信号，按配置的目标带宽强行发送，类似\u0026quot;无脑狂推\u0026quot;。在丢包严重的网络里效果很好，但会占用更多带宽资源。\n什么时候用 Brutal 网络丢包率高（超过 5%） 你的 VPS 线路走国际骨干网，延迟高 想要稳定在某个速度（比如稳定 50 Mbps），不在乎偶尔丢包 Brutal 配置 服务端 config.yaml：\nquic: initStreamReceiveWindow: 26843545 maxStreamReceiveWindow: 26843545 initConnReceiveWindow: 67108864 maxConnReceiveWindow: 67108864 maxIdleTimeout: 30s keepAlivePeriod: 10s disablePathMTUDiscovery: false bandwidth: up: 1 gbps down: 1 gbps 客户端（mihomo）开启 Brutal 模式：\nproxies: - name: \u0026#34;hy2-brutal\u0026#34; type: hysteria2 server: 你的VPS_IP port: 443 password: 你的密码 brutal-opts: enabled: true up: 50 # Mbps，目标上行速度 down: 200 # Mbps，目标下行速度 开了 Brutal 后，客户端会强行以目标速度发送，无论网络质量如何。\n实际对比 我在广州家宽测试，VPS 是 DMIT 香港（延迟约 25ms，轻微丢包）：\n配置 下载速度 上传速度 稳定性 BBR，无带宽配置 ~15 Mbps ~8 Mbps 稳 BBR，正确配置带宽 ~80 Mbps ~40 Mbps 稳 Brutal，目标 100M ~95 Mbps ~45 Mbps 有抖动 结论：BBR + 正确的带宽配置，通常已经足够好。Brutal 适合特定场景（高丢包、想要稳定速度保障）。\nQUIC 窗口大小调优 QUIC 的接收窗口大小影响最大并发吞吐，默认值在高带宽环境下可能是瓶颈。\n推荐配置（高速环境，如 100 Mbps+）：\nquic: initStreamReceiveWindow: 26843545 # 25.6 MB maxStreamReceiveWindow: 26843545 initConnReceiveWindow: 67108864 # 64 MB maxConnReceiveWindow: 67108864 这些数字是经验值，适合 100-500 Mbps 的场景。如果你的带宽更高，可以继续调大（建议不超过总 RAM 的 10%）。\nMTU 调优 UDP/QUIC 的包大小影响效率，默认 MTU 对 VPN 场景不一定最优。\n查看当前网络接口的 MTU：\nip link show eth0 # MTU 通常是 1500 Hysteria2 的 QUIC 包在 MTU 1500 的网络里，实际有效载荷约 1200-1350 字节（扣除各层头部）。\n对于大多数场景，不需要手动调 MTU。只有在某些企业网络或特殊 ISP 里，如果发现速度异常低且有大量分片，才需要尝试降低 MTU：\n# 客户端 mihomo proxies: - name: \u0026#34;hy2-node\u0026#34; type: hysteria2 # ... 其他配置 ... # 部分客户端支持设置 mtu mtu: 1200 端口选择 Hysteria2 走 UDP，端口选择影响被封概率：\n端口类型 代表 被封风险 443 HTTPS（伪装） 低，但 UDP 443 不常见 80 HTTP（伪装） 中 随机高端口（如 44563） 无伪装 高（容易被扫到） 最佳实践：用 443 或 853（DNS over QUIC），伪装成正常协议。\n# 服务端 listen: :443 # 伪装成 HTTPS masquerade: type: proxy proxy: url: https://www.bing.com rewriteHost: true masquerade 配置让普通 HTTPS 请求（非 Hysteria2 客户端）打到这个端口时，返回 bing.com 的正常内容。\n多节点负载均衡 如果你有多台 VPS，可以配置 mihomo 的 load-balance 组同时使用多个 Hysteria2 节点：\nproxy-groups: - name: \u0026#34;HY2 Balance\u0026#34; type: load-balance strategy: round-robin # 轮询，平均分配流量 proxies: - hy2-us - hy2-hk - hy2-jp url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 300 或者用 fallback 模式（主节点挂了才切）：\n- name: \u0026#34;HY2 Fallback\u0026#34; type: fallback proxies: - hy2-us # 主节点 - hy2-hk # 备用 url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 120 与 REALITY 的对比 选 Hysteria2 还是 REALITY，取决于你的网络环境：\n场景 推荐 延迟敏感（\u0026lt;30ms），稳定线路 REALITY（低延迟，无额外开销） 高丢包、不稳定线路 Hysteria2（QUIC 重传效率高） 移动网络（4G/5G） Hysteria2（QUIC 对移动网络更友好） 需要绕过 UDP 封锁的网络 REALITY（纯 TCP） → 查看 Hysteria2 搭建教程 → 查看 Xray REALITY 服务端配置 → 查看 VPS 选购指南\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/hysteria2-performance-tuning/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Abstract streaks of purple and green light\" loading=\"lazy\" src=\"/images/hysteria2-performance-tuning-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eHysteria2 基于 QUIC 协议（UDP），理论上在高延迟、高丢包网络里比 TCP 类协议快得多。但很多人部署完发现速度一般，原因通常是\u003cstrong\u003e带宽参数没配对\u003c/strong\u003e或者\u003cstrong\u003e拥塞控制算法没选对\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e这篇文章专门讲调优。假设你已经跑通了基础部署（参考 \u003ca href=\"/posts/hysteria2-setup/\"\u003eHysteria2 搭建教程\u003c/a\u003e），现在想把速度榨出来。\u003c/p\u003e\n\u003ch2 id=\"带宽参数最影响速度的配置\"\u003e带宽参数：最影响速度的配置\u003c/h2\u003e\n\u003cp\u003eHysteria2 的带宽参数控制着它的发送速率，没配或配错是速度差的最常见原因。\u003c/p\u003e\n\u003ch3 id=\"服务端-bandwidth\"\u003e服务端 bandwidth\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003e/etc/hysteria/config.yaml\u003c/code\u003e：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003ebandwidth\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003eup\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003egbps     \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 服务端上行（客户端下载方向）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003edown\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003egbps   \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 服务端下行（客户端上传方向）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e这里填的是\u003cstrong\u003e服务端（VPS）的实际带宽上限\u003c/strong\u003e，不是你家宽带的速度。\u003c/p\u003e\n\u003cp\u003e常见 VPS 带宽：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDMIT HK/US Premium：1 Gbps 端口，但共享，实际峰值 200-500 Mbps\u003c/li\u003e\n\u003cli\u003eAWS t3 类型：5-25 Gbps（burst）\u003c/li\u003e\n\u003cli\u003e低价 VPS：通常 100-500 Mbps\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e怎么测 VPS 实际带宽\u003c/strong\u003e：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 在 VPS 上安装 speedtest\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ecurl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh \u003cspan class=\"p\"\u003e|\u003c/span\u003e bash\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eapt install speedtest-cli -y\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003espeedtest\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e根据测速结果填带宽值。\u003c/p\u003e","title":"Hysteria2 性能调优：带宽配置、拥塞控制、多路复用实战"},{"content":" 最近一年用 AI 工具碰到一个高频问题：机场的共享节点 IP 被 AI 平台标记，登录时要求验证、限制功能、甚至封号。根本原因是这些 IP 被太多人用过，平台的风控系统认为是\u0026quot;异常流量\u0026quot;。\n解决方案：用住宅 IP作为出口。住宅 IP 来自真实家庭宽带，对平台来说跟普通用户一样，通过率高得多。\n这篇文章讲怎么在 mihomo（原 Clash Meta）里配置住宅 IP 出口，以 IPRoyal 为例。\n住宅 IP 和机场节点的区别 对比 机场节点（VPS） 住宅代理 IP IP 类型 数据中心 IP 真实家庭宽带 IP 被风控概率 高（共享 IP，大量请求） 低（看起来像真实用户） 速度 快（专线） 中等 价格 按月订阅，便宜 按 GB 计费，贵一些 适合场景 日常浏览、流媒体 AI 工具、账号注册、数据采集 住宅 IP 不适合替代机场做所有流量，太贵了。正确用法是：只让需要住宅 IP 的流量走住宅代理，其余走正常节点。\nIPRoyal 住宅 IP 配置 我用的是 IPRoyal，按 GB 计费，用多少买多少，不需要月付，质量稳定。\n获取 SOCKS5 凭证 注册后进入控制台 → Residential Proxies → 生成代理，会给你：\n主机：geo.iproyal.com 端口：32325 用户名：your_username 密码：your_password 可以追加参数指定国家/城市，比如美国的 IP：\n用户名：your_username_country-us 更多参数参考 IPRoyal 文档。\nmihomo 配置 在 mihomo 的配置文件（通常是 config.yaml）里，代理节点部分添加住宅 IP 代理：\nproxies: # ... 你原有的节点 ... # 住宅代理 - name: \u0026#34;residential-us\u0026#34; type: socks5 server: geo.iproyal.com port: 32325 username: \u0026#34;your_username_country-us\u0026#34; password: \u0026#34;your_password\u0026#34; udp: false # 重要：SOCKS5 住宅代理不支持 UDP，必须 false 注意：udp: false 是必须的。SOCKS5 住宅代理通常不支持 UDP，如果开启 UDP，iOS 设备的 QUIC 连接会静默失败，表现是 App 打不开但没有明显报错。\n配置代理组 在 proxy-groups 里创建 AI 工具专用的代理组：\nproxy-groups: # AI 工具专用组（走住宅 IP） - name: \u0026#34;AI Tools\u0026#34; type: select proxies: - residential-us - DIRECT # 自动选优（日常流量） - name: \u0026#34;Auto\u0026#34; type: url-test url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 300 proxies: - HK-节点-1 - US-节点-1 - JP-节点-1 配置分流规则 在 rules 里把 AI 工具的域名指向 AI 工具代理组：\nrules: # AI 工具走住宅 IP - DOMAIN-SUFFIX,anthropic.com,AI Tools - DOMAIN-SUFFIX,claude.ai,AI Tools - DOMAIN-SUFFIX,openai.com,AI Tools - DOMAIN-SUFFIX,chatgpt.com,AI Tools - DOMAIN-SUFFIX,api.openai.com,AI Tools - DOMAIN-SUFFIX,platform.openai.com,AI Tools # Google AI 服务（如果需要） - DOMAIN-SUFFIX,generativelanguage.googleapis.com,AI Tools - DOMAIN-SUFFIX,ai.google.dev,AI Tools # 其余流量走自动选优 - GEOIP,CN,DIRECT - MATCH,Auto 验证配置是否生效 方法一：查 IP 归属 在浏览器里访问 whatismyipaddress.com，看显示的 IP 类型是否是 \u0026ldquo;Residential\u0026rdquo;（家庭宽带）。\n方法二：测试 Claude API curl -x socks5://your_username:your_password@geo.iproyal.com:32325 \\ https://api.anthropic.com/v1/messages \\ -H \u0026#34;x-api-key: $ANTHROPIC_API_KEY\u0026#34; \\ -H \u0026#34;content-type: application/json\u0026#34; \\ -d \u0026#39;{\u0026#34;model\u0026#34;:\u0026#34;claude-haiku-4-5-20251001\u0026#34;,\u0026#34;max_tokens\u0026#34;:10,\u0026#34;messages\u0026#34;:[{\u0026#34;role\u0026#34;:\u0026#34;user\u0026#34;,\u0026#34;content\u0026#34;:\u0026#34;hi\u0026#34;}]}\u0026#39; 如果返回正常 JSON（不是 403/429），说明住宅 IP 能访问 Anthropic API。\n多地区住宅 IP 不同 AI 工具对地区要求不同：\n工具 推荐地区 Claude 美国、欧洲 ChatGPT 美国（绑定账号时） Gemini 美国（部分功能地区限制） Midjourney 无特别要求 IPRoyal 支持按国家选 IP，在用户名后缀加 _country-{code} 即可：\n美国：_country-us 英国：_country-gb 德国：_country-de 成本控制 住宅 IP 按 GB 计费，控制好流量可以省不少：\n只让必要的流量走住宅代理：API 调用流量很小（纯 JSON），但如果让整个浏览器走住宅代理，图片视频会大量消耗流量。\n在分流规则里精确控制域名：只列 AI 工具的 API 端点，不要写太宽泛的规则。\n监控流量消耗：IPRoyal 控制台可以看每日流量，设置用量提醒。\n我个人用 IPRoyal 每月大概消耗 1-3 GB（主要是 Claude API 和 OpenAI API），花费 $3–8，比机场被封账号重注的成本低多了。\n→ 注册 IPRoyal（按 GB 计费，无月付要求）\n→ 查看 mihomo 多网关配置\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/mihomo-residential-ip-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A glowing decorative lamp with a smaller light beside it.\" loading=\"lazy\" src=\"/images/mihomo-residential-ip-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e最近一年用 AI 工具碰到一个高频问题：机场的共享节点 IP 被 AI 平台标记，登录时要求验证、限制功能、甚至封号。根本原因是这些 IP 被太多人用过，平台的风控系统认为是\u0026quot;异常流量\u0026quot;。\u003c/p\u003e\n\u003cp\u003e解决方案：用\u003cstrong\u003e住宅 IP\u003c/strong\u003e作为出口。住宅 IP 来自真实家庭宽带，对平台来说跟普通用户一样，通过率高得多。\u003c/p\u003e\n\u003cp\u003e这篇文章讲怎么在 mihomo（原 Clash Meta）里配置住宅 IP 出口，以 IPRoyal 为例。\u003c/p\u003e\n\u003ch2 id=\"住宅-ip-和机场节点的区别\"\u003e住宅 IP 和机场节点的区别\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e对比\u003c/th\u003e\n          \u003cth\u003e机场节点（VPS）\u003c/th\u003e\n          \u003cth\u003e住宅代理 IP\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eIP 类型\u003c/td\u003e\n          \u003ctd\u003e数据中心 IP\u003c/td\u003e\n          \u003ctd\u003e真实家庭宽带 IP\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e被风控概率\u003c/td\u003e\n          \u003ctd\u003e高（共享 IP，大量请求）\u003c/td\u003e\n          \u003ctd\u003e低（看起来像真实用户）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e速度\u003c/td\u003e\n          \u003ctd\u003e快（专线）\u003c/td\u003e\n          \u003ctd\u003e中等\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e价格\u003c/td\u003e\n          \u003ctd\u003e按月订阅，便宜\u003c/td\u003e\n          \u003ctd\u003e按 GB 计费，贵一些\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e适合场景\u003c/td\u003e\n          \u003ctd\u003e日常浏览、流媒体\u003c/td\u003e\n          \u003ctd\u003eAI 工具、账号注册、数据采集\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e住宅 IP 不适合替代机场做所有流量，太贵了。正确用法是：\u003cstrong\u003e只让需要住宅 IP 的流量走住宅代理\u003c/strong\u003e，其余走正常节点。\u003c/p\u003e\n\u003ch2 id=\"iproyal-住宅-ip-配置\"\u003eIPRoyal 住宅 IP 配置\u003c/h2\u003e\n\u003cp\u003e我用的是 \u003ca href=\"https://aff.panshi.io/track?id=iproyal\"\u003eIPRoyal\u003c/a\u003e，按 GB 计费，用多少买多少，不需要月付，质量稳定。\u003c/p\u003e","title":"mihomo 出口接住宅 IP 实战配置：让 AI 工具稳定可用"},{"content":" OpenAI 在 2025 年初发布了 Codex CLI——一个在终端里直接用 AI 写代码、改文件、执行命令的工具。跟 ChatGPT 网页版不一样，Codex CLI 的核心是直接操作你本地文件系统，让 AI 真正帮你干活，而不是给你贴代码让你自己粘。\n这篇文章覆盖完整的入门流程，从安装到能用，大约 10 分钟。\n准备工作 需要两样东西：\nNode.js 18+（node --version 确认） OpenAI API Key（platform.openai.com 获取） API Key 需要绑定了付费方式，免费额度不支持 Codex 用的模型。\n安装 npm install -g @openai/codex 安装完验证：\ncodex --version 认证配置 有两种方式配置 API Key：\n方式一：环境变量（推荐）\nexport OPENAI_API_KEY=\u0026#34;sk-xxxx...\u0026#34; 加到 ~/.zshrc 或 ~/.bashrc 让它持久化：\necho \u0026#39;export OPENAI_API_KEY=\u0026#34;sk-xxxx...\u0026#34;\u0026#39; \u0026gt;\u0026gt; ~/.zshrc source ~/.zshrc 方式二：运行时输入\n直接运行 codex，第一次会提示你输入 API Key，会保存到 ~/.codex/config.json。\n三种运行模式 Codex CLI 的核心设计是渐进式自主权，你可以根据信任程度选择让它干多少：\n模式 命令 行为 suggest（默认） codex AI 给出建议，每步都需要你确认 auto codex --approval-mode auto-edit 自动编辑文件，但 shell 命令需确认 full-auto codex --approval-mode full-auto 全自动，文件和命令都不需要确认 建议新手用 suggest 模式，先感受它的能力边界。\n第一次使用 启动：\ncodex 进入交互界面后，直接用自然语言描述任务。\n示例 1：读懂一个复杂函数 \u0026gt; 帮我解释一下当前目录里的 main.py Codex 会先读取文件，然后解释关键逻辑。\n示例 2：修改代码 \u0026gt; 把 utils.py 里的 parse_date 函数改成支持时区参数，默认 UTC 它会：\n读取 utils.py 定位 parse_date 函数 给出修改方案，等你确认 确认后写入文件 示例 3：执行系统任务 \u0026gt; 找出当前目录里最近 7 天修改过的 Python 文件，列出来 它会生成 find 命令，等你确认后执行并返回结果。\n沙盒模式 full-auto 模式下，Codex 会在 macOS 的沙盒环境里执行命令（Linux 用 Docker），防止意外操作影响系统其他部分。\n查看沙盒状态：\ncodex --help | grep sandbox 如果不需要沙盒（比如你已经在 Docker 容器里），可以用 --no-sandbox 跳过。\n指定模型 Codex CLI 默认用 codex-mini-latest，也可以切换到更强的模型：\ncodex --model o4-mini 或者 o3（更强但更贵）：\ncodex --model o3 对于日常代码任务，codex-mini-latest 速度快、成本低，够用。复杂重构或架构设计才需要 o4-mini 以上。\n配置文件 Codex 支持项目级配置文件 AGENTS.md（放在项目根目录），可以给 AI 补充上下文：\n# AGENTS.md 这个项目是 Python 量化交易策略，使用 Binance API。 ## 代码规范 - 函数命名用 snake_case - 所有日志用 structlog - 数据库操作统一走 db/repository.py ## 注意事项 - 不要修改 config/secrets.py - 回测逻辑在 backtest/ 目录 有了这个文件，Codex 在处理这个项目时会遵守这些规则，不用每次都重新说。\n费用估算 Codex CLI 按 OpenAI API token 计费，不是固定月费。\n实际使用下来，一个完整的小任务（读文件 + 修改 + 解释）大概消耗：\ncodex-mini-latest：$0.002–0.01 o4-mini：$0.02–0.1 日常使用一个月 $5–20 左右，比订阅更灵活。\nCodex CLI vs Claude Code 用了两个都一段时间，简单说区别：\n对比维度 Codex CLI Claude Code 背后模型 o3 / codex-mini（OpenAI） Claude Sonnet / Opus（Anthropic） 代码能力 强，o3 做重构很稳 强，长上下文理解好 工具集成 专注代码和终端 支持 MCP/Skill 扩展 计费方式 按用量（API） 固定月费（Claude Pro） 上下文窗口 o3：200k Claude Opus 4.6：200k 没有绝对的好坏，看你已有哪个账号、主要做什么类型的任务。我个人 Codex CLI 用来做 Python 重构，Claude Code 用来做运维自动化和多工具协调。\n一个入门场景：用 Codex CLI 写交易监控脚本 如果你刚接触 CLI AI 工具，一个容易上手又立刻见效的场景是给自己的交易账户写监控脚本。比如：\n监控 Pionex 机器人 到达区间边沿推送 Telegram 监控 Binance 合约账户 爆仓前预警 分析 历史日志找规律 30 分钟就能写完，实际运行产生价值。如果还没接触加密量化，Pionex 是最低门槛的入口。\n有任何安装问题，评论区留言。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/codex-cli-complete-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Diagram of natural language to code conversion process.\" loading=\"lazy\" src=\"/images/codex-cli-complete-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eOpenAI 在 2025 年初发布了 Codex CLI——一个在终端里直接用 AI 写代码、改文件、执行命令的工具。跟 ChatGPT 网页版不一样，Codex CLI 的核心是\u003cstrong\u003e直接操作你本地文件系统\u003c/strong\u003e，让 AI 真正帮你干活，而不是给你贴代码让你自己粘。\u003c/p\u003e\n\u003cp\u003e这篇文章覆盖完整的入门流程，从安装到能用，大约 10 分钟。\u003c/p\u003e\n\u003ch2 id=\"准备工作\"\u003e准备工作\u003c/h2\u003e\n\u003cp\u003e需要两样东西：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eNode.js 18+\u003c/strong\u003e（\u003ccode\u003enode --version\u003c/code\u003e 确认）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOpenAI API Key\u003c/strong\u003e（\u003ca href=\"https://platform.openai.com\"\u003eplatform.openai.com\u003c/a\u003e 获取）\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eAPI Key 需要绑定了付费方式，免费额度不支持 Codex 用的模型。\u003c/p\u003e\n\u003ch2 id=\"安装\"\u003e安装\u003c/h2\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003enpm install -g @openai/codex\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e安装完验证：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ecodex --version\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"认证配置\"\u003e认证配置\u003c/h2\u003e\n\u003cp\u003e有两种方式配置 API Key：\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e方式一：环境变量（推荐）\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003eexport\u003c/span\u003e \u003cspan class=\"nv\"\u003eOPENAI_API_KEY\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;sk-xxxx...\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e加到 \u003ccode\u003e~/.zshrc\u003c/code\u003e 或 \u003ccode\u003e~/.bashrc\u003c/code\u003e 让它持久化：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003eecho\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;export OPENAI_API_KEY=\u0026#34;sk-xxxx...\u0026#34;\u0026#39;\u003c/span\u003e \u0026gt;\u0026gt; ~/.zshrc\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003esource\u003c/span\u003e ~/.zshrc\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e方式二：运行时输入\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e直接运行 \u003ccode\u003ecodex\u003c/code\u003e，第一次会提示你输入 API Key，会保存到 \u003ccode\u003e~/.codex/config.json\u003c/code\u003e。\u003c/p\u003e","title":"OpenAI Codex CLI 完整教程：安装、认证到第一次代码操作"},{"content":" GitHub Copilot（特别是通过 Claude Code + Copilot 通道使用时）每月有请求次数限制。OpenClaw 支持多 agent 并发，很容易在不知不觉中把配额消耗掉。\n这篇文章整理了 8 个实用技巧，帮你更有效地管理用量、减少浪费。\n1. 追踪当前 Copilot 用量 方式一：GitHub 设置页面\n直接访问 GitHub Copilot 用量页面查看当月消耗（Premium Request 数量）。不同模型消耗倍率不同：\n模型 消耗倍率 GPT-4o 1x Claude Sonnet 1x Claude Opus 10x o1 10x o3 更高 方式二：命令行查看（通过 API）\n# 获取当前 Copilot 套餐信息 curl -H \u0026#34;Authorization: token your-github-token\u0026#34; \\ https://api.github.com/user/copilot_billing/seats 方式三：计划用量估算\n大概规律：\n一次完整代码生成对话：1-3 requests 一次文件重构任务（带多轮修改）：5-15 requests OpenClaw 多 agent 并发任务：每 agent 独立计算 2. OpenClaw 合理配置 agent 数量 OpenClaw 默认可以开多个 subagent 并发执行，但并不是越多越好。\n建议配置：\n# OpenClaw 配置 agents: max_concurrent: 2 # 并发上限，一般 2 就够 think_budget: low # 对非复杂任务用低 think budget 什么时候开多 agent：\n任务明确可以并行（如同时修改 A 和 B 两个无关模块） 任务耗时长且互不依赖 什么时候用单 agent：\n任务有依赖关系（先做 A 再做 B） 探索性任务（需要中间反馈再调整方向） 文档写作、代码审查（单 agent 就够） 3. 任务粒度设计：避免\u0026quot;大任务高消耗\u0026quot; 一个常见的用量浪费模式：把一个大任务一次性扔给 agent，agent 在推进过程中多次试错、反复读取文件，消耗大量 requests。\n更省配额的做法：\n先用低成本模型探路：用 Claude Haiku 或 GPT-4o mini 先理解代码结构，再用 Sonnet/Opus 执行关键步骤 提前提供上下文：把关键文件路径、函数名、预期输出直接告诉 agent，减少它自己探索的轮次 分阶段验收：大任务拆成小任务，每步确认再继续 示例：\n❌ 低效： \u0026#34;把整个项目重构成微服务架构\u0026#34; ✓ 高效： \u0026#34;只修改 src/api/users.py，把数据库操作提取到 UserRepository 类， 参考 src/api/orders.py 的 OrderRepository 模式，不要动其他文件\u0026#34; 4. 在 Claude Code 里切换通道 Claude Code 可以通过 Copilot 通道使用，也可以直接用 Anthropic API。根据当前用量状态灵活切换：\nCopilot 配额充足时：\n# 使用 Copilot 通道（走 GitHub Copilot Premium Request） export ANTHROPIC_BASE_URL=https://api.githubcopilot.com/anthropic export ANTHROPIC_API_KEY=你的GITHUB_TOKEN claude Copilot 配额不足时：\n# 切回 Anthropic 官方 API（走 Anthropic 账单） unset ANTHROPIC_BASE_URL export ANTHROPIC_API_KEY=你的ANTHROPIC_API_KEY claude 可以配置 shell alias 快速切换：\n# ~/.zshrc alias claude-copilot=\u0026#39;ANTHROPIC_BASE_URL=https://api.githubcopilot.com/anthropic ANTHROPIC_API_KEY=你的GITHUB_TOKEN claude\u0026#39; alias claude-direct=\u0026#39;ANTHROPIC_BASE_URL=\u0026#34;\u0026#34; ANTHROPIC_API_KEY=你的ANTHROPIC_KEY claude\u0026#39; → 详细切换方案见 Claude Code 双通道配置指南\n5. 用 haiku 做预处理，节省高端模型配额 对于需要读取大量文件的任务（如代码库探索、批量分析），先用便宜模型做预处理，再把精炼后的信息交给 Sonnet/Opus。\n# 用 haiku 先总结代码库结构 claude --model claude-haiku-4-5 \u0026#34;列出 src/ 目录下各模块的主要功能，一句话描述每个文件的作用\u0026#34; # 再用 sonnet 做具体实现 claude --model claude-sonnet-4-6 \u0026#34;基于以下代码库结构，修改 src/api/auth.py 里的 JWT 验证逻辑...\u0026#34; 6. 写好 CLAUDE.md 减少重复解释 每次对话 Claude Code 都会读 CLAUDE.md（如果有）。一次投入写清楚项目背景，节省后续每次会话的\u0026quot;解释时间\u0026quot;：\n# CLAUDE.md ## 项目背景 这是一个量化交易系统，主要模块： - `strategy/` — 策略逻辑，禁止修改 - `execution/` — 订单执行，binance API 封装 - `monitoring/` — 监控和告警 ## 开发规范 - 所有新代码必须有单元测试 - 不要修改 config/ 目录下的文件 - API 密钥通过环境变量传入，不要硬编码 ## 常用命令 - 跑测试：pytest tests/ -v - 启动策略：python main.py --strategy polaris 7. OpenClaw 任务日志分析 OpenClaw 的日志可以帮你了解 agent 做了什么、哪些步骤耗费了最多资源：\n# 查看最近的 OpenClaw 任务日志 cat ~/.openclaw/logs/latest.jsonl | python3 -c \u0026#34; import sys, json for line in sys.stdin: d = json.loads(line) if d.get(\u0026#39;type\u0026#39;) == \u0026#39;tool_use\u0026#39;: print(f\\\u0026#34;{d[\u0026#39;tool\u0026#39;]}: {str(d.get(\u0026#39;input\u0026#39;, \u0026#39;\u0026#39;))[:60]}\\\u0026#34;) \u0026#34; 常见的高消耗模式：\nread_file 循环调用同一个文件（agent 在反复确认） bash 运行测试失败后无限循环修复 search_files 宽泛关键词导致大量结果 发现这类模式后，在任务 prompt 里直接指定文件路径，避免 agent 自己探索。\n8. 月末配额紧张时的策略 月底 Copilot Premium Request 快用完时：\n切到 Anthropic 直接 API：用 pay-as-you-go，或者 Anthropic Max 订阅 只用低倍率模型：Sonnet（1x）代替 Opus（10x），大多数任务 Sonnet 完全够用 本地模型作补充：简单的代码补全和问答用 Ollama 跑本地模型（Qwen2.5-Coder 效果不错） 减少探索性用法：月末只做明确的修改任务，不做\u0026quot;帮我分析这个代码库有什么优化空间\u0026quot;之类的开放性问题 用量管理本质上是\u0026quot;用对地方\u0026quot;——明确的任务、精准的上下文、合适的模型选择，比无脑开大模型跑更划算，效果往往也更好。\n→ 查看 OpenClaw 进阶：多 agent 工作流 → 查看 Claude Code 双通道切换\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-copilot-usage-tips/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A laptop computer sitting on top of a wooden desk\" loading=\"lazy\" src=\"/images/openclaw-copilot-usage-tips-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eGitHub Copilot（特别是通过 Claude Code + Copilot 通道使用时）每月有请求次数限制。OpenClaw 支持多 agent 并发，很容易在不知不觉中把配额消耗掉。\u003c/p\u003e\n\u003cp\u003e这篇文章整理了 8 个实用技巧，帮你更有效地管理用量、减少浪费。\u003c/p\u003e\n\u003ch2 id=\"1-追踪当前-copilot-用量\"\u003e1. 追踪当前 Copilot 用量\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e方式一：GitHub 设置页面\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e直接访问 GitHub Copilot 用量页面查看当月消耗（Premium Request 数量）。不同模型消耗倍率不同：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e模型\u003c/th\u003e\n          \u003cth\u003e消耗倍率\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eGPT-4o\u003c/td\u003e\n          \u003ctd\u003e1x\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eClaude Sonnet\u003c/td\u003e\n          \u003ctd\u003e1x\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eClaude Opus\u003c/td\u003e\n          \u003ctd\u003e10x\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eo1\u003c/td\u003e\n          \u003ctd\u003e10x\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eo3\u003c/td\u003e\n          \u003ctd\u003e更高\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e方式二：命令行查看（通过 API）\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 获取当前 Copilot 套餐信息\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ecurl -H \u003cspan class=\"s2\"\u003e\u0026#34;Authorization: token your-github-token\u0026#34;\u003c/span\u003e \u003cspan class=\"se\"\u003e\\\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e     https://api.github.com/user/copilot_billing/seats\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e方式三：计划用量估算\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e大概规律：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e一次完整代码生成对话：1-3 requests\u003c/li\u003e\n\u003cli\u003e一次文件重构任务（带多轮修改）：5-15 requests\u003c/li\u003e\n\u003cli\u003eOpenClaw 多 agent 并发任务：每 agent 独立计算\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"2-openclaw-合理配置-agent-数量\"\u003e2. OpenClaw 合理配置 agent 数量\u003c/h2\u003e\n\u003cp\u003eOpenClaw 默认可以开多个 subagent 并发执行，但并不是越多越好。\u003c/p\u003e","title":"OpenClaw + GitHub Copilot 用量管理与效率优化：8 个实用技巧"},{"content":" 这篇是 OpenClaw 入门教程 的续集，假设你已经装好了 OpenClaw，跑通了基本的 Telegram 交互。这里讲的是真正把它用起来之后的进阶技巧。\n多 Agent 任务分工 OpenClaw 支持在同一个 Telegram 群里配置多个 Agent，各自负责不同领域，这是它最容易被忽视的功能。\n为什么要分 Agent 不分 Agent 时，你的 AI 助手是个通才——什么都能问，但没有专门的上下文和工具。问运维问题时它不知道你的服务器架构，问量化策略时它不知道你的持仓逻辑。\n分 Agent 后，每个 Agent 有自己的：\n系统提示词：注入对应领域的背景知识 Skill 集合：只挂载相关的工具 独立对话历史：不会被其他任务干扰 配置示例 在 ~/.openclaw/config.yml 里定义多个 Agent：\nagents: - name: \u0026#34;ops\u0026#34; description: \u0026#34;服务器运维助手\u0026#34; skills: - healthcheck - ssh-tools system_prompt: | 你是专门负责管理服务器基础设施的运维助手。 你熟悉 Nginx、Docker、系统监控等运维工作。 遇到需要执行命令的任务，先解释再操作。 - name: \u0026#34;quant\u0026#34; description: \u0026#34;量化策略助手\u0026#34; skills: - binance-watcher - grafana-query system_prompt: | 你是专门负责量化策略监控的助手。 你了解趋势跟踪策略的基本逻辑，能解读持仓信号和收益数据。 不公开具体策略参数。 - name: \u0026#34;writer\u0026#34; description: \u0026#34;写作助手\u0026#34; skills: - obsidian system_prompt: | 你是博客写作助手，帮助整理思路、起草文章、整理笔记。 写作风格：直接、有观点，不废话。 在 Telegram 里通过 /agent ops 切换到对应 Agent，之后的对话都走那个 Agent 的配置。\nTelegram 深度交互技巧 命令快捷键 OpenClaw 的 Telegram Bot 支持自定义命令，在 config.yml 里定义：\ncommands: - command: \u0026#34;/status\u0026#34; description: \u0026#34;查看系统状态\u0026#34; action: \u0026#34;ops:帮我快速检查所有服务器的关键指标\u0026#34; - command: \u0026#34;/pnl\u0026#34; description: \u0026#34;查看今日收益\u0026#34; action: \u0026#34;quant:告诉我今日收益和当前持仓方向\u0026#34; - command: \u0026#34;/draft\u0026#34; description: \u0026#34;起草文章\u0026#34; action: \u0026#34;writer:根据我最近的笔记，帮我整理今天可以写的文章主题\u0026#34; 设置好之后，在 Telegram 里直接点命令菜单就能触发，不用每次打字。\n文件/图片直接发给 Agent Telegram 支持发文件给 Bot：\n发 .txt / .md 文件 → OpenClaw 可以读取内容并分析 发截图 → 支持 OCR 或图像理解（需要模型支持多模态） 发 .csv → 可以做数据分析 我的用法：在手机上拍下白板上的架构图，发给 ops Agent，问\u0026quot;这个架构有什么问题\u0026quot;。\n定时任务 OpenClaw 支持通过 cron 语法设置定时推送：\nschedules: - cron: \u0026#34;0 9 * * 1-5\u0026#34; # 周一到周五早上 9 点 action: \u0026#34;quant:今日量化策略状态汇报，包括持仓方向和昨日收益\u0026#34; - cron: \u0026#34;0 */4 * * *\u0026#34; # 每 4 小时 action: \u0026#34;ops:检查关键服务是否正常，有异常立即报警\u0026#34; 这样即使你没主动问，它也会主动推送。\n量化策略监控工作流 我的 OpenClaw 量化工作流分三个层次：\n层次一：被动监控（自动推送） schedules: # 每天早上汇报 - cron: \u0026#34;0 8 * * *\u0026#34; action: \u0026#34;quant:生成昨日收益汇报，格式：持仓方向/昨日盈亏/累计收益/最新信号时间\u0026#34; # 每 15 分钟检查是否有新信号 - cron: \u0026#34;*/15 * * * *\u0026#34; action: \u0026#34;quant:检查 KV 里的最新信号时间，如果超过 2 小时没更新，发出警告\u0026#34; 层次二：主动查询 随时在 Telegram 里问：\n\u0026ldquo;当前持仓方向是什么？\u0026rdquo; \u0026ldquo;最近 7 天的收益曲线数据\u0026rdquo; \u0026ldquo;和 BTC 同期涨跌对比怎么样？\u0026rdquo; Agent 从 CF KV 或 Prometheus API 拉数据，直接回答。\n层次三：异常告警 配置条件触发：\nmonitors: - name: \u0026#34;strategy-heartbeat\u0026#34; check: \u0026#34;quant:检查策略脚本最后运行时间\u0026#34; condition: \u0026#34;last_run \u0026gt; 2h\u0026#34; alert: \u0026#34;⚠️ 策略脚本超过 2 小时未运行，请检查\u0026#34; interval: 30m 自定义 binance-watcher Skill 如果官方没有 Binance 相关 Skill，自己写一个很简单：\n# skills/binance-watcher/main.py import requests def get_balance(symbol=\u0026#34;USDT\u0026#34;): \u0026#34;\u0026#34;\u0026#34;查询账户余额\u0026#34;\u0026#34;\u0026#34; # 从环境变量读取 API key，不硬编码 api_key = os.environ[\u0026#34;BINANCE_API_KEY\u0026#34;] # ... 调用 Binance API return {\u0026#34;balance\u0026#34;: balance, \u0026#34;symbol\u0026#34;: symbol} def get_position(): \u0026#34;\u0026#34;\u0026#34;查询当前持仓\u0026#34;\u0026#34;\u0026#34; # ... return {\u0026#34;side\u0026#34;: \u0026#34;LONG\u0026#34;, \u0026#34;size\u0026#34;: size, \u0026#34;entry_price\u0026#34;: price} Skill 的本质就是一个可以被 AI 调用的函数集合，写好后在 config.yml 里注册。\n自定义 Skill：从零开始 Skill 的结构 一个最简单的 Skill 只需要三个文件：\nskills/my-skill/ ├── skill.yml # Skill 定义（名称、描述、工具列表） ├── main.py # 工具函数实现 └── README.md # 说明文档 skill.yml 示例：\nname: my-grafana description: 查询 Grafana 数据 tools: - name: query_metric description: 查询 Prometheus 指标 parameters: - name: query type: string description: PromQL 查询语句 - name: range type: string description: 时间范围，如 1h、24h main.py 实现：\nimport requests import os GRAFANA_URL = os.environ.get(\u0026#34;GRAFANA_URL\u0026#34;, \u0026#34;http://localhost:3000\u0026#34;) GRAFANA_TOKEN = os.environ[\u0026#34;GRAFANA_TOKEN\u0026#34;] def query_metric(query: str, range: str = \u0026#34;1h\u0026#34;): \u0026#34;\u0026#34;\u0026#34;查询 Prometheus 指标并返回可读结果\u0026#34;\u0026#34;\u0026#34; resp = requests.get( f\u0026#34;{GRAFANA_URL}/api/datasources/proxy/1/api/v1/query_range\u0026#34;, params={\u0026#34;query\u0026#34;: query, \u0026#34;start\u0026#34;: f\u0026#34;now-{range}\u0026#34;, \u0026#34;end\u0026#34;: \u0026#34;now\u0026#34;, \u0026#34;step\u0026#34;: \u0026#34;60\u0026#34;}, headers={\u0026#34;Authorization\u0026#34;: f\u0026#34;Bearer {GRAFANA_TOKEN}\u0026#34;} ) data = resp.json() # 提取最新值 results = {} for series in data[\u0026#34;data\u0026#34;][\u0026#34;result\u0026#34;]: label = series[\u0026#34;metric\u0026#34;].get(\u0026#34;id\u0026#34;, \u0026#34;unknown\u0026#34;) latest_value = series[\u0026#34;values\u0026#34;][-1][1] if series[\u0026#34;values\u0026#34;] else \u0026#34;N/A\u0026#34; results[label] = latest_value return results 安装自定义 Skill openclaw skill install ./skills/my-grafana 安装后重启 OpenClaw，新 Skill 就生效了。\n用 skill-creator Skill 自动生成 OpenClaw 有个元 Skill：skill-creator，可以帮你生成其他 Skill 的代码。\n安装：\nopenclaw skill install skill-creator 然后告诉它你要做什么：\n我需要一个 Skill，功能是查询 aff.panshi.io/stats 接口，返回各个 AFF 项目今日点击量，格式化成可读的表格\n它会生成 skill.yml 和 main.py 的代码，你直接复制进去就能用。\n成本控制 OpenClaw 每次 Agent 响应都消耗模型 token，用多了会产生不少 API 费用。几个控制方式：\n按需触发，不用轮询：只在用户主动问或定时任务触发时调用模型，不要把实时监控逻辑放在 AI 里（用 Prometheus + Alertmanager 做，更精准也更省钱）。\n分级模型：简单的状态查询用便宜的 Haiku，复杂分析才上 Sonnet/Opus。\nagents: - name: \u0026#34;ops-basic\u0026#34; model: \u0026#34;claude-haiku-4-5\u0026#34; # 便宜，用于常规检查 - name: \u0026#34;ops-deep\u0026#34; model: \u0026#34;claude-sonnet-4-6\u0026#34; # 贵，用于深度分析 限制历史长度：\nagents: - name: \u0026#34;ops\u0026#34; max_history_turns: 10 # 只保留最近 10 轮对话 → 查看 OpenClaw 入门教程 → 查看 OpenClaw 量化工作流\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/openclaw-advanced/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Child and robot interacting with projected bubbles\" loading=\"lazy\" src=\"/images/openclaw-advanced-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e这篇是 \u003ca href=\"/posts/openclaw-intro-and-setup/\"\u003eOpenClaw 入门教程\u003c/a\u003e 的续集，假设你已经装好了 OpenClaw，跑通了基本的 Telegram 交互。这里讲的是真正把它用起来之后的进阶技巧。\u003c/p\u003e\n\u003ch2 id=\"多-agent-任务分工\"\u003e多 Agent 任务分工\u003c/h2\u003e\n\u003cp\u003eOpenClaw 支持在同一个 Telegram 群里配置多个 Agent，各自负责不同领域，这是它最容易被忽视的功能。\u003c/p\u003e\n\u003ch3 id=\"为什么要分-agent\"\u003e为什么要分 Agent\u003c/h3\u003e\n\u003cp\u003e不分 Agent 时，你的 AI 助手是个通才——什么都能问，但没有专门的上下文和工具。问运维问题时它不知道你的服务器架构，问量化策略时它不知道你的持仓逻辑。\u003c/p\u003e\n\u003cp\u003e分 Agent 后，每个 Agent 有自己的：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e系统提示词\u003c/strong\u003e：注入对应领域的背景知识\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSkill 集合\u003c/strong\u003e：只挂载相关的工具\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e独立对话历史\u003c/strong\u003e：不会被其他任务干扰\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"配置示例\"\u003e配置示例\u003c/h3\u003e\n\u003cp\u003e在 \u003ccode\u003e~/.openclaw/config.yml\u003c/code\u003e 里定义多个 Agent：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eagents\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;ops\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003edescription\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;服务器运维助手\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eskills\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003ehealthcheck\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003essh-tools\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esystem_prompt\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      你是专门负责管理服务器基础设施的运维助手。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      你熟悉 Nginx、Docker、系统监控等运维工作。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      遇到需要执行命令的任务，先解释再操作。\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;quant\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003edescription\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;量化策略助手\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eskills\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003ebinance-watcher\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003egrafana-query\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esystem_prompt\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      你是专门负责量化策略监控的助手。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      你了解趋势跟踪策略的基本逻辑，能解读持仓信号和收益数据。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      不公开具体策略参数。\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;writer\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003edescription\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;写作助手\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eskills\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"l\"\u003eobsidian\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esystem_prompt\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"p\"\u003e|\u003c/span\u003e\u003cspan class=\"sd\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      你是博客写作助手，帮助整理思路、起草文章、整理笔记。\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"sd\"\u003e      写作风格：直接、有观点，不废话。\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e在 Telegram 里通过 \u003ccode\u003e/agent ops\u003c/code\u003e 切换到对应 Agent，之后的对话都走那个 Agent 的配置。\u003c/p\u003e","title":"OpenClaw 进阶：多 Agent 协作、量化工作流、自定义 Skill"},{"content":" 上一篇讲了 Xray REALITY 服务端的部署。这篇专门讲客户端配置——收集到各平台的用户名、服务器地址、公钥等信息后，怎么在不同客户端里配置。\n你需要准备好以下信息（从服务端配置里获取）：\n参数 说明 服务器地址 VPS 的公网 IP 端口 服务端监听的端口（推荐 443） UUID 服务端配置的 client id Public Key xray x25519 生成的公钥 Short ID 服务端配置的 shortIds 之一 SNI 服务端配置的 serverNames（如 www.apple.com） mihomo（Clash Meta） mihomo 原生支持 REALITY，配置放在 proxies: 节点：\nproxies: - name: \u0026#34;us-reality\u0026#34; type: vless server: 你的VPS_IP port: 443 uuid: 你的UUID network: tcp tls: true udp: true flow: xtls-rprx-vision reality-opts: public-key: 你的公钥 short-id: \u0026#34;55470656\u0026#34; servername: www.apple.com client-fingerprint: chrome 参数说明 client-fingerprint：客户端 TLS 指纹伪装，推荐选项：\nchrome：伪装成 Chrome 浏览器（最常见，推荐） safari：伪装成 Safari firefox：伪装成 Firefox 选 chrome 的原因：Chrome 是全球使用最多的浏览器，混在里面最不显眼。\nflow: xtls-rprx-vision：服务端开了 flow 就必须填，不然连不上。\nudp: true：REALITY over TCP，UDP 走代理实际上是通过 TCP 封装的，不影响功能。\n代理组配置 proxy-groups: - name: \u0026#34;节点选择\u0026#34; type: select proxies: - us-reality - DIRECT - name: \u0026#34;自动选优\u0026#34; type: url-test url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 300 proxies: - us-reality 测试连通性 在 mihomo 启动后，访问测速 URL 验证：\ncurl -x http://127.0.0.1:7890 https://api.ipify.org 返回的应该是你 VPS 的 IP。\nSurge（macOS / iOS） Surge 从 5.x 开始支持 REALITY。\nmacOS 配置 在 Surge 配置文件的 [Proxy] 部分添加：\n[Proxy] Reality-US = vless, 你的VPS_IP, 443, username=你的UUID, tls=true, tls13=true, sni=www.apple.com, skip-cert-verify=false, underlying-proxy=none, vless-flow=xtls-rprx-vision, reality-public-key=你的公钥, reality-short-id=55470656, client-fingerprint=chrome iOS / iPadOS 配置 iOS Surge 的配置方式相同，但有几点注意：\n不要开 UDP：Surge iOS 的 REALITY over TCP，开 UDP 可能引起问题 SNI 需要稳定：iOS 对握手超时更敏感，选响应快的 SNI 可以用 QR 码导入：在 macOS Surge 里导出 QR 码，iOS 扫描 代理组 [Proxy Group] AI-Traffic = fallback, Reality-US, 备用节点, policy-path=xxx, evaluate-before-use=true Shadowrocket（iOS） Shadowrocket 是 iOS 上最常用的代理客户端，支持 REALITY。\n手动添加 点击右上角 + → 类型选 VLESS：\n字段 值 地址 你的VPS_IP 端口 443 UUID 你的UUID 传输协议 tcp TLS 开启 流控 xtls-rprx-vision REALITY 开启 公钥 你的公钥 Short ID 55470656 SNI www.apple.com 指纹 chrome 通过链接导入 VLESS REALITY 的链接格式：\nvless://UUID@IP:443?encryption=none\u0026amp;flow=xtls-rprx-vision\u0026amp;security=reality\u0026amp;sni=www.apple.com\u0026amp;fp=chrome\u0026amp;pbk=公钥\u0026amp;sid=55470656\u0026amp;type=tcp#节点名称 把这个链接复制到 Shadowrocket 里，点击 + → 扫描或输入 粘贴，一键导入。\n各客户端对比 客户端 平台 REALITY 支持 Flow 支持 mihomo 全平台 ✓（原生） ✓ Surge 5 macOS/iOS ✓ ✓ Shadowrocket iOS ✓ ✓ Clash Verge macOS/Win ✓（基于 mihomo） ✓ v2rayN Windows ✓ ✓ Nekobox Android ✓ ✓ 多节点配置技巧 如果你有多台 VPS 都配了 REALITY，可以用 url-test 组自动选最快的：\n# mihomo proxy-groups: - name: \u0026#34;REALITY Auto\u0026#34; type: url-test url: \u0026#34;http://www.gstatic.com/generate_204\u0026#34; interval: 180 tolerance: 50 proxies: - us-reality-1 - hk-reality-1 - jp-reality-1 每隔 3 分钟自动测速，切到延迟最低的节点。\n常见问题 Q：连接后速度很慢，但延迟正常 检查 flow 是否匹配：服务端开了 xtls-rprx-vision，客户端必须也填 xtls-rprx-vision，不然走的是降级模式，速度和稳定性都会下降。\nQ：Surge iOS 一直 timeout\n检查 VPS 的 443 端口防火墙是否放行 把 SNI 换一个响应更快的（测试方法：curl -I https://www.apple.com 从 VPS 测） 关闭 flow，先验证基础连通性 Q：mihomo 连接成功但 IP 还是本地 检查规则：确认目标流量的分流规则指向了你的 REALITY 代理组，而不是 DIRECT。\nQ：公钥输入后客户端报格式错误 REALITY 的公钥是 base64url 编码（不带 +/=），44 个字符。如果是其他格式，说明复制时混入了换行或空格。\n→ 查看 Xray REALITY 服务端配置 → 查看 Hysteria2 搭建教程\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/xray-reality-client-config/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Close-up of wooden blocks spelling \u0026rsquo;encryption\u0026rsquo;, symbolizing\" loading=\"lazy\" src=\"/images/xray-reality-client-config-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/xray-reality-complete-guide/\"\u003e上一篇\u003c/a\u003e讲了 Xray REALITY 服务端的部署。这篇专门讲客户端配置——收集到各平台的用户名、服务器地址、公钥等信息后，怎么在不同客户端里配置。\u003c/p\u003e\n\u003cp\u003e你需要准备好以下信息（从服务端配置里获取）：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e参数\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e服务器地址\u003c/td\u003e\n          \u003ctd\u003eVPS 的公网 IP\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e端口\u003c/td\u003e\n          \u003ctd\u003e服务端监听的端口（推荐 443）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eUUID\u003c/td\u003e\n          \u003ctd\u003e服务端配置的 client id\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003ePublic Key\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003exray x25519\u003c/code\u003e 生成的公钥\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eShort ID\u003c/td\u003e\n          \u003ctd\u003e服务端配置的 shortIds 之一\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eSNI\u003c/td\u003e\n          \u003ctd\u003e服务端配置的 serverNames（如 \u003ca href=\"https://www.apple.com\"\u003ewww.apple.com\u003c/a\u003e）\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"mihomoclash-meta\"\u003emihomo（Clash Meta）\u003c/h2\u003e\n\u003cp\u003emihomo 原生支持 REALITY，配置放在 \u003ccode\u003eproxies:\u003c/code\u003e 节点：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eproxies\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"nt\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;us-reality\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003evless\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eserver\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e你的VPS_IP\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eport\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"m\"\u003e443\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003euuid\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e你的UUID\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003enetwork\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003etcp\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003etls\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eudp\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eflow\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003extls-rprx-vision\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003ereality-opts\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003epublic-key\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003e你的公钥\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e\u003cspan class=\"nt\"\u003eshort-id\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;55470656\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eservername\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003ewww.apple.com\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eclient-fingerprint\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003echrome\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"参数说明\"\u003e参数说明\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003eclient-fingerprint\u003c/code\u003e\u003c/strong\u003e：客户端 TLS 指纹伪装，推荐选项：\u003c/p\u003e","title":"REALITY 客户端配置：mihomo、Surge、Shadowrocket 接入指南"},{"content":" Claude、ChatGPT、Perplexity 这类 AI 服务对出口 IP 质量非常敏感。如果你用普通 VPS（数据中心 IP）挂代理访问，经常会遇到：\n账号登录触发验证码 被要求重新验证身份 某些功能被限制（Claude Projects、ChatGPT Plus 功能等） 请求被静默降速 原因是这些服务的风控会识别 IP 来源，数据中心 IP 是已知的\u0026quot;代理流量\u0026quot;特征，住宅 IP 则不是。\n解决方案：AI 流量单独走住宅代理，普通流量继续走 VPS 节点。\n架构概览 本机 ├─ AI 服务请求（api.anthropic.com / api.openai.com / ...） │ └─ Surge → 住宅代理（SOCKS5/HTTP，家宽出口） └─ 其他流量 └─ Surge → VPS 节点（REALITY / Hysteria2） 住宅代理可以是：\n家里的软路由 + 公网 IP（最优，完全真实住宅 IP） 商业住宅代理服务（IPRoyal、BrightData 等，按量计费） 本文以第一种（软路由转发）为例，第二种逻辑完全相同，只是替换代理地址。\nSurge 配置 1. 添加住宅代理节点 在 Surge 配置的 [Proxy] 部分：\n[Proxy] # VPS 节点（REALITY） Reality-HK = vless, your-vps-ip, 443, username=your-uuid, tls=true, tls13=true, sni=www.apple.com, vless-flow=xtls-rprx-vision, reality-public-key=your-pubkey, reality-short-id=your-shortid, client-fingerprint=chrome # 住宅代理（SOCKS5，指向家里软路由的转发端口） Residential-Home = socks5, 你家公网IP, 代理端口 如果住宅代理需要认证：\nResidential-Home = socks5, 你家公网IP, 代理端口, username=用户名, password=密码 2. 建立代理组 [Proxy Group] # AI 专用组：走住宅 IP AI-Proxy = select, Residential-Home, Reality-HK, DIRECT # 普通代理组：走 VPS Global-Proxy = select, Reality-HK, Residential-Home, DIRECT # 自动选速（非 AI 流量） Auto-Best = url-test, Reality-HK, url=http://www.gstatic.com/generate_204, interval=300 3. 分流规则 [Rule] # Claude DOMAIN-SUFFIX,anthropic.com,AI-Proxy DOMAIN-SUFFIX,claude.ai,AI-Proxy # OpenAI / ChatGPT DOMAIN-SUFFIX,openai.com,AI-Proxy DOMAIN-SUFFIX,oaistatic.com,AI-Proxy DOMAIN-SUFFIX,oaiusercontent.com,AI-Proxy DOMAIN-KEYWORD,openai,AI-Proxy # Perplexity DOMAIN-SUFFIX,perplexity.ai,AI-Proxy # Google Gemini / AI Studio DOMAIN-SUFFIX,generativelanguage.googleapis.com,AI-Proxy DOMAIN-SUFFIX,aistudio.google.com,AI-Proxy # Copilot DOMAIN-SUFFIX,copilot.microsoft.com,AI-Proxy DOMAIN-SUFFIX,github.com,AI-Proxy DOMAIN-SUFFIX,githubcopilot.com,AI-Proxy # 其他国际流量 GEOIP,CN,DIRECT FINAL,Global-Proxy 4. 规则顺序说明 Surge 规则从上到下匹配，第一条命中就停止。AI 相关域名放前面，确保优先匹配住宅代理，不会误走 Global-Proxy。\nmihomo（Clash Meta）版本 mihomo 的逻辑相同，配置文件结构不同：\nproxies: - name: \u0026#34;Reality-HK\u0026#34; type: vless server: your-vps-ip port: 443 uuid: your-uuid network: tcp tls: true flow: xtls-rprx-vision reality-opts: public-key: your-pubkey short-id: your-shortid servername: www.apple.com client-fingerprint: chrome - name: \u0026#34;Residential-Home\u0026#34; type: socks5 server: 你家公网IP port: 代理端口 # username: 用户名 # password: 密码 udp: false # 住宅 SOCKS5 通常不支持 UDP proxy-groups: - name: \u0026#34;AI专用\u0026#34; type: select proxies: - Residential-Home - Reality-HK - name: \u0026#34;全局代理\u0026#34; type: select proxies: - Reality-HK - Residential-Home - DIRECT rules: - DOMAIN-SUFFIX,anthropic.com,AI专用 - DOMAIN-SUFFIX,claude.ai,AI专用 - DOMAIN-SUFFIX,openai.com,AI专用 - DOMAIN-SUFFIX,oaistatic.com,AI专用 - DOMAIN-SUFFIX,oaiusercontent.com,AI专用 - DOMAIN-SUFFIX,perplexity.ai,AI专用 - DOMAIN-SUFFIX,generativelanguage.googleapis.com,AI专用 - DOMAIN-SUFFIX,github.com,AI专用 - DOMAIN-SUFFIX,githubcopilot.com,AI专用 - GEOIP,CN,DIRECT - MATCH,全局代理 住宅代理端口在软路由上怎么开 如果你家里有 OpenWrt 软路由并且跑了 passwall / SSR Plus，可以在路由器上开一个 SOCKS5 出口端口：\npasswall（OpenWrt）：\n主菜单 → 访问控制 → 本地端口 → 添加一个 SOCKS5 监听（如 1080），选择直连出口（不走代理，直接出家宽）。\n然后在软路由防火墙里开放这个端口，允许从外网访问（或者用 frp/Cloudflare Tunnel 做内网穿透后对外暴露）。\n注意事项：\n直接把 SOCKS5 端口暴露在公网有安全风险，建议加密码认证 或者走 WireGuard VPN 后访问内网的 SOCKS5，不对公网开放 验证是否生效 配置完成后验证住宅 IP 出口：\n# 通过住宅代理访问 IP 检测 curl --socks5 你家公网IP:代理端口 https://api.ipify.org 返回的应该是你家宽带的 IP 地址，而不是 VPS IP。\n在 Surge/mihomo 里，切换到 AI-Proxy 组，访问 whatismyip.com 确认 IP 为住宅 IP 类型（Type: Residential）。\n效果 使用住宅 IP 后的改善：\nClaude claude.ai 登录不再反复验证 ChatGPT Plus 功能不再因 IP 风控被限制 API 调用稳定性提升（尤其是高频调用时） → 查看 mihomo 接住宅 IP 实战配置 → 查看 Xray REALITY 服务端配置\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/surge-split-rules-ai-traffic/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A stunning aerial view of illuminated highways and a cable-s\" loading=\"lazy\" src=\"/images/surge-split-rules-ai-traffic-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eClaude、ChatGPT、Perplexity 这类 AI 服务对出口 IP 质量非常敏感。如果你用普通 VPS（数据中心 IP）挂代理访问，经常会遇到：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e账号登录触发验证码\u003c/li\u003e\n\u003cli\u003e被要求重新验证身份\u003c/li\u003e\n\u003cli\u003e某些功能被限制（Claude Projects、ChatGPT Plus 功能等）\u003c/li\u003e\n\u003cli\u003e请求被静默降速\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e原因是这些服务的风控会识别 IP 来源，数据中心 IP 是已知的\u0026quot;代理流量\u0026quot;特征，住宅 IP 则不是。\u003c/p\u003e\n\u003cp\u003e解决方案：\u003cstrong\u003eAI 流量单独走住宅代理，普通流量继续走 VPS 节点\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"架构概览\"\u003e架构概览\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e本机\n  ├─ AI 服务请求（api.anthropic.com / api.openai.com / ...）\n  │    └─ Surge → 住宅代理（SOCKS5/HTTP，家宽出口）\n  └─ 其他流量\n       └─ Surge → VPS 节点（REALITY / Hysteria2）\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e住宅代理可以是：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e家里的软路由 + 公网 IP\u003c/strong\u003e（最优，完全真实住宅 IP）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e商业住宅代理服务\u003c/strong\u003e（IPRoyal、BrightData 等，按量计费）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e本文以第一种（软路由转发）为例，第二种逻辑完全相同，只是替换代理地址。\u003c/p\u003e","title":"Surge 分流规则进阶：让 AI 流量走住宅 IP，其他流量走 VPS 节点"},{"content":" 节点突然断线，第一反应是 IP 被封了。但封锁有不同类型，处理方式也不一样。乱操作容易浪费时间，这篇文章把排查和恢复流程整理清楚。\n第一步：确认是否真的被封 节点连不上的原因不只有 IP 被封，先排除其他可能：\n# 从本地直接 ping VPS 公网 IP ping 你的VPS_IP # 如果 ping 通但代理不通，可能是端口问题 curl -v --connect-timeout 10 https://你的VPS_IP:443 各种情况判断：\n现象 可能原因 ping 超时，traceroute 在国内某跳断掉 IP 被防火墙封锁（最常见） ping 通，但代理协议连不上 端口/协议被封，IP 未封 SSH 能连，代理连不上 代理服务进程挂了 什么都 ping 不通，SSH 也不行 VPS 宕机或账号欠费 先用在线工具测试 IP 是否全局可达：\nIPIP.net：https://www.ipip.net/ip.html → 输入 IP → 看\u0026quot;中国可达性\u0026quot; itdog.cn：多节点测速，看国内各省能否连通 如果工具显示国内多个省份都 ping 超时，基本确认是 IP 被封了。\n第二步：判断封锁类型 封锁程度决定处理方式：\n类型一：TCP 端口封锁（最轻） 表现：特定端口（比如 443）无法访问，但 SSH（22 或自定义端口）还能连。\n处理：换端口或换协议。比如原来用 443，换成 8443 或其他端口。\n# SSH 登进去，把 xray 端口改掉 # 修改配置文件，改 inbounds 里的 port systemctl restart xray 类型二：IP 封锁（常见） 表现：TCP 连接全部超时，ICMP（ping）也超时，但境外测试 IP 可达。\n处理：换 IP。\n类型三：IP + 端口双重封锁（较严） 表现：和类型二一样，但换了端口也没用。通常出现在用了特征明显的协议（纯 TLS 无混淆）之后。\n处理：换 IP，同时换协议（用 VLESS + REALITY 或 Hysteria2 等更难识别的方案）。\n类型四：整个 IP 段被封（最严） 表现：同一 /24 段内的多个 IP 都无法访问。通常是数据中心 IP 段被批量封锁。\n处理：更换 VPS 服务商或使用原生 IP 服务商（比如 DMIT 的 CN2 GIA，IP 被封概率更低）。\n第三步：换 IP 操作 DMIT DMIT 支持付费换 IP，价格根据套餐不同。\n登录 DMIT 控制台 进入对应 VPS → 找 \u0026ldquo;Change IP\u0026rdquo; 或提工单 如果控制台没有直接换 IP 的选项，提工单说明 IP 已被封，请求更换 提工单时直接说：\u0026ldquo;My VPS IP (你的IP) seems to be blocked from Mainland China. Could you please help me change the IP address? I\u0026rsquo;m willing to pay the change fee.\u0026rdquo;\nDMIT 的响应速度一般在几小时内，付费换 IP 通常当天能处理。\n腾讯云国际版 控制台 → 实例 → 更换公网 IP（弹性 IP 绑定/解绑） 腾讯云支持直接换弹性 IP，新 IP 是随机分配的，运气好能分到干净的。\n搬瓦工（BandwagonHost） 搬瓦工提供付费换 IP 服务：\n登录控制台 进入 VPS 管理页 → \u0026ldquo;IP Addresses\u0026rdquo; 点 \u0026ldquo;Request IP change\u0026rdquo;，填原因 价格约 $8-10 次，等待时间 1-7 天不等。\nAWS / 其他云 AWS 的弹性 IP（EIP）可以随时换，但新 IP 依然来自 AWS 的 IP 段，被封概率和原来差不多。更好的选择是搭配 CloudFront 或换区域节点。\n第四步：恢复节点配置 换了 IP 后，原有的配置可能还需要更新：\n更新 DNS 解析 如果你的节点用域名（比如 node.yourdomain.com），更新 DNS A 记录指向新 IP：\n# 用 CF API 或在 CF 控制台直接改 # 等 DNS 生效（1-5 分钟，取决于 TTL） 更新客户端配置 如果直接用 IP 连接（不走域名），需要更新所有客户端的服务器 IP：\n手机端：重新编辑节点配置 mihomo 订阅：如果用自动订阅，更新订阅后拉取 手动配置：直接改 IP 字段 验证新节点可用 # 检查新 IP 的延迟 ping 新IP # 测试代理是否正常 curl -x 你的代理协议://新IP:端口 https://api.ipify.org 预防措施 与其等被封再处理，不如做好预防：\n选 CN2 GIA 或原生 IP 服务商：DMIT 的 HK / US Premium 线路使用 CN2 GIA，IP 比普通 VPS 稳定得多，被封概率更低。→ 注册 DMIT\n多节点备份：至少保持 2 个节点，一主一备。主节点被封时切到备用节点，同时处理主节点恢复。\n用更难识别的协议：Xray VLESS + REALITY 伪装效果比普通 VLESS 好，被封概率更低。Hysteria2 走 UDP + QUIC，跟普通视频流量难以区分。\n换端口：443 是高频扫描端口，换成 8443、2053、2083 等不太常见的端口，可以降低被扫到的概率。\n不要把代理节点的 IP 暴露给别人：一旦共享给多人，流量特征更明显，被封概率大幅提升。\n→ 查看 DMIT VPS 购买指南 → 查看 Xray VLESS XTLS 完整配置 → 查看 Hysteria2 搭建教程\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/vps-recovery-after-block/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"System with various wires managing access to centralized res\" loading=\"lazy\" src=\"/images/vps-recovery-after-block-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e节点突然断线，第一反应是 IP 被封了。但封锁有不同类型，处理方式也不一样。乱操作容易浪费时间，这篇文章把排查和恢复流程整理清楚。\u003c/p\u003e\n\u003ch2 id=\"第一步确认是否真的被封\"\u003e第一步：确认是否真的被封\u003c/h2\u003e\n\u003cp\u003e节点连不上的原因不只有 IP 被封，先排除其他可能：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 从本地直接 ping VPS 公网 IP\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eping 你的VPS_IP\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 如果 ping 通但代理不通，可能是端口问题\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ecurl -v --connect-timeout \u003cspan class=\"m\"\u003e10\u003c/span\u003e https://你的VPS_IP:443\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e各种情况判断：\u003c/strong\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e现象\u003c/th\u003e\n          \u003cth\u003e可能原因\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eping 超时，traceroute 在国内某跳断掉\u003c/td\u003e\n          \u003ctd\u003eIP 被防火墙封锁（最常见）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eping 通，但代理协议连不上\u003c/td\u003e\n          \u003ctd\u003e端口/协议被封，IP 未封\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eSSH 能连，代理连不上\u003c/td\u003e\n          \u003ctd\u003e代理服务进程挂了\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e什么都 ping 不通，SSH 也不行\u003c/td\u003e\n          \u003ctd\u003eVPS 宕机或账号欠费\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e先用在线工具测试 IP 是否全局可达：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eIPIP.net\u003c/strong\u003e：\u003ccode\u003ehttps://www.ipip.net/ip.html\u003c/code\u003e → 输入 IP → 看\u0026quot;中国可达性\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eitdog.cn\u003c/strong\u003e：多节点测速，看国内各省能否连通\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e如果工具显示国内多个省份都 ping 超时，基本确认是 IP 被封了。\u003c/p\u003e","title":"VPS 节点 IP 被封后的完整恢复流程"},{"content":" REALITY 是 Xray 在 2023 年引入的传输协议，解决了 TLS 代理的一个根本性弱点：你的证书是假的。传统 VLESS+TLS 方案需要一个域名和 Let\u0026rsquo;s Encrypt 证书，但这个证书本身就是特征——没有真实网站对应的 TLS 参数，流量特征明显。\nREALITY 的思路完全不同：直接借用真实网站的 TLS 握手，服务端呈现给检测方的，就是那个真实网站的 TLS 证书和握手细节，无法与正常流量区分。\nREALITY 的核心原理 正常的 TLS 连接过程：\n客户端 → ClientHello（包含 SNI，比如 www.apple.com）→ 服务端 服务端 → Certificate（www.apple.com 的真实证书）→ 客户端 REALITY 的魔法：Xray 服务端在收到 ClientHello 时，把这个握手请求转发给真实的 www.apple.com，拿到真实证书，再原封不动地回给客户端。\n对于中间的检测设备来说，看到的完全是 www.apple.com 的合法 TLS 握手，无法区分。\n客户端和服务端之间的实际加密通信，隐藏在这个握手之后，使用 Xray 自己的密钥对（通过 shortId 验证身份）。\n优势总结：\n不需要域名，不需要证书 TLS 指纹完全借用真实网站 即使有人主动探测你的服务器端口，得到的也是目标网站的正常响应 准备工作 一台 VPS（推荐 DMIT，CN2 GIA 延迟低）→ 注册 DMIT Xray 最新版（当前 v25.x） 不需要域名和证书 服务端部署 安装 Xray bash -c \u0026#34;$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)\u0026#34; @ install 生成密钥对 xray x25519 输出：\nPrivate key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Public key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 保存这两个值，配置里要用。\n生成 Short ID Short ID 用于区分不同客户端，可以是 0-16 位的十六进制字符串：\nopenssl rand -hex 4 # 生成 8 位，如 55470656 openssl rand -hex 8 # 生成 16 位 服务端配置 /usr/local/etc/xray/config.json：\n{ \u0026#34;inbounds\u0026#34;: [{ \u0026#34;port\u0026#34;: 443, \u0026#34;protocol\u0026#34;: \u0026#34;vless\u0026#34;, \u0026#34;settings\u0026#34;: { \u0026#34;clients\u0026#34;: [{ \u0026#34;id\u0026#34;: \u0026#34;your-uuid-here\u0026#34;, \u0026#34;flow\u0026#34;: \u0026#34;xtls-rprx-vision\u0026#34; }], \u0026#34;decryption\u0026#34;: \u0026#34;none\u0026#34; }, \u0026#34;streamSettings\u0026#34;: { \u0026#34;network\u0026#34;: \u0026#34;tcp\u0026#34;, \u0026#34;security\u0026#34;: \u0026#34;reality\u0026#34;, \u0026#34;realitySettings\u0026#34;: { \u0026#34;show\u0026#34;: false, \u0026#34;dest\u0026#34;: \u0026#34;www.apple.com:443\u0026#34;, \u0026#34;xver\u0026#34;: 0, \u0026#34;serverNames\u0026#34;: [\u0026#34;www.apple.com\u0026#34;], \u0026#34;privateKey\u0026#34;: \u0026#34;你的私钥\u0026#34;, \u0026#34;shortIds\u0026#34;: [\u0026#34;55470656\u0026#34;, \u0026#34;7a3bc239\u0026#34;] } } }], \u0026#34;outbounds\u0026#34;: [{ \u0026#34;protocol\u0026#34;: \u0026#34;freedom\u0026#34;, \u0026#34;tag\u0026#34;: \u0026#34;direct\u0026#34; }] } 生成 UUID：\nxray uuid 启动服务 systemctl enable xray systemctl start xray systemctl status xray SNI（伪装域名）选择 SNI 是 REALITY 最关键的配置，直接决定你的流量能否通过检测。\n好的 SNI 的特征：\n网站真实存在，且 443 端口一直开着\n检测方可能主动访问这个域名，如果域名不存在或 443 不通，马上暴露 TLS 握手响应快\nREALITY 的握手需要实时转发到目标网站，目标越近越好 推荐：使用和你 VPS 同区域的大网站 HTTPS 流量大的网站\n你的流量混在大量正常流量里，被单独关注的概率低 推荐的 SNI：\nSNI 适合区域 说明 www.apple.com 全球 Apple CDN 全球节点，响应快 www.cloudflare.com 全球 CF 节点遍布全球 www.microsoft.com 全球 Azure CDN，稳定 itunes.apple.com 全球 Apple 服务，TLS 1.3 addons.mozilla.org 欧美 Mozilla CDN 不推荐：\n国内网站（www.baidu.com 等）——服务器在国外，握手延迟高 小众网站——443 端口可能不稳定 已知被大量代理用户使用的 SNI（特征明显） Short ID 的作用 Short ID 是服务端验证客户端身份的机制。\n原理：Xray 客户端在 ClientHello 里的 session_id 字段里嵌入一个随机值，服务端通过私钥解密验证，看 padding 里是否包含合法的 Short ID。\n合法客户端：服务端返回代理响应 普通扫描器：服务端正常转发到目标网站（看起来就是普通网站） 配置多个 Short ID（推荐）：不同设备用不同的 Short ID，这样某台设备泄露时只需删除对应 ID，不影响其他设备。\n\u0026#34;shortIds\u0026#34;: [\u0026#34;55470656\u0026#34;, \u0026#34;7a3bc239\u0026#34;, \u0026#34;a1b2c3d4\u0026#34;] Flow 选择 REALITY 推荐用 xtls-rprx-vision：\n\u0026#34;flow\u0026#34;: \u0026#34;xtls-rprx-vision\u0026#34; Vision 模式可以区分 TLS-in-TLS 流量，避免主动探测时暴露代理特征。如果不加 flow，也能用，但抗检测能力稍弱。\n防火墙配置 # Ubuntu UFW ufw allow 443/tcp ufw enable # 或者 iptables iptables -A INPUT -p tcp --dport 443 -j ACCEPT 建议用 443 端口，混在 HTTPS 流量里最自然。\n验证部署 在客户端配置好之后，测试连通性：\n# 直接 curl 测试（需要客户端配置好代理） curl -x vless://uuid@your-vps:443?security=reality\u0026amp;... https://api.ipify.org 更简单的方式：用 mihomo 或 Surge 配置好节点，访问 whatismyip.com 确认 IP 是你的 VPS。\n常见问题 Q：服务端启动报错 failed to read config 检查 JSON 格式，用 jq . config.json 验证语法。\nQ：客户端连接超时\n检查防火墙：ss -tlnp | grep 443 检查 SNI 目标是否可达：curl -I https://www.apple.com（从 VPS 上测） 检查 privateKey 和 publicKey 是否对应 Q：连接成功但速度慢 SNI 目标离 VPS 太远，握手延迟高。换一个同区域的大网站作为 SNI。\nQ：想用非 443 端口 可以，但容易被识别。如果用非标准端口，SNI 对应的目标也要用同样端口：\n\u0026#34;dest\u0026#34;: \u0026#34;www.apple.com:8443\u0026#34;, \u0026#34;serverNames\u0026#34;: [\u0026#34;www.apple.com\u0026#34;] → 查看客户端配置：mihomo / Surge 接入 REALITY → 查看 DMIT VPS 购买指南\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/xray-reality-complete-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Close-up of wooden blocks spelling \u0026rsquo;encryption\u0026rsquo;, symbolizing\" loading=\"lazy\" src=\"/images/xray-reality-complete-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eREALITY 是 Xray 在 2023 年引入的传输协议，解决了 TLS 代理的一个根本性弱点：\u003cstrong\u003e你的证书是假的\u003c/strong\u003e。传统 VLESS+TLS 方案需要一个域名和 Let\u0026rsquo;s Encrypt 证书，但这个证书本身就是特征——没有真实网站对应的 TLS 参数，流量特征明显。\u003c/p\u003e\n\u003cp\u003eREALITY 的思路完全不同：\u003cstrong\u003e直接借用真实网站的 TLS 握手\u003c/strong\u003e，服务端呈现给检测方的，就是那个真实网站的 TLS 证书和握手细节，无法与正常流量区分。\u003c/p\u003e\n\u003ch2 id=\"reality-的核心原理\"\u003eREALITY 的核心原理\u003c/h2\u003e\n\u003cp\u003e正常的 TLS 连接过程：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e客户端 → ClientHello（包含 SNI，比如 www.apple.com）→ 服务端\n服务端 → Certificate（www.apple.com 的真实证书）→ 客户端\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eREALITY 的魔法：Xray 服务端在收到 ClientHello 时，\u003cstrong\u003e把这个握手请求转发给真实的 \u003ca href=\"https://www.apple.com\"\u003ewww.apple.com\u003c/a\u003e\u003c/strong\u003e，拿到真实证书，再原封不动地回给客户端。\u003c/p\u003e\n\u003cp\u003e对于中间的检测设备来说，看到的完全是 \u003ca href=\"https://www.apple.com\"\u003ewww.apple.com\u003c/a\u003e 的合法 TLS 握手，无法区分。\u003c/p\u003e\n\u003cp\u003e客户端和服务端之间的实际加密通信，隐藏在这个握手之后，使用 Xray 自己的密钥对（通过 shortId 验证身份）。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e优势总结：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e不需要域名，不需要证书\u003c/li\u003e\n\u003cli\u003eTLS 指纹完全借用真实网站\u003c/li\u003e\n\u003cli\u003e即使有人主动探测你的服务器端口，得到的也是目标网站的正常响应\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"准备工作\"\u003e准备工作\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e一台 VPS（推荐 DMIT，CN2 GIA 延迟低）→ \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003e注册 DMIT\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eXray 最新版（当前 v25.x）\u003c/li\u003e\n\u003cli\u003e不需要域名和证书\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"服务端部署\"\u003e服务端部署\u003c/h2\u003e\n\u003ch3 id=\"安装-xray\"\u003e安装 Xray\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ebash -c \u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e\u003cspan class=\"k\"\u003e$(\u003c/span\u003ecurl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh\u003cspan class=\"k\"\u003e)\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;\u003c/span\u003e @ install\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"生成密钥对\"\u003e生成密钥对\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003exray x25519\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e输出：\u003c/p\u003e","title":"Xray REALITY 协议完整教程：原理、服务端部署、防检测要点"},{"content":" 管理多台 VPS 时，每天检查一遍状态是刚需：磁盘快满了、某个服务挂了、内存用量异常……这些如果不主动检查，可能等到出了问题才发现。\n这篇文章讲一个实际方案：Python 脚本 SSH 到各台服务器采集指标 → Gemini CLI 分析异常 → Telegram Bot 推送日报。\n整个流程每天定时跑一次，不需要手动干预。\n架构 定时任务（cron） └─ Python 巡检脚本 ├─ SSH 到每台服务器 │ └─ 采集：CPU / 内存 / 磁盘 / 服务状态 / 近期错误日志 ├─ 汇总成文本报告 ├─ 调用 Gemini CLI 分析报告（找异常、给建议） └─ 发送到 Telegram Bot 前置准备 1. 安装 Gemini CLI npm install -g @google/gemini-cli gemini auth # 用 Google 账号登录 验证：\necho \u0026#34;hello\u0026#34; | gemini 2. 创建 Telegram Bot 在 Telegram 里找 @BotFather 发送 /newbot，按提示创建 bot，拿到 Bot Token 给你的 bot 发一条消息，然后访问： https://api.telegram.org/bot\u0026lt;token\u0026gt;/getUpdates 在返回的 JSON 里找 chat.id，这是你的 Chat ID 3. 配置 SSH 免密登录 在采集机器上生成密钥（如果还没有）：\nssh-keygen -t ed25519 -f ~/.ssh/audit_key 把公钥分发到每台服务器：\nssh-copy-id -i ~/.ssh/audit_key.pub user@server-ip 巡检脚本 ~/scripts/server_audit.py：\n#!/usr/bin/env python3 \u0026#34;\u0026#34;\u0026#34; 每日服务器集群巡检脚本 - SSH 采集各服务器指标 - Gemini CLI 分析 - Telegram 推送报告 \u0026#34;\u0026#34;\u0026#34; import subprocess import json import requests from datetime import datetime # === 配置区 === SERVERS = [ {\u0026#34;name\u0026#34;: \u0026#34;aws-hk\u0026#34;, \u0026#34;host\u0026#34;: \u0026#34;你的HK服务器IP\u0026#34;, \u0026#34;user\u0026#34;: \u0026#34;ubuntu\u0026#34;}, {\u0026#34;name\u0026#34;: \u0026#34;aws-us\u0026#34;, \u0026#34;host\u0026#34;: \u0026#34;你的US服务器IP\u0026#34;, \u0026#34;user\u0026#34;: \u0026#34;ubuntu\u0026#34;}, {\u0026#34;name\u0026#34;: \u0026#34;home-1\u0026#34;, \u0026#34;host\u0026#34;: \u0026#34;192.168.1.10\u0026#34;, \u0026#34;user\u0026#34;: \u0026#34;as\u0026#34;}, ] SSH_KEY = \u0026#34;/root/.ssh/audit_key\u0026#34; # 或你的 key 路径 TG_TOKEN = \u0026#34;你的TelegramBotToken\u0026#34; TG_CHAT_ID = \u0026#34;你的ChatID\u0026#34; # ============== def ssh_run(host: str, user: str, cmd: str) -\u0026gt; str: \u0026#34;\u0026#34;\u0026#34;在远程主机执行命令，返回输出\u0026#34;\u0026#34;\u0026#34; result = subprocess.run( [\u0026#34;ssh\u0026#34;, \u0026#34;-i\u0026#34;, SSH_KEY, \u0026#34;-o\u0026#34;, \u0026#34;StrictHostKeyChecking=no\u0026#34;, \u0026#34;-o\u0026#34;, \u0026#34;ConnectTimeout=10\u0026#34;, f\u0026#34;{user}@{host}\u0026#34;, cmd], capture_output=True, text=True, timeout=30 ) return result.stdout.strip() if result.returncode == 0 else f\u0026#34;[ERROR] {result.stderr.strip()}\u0026#34; def collect_metrics(server: dict) -\u0026gt; dict: \u0026#34;\u0026#34;\u0026#34;采集单台服务器指标\u0026#34;\u0026#34;\u0026#34; name = server[\u0026#34;name\u0026#34;] host = server[\u0026#34;host\u0026#34;] user = server[\u0026#34;user\u0026#34;] print(f\u0026#34; 采集 {name} ({host})...\u0026#34;) metrics = { \u0026#34;name\u0026#34;: name, \u0026#34;host\u0026#34;: host, \u0026#34;timestamp\u0026#34;: datetime.now().isoformat(), } # CPU 使用率（1分钟均值） metrics[\u0026#34;cpu_load\u0026#34;] = ssh_run(host, user, \u0026#34;cat /proc/loadavg | awk \u0026#39;{print $1, $2, $3}\u0026#39;\u0026#34;) # 内存使用 metrics[\u0026#34;memory\u0026#34;] = ssh_run(host, user, \u0026#34;free -h | grep Mem | awk \u0026#39;{print \\\u0026#34;total:\\\u0026#34;, $2, \\\u0026#34;used:\\\u0026#34;, $3, \\\u0026#34;free:\\\u0026#34;, $4}\u0026#39;\u0026#34;) # 磁盘使用（根分区） metrics[\u0026#34;disk\u0026#34;] = ssh_run(host, user, \u0026#34;df -h / | tail -1 | awk \u0026#39;{print \\\u0026#34;total:\\\u0026#34;, $2, \\\u0026#34;used:\\\u0026#34;, $3, \\\u0026#34;avail:\\\u0026#34;, $4, \\\u0026#34;use%:\\\u0026#34;, $5}\u0026#39;\u0026#34;) # 系统运行时间 metrics[\u0026#34;uptime\u0026#34;] = ssh_run(host, user, \u0026#34;uptime -p\u0026#34;) # 关键服务状态（根据你的服务调整） services = [\u0026#34;nginx\u0026#34;, \u0026#34;xray\u0026#34;, \u0026#34;hysteria-server\u0026#34;] service_status = {} for svc in services: status = ssh_run(host, user, f\u0026#34;systemctl is-active {svc} 2\u0026gt;/dev/null || echo \u0026#39;not-found\u0026#39;\u0026#34;) service_status[svc] = status metrics[\u0026#34;services\u0026#34;] = service_status # 近期系统错误（过去1小时） metrics[\u0026#34;recent_errors\u0026#34;] = ssh_run(host, user, \u0026#34;journalctl -p err --since \u0026#39;1 hour ago\u0026#39; --no-pager -q 2\u0026gt;/dev/null | tail -20\u0026#34;) # 网络连接数 metrics[\u0026#34;connections\u0026#34;] = ssh_run(host, user, \u0026#34;ss -s | grep \u0026#39;TCP:\u0026#39; | head -3\u0026#34;) return metrics def format_report(all_metrics: list) -\u0026gt; str: \u0026#34;\u0026#34;\u0026#34;将采集数据格式化为文本报告\u0026#34;\u0026#34;\u0026#34; lines = [] lines.append(f\u0026#34;=== 集群巡检报告 {datetime.now().strftime(\u0026#39;%Y-%m-%d %H:%M\u0026#39;)} ===\\n\u0026#34;) for m in all_metrics: lines.append(f\u0026#34;[{m[\u0026#39;name\u0026#39;]}] {m[\u0026#39;host\u0026#39;]}\u0026#34;) lines.append(f\u0026#34; 负载: {m.get(\u0026#39;cpu_load\u0026#39;, \u0026#39;N/A\u0026#39;)}\u0026#34;) lines.append(f\u0026#34; 内存: {m.get(\u0026#39;memory\u0026#39;, \u0026#39;N/A\u0026#39;)}\u0026#34;) lines.append(f\u0026#34; 磁盘: {m.get(\u0026#39;disk\u0026#39;, \u0026#39;N/A\u0026#39;)}\u0026#34;) lines.append(f\u0026#34; 运行: {m.get(\u0026#39;uptime\u0026#39;, \u0026#39;N/A\u0026#39;)}\u0026#34;) services = m.get(\u0026#39;services\u0026#39;, {}) for svc, status in services.items(): icon = \u0026#34;✓\u0026#34; if status == \u0026#34;active\u0026#34; else \u0026#34;✗\u0026#34; lines.append(f\u0026#34; {icon} {svc}: {status}\u0026#34;) errors = m.get(\u0026#39;recent_errors\u0026#39;, \u0026#39;\u0026#39;) if errors and \u0026#39;[ERROR]\u0026#39; not in errors and len(errors) \u0026gt; 5: lines.append(f\u0026#34; 近期错误:\u0026#34;) for line in errors.split(\u0026#39;\\n\u0026#39;)[:5]: lines.append(f\u0026#34; {line}\u0026#34;) lines.append(\u0026#34;\u0026#34;) return \u0026#39;\\n\u0026#39;.join(lines) def gemini_analyze(report: str) -\u0026gt; str: \u0026#34;\u0026#34;\u0026#34;调用 Gemini CLI 分析报告\u0026#34;\u0026#34;\u0026#34; prompt = f\u0026#34;\u0026#34;\u0026#34;以下是服务器集群的巡检数据，请： 1. 识别任何异常或需要关注的问题 2. 对服务状态给出简短评估 3. 如果磁盘使用率 \u0026gt; 80% 或服务 inactive，明确标记为警告 4. 给出简短的建议（如果有问题） 5. 如果一切正常，说明\u0026#34;集群状态正常\u0026#34; 回复请用中文，控制在200字以内。 {report}\u0026#34;\u0026#34;\u0026#34; result = subprocess.run( [\u0026#34;gemini\u0026#34;, \u0026#34;--model\u0026#34;, \u0026#34;gemini-2.5-flash\u0026#34;, \u0026#34;-p\u0026#34;, prompt], capture_output=True, text=True, timeout=60 ) if result.returncode == 0: return result.stdout.strip() else: return f\u0026#34;[Gemini 分析失败] {result.stderr[:200]}\u0026#34; def send_telegram(message: str): \u0026#34;\u0026#34;\u0026#34;发送 Telegram 消息\u0026#34;\u0026#34;\u0026#34; url = f\u0026#34;https://api.telegram.org/bot{TG_TOKEN}/sendMessage\u0026#34; # Telegram 消息长度限制 4096，超出则截断 if len(message) \u0026gt; 4000: message = message[:4000] + \u0026#34;\\n...[截断]\u0026#34; resp = requests.post(url, json={ \u0026#34;chat_id\u0026#34;: TG_CHAT_ID, \u0026#34;text\u0026#34;: message, \u0026#34;parse_mode\u0026#34;: \u0026#34;HTML\u0026#34; }, timeout=15) if resp.status_code == 200: print(\u0026#34; Telegram 消息发送成功\u0026#34;) else: print(f\u0026#34; Telegram 发送失败: {resp.text}\u0026#34;) def main(): print(f\u0026#34;开始巡检 {len(SERVERS)} 台服务器...\u0026#34;) # 采集所有服务器指标 all_metrics = [] for server in SERVERS: try: metrics = collect_metrics(server) all_metrics.append(metrics) except Exception as e: print(f\u0026#34; 采集 {server[\u0026#39;name\u0026#39;]} 失败: {e}\u0026#34;) all_metrics.append({ \u0026#34;name\u0026#34;: server[\u0026#34;name\u0026#34;], \u0026#34;host\u0026#34;: server[\u0026#34;host\u0026#34;], \u0026#34;error\u0026#34;: str(e) }) # 生成文本报告 report = format_report(all_metrics) print(\u0026#34;\\n--- 原始报告 ---\u0026#34;) print(report) # Gemini 分析 print(\u0026#34;\\n调用 Gemini 分析...\u0026#34;) analysis = gemini_analyze(report) print(f\u0026#34;分析结果: {analysis}\u0026#34;) # 组合 Telegram 消息 tg_message = f\u0026#34;\u0026lt;b\u0026gt;每日集群巡检\u0026lt;/b\u0026gt;\\n\\n{analysis}\\n\\n\u0026lt;pre\u0026gt;{report[:2000]}\u0026lt;/pre\u0026gt;\u0026#34; send_telegram(tg_message) print(\u0026#34;\\n巡检完成\u0026#34;) if __name__ == \u0026#34;__main__\u0026#34;: main() 设置定时任务 每天早上 8 点运行：\ncrontab -e 添加：\n0 8 * * * /usr/bin/python3 /home/as/scripts/server_audit.py \u0026gt;\u0026gt; /var/log/server_audit.log 2\u0026gt;\u0026amp;1 定制化采集命令 根据你的实际服务调整 services 列表和采集命令：\n# 检查 Docker 容器状态 metrics[\u0026#34;docker\u0026#34;] = ssh_run(host, user, \u0026#34;docker ps --format \u0026#39;{{.Names}}: {{.Status}}\u0026#39; 2\u0026gt;/dev/null | head -10\u0026#34;) # 检查特定端口是否监听 metrics[\u0026#34;ports\u0026#34;] = ssh_run(host, user, \u0026#34;ss -tlnp | grep -E \u0026#39;:(443|80|8080|9090)\u0026#39; | awk \u0026#39;{print $4, $6}\u0026#39;\u0026#34;) # 最近的 nginx 错误 metrics[\u0026#34;nginx_errors\u0026#34;] = ssh_run(host, user, \u0026#34;tail -20 /var/log/nginx/error.log 2\u0026gt;/dev/null | grep -v \u0026#39;^$\u0026#39;\u0026#34;) # 磁盘 inode 使用率（经常被忽略） metrics[\u0026#34;inode\u0026#34;] = ssh_run(host, user, \u0026#34;df -i / | tail -1 | awk \u0026#39;{print \\\u0026#34;inode use%:\\\u0026#34;, $5}\u0026#39;\u0026#34;) 改进 Prompt 提升分析质量 Gemini CLI 的分析质量很大程度取决于 prompt 设计。一些改进方向：\n加上历史对比（如果你存了昨天的报告）：\nprompt = f\u0026#34;\u0026#34;\u0026#34;今天的报告：\\n{today_report}\\n\\n昨天的报告：\\n{yesterday_report}\\n\\n请对比分析变化...\u0026#34;\u0026#34;\u0026#34; 指定关注点：\nprompt = f\u0026#34;\u0026#34;\u0026#34;...特别关注磁盘使用率是否接近满，以及 xray/hysteria 服务是否在线...\u0026#34;\u0026#34;\u0026#34; 结构化输出：\nprompt = f\u0026#34;\u0026#34;\u0026#34;...请以 JSON 格式返回，字段包括：status（ok/warning/critical）、issues（问题列表）、suggestions（建议列表）...\u0026#34;\u0026#34;\u0026#34; 收到的报告示例 每日集群巡检 集群整体状态正常。所有服务器 nginx、xray 服务运行中。 aws-hk 磁盘使用率 67%，正常范围。 aws-us 磁盘使用率 45%，充裕。 home-1 近期有 2 条 kernel 警告日志，建议检查 dmesg 确认是否为磁盘 I/O 问题。 === 集群巡检报告 2026-04-15 08:00 === [aws-hk] x.x.x.x 负载: 0.12 0.08 0.05 内存: total: 2.0G used: 812M free: 892M 磁盘: total: 20G used: 13G avail: 6.1G use%: 68% 运行: up 47 days, 3 hours ✓ nginx: active ✓ xray: active ... → 查看 Gemini CLI 在量化工作流中的应用 → 查看 VPS 节点被封后的恢复流程\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/gemini-cli-server-audit/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Close-up of DeepSeek AI chat interface on a laptop screen in\" loading=\"lazy\" src=\"/images/gemini-cli-server-audit-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e管理多台 VPS 时，每天检查一遍状态是刚需：磁盘快满了、某个服务挂了、内存用量异常……这些如果不主动检查，可能等到出了问题才发现。\u003c/p\u003e\n\u003cp\u003e这篇文章讲一个实际方案：\u003cstrong\u003ePython 脚本 SSH 到各台服务器采集指标 → Gemini CLI 分析异常 → Telegram Bot 推送日报\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e整个流程每天定时跑一次，不需要手动干预。\u003c/p\u003e\n\u003ch2 id=\"架构\"\u003e架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e定时任务（cron）\n  └─ Python 巡检脚本\n       ├─ SSH 到每台服务器\n       │    └─ 采集：CPU / 内存 / 磁盘 / 服务状态 / 近期错误日志\n       ├─ 汇总成文本报告\n       ├─ 调用 Gemini CLI 分析报告（找异常、给建议）\n       └─ 发送到 Telegram Bot\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"前置准备\"\u003e前置准备\u003c/h2\u003e\n\u003ch3 id=\"1-安装-gemini-cli\"\u003e1. 安装 Gemini CLI\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003enpm install -g @google/gemini-cli\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egemini auth   \u003cspan class=\"c1\"\u003e# 用 Google 账号登录\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e验证：\u003c/p\u003e","title":"用 Gemini CLI 自动巡检服务器集群：Python + SSH + Telegram 推送实战"},{"content":" 跑一个量化策略需要的不只是策略本身——还需要一套支撑它运行、监控它状态、在出问题时及时告警的工具链。这篇文章分享我的完整工具栈，从策略执行到告警通知。\n整体架构 策略层（Python） ↓ 交易指令 Binance API ↓ 执行结果 状态文件 / CF KV ↓ 指标 Prometheus + node_exporter ↓ 存储 Grafana 可视化 ↓ 告警规则 Alertmanager → Telegram 策略执行层 技术栈 语言：Python 3.11 Binance SDK：python-binance 定时任务：APScheduler 或系统 cron 依赖管理：requirements.txt + venv 目录结构 quant/ ├── strategy/ │ ├── main.py # 主策略逻辑（信号生成 + 下单） │ ├── signals.py # 指标计算（技术指标库） │ └── risk.py # 仓位管理、止损逻辑 ├── exchange/ │ └── binance_client.py # Binance API 封装 ├── monitor/ │ └── exporter.py # 状态指标写入 Prometheus 格式 ├── config/ │ └── settings.py # 配置（从环境变量读取） └── run.py # 入口 关键代码：状态指标暴露 策略运行时，把关键指标写成 Prometheus textfile 格式，供 node_exporter 抓取：\n# monitor/exporter.py import os import time METRICS_FILE = \u0026#34;/var/lib/node_exporter/textfile_collector/quant.prom\u0026#34; def write_metrics(data: dict): \u0026#34;\u0026#34;\u0026#34; data 示例： { \u0026#34;pnl_total\u0026#34;: 12.5, # 累计收益率 % \u0026#34;pnl_today\u0026#34;: 0.8, # 今日收益率 % \u0026#34;position\u0026#34;: 1, # 1=多, -1=空, 0=空仓 \u0026#34;last_signal_ts\u0026#34;: 1776200000, # 最后信号时间戳 \u0026#34;last_run_ts\u0026#34;: 1776235000, # 策略最后运行时间 } \u0026#34;\u0026#34;\u0026#34; lines = [ \u0026#39;# HELP quant_pnl_total 累计收益率（百分比）\u0026#39;, \u0026#39;# TYPE quant_pnl_total gauge\u0026#39;, f\u0026#39;quant_pnl_total {data[\u0026#34;pnl_total\u0026#34;]}\u0026#39;, \u0026#39;\u0026#39;, \u0026#39;# HELP quant_pnl_today 今日收益率（百分比）\u0026#39;, \u0026#39;# TYPE quant_pnl_today gauge\u0026#39;, f\u0026#39;quant_pnl_today {data[\u0026#34;pnl_today\u0026#34;]}\u0026#39;, \u0026#39;\u0026#39;, \u0026#39;# HELP quant_position 当前持仓方向 (1=多,-1=空,0=空仓)\u0026#39;, \u0026#39;# TYPE quant_position gauge\u0026#39;, f\u0026#39;quant_position {data[\u0026#34;position\u0026#34;]}\u0026#39;, \u0026#39;\u0026#39;, \u0026#39;# HELP quant_last_signal_timestamp 最后信号时间\u0026#39;, \u0026#39;# TYPE quant_last_signal_timestamp gauge\u0026#39;, f\u0026#39;quant_last_signal_timestamp {data[\u0026#34;last_signal_ts\u0026#34;]}\u0026#39;, \u0026#39;\u0026#39;, \u0026#39;# HELP quant_last_run_timestamp 策略最后运行时间\u0026#39;, \u0026#39;# TYPE quant_last_run_timestamp gauge\u0026#39;, f\u0026#39;quant_last_run_timestamp {int(time.time())}\u0026#39;, \u0026#39;\u0026#39;, ] tmp = METRICS_FILE + \u0026#34;.tmp\u0026#34; with open(tmp, \u0026#34;w\u0026#34;) as f: f.write(\u0026#34;\\n\u0026#34;.join(lines)) os.rename(tmp, METRICS_FILE) 服务器配置 选择 量化策略对服务器的核心要求：\n稳定：不能随意宕机，24/7 运行 延迟低：离 Binance 服务器近（新加坡或东京），下单延迟更低 独立：不和其他高负载任务共享 我用 AWS 新加坡节点（aws-sg），Binance 主服务器在新加坡，下单延迟 1-5ms。\nsystemd 守护进程 不要用 nohup 跑策略，用 systemd：\n# /etc/systemd/system/quant-strategy.service [Unit] Description=Quant Strategy After=network.target [Service] Type=simple User=ubuntu WorkingDirectory=/home/ubuntu/quant ExecStart=/home/ubuntu/quant/venv/bin/python run.py Restart=always RestartSec=10 EnvironmentFile=/home/ubuntu/quant/.env [Install] WantedBy=multi-user.target systemctl enable quant-strategy systemctl start quant-strategy systemctl status quant-strategy 策略崩溃会自动重启，重启间隔 10 秒。\n环境变量管理 API Key 放 .env 文件，不提交到 Git：\n# .env（只有 600 权限） BINANCE_API_KEY=xxxx BINANCE_API_SECRET=xxxx TELEGRAM_BOT_TOKEN=xxxx TELEGRAM_CHAT_ID=xxxx # settings.py from dotenv import load_dotenv import os load_dotenv() BINANCE_API_KEY = os.environ[\u0026#34;BINANCE_API_KEY\u0026#34;] BINANCE_API_SECRET = os.environ[\u0026#34;BINANCE_API_SECRET\u0026#34;] Prometheus 监控配置 在 prometheus.yml 添加策略服务器的 node_exporter：\nscrape_configs: - job_name: node-remote-linux static_configs: - targets: - 你的策略服务器IP:9100 node_exporter 默认会自动采集 /var/lib/node_exporter/textfile_collector/*.prom 里的指标，不需要额外配置。\nGrafana Dashboard 量化策略的核心监控面板包含：\n收益区（上方）\n累计收益率时序曲线 今日收益 Stat 卡片 当前持仓方向（多/空/空仓） 风险区（中间）\n最大回撤（Max Drawdown） 近 30 日日收益柱状图 夏普比率（年化） 健康区（下方）\n策略最后运行时间（距现在多久） 最后信号时间（距现在多久） 心跳状态（绿色=正常，红色=异常） 关键面板：策略心跳 # Grafana PromQL (time() - quant_last_run_timestamp) / 60 这个查询显示策略最后运行距现在多少分钟。配合阈值颜色：\n\u0026lt; 65 分钟：绿色（正常，小时级策略） 65-120 分钟：黄色（轻微延迟） 120 分钟：红色（策略可能挂了）\n告警配置 Alertmanager + Telegram 在 alerts.yml 里定义告警规则：\ngroups: - name: quant-alerts rules: # 策略心跳超时 - alert: QuantHeartbeatTimeout expr: (time() - quant_last_run_timestamp) \u0026gt; 7200 for: 5m labels: severity: critical annotations: summary: \u0026#34;量化策略心跳超时\u0026#34; description: \u0026#34;策略超过 2 小时未运行，请检查服务器状态\u0026#34; # 今日大幅亏损 - alert: QuantLargeLoss expr: quant_pnl_today \u0026lt; -3 for: 1m labels: severity: warning annotations: summary: \u0026#34;今日亏损超过 3%\u0026#34; description: \u0026#34;当日收益率 {{ $value }}%，请关注\u0026#34; Telegram 告警模板（在 alertmanager.yml 里配置）：\nreceivers: - name: telegram telegram_configs: - bot_token: \u0026#34;你的BOT_TOKEN\u0026#34; chat_id: 你的CHAT_ID message: | 🚨 {{ .GroupLabels.alertname }} {{ range .Alerts }} {{ .Annotations.summary }} {{ .Annotations.description }} {{ end }} 在策略代码里直接推送告警 除了 Alertmanager，策略代码里也可以直接推 Telegram：\nimport requests def send_telegram(message: str): bot_token = os.environ[\u0026#34;TELEGRAM_BOT_TOKEN\u0026#34;] chat_id = os.environ[\u0026#34;TELEGRAM_CHAT_ID\u0026#34;] url = f\u0026#34;https://api.telegram.org/bot{bot_token}/sendMessage\u0026#34; requests.post(url, json={\u0026#34;chat_id\u0026#34;: chat_id, \u0026#34;text\u0026#34;: message}) # 下单后推送 send_telegram(f\u0026#34;📊 信号：{direction}\\n价格：{price}\\n仓位：{size}\u0026#34;) 总结：工具选型逻辑 工具 替代方案 选这个的原因 Python Go、JavaScript 量化生态最丰富（pandas、ta-lib 等） Binance python-binance 自己封装 REST 官方 SDK，省去重复造轮子 systemd supervisor、PM2 系统自带，稳定，日志集中管理 Prometheus + node_exporter InfluxDB + Telegraf 已有监控栈，复用，不引入新组件 Alertmanager 自己写告警脚本 支持规则、静默、分组，功能完整 Telegram 邮件、钉钉 手机推送及时，API 简单 → 查看 北极星策略介绍 → 查看 Binance API 从零到第一笔下单 → 查看 Prometheus + Grafana VPS 监控搭建\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/quant-tools-stack/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A close-up of a golden Bitcoin highlighting its digital curr\" loading=\"lazy\" src=\"/images/quant-tools-stack-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e跑一个量化策略需要的不只是策略本身——还需要一套支撑它运行、监控它状态、在出问题时及时告警的工具链。这篇文章分享我的完整工具栈，从策略执行到告警通知。\u003c/p\u003e\n\u003ch2 id=\"整体架构\"\u003e整体架构\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e策略层（Python）\n  ↓ 交易指令\nBinance API\n  ↓ 执行结果\n状态文件 / CF KV\n  ↓ 指标\nPrometheus + node_exporter\n  ↓ 存储\nGrafana 可视化\n  ↓ 告警规则\nAlertmanager → Telegram\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"策略执行层\"\u003e策略执行层\u003c/h2\u003e\n\u003ch3 id=\"技术栈\"\u003e技术栈\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e语言\u003c/strong\u003e：Python 3.11\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBinance SDK\u003c/strong\u003e：\u003ccode\u003epython-binance\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e定时任务\u003c/strong\u003e：APScheduler 或系统 cron\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e依赖管理\u003c/strong\u003e：\u003ccode\u003erequirements.txt\u003c/code\u003e + venv\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"目录结构\"\u003e目录结构\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003equant/\n├── strategy/\n│   ├── main.py          # 主策略逻辑（信号生成 + 下单）\n│   ├── signals.py       # 指标计算（技术指标库）\n│   └── risk.py          # 仓位管理、止损逻辑\n├── exchange/\n│   └── binance_client.py # Binance API 封装\n├── monitor/\n│   └── exporter.py      # 状态指标写入 Prometheus 格式\n├── config/\n│   └── settings.py      # 配置（从环境变量读取）\n└── run.py               # 入口\n\u003c/code\u003e\u003c/pre\u003e\u003ch3 id=\"关键代码状态指标暴露\"\u003e关键代码：状态指标暴露\u003c/h3\u003e\n\u003cp\u003e策略运行时，把关键指标写成 Prometheus textfile 格式，供 node_exporter 抓取：\u003c/p\u003e","title":"量化工具栈：Binance API + Grafana + 自动化告警全套配置"},{"content":" 止损距离是量化策略里最难确定的参数之一。太紧频繁被扫止损，太松单次亏损超预期。\n凭直觉设参数没有说服力。更可靠的方法是：用历史数据系统地研究不同止损距离对策略表现的影响，找到在多个评估维度上表现均衡的参数区间。\n这篇文章讲这个研究过程的方法论，包括数据准备、参数搜索、评估指标、以及防止过拟合的注意事项。\n研究框架 1. 数据准备 ├─ 选取历史数据区间（训练集） └─ 准备价格序列和信号序列 2. 参数网格搜索 ├─ 定义止损参数范围（如 0.5% - 5%，步长 0.1%） └─ 对每个参数值跑完整回测 3. 评估指标计算 ├─ 总收益率 ├─ 最大回撤 ├─ 夏普比率 ├─ 胜率 × 盈亏比 └─ 止损触发率 4. 结果分析 ├─ 绘制参数敏感性曲线 ├─ 找稳健区间（小变化 → 小影响） └─ 在验证集上验证 5. 确定最终参数 数据准备 import pandas as pd import numpy as np from binance.client import Client def get_klines(symbol: str, interval: str, start: str, end: str) -\u0026gt; pd.DataFrame: \u0026#34;\u0026#34;\u0026#34;获取 Binance K 线数据\u0026#34;\u0026#34;\u0026#34; client = Client() # 公开数据不需要 API 密钥 klines = client.get_historical_klines(symbol, interval, start, end) df = pd.DataFrame(klines, columns=[ \u0026#39;timestamp\u0026#39;, \u0026#39;open\u0026#39;, \u0026#39;high\u0026#39;, \u0026#39;low\u0026#39;, \u0026#39;close\u0026#39;, \u0026#39;volume\u0026#39;, \u0026#39;close_time\u0026#39;, \u0026#39;quote_vol\u0026#39;, \u0026#39;trades\u0026#39;, \u0026#39;taker_buy_base\u0026#39;, \u0026#39;taker_buy_quote\u0026#39;, \u0026#39;ignore\u0026#39; ]) for col in [\u0026#39;open\u0026#39;, \u0026#39;high\u0026#39;, \u0026#39;low\u0026#39;, \u0026#39;close\u0026#39;, \u0026#39;volume\u0026#39;]: df[col] = df[col].astype(float) df[\u0026#39;timestamp\u0026#39;] = pd.to_datetime(df[\u0026#39;timestamp\u0026#39;], unit=\u0026#39;ms\u0026#39;) df.set_index(\u0026#39;timestamp\u0026#39;, inplace=True) return df # 获取数据：分成训练集和验证集（时间序列不能随机分割！） df_train = get_klines(\u0026#34;BTCUSDT\u0026#34;, \u0026#34;4h\u0026#34;, \u0026#34;2023-01-01\u0026#34;, \u0026#34;2024-06-30\u0026#34;) # 训练集 df_val = get_klines(\u0026#34;BTCUSDT\u0026#34;, \u0026#34;4h\u0026#34;, \u0026#34;2024-07-01\u0026#34;, \u0026#34;2024-12-31\u0026#34;) # 验证集 为什么不能随机分割？\n时间序列有前向偏差问题：如果用2024年数据训练，再在2023年数据上验证，相当于\u0026quot;用未来预测过去\u0026quot;，结果毫无参考价值。训练集必须在时间上早于验证集。\nATR 标准化止损距离 直接用固定百分比作为止损距离有个问题：市场低波动期 1% 已经很宽，高波动期 1% 可能很窄。\n用 ATR 倍数作为参数更稳健：\ndef calc_atr(df: pd.DataFrame, period: int = 14) -\u0026gt; pd.Series: \u0026#34;\u0026#34;\u0026#34;计算 ATR\u0026#34;\u0026#34;\u0026#34; high_low = df[\u0026#39;high\u0026#39;] - df[\u0026#39;low\u0026#39;] high_close = (df[\u0026#39;high\u0026#39;] - df[\u0026#39;close\u0026#39;].shift(1)).abs() low_close = (df[\u0026#39;low\u0026#39;] - df[\u0026#39;close\u0026#39;].shift(1)).abs() tr = pd.concat([high_low, high_close, low_close], axis=1).max(axis=1) return tr.rolling(period).mean() df_train[\u0026#39;atr\u0026#39;] = calc_atr(df_train) df_train[\u0026#39;stop_pct_1atr\u0026#39;] = df_train[\u0026#39;atr\u0026#39;] / df_train[\u0026#39;close\u0026#39;] # 1 ATR 对应的百分比 研究的参数就变成：止损 = N 倍 ATR，其中 N 是我们要优化的参数（比如 0.5 到 3.0 之间的值）。\n简化的回测框架 def backtest(df: pd.DataFrame, signals: pd.Series, sl_atr_mult: float, tp_atr_mult: float = None) -\u0026gt; dict: \u0026#34;\u0026#34;\u0026#34; 简化回测，评估特定止损参数的策略表现 signals: 信号序列，1=做多，-1=做空，0=空仓 sl_atr_mult: 止损距离（ATR 倍数） tp_atr_mult: 止盈距离（ATR 倍数），None = 持有到下个信号 \u0026#34;\u0026#34;\u0026#34; trades = [] position = 0 entry_price = 0 entry_atr = 0 for i in range(1, len(df)): row = df.iloc[i] prev_row = df.iloc[i-1] sig = signals.iloc[i-1] # 用前一根 K 线收盘的信号，下一根开盘执行 # 持仓状态：检查是否触及止损/止盈 if position != 0: if position == 1: # 多仓 stop_price = entry_price - entry_atr * sl_atr_mult if row[\u0026#39;low\u0026#39;] \u0026lt;= stop_price: # 止损出场（假设以止损价成交） pnl = (stop_price - entry_price) / entry_price trades.append({\u0026#39;type\u0026#39;: \u0026#39;stop_loss\u0026#39;, \u0026#39;pnl\u0026#39;: pnl}) position = 0 continue if tp_atr_mult and row[\u0026#39;high\u0026#39;] \u0026gt;= entry_price + entry_atr * tp_atr_mult: tp_price = entry_price + entry_atr * tp_atr_mult pnl = (tp_price - entry_price) / entry_price trades.append({\u0026#39;type\u0026#39;: \u0026#39;take_profit\u0026#39;, \u0026#39;pnl\u0026#39;: pnl}) position = 0 continue # 没有持仓：检查新信号 if position == 0 and sig == 1: position = 1 entry_price = row[\u0026#39;open\u0026#39;] entry_atr = row[\u0026#39;atr\u0026#39;] elif position == 1 and sig != 1: # 信号消失，市价出场 pnl = (row[\u0026#39;open\u0026#39;] - entry_price) / entry_price trades.append({\u0026#39;type\u0026#39;: \u0026#39;signal_exit\u0026#39;, \u0026#39;pnl\u0026#39;: pnl}) position = 0 if not trades: return {\u0026#39;total_return\u0026#39;: 0, \u0026#39;max_drawdown\u0026#39;: 0, \u0026#39;sharpe\u0026#39;: 0, \u0026#39;win_rate\u0026#39;: 0, \u0026#39;stop_loss_rate\u0026#39;: 0, \u0026#39;n_trades\u0026#39;: 0} pnls = [t[\u0026#39;pnl\u0026#39;] for t in trades] cumulative = np.cumprod([1 + p for p in pnls]) # 最大回撤 peak = np.maximum.accumulate(cumulative) drawdowns = (peak - cumulative) / peak max_dd = drawdowns.max() # 夏普（简化） mean_r = np.mean(pnls) std_r = np.std(pnls) if np.std(pnls) \u0026gt; 0 else 1e-10 sharpe = mean_r / std_r * np.sqrt(len(pnls)) stop_loss_trades = sum(1 for t in trades if t[\u0026#39;type\u0026#39;] == \u0026#39;stop_loss\u0026#39;) return { \u0026#39;total_return\u0026#39;: cumulative[-1] - 1, \u0026#39;max_drawdown\u0026#39;: max_dd, \u0026#39;sharpe\u0026#39;: sharpe, \u0026#39;win_rate\u0026#39;: sum(1 for p in pnls if p \u0026gt; 0) / len(pnls), \u0026#39;stop_loss_rate\u0026#39;: stop_loss_trades / len(trades), \u0026#39;n_trades\u0026#39;: len(trades) } 参数网格搜索 import matplotlib.pyplot as plt def grid_search_stop_loss(df: pd.DataFrame, signals: pd.Series, sl_range: np.ndarray) -\u0026gt; pd.DataFrame: \u0026#34;\u0026#34;\u0026#34;遍历止损参数，记录各指标\u0026#34;\u0026#34;\u0026#34; results = [] for sl_mult in sl_range: stats = backtest(df, signals, sl_atr_mult=sl_mult) stats[\u0026#39;sl_mult\u0026#39;] = sl_mult results.append(stats) return pd.DataFrame(results).set_index(\u0026#39;sl_mult\u0026#39;) # 搜索范围：0.3 到 3.0 倍 ATR，步长 0.1 sl_range = np.arange(0.3, 3.1, 0.1) results = grid_search_stop_loss(df_train, signals_train, sl_range) print(results[[\u0026#39;total_return\u0026#39;, \u0026#39;max_drawdown\u0026#39;, \u0026#39;sharpe\u0026#39;, \u0026#39;win_rate\u0026#39;, \u0026#39;stop_loss_rate\u0026#39;]]) 可视化参数敏感性 fig, axes = plt.subplots(2, 2, figsize=(12, 8)) metrics = [\u0026#39;total_return\u0026#39;, \u0026#39;max_drawdown\u0026#39;, \u0026#39;sharpe\u0026#39;, \u0026#39;stop_loss_rate\u0026#39;] titles = [\u0026#39;总收益率\u0026#39;, \u0026#39;最大回撤\u0026#39;, \u0026#39;夏普比率\u0026#39;, \u0026#39;止损触发率\u0026#39;] for ax, metric, title in zip(axes.flat, metrics, titles): ax.plot(results.index, results[metric], marker=\u0026#39;o\u0026#39;, markersize=3) ax.set_title(title) ax.set_xlabel(\u0026#39;止损倍数（× ATR）\u0026#39;) ax.grid(True, alpha=0.3) plt.tight_layout() plt.savefig(\u0026#39;stop_loss_sensitivity.png\u0026#39;, dpi=150) 如何解读结果 查看图表时，寻找以下特征：\n稳健区间：某个参数范围内，夏普比率相对稳定（图形平坦），而不是在某个点突然最优。如果夏普率的峰值非常尖（只有一个点最好，周围很差），这是过拟合的信号。\n止损触发率：\n止损率 \u0026gt; 70%：止损太紧，大部分交易都被扫了 止损率 \u0026lt; 20%：止损太松，或者信号本身质量很高 合理范围：30%-60%，取决于策略类型 收益 vs 回撤权衡：夏普最高的参数未必就是最好的，还要看最大回撤是否在可承受范围内（比如你能接受的最大回撤是 20%，超过这个就不考虑）。\n验证集验证 在训练集上找到候选参数后，必须在验证集（hold-out set）上验证：\n# 在训练集上找到的最优参数（假设是 1.5 倍 ATR） best_sl_mult = 1.5 # 在验证集上验证 val_result = backtest(df_val, signals_val, sl_atr_mult=best_sl_mult) train_result = backtest(df_train, signals_train, sl_atr_mult=best_sl_mult) print(f\u0026#34;训练集夏普：{train_result[\u0026#39;sharpe\u0026#39;]:.2f}\u0026#34;) print(f\u0026#34;验证集夏普：{val_result[\u0026#39;sharpe\u0026#39;]:.2f}\u0026#34;) print(f\u0026#34;训练集回撤：{train_result[\u0026#39;max_drawdown\u0026#39;]:.2%}\u0026#34;) print(f\u0026#34;验证集回撤：{val_result[\u0026#39;max_drawdown\u0026#39;]:.2%}\u0026#34;) 健康的状态：验证集结果略差于训练集，但方向一致（都盈利，夏普都是正的，回撤在同一数量级）。\n过拟合的迹象：训练集夏普 3.0，验证集夏普 -0.5。说明参数只是拟合了训练数据的特定噪声，没有真实预测力。\n过拟合防范 几个实用原则：\n不要只看一个最优点：选参数区间里表现都稳定的值，而不是某个孤立的最优点 参数不能太多：每增加一个参数，需要的历史数据量成倍增加 用不同市场环境分段验证：牛市段、熊市段、震荡段分别测，参数要在三种情况下都能用 保留足够的样本外数据：至少 30% 的数据不参与优化 参数的经济逻辑：结果要能用市场微结构原理解释，纯数字拟合出来的参数通常不耐用 止损参数研究是一个迭代过程，不是跑一次就完了。市场结构在变，定期重新验证参数是否还在合理区间，是长期运行策略的必要维护工作。\n→ 查看 Binance 合约交易风控体系 → 查看 Binance API 从申请到第一笔下单\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/quant-stop-loss-parameter-research/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Futuristic abstract digital render depicting geometric shape\" loading=\"lazy\" src=\"/images/quant-stop-loss-parameter-research-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e止损距离是量化策略里最难确定的参数之一。太紧频繁被扫止损，太松单次亏损超预期。\u003c/p\u003e\n\u003cp\u003e凭直觉设参数没有说服力。更可靠的方法是：\u003cstrong\u003e用历史数据系统地研究不同止损距离对策略表现的影响，找到在多个评估维度上表现均衡的参数区间\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e这篇文章讲这个研究过程的方法论，包括数据准备、参数搜索、评估指标、以及防止过拟合的注意事项。\u003c/p\u003e\n\u003ch2 id=\"研究框架\"\u003e研究框架\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e1. 数据准备\n   ├─ 选取历史数据区间（训练集）\n   └─ 准备价格序列和信号序列\n\n2. 参数网格搜索\n   ├─ 定义止损参数范围（如 0.5% - 5%，步长 0.1%）\n   └─ 对每个参数值跑完整回测\n\n3. 评估指标计算\n   ├─ 总收益率\n   ├─ 最大回撤\n   ├─ 夏普比率\n   ├─ 胜率 × 盈亏比\n   └─ 止损触发率\n\n4. 结果分析\n   ├─ 绘制参数敏感性曲线\n   ├─ 找稳健区间（小变化 → 小影响）\n   └─ 在验证集上验证\n\n5. 确定最终参数\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"数据准备\"\u003e数据准备\u003c/h2\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003epandas\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003epd\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003enumpy\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003enp\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003efrom\u003c/span\u003e \u003cspan class=\"nn\"\u003ebinance.client\u003c/span\u003e \u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"n\"\u003eClient\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003eget_klines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esymbol\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003estr\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003einterval\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003estr\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003estart\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003estr\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eend\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"nb\"\u003estr\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003epd\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eDataFrame\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"s2\"\u003e\u0026#34;\u0026#34;\u0026#34;获取 Binance K 线数据\u0026#34;\u0026#34;\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eclient\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eClient\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e  \u003cspan class=\"c1\"\u003e# 公开数据不需要 API 密钥\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eklines\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eclient\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eget_historical_klines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esymbol\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003einterval\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003estart\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eend\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003edf\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epd\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eDataFrame\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eklines\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecolumns\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s1\"\u003e\u0026#39;timestamp\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;open\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;high\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;low\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;close\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;volume\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s1\"\u003e\u0026#39;close_time\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;quote_vol\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;trades\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;taker_buy_base\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s1\"\u003e\u0026#39;taker_buy_quote\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;ignore\u0026#39;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e])\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003ecol\u003c/span\u003e \u003cspan class=\"ow\"\u003ein\u003c/span\u003e \u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;open\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;high\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;low\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;close\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;volume\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"n\"\u003ecol\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"n\"\u003ecol\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eastype\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nb\"\u003efloat\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;timestamp\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epd\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eto_datetime\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;timestamp\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e],\u003c/span\u003e \u003cspan class=\"n\"\u003eunit\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;ms\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eset_index\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;timestamp\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003einplace\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"kc\"\u003eTrue\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 获取数据：分成训练集和验证集（时间序列不能随机分割！）\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edf_train\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eget_klines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;BTCUSDT\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;4h\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;2023-01-01\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;2024-06-30\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e   \u003cspan class=\"c1\"\u003e# 训练集\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edf_val\u003c/span\u003e   \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eget_klines\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;BTCUSDT\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;4h\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;2024-07-01\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;2024-12-31\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e   \u003cspan class=\"c1\"\u003e# 验证集\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e为什么不能随机分割？\u003c/strong\u003e\u003c/p\u003e","title":"量化策略止损参数研究方法论：如何用历史数据找到最优止损距离"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n量化实盘最大的风险之一不是策略亏损，而是 API Key 泄露导致账户被盗。写代码时不小心把 Key 推到 GitHub、VPS 被入侵、日志文件泄露——任何一个失误都可能让账户资产瞬间清零。\n这篇文章覆盖 Binance API 安全配置的完整流程。\nAPI Key 的权限类型 Binance API Key 有三类权限，按最小权限原则配置：\n权限 说明 量化是否需要 读取 查看账户、价格、历史 ✅ 必须 交易 下单、撤单 ✅ 必须（实盘） 提现 转账到外部地址 ❌ 绝对不要开 提现权限永远不要开启，量化程序不需要这个权限。开了以后一旦 Key 泄露，资产可以被直接转走。\n创建 API Key 登录 Binance 右上角头像 → API 管理 点 创建 API 选择 系统生成 API 填入 API 备注（建议按用途命名，如 quant-aws-hk） 完成 2FA 验证 创建完成后页面会显示：\nAPI Key（公开密钥，可以多次查看） Secret Key（私密密钥，只显示一次，务必立刻保存） ⚠️ Secret Key 只在创建时显示一次。如果没保存，只能删除重建。\n配置 IP 白名单（最重要的安全措施） IP 白名单是最关键的安全机制：即使 API Key 泄露，攻击者也无法从其他 IP 使用。\n配置步骤：\n点进刚创建的 API Key 找到 受信任的 IP 访问限制 填入你的 VPS IP 地址（比如 43.199.32.92） 如果有多台机器使用同一个 Key，逐个添加 推荐格式： 单个 IP：43.199.32.92 注意事项：\n填的是你的 VPS 的出口 IP，不是本地电脑 IP 每次 VPS 重新分配 IP 后需要更新（AWS 重启可能换 IP） 如果用弹性 IP / 固定 IP，更稳定 权限配置 在 API Key 设置页面，只勾选以下权限：\n✅ 读取 ✅ 合约交易（如果跑合约策略） ✅ 现货和杠杆交易（如果跑现货策略） ❌ 提现（永远不要开） ❌ 万向划转（不需要就不开） ❌ 充值/提现（不开） 安全存储 API Key 错误做法（高风险） # ❌ 明文写在代码里 api_key = \u0026#34;abc123xyz...\u0026#34; api_secret = \u0026#34;def456uvw...\u0026#34; # ❌ 写在 .env 文件里但把 .env 提交到 git git add .env git commit -m \u0026#34;add config\u0026#34; 正确做法 1：环境变量 # 在服务器的 ~/.bashrc 或 ~/.profile 里设置 export BINANCE_API_KEY=\u0026#34;你的API Key\u0026#34; export BINANCE_SECRET_KEY=\u0026#34;你的Secret Key\u0026#34; source ~/.bashrc Python 代码里读取：\nimport os api_key = os.environ.get(\u0026#39;BINANCE_API_KEY\u0026#39;) api_secret = os.environ.get(\u0026#39;BINANCE_SECRET_KEY\u0026#39;) if not api_key or not api_secret: raise ValueError(\u0026#34;API keys not found in environment variables\u0026#34;) 正确做法 2：独立的 secrets 文件（不纳入 git） # 创建 secrets 文件 cat \u0026gt; ~/.secrets/binance.env \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; BINANCE_API_KEY=你的API Key BINANCE_SECRET_KEY=你的Secret Key EOF chmod 600 ~/.secrets/binance.env # Python 读取 from dotenv import load_dotenv load_dotenv(os.path.expanduser(\u0026#39;~/.secrets/binance.env\u0026#39;)) .gitignore 里加上：\n.env *.env secrets/ .secrets/ 正确做法 3：systemd 服务环境变量 如果量化程序用 systemd 管理，可以用 systemd 的环境变量注入：\n# 创建环境文件 cat \u0026gt; /etc/systemd/system/quant-strategy.env \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; BINANCE_API_KEY=你的API Key BINANCE_SECRET_KEY=你的Secret Key EOF chmod 600 /etc/systemd/system/quant-strategy.env 在 service 文件里引用：\n[Service] EnvironmentFile=/etc/systemd/system/quant-strategy.env ExecStart=/usr/bin/python3 /opt/quant/strategy.py 防止 Key 意外泄露 检查 GitHub 历史提交 如果你曾经不小心把 Key 提交到 Git：\n# 搜索仓库历史里的敏感信息 git log --all --full-history -- \u0026#34;**/*.py\u0026#34; | xargs grep -l \u0026#34;api_key\\|secret\u0026#34; # 或者用专门工具 pip install trufflehog trufflehog git file://. --only-verified 发现泄露就立刻到 Binance 删除该 Key，重新创建一个。\n定期轮换 Key 建议每 3-6 个月轮换一次 API Key：\n创建新 Key 更新代码和环境变量使用新 Key 验证新 Key 正常工作 删除旧 Key 监控异常 API 调用 在 Binance API 管理页面，可以看到每个 Key 的调用日志。定期检查：\n是否有意料之外的 IP 调用 是否有非策略时间段的请求 是否有提现相关的尝试 API 限流与合理使用 Binance 对 API 有频率限制，超限会被封禁 IP：\n限制类型 默认限制 请求频率 1200 次/分钟（权重计算） 下单频率 50 单/10 秒（现货） WebSocket 连接 每个账号最多 5 个 量化代码里需要处理限流：\nimport time from binance.exceptions import BinanceAPIException def safe_api_call(func, *args, **kwargs): \u0026#34;\u0026#34;\u0026#34;带重试的 API 调用\u0026#34;\u0026#34;\u0026#34; max_retries = 3 for i in range(max_retries): try: return func(*args, **kwargs) except BinanceAPIException as e: if e.code == -1003: # 频率超限 wait_time = 60 * (i + 1) print(f\u0026#34;Rate limited, waiting {wait_time}s...\u0026#34;) time.sleep(wait_time) else: raise raise Exception(\u0026#34;Max retries exceeded\u0026#34;) 测试网（Testnet）开发调试 开发新策略时，先在测试网验证，不要直接用真实账号：\n测试网地址：testnet.binance.vision 免费领测试币，随便用 API 接口和主网一致，代码可以直接迁移 # 切换到测试网 from binance.client import Client client = Client( api_key=os.environ[\u0026#39;BINANCE_TESTNET_KEY\u0026#39;], api_secret=os.environ[\u0026#39;BINANCE_TESTNET_SECRET\u0026#39;], testnet=True # 关键参数 ) 相关阅读：\n用 Claude 写量化策略 Pionex 网格机器人实战 量化策略止损怎么设 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-api-security/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"An unlocked padlock rests on a computer keyboard.\" loading=\"lazy\" src=\"/images/binance-api-security-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e量化实盘最大的风险之一不是策略亏损，而是 API Key 泄露导致账户被盗。写代码时不小心把 Key 推到 GitHub、VPS 被入侵、日志文件泄露——任何一个失误都可能让账户资产瞬间清零。\u003c/p\u003e\n\u003cp\u003e这篇文章覆盖 Binance API 安全配置的完整流程。\u003c/p\u003e\n\u003ch2 id=\"api-key-的权限类型\"\u003eAPI Key 的权限类型\u003c/h2\u003e\n\u003cp\u003eBinance API Key 有三类权限，按最小权限原则配置：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e权限\u003c/th\u003e\n          \u003cth\u003e说明\u003c/th\u003e\n          \u003cth\u003e量化是否需要\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e读取\u003c/td\u003e\n          \u003ctd\u003e查看账户、价格、历史\u003c/td\u003e\n          \u003ctd\u003e✅ 必须\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e交易\u003c/td\u003e\n          \u003ctd\u003e下单、撤单\u003c/td\u003e\n          \u003ctd\u003e✅ 必须（实盘）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e提现\u003c/td\u003e\n          \u003ctd\u003e转账到外部地址\u003c/td\u003e\n          \u003ctd\u003e❌ 绝对不要开\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e提现权限永远不要开启\u003c/strong\u003e，量化程序不需要这个权限。开了以后一旦 Key 泄露，资产可以被直接转走。\u003c/p\u003e\n\u003ch2 id=\"创建-api-key\"\u003e创建 API Key\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e登录 \u003ca href=\"https://aff.panshi.io/track?id=binance\"\u003eBinance\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e右上角头像 → \u003cstrong\u003eAPI 管理\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e点 \u003cstrong\u003e创建 API\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e选择 \u003cstrong\u003e系统生成 API\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e填入 API 备注（建议按用途命名，如 \u003ccode\u003equant-aws-hk\u003c/code\u003e）\u003c/li\u003e\n\u003cli\u003e完成 2FA 验证\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e创建完成后页面会显示：\u003c/p\u003e","title":"Binance API 安全配置：量化交易防被盗的完整指南"},{"content":" 💡 国内提示：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\n量化交易的盈亏很大程度上由手续费决定。策略每月交易 100 次，每次 0.1% 手续费，双边就是 20%。把手续费从 0.1% 降到 0.05%，一年节省的成本相当可观。\n这篇文章把 Binance 降费的所有方法都列出来。\nBinance 的默认手续费 交易类型 Maker（挂单） Taker（吃单） 现货 0.10% 0.10% 合约（U本位） 0.02% 0.05% 合约（币本位） 0.01% 0.05% 注意：合约的 Maker/Taker 费率差别很大。量化策略尽量用限价单（Maker），避免用市价单（Taker）。\n方法一：使用 BNB 抵扣（节省 25%） 在账户设置里开启 BNB 抵扣，手续费自动用 BNB 支付，享受 25% 折扣：\n现货默认 0.10% → 用 BNB 抵扣后 0.075% 操作步骤：\n登录 Binance 右上角头像 → 账户 → 手续费设置 开启 使用 BNB 支付手续费 确保账户里有足够的 BNB BNB 账户余额不足时会自动切回普通手续费，建议保持一定余额。\n方法二：通过推荐链接注册（额外返佣） 通过推荐链接注册的账号，推荐人和被推荐人都能享受手续费返佣。\n使用 我的推荐链接 注册，可以获得部分手续费返还（具体比例 Binance 活动而定）。\n配合 BNB 折扣后的实际费率：\n0.10% × 75%（BNB 折扣）× (1 - 返佣比例) = 更低费率 方法三：提升 VIP 等级 Binance VIP 等级根据 30 天交易量决定：\nVIP 等级 30 天现货交易量（BNB 等价） 现货 Maker 现货 Taker VIP 0 \u0026lt; 1M USDT 0.10% 0.10% VIP 1 ≥ 1M USDT 0.09% 0.10% VIP 2 ≥ 5M USDT 0.08% 0.10% VIP 3 ≥ 20M USDT 0.07% 0.08% VIP 4 ≥ 100M USDT 0.06% 0.07% 对大多数个人用户来说，VIP 3+ 比较难达到。专注前两种方法更实际。\n方法四：合约手续费优化 合约 Maker 费率远低于 Taker：\n类型 Maker Taker U本位合约 VIP0 0.02% 0.05% U本位合约 VIP0 + BNB 0.015% 0.038% 关键：量化策略尽量用限价单\n# ❌ 市价单（Taker，手续费高） order = client.create_order( symbol=\u0026#39;BTCUSDT\u0026#39;, side=\u0026#39;BUY\u0026#39;, type=\u0026#39;MARKET\u0026#39;, quantity=0.001 ) # ✅ 限价单（Maker，手续费低） # 比当前市价略低/高，挂单等待成交 order = client.create_order( symbol=\u0026#39;BTCUSDT\u0026#39;, side=\u0026#39;BUY\u0026#39;, type=\u0026#39;LIMIT\u0026#39;, timeInForce=\u0026#39;GTC\u0026#39;, quantity=0.001, price=str(round(current_price * 0.9999, 2)) # 稍低于市价 ) 注意： 如果市场快速波动，限价单可能无法及时成交。需要在策略里处理未成交订单。\n方法五：BNB 本身的价值 BNB 除了抵扣手续费，还有其他用途：\nBinance Launchpad 参与新项目 BNB Chain 的 Gas 费 持仓本身有价格波动（有上涨可能，也有下跌风险） 购买 BNB 用于抵扣手续费时，要考虑 BNB 本身的价格风险，不建议囤积大量 BNB 专门用于手续费。\n实际案例计算 假设每月现货交易量 50 万 USDT（量化策略中等规模）：\n方案 费率 月手续费 年手续费 默认 0.10% $500 $6000 + BNB 折扣 0.075% $375 $4500 + 推荐返佣 10% 0.068% $340 $4080 合约 Maker 0.015% $75 $900 合约量化策略用 Maker + BNB，年节省 $5100 对比默认。\n进阶：做市商计划 月交易量极大（10亿 USDT+）的机构可以申请 Binance 做市商计划，Maker 费率可以降到 0% 甚至负数（平台补贴）。个人用户一般用不上，了解即可。\n手续费追踪 建议每月查一次手续费账单：\n登录 Binance 钱包 → 交易历史 → 手续费记录 导出 CSV，用 Excel/Python 分析 import pandas as pd # 分析手续费分布 df = pd.read_csv(\u0026#39;binance_fee_history.csv\u0026#39;) df[\u0026#39;date\u0026#39;] = pd.to_datetime(df[\u0026#39;时间\u0026#39;]) df[\u0026#39;month\u0026#39;] = df[\u0026#39;date\u0026#39;].dt.to_period(\u0026#39;M\u0026#39;) monthly_fees = df.groupby(\u0026#39;month\u0026#39;)[\u0026#39;手续费\u0026#39;].sum() print(monthly_fees) 延伸阅读：\nBinance API 安全配置 Pionex vs Binance 网格交易对比 量化策略止损怎么设 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/binance-fee-reduction/","summary":"\u003c!-- cn-kyc-notice --\u003e\n\u003cblockquote\u003e\n\u003cp\u003e💡 \u003cstrong\u003e国内提示\u003c/strong\u003e：Binance 官网在中国大陆无法直连，访问需自备网络工具；法币入金不支持银行卡，主要走 C2C（USDT↔CNY）通道完成。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Trader analyzing stock market data on smartphone and phone\" loading=\"lazy\" src=\"/images/binance-fee-reduction-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e量化交易的盈亏很大程度上由手续费决定。策略每月交易 100 次，每次 0.1% 手续费，双边就是 20%。把手续费从 0.1% 降到 0.05%，一年节省的成本相当可观。\u003c/p\u003e\n\u003cp\u003e这篇文章把 Binance 降费的所有方法都列出来。\u003c/p\u003e\n\u003ch2 id=\"binance-的默认手续费\"\u003eBinance 的默认手续费\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e交易类型\u003c/th\u003e\n          \u003cth\u003eMaker（挂单）\u003c/th\u003e\n          \u003cth\u003eTaker（吃单）\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e现货\u003c/td\u003e\n          \u003ctd\u003e0.10%\u003c/td\u003e\n          \u003ctd\u003e0.10%\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e合约（U本位）\u003c/td\u003e\n          \u003ctd\u003e0.02%\u003c/td\u003e\n          \u003ctd\u003e0.05%\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e合约（币本位）\u003c/td\u003e\n          \u003ctd\u003e0.01%\u003c/td\u003e\n          \u003ctd\u003e0.05%\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e注意：合约的 Maker/Taker 费率差别很大。量化策略尽量用限价单（Maker），避免用市价单（Taker）。\u003c/p\u003e\n\u003ch2 id=\"方法一使用-bnb-抵扣节省-25\"\u003e方法一：使用 BNB 抵扣（节省 25%）\u003c/h2\u003e\n\u003cp\u003e在账户设置里开启 BNB 抵扣，手续费自动用 BNB 支付，享受 25% 折扣：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e现货默认 0.10% → 用 BNB 抵扣后 0.075%\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e操作步骤：\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e登录 Binance\u003c/li\u003e\n\u003cli\u003e右上角头像 → \u003cstrong\u003e账户\u003c/strong\u003e → \u003cstrong\u003e手续费设置\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e开启 \u003cstrong\u003e使用 BNB 支付手续费\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e确保账户里有足够的 BNB\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eBNB 账户余额不足时会自动切回普通手续费，建议保持一定余额。\u003c/p\u003e","title":"Binance 手续费怎么省：从 0.1% 降到 0.045% 的完整方法"},{"content":" 很多人进入加密市场后面临的第一个问题：是直接定投买 BTC，还是用网格机器人？这两种方式都有各自的支持者，也都有真实的缺陷。\n这篇文章从普通人的角度，把两种方式拆开来分析。\n什么是 BTC 定投 定投（Dollar-Cost Averaging，DCA）：每隔固定时间，花固定金额买 BTC，不管价格高低。\n例子： 每周买 $100 的 BTC，坚持 2 年。价格高的时候买到少，价格低的时候买到多，长期下来平均成本比较合理。\n操作极简单：\nBinance 支持定投计划，设置好后全自动 不需要看盘 每次执行 5 分钟 什么是网格交易 网格交易：在设定的价格区间内，设置多个买入和卖出价位。价格在区间内来回震荡时，低买高卖获利。\n例子： BTC 在 60000-80000 USDT 之间，每隔 1000 USDT 设一个网格，一共 20 个网格。每次价格下跌 1000 买入，上涨 1000 卖出，反复赚差价。\nPionex 内置免费网格机器人，是目前最简单的网格工具。\n核心差异对比 对比维度 定投 网格交易 适合行情 长期上涨趋势 横盘震荡 不适合行情 横盘震荡（不停买但价格不涨） 单边下跌（浮亏持续扩大） 操作复杂度 极低 中等（需要设置参数） 资金占用 分批投入 一次性锁定 心理压力 低（长期持有） 较高（需要关注区间） 收益来源 BTC 价格上涨 价格震荡差价 最大风险 BTC 长期下跌 价格跌出网格区间，浮亏 两种方式的实际收益分析 定投的历史表现 以 BTC 为例，任意 4 年时间段内定投，历史上几乎都是正收益：\n定投周期 开始年份 结束年份 年化收益（估） 4 年 2017 2021 +1200% 4 年 2018 2022 +400% 4 年 2019 2023 +350% 4 年 2020 2024 +600% 关键假设：你要能坚持住，不在下跌时恐慌卖出。\n熊市期间（BTC 跌 70-80%），定投账户会浮亏很深。大多数人在这里扛不住，提前止损，反而亏钱。\n网格交易的实际表现 BTC 在 2023-2024 年的区间震荡行情（40000-70000 USDT），适合网格：\n区间内反复震荡，网格每次震荡都能赚差价 年化收益视参数设置，通常 20-80% APR 但这只是区间内的部分。 如果 BTC 最终突破上涨到 10 万，网格因为一直在卖出，反而踏空了大涨行情。 风险对比 定投的风险 核心风险：BTC 本身的价格风险\n如果 BTC 在未来 5-10 年内大幅下跌并长期不恢复（极端情况），定投亏损。\n但这个风险对网格交易同样存在，且网格交易在单边下跌行情里亏得更快（因为一直在买入）。\n网格交易的风险 1. 跌出网格区间\nBTC 从 70000 跌到 30000，网格设在 60000-80000，价格跌出去后网格停止运作，持有的是高位接的仓位，浮亏很大。\n2. 踏空大涨行情\nBTC 从 60000 直接涨到 100000，网格一直在 60000-80000 区间内卖出，最终只持有少量仓位，大涨行情没吃到。\n3. 参数设置错误\n区间太窄、网格太稀疏，收益不明显；区间太宽，每格差价太小，手续费吃掉利润。\n什么情况选哪种 选定投，如果：\n你相信 BTC 长期价值，有 3-5 年以上的时间视野 没有时间盯盘，想\u0026quot;买了不管\u0026quot; 资金量不大，每月几百到几千美元 不能承受网格参数设置错误的风险 选网格交易，如果：\n判断当前处于横盘震荡行情 有足够的资金设置合理的网格区间 能接受踏空大涨的可能（卖出了就接受） 愿意花时间学习参数设置和调整 两种都做（推荐）：\n我自己的做法：\n用定投建立 BTC 底仓（长期持有，不动） 拿一部分仓位做网格，赚震荡行情的差价 比例：底仓 60%，网格 40% 这样在横盘行情时网格赚钱，在单边上涨行情时底仓涨值，兼顾两种可能性。\n实操指南 定投怎么设置（Binance） Binance App → 定投 选择 BTC 设置投入金额和频率（每周、每天、每月） 选择投入货币（USDT） 确认开启 建议频率：每周定投，比每天更能平滑成本，比每月更高频。\n网格怎么设置（Pionex） 注册 Pionex 选择 BTC/USDT 网格机器人 参数设置： 价格区间：根据近期震荡区间设置，留一定余量 网格数量：20-50 格，不要太少 投入金额：账户余额的 30-50%，不要全仓 具体参数选择和风险控制见：Pionex 网格机器人实战\n北极星策略和这两种方式的区别 我自己跑的北极星策略是第三种方式：趋势跟踪。\n策略 适合行情 目标 定投 长期上涨 积累持仓 网格 横盘震荡 赚差价 趋势跟踪 有方向的行情 跟随大趋势 三种方式本质上是不同的赚钱逻辑，可以根据市场状态组合使用。\n延伸阅读：\nPionex 网格机器人实战 北极星策略实盘跟踪 量化策略止损怎么设 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/btc-dca-vs-grid/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a person reading a newspaper next to a cup of coffee\" loading=\"lazy\" src=\"/images/btc-dca-vs-grid-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e很多人进入加密市场后面临的第一个问题：是直接定投买 BTC，还是用网格机器人？这两种方式都有各自的支持者，也都有真实的缺陷。\u003c/p\u003e\n\u003cp\u003e这篇文章从普通人的角度，把两种方式拆开来分析。\u003c/p\u003e\n\u003ch2 id=\"什么是-btc-定投\"\u003e什么是 BTC 定投\u003c/h2\u003e\n\u003cp\u003e定投（Dollar-Cost Averaging，DCA）：每隔固定时间，花固定金额买 BTC，不管价格高低。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e例子：\u003c/strong\u003e 每周买 $100 的 BTC，坚持 2 年。价格高的时候买到少，价格低的时候买到多，长期下来平均成本比较合理。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e操作极简单：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBinance 支持定投计划，设置好后全自动\u003c/li\u003e\n\u003cli\u003e不需要看盘\u003c/li\u003e\n\u003cli\u003e每次执行 5 分钟\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"什么是网格交易\"\u003e什么是网格交易\u003c/h2\u003e\n\u003cp\u003e网格交易：在设定的价格区间内，设置多个买入和卖出价位。价格在区间内来回震荡时，低买高卖获利。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e例子：\u003c/strong\u003e BTC 在 60000-80000 USDT 之间，每隔 1000 USDT 设一个网格，一共 20 个网格。每次价格下跌 1000 买入，上涨 1000 卖出，反复赚差价。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=pionex\"\u003ePionex\u003c/a\u003e 内置免费网格机器人，是目前最简单的网格工具。\u003c/p\u003e\n\u003ch2 id=\"核心差异对比\"\u003e核心差异对比\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e对比维度\u003c/th\u003e\n          \u003cth\u003e定投\u003c/th\u003e\n          \u003cth\u003e网格交易\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e适合行情\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e长期上涨趋势\u003c/td\u003e\n          \u003ctd\u003e横盘震荡\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e不适合行情\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e横盘震荡（不停买但价格不涨）\u003c/td\u003e\n          \u003ctd\u003e单边下跌（浮亏持续扩大）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e操作复杂度\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e极低\u003c/td\u003e\n          \u003ctd\u003e中等（需要设置参数）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e资金占用\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e分批投入\u003c/td\u003e\n          \u003ctd\u003e一次性锁定\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e心理压力\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e低（长期持有）\u003c/td\u003e\n          \u003ctd\u003e较高（需要关注区间）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e收益来源\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eBTC 价格上涨\u003c/td\u003e\n          \u003ctd\u003e价格震荡差价\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e最大风险\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003eBTC 长期下跌\u003c/td\u003e\n          \u003ctd\u003e价格跌出网格区间，浮亏\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2 id=\"两种方式的实际收益分析\"\u003e两种方式的实际收益分析\u003c/h2\u003e\n\u003ch3 id=\"定投的历史表现\"\u003e定投的历史表现\u003c/h3\u003e\n\u003cp\u003e以 BTC 为例，任意 4 年时间段内定投，历史上几乎都是正收益：\u003c/p\u003e","title":"BTC 定投 vs 网格交易：哪个更适合普通人"},{"content":" Anthropic 目前的主力模型线：Opus 4.6（最强）、Sonnet 4.6（均衡）、Haiku 4.5（最快最便宜）。很多人用 Claude 的时候不管什么任务都用 Opus，结果 API 账单高出 3-5 倍。\n这篇文章从实际使用角度讲清楚：什么情况用 Opus，什么情况用 Sonnet，Haiku 什么时候值得考虑。\n价格对比（2026年4月） 模型 输入价格 输出价格 相对成本 claude-haiku-4-5 $0.80/M tokens $4/M tokens 1× claude-sonnet-4-6 $3/M tokens $15/M tokens ~4× claude-opus-4-6 $15/M tokens $75/M tokens ~19× Opus 比 Haiku 贵将近 20 倍。 同样的任务，如果 Sonnet 能解决，用 Opus 就是纯粹浪费。\n通过 GitHub Copilot Pro+ 订阅（$19/月）可以用有限额度的 Sonnet 和 Opus，超出额度后按 API 计费。\n速度对比 实测（2026年4月，复杂代码生成任务）：\n模型 首 Token 延迟 生成速度 Haiku 4.5 ~0.5s ~120 tokens/s Sonnet 4.6 ~1.2s ~80 tokens/s Opus 4.6 ~2.5s ~40 tokens/s Opus 不仅更贵，而且更慢。在对话场景里感知很明显。\n质量差距究竟有多大？ 直接说结论：大多数日常任务，Sonnet 和 Opus 的结果没有实质差异。\nOpus 明显更好的场景：\n复杂多步推理：需要在多个约束条件下同时推导，比如复杂的数学证明、多因素决策分析 极长文档理解：100K tokens 以上的上下文，Opus 的信息整合能力更强 细微语气和创意写作：需要高度风格控制的场景 难度较高的编程：系统架构设计、复杂算法实现，Opus 出错率更低 Sonnet 完全够用的场景（占日常使用的 80%+）：\n代码 debug 和功能实现 文章写作和修改 数据分析和总结 普通问答和解释 脚本编写和配置文件 Claude Code 日常运维操作 实际场景对照表 任务类型 推荐模型 理由 服务器运维操作 Sonnet 操作明确，不需要深度推理 写博客文章 Sonnet 质量足够，速度更快 复杂量化策略设计 Opus 需要多步骤数学推理 代码 review Sonnet 大多数 bug 都能发现 架构设计讨论 Opus 需要权衡多种方案 翻译 Sonnet / Haiku 简单任务 Haiku 就够 摘要总结 Haiku 最便宜，效果差别不大 正则表达式 Haiku 简单确定性任务 数据格式转换 Haiku 无需复杂推理 复杂 SQL 优化 Opus 需要深入理解执行计划 写单元测试 Sonnet 够用，不需要 Opus 长文档分析 Opus 100K+ tokens 上下文 Opus 更稳 在 Claude Code 里切换模型 Claude Code CLI 支持在会话中切换模型：\n# 启动时指定模型 claude --model claude-sonnet-4-6 # 会话中切换（在提示符里输入） /model claude-opus-4-6 /model claude-sonnet-4-6 /model claude-haiku-4-5-20251001 我的实际用法：\n默认跑 Sonnet：日常运维、写代码、查文档 切 Opus 的场景：策略逻辑设计、复杂架构讨论、需要高置信度的关键决策 切 Haiku 的场景：批量处理、格式转换、简单脚本 省钱技巧：Prompt Cache Claude API 支持 Prompt Caching，重复的 system prompt 和上下文只收一次钱：\nimport anthropic client = anthropic.Anthropic() response = client.messages.create( model=\u0026#34;claude-sonnet-4-6\u0026#34;, max_tokens=1024, system=[ { \u0026#34;type\u0026#34;: \u0026#34;text\u0026#34;, \u0026#34;text\u0026#34;: \u0026#34;你是一个量化交易助手。以下是策略背景信息：...\u0026#34;, \u0026#34;cache_control\u0026#34;: {\u0026#34;type\u0026#34;: \u0026#34;ephemeral\u0026#34;} # 缓存这段 } ], messages=[{\u0026#34;role\u0026#34;: \u0026#34;user\u0026#34;, \u0026#34;content\u0026#34;: \u0026#34;分析一下最近的信号...\u0026#34;}] ) 第一次调用会写入缓存，后续调用命中缓存的 token 价格降低 90%。对于固定 system prompt 较长的场景，节省非常明显。\n详细的 API 省钱技巧见：Claude API 省钱指南\n我的成本控制结论 用了几个月 Claude Code，摸出来的经验：\n默认用 Sonnet，不要默认 Opus 遇到 Sonnet 给出质量不满意的结果，再切 Opus 重试，不要预防性地用 Opus 批处理任务用 Haiku：爬完数据要分类？几千条日志要提取关键信息？Haiku 足够，省 90% Copilot Pro+ 的 Opus 额度要用在刀刃上：月初不要浪费在简单任务，留给真正需要的场景 按这个策略，我的 API 成本比最开始下降了约 65%，同时主观质量感受没有明显退步。\n延伸阅读：\nClaude API 省钱指南 Claude Code 真实使用体验 OpenClaw + Copilot 参数调优 用 Claude 分析 Pionex 实盘日志 — Sonnet 足够做数据分析，Opus 额度留给深度复盘 省下的 API 成本可以变成\u0026quot;本金\u0026quot;：每月 $20 稳定理财收益在量化工具里并不难。看看 Pionex 期现套利 怎么做到 14% APY，注册 Pionex 最低 $100 试运行。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/claude-sonnet-vs-opus/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Artificial intelligence concept within a human head\" loading=\"lazy\" src=\"/images/claude-sonnet-vs-opus-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eAnthropic 目前的主力模型线：\u003cstrong\u003eOpus 4.6\u003c/strong\u003e（最强）、\u003cstrong\u003eSonnet 4.6\u003c/strong\u003e（均衡）、\u003cstrong\u003eHaiku 4.5\u003c/strong\u003e（最快最便宜）。很多人用 Claude 的时候不管什么任务都用 Opus，结果 API 账单高出 3-5 倍。\u003c/p\u003e\n\u003cp\u003e这篇文章从实际使用角度讲清楚：什么情况用 Opus，什么情况用 Sonnet，Haiku 什么时候值得考虑。\u003c/p\u003e\n\u003ch2 id=\"价格对比2026年4月\"\u003e价格对比（2026年4月）\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e模型\u003c/th\u003e\n          \u003cth\u003e输入价格\u003c/th\u003e\n          \u003cth\u003e输出价格\u003c/th\u003e\n          \u003cth\u003e相对成本\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-haiku-4-5\u003c/td\u003e\n          \u003ctd\u003e$0.80/M tokens\u003c/td\u003e\n          \u003ctd\u003e$4/M tokens\u003c/td\u003e\n          \u003ctd\u003e1×\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-sonnet-4-6\u003c/td\u003e\n          \u003ctd\u003e$3/M tokens\u003c/td\u003e\n          \u003ctd\u003e$15/M tokens\u003c/td\u003e\n          \u003ctd\u003e~4×\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eclaude-opus-4-6\u003c/td\u003e\n          \u003ctd\u003e$15/M tokens\u003c/td\u003e\n          \u003ctd\u003e$75/M tokens\u003c/td\u003e\n          \u003ctd\u003e~19×\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003eOpus 比 Haiku 贵将近 20 倍。\u003c/strong\u003e 同样的任务，如果 Sonnet 能解决，用 Opus 就是纯粹浪费。\u003c/p\u003e\n\u003cp\u003e通过 GitHub Copilot Pro+ 订阅（$19/月）可以用有限额度的 Sonnet 和 Opus，超出额度后按 API 计费。\u003c/p\u003e","title":"Claude Sonnet vs Opus：怎么选模型才不浪费钱"},{"content":" 我目前每月花 $80 订阅了两个 GitHub Copilot Pro+ 账号。这个数字初看不小，但用了 3 个月后，我认为这是我所有 AI 订阅里 ROI 最高的。\n这篇文章把账算清楚，让你自己判断值不值。\nCopilot Pro+ 是什么 GitHub Copilot 有三个档位：\n档位 月费 核心区别 Copilot Free 免费 基础补全，每月 2000 次补全 Copilot Pro $10 无限补全，GPT-4o 模型 Copilot Pro+ $19 无限补全 + 高级模型额度 Pro+ 的关键差异：\n每月 1500 次高级模型使用：包括 Claude Sonnet 4.6、Claude Opus 4.6、o3 等 在 VS Code / JetBrains / Vim 里直接调用这些模型做代码生成 支持 Claude Code CLI 作为后端（OpenClaw 接入也是这个方式） 我的使用场景 我用 Copilot Pro+ 主要做两件事：\n1. 驱动 OpenClaw\nOpenClaw 支持通过 Copilot Pro+ 账号调用 Claude Opus，月费制，比按量计费省很多。 具体配置见：OpenClaw + Copilot 参数调优\n2. 驱动 Claude Code CLI\nClaude Code 官方支持用 Copilot 的 API Key 作为 Claude API 替代，等于每月 1500 次可以用 Opus 做重型任务，超出才走 Anthropic API 计费。\n成本账怎么算 如果纯走 Claude API（按量计费） 按我每月的实际用量估算：\n用途 Token 消耗/月 用 Sonnet 成本 用 Opus 成本 OpenClaw 运维任务 ~500K tokens ~$9 ~$45 Claude Code 编程 ~800K tokens ~$14 ~$72 策略分析讨论 ~200K tokens ~$4 ~$18 合计 ~1.5M tokens ~$27 ~$135 纯用 Sonnet 每月约 $27，纯用 Opus 约 $135。\n用 Copilot Pro+ 之后 Copilot Pro+：$19/月 覆盖 1500 次高级模型调用（大约对应 60-80 次复杂编程任务） 超出后降级到 Sonnet 或按量计费 实际 API 补充费用（超限部分）：~$8/月 总成本：$27/月（两个账号 $54，交替使用延长高级额度）\n这和纯用 Sonnet API 差不多，但获得了部分 Opus 质量。\n真正的价值：额度用在刀刃上 单纯从价格角度，Copilot Pro+ 不算特别便宜。它的真实价值是：\n1. 强迫你用最合适的模型\n有了月度额度限制，反而让我学会了什么任务用什么模型：\n简单运维用 Sonnet 真正需要深度的任务才用 Opus（月度 1500 次额度） 没有额度就不会乱用 Opus 2. IDE 内集成体验\n在 VS Code 里写代码的同时，直接 Ctrl+I 唤出 AI 修改，不需要开新标签页，上下文保留完整。这个体验比切到 claude.ai 网页效率高很多。\n3. 账号共享策略\n用两个 Copilot Pro+ 账号：\n账号 A 跑 OpenClaw（常驻后台任务） 账号 B 跑 Claude Code（即时编程任务） 两个账号的 1500 次额度相互独立，等于月度额度翻倍。\n什么人适合买 推荐买 Copilot Pro+ 的情况：\n每天有 2+ 小时编程工作 已经在用 OpenClaw 或 Claude Code 愿意花时间调教 AI 工作流 用 VS Code / JetBrains 系 IDE 不推荐的情况：\n每天只是偶尔问几个问题 → 用免费的 Claude.ai 就够 只是要代码补全 → Copilot Pro ($10) 够了 主要做非编程任务 → Claude Pro 订阅更合适 和 Claude Pro 的关系 很多人觉得两个订阅重叠了：\nClaude Pro Copilot Pro+ 月费 $20 $19 主要用途 claude.ai 网页对话 IDE 集成 + CLI 工具 模型质量上限 Opus Opus（额度更少） 开发场景适配 一般 好 非开发场景 好 一般 如果你主要做开发：Copilot Pro+ \u0026gt; Claude Pro 如果你做各种杂事：Claude Pro 更灵活\n我两个都订阅，但如果让我二选一，选 Copilot Pro+。\n省钱技巧 1. 通过 GitHub Education 免费获得\n学生 / 教师可以申请 GitHub Education，包含 Copilot Pro 免费额度（Pro，不是 Pro+）。\n2. 年付优惠\n年付比月付省 16%，如果确定要长期用，年付更合算。\n3. 配合 Prompt Cache\n在 Claude Code 里重复操作时，设置好 CLAUDE.md 作为上下文，命中 Prompt Cache 可以减少 API token 消耗，变相延长额度。\n延伸阅读：\nClaude Code 真实使用体验 OpenClaw + Copilot 参数调优 Claude API 省钱指南 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/copilot-pro-plus-review/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Computer screen displaying lines of code\" loading=\"lazy\" src=\"/images/copilot-pro-plus-review-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e我目前每月花 $80 订阅了两个 GitHub Copilot Pro+ 账号。这个数字初看不小，但用了 3 个月后，我认为这是我所有 AI 订阅里 ROI 最高的。\u003c/p\u003e\n\u003cp\u003e这篇文章把账算清楚，让你自己判断值不值。\u003c/p\u003e\n\u003ch2 id=\"copilot-pro-是什么\"\u003eCopilot Pro+ 是什么\u003c/h2\u003e\n\u003cp\u003eGitHub Copilot 有三个档位：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e档位\u003c/th\u003e\n          \u003cth\u003e月费\u003c/th\u003e\n          \u003cth\u003e核心区别\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCopilot Free\u003c/td\u003e\n          \u003ctd\u003e免费\u003c/td\u003e\n          \u003ctd\u003e基础补全，每月 2000 次补全\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCopilot Pro\u003c/td\u003e\n          \u003ctd\u003e$10\u003c/td\u003e\n          \u003ctd\u003e无限补全，GPT-4o 模型\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCopilot Pro+\u003c/td\u003e\n          \u003ctd\u003e$19\u003c/td\u003e\n          \u003ctd\u003e无限补全 + 高级模型额度\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003ePro+ 的关键差异：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e每月 1500 次高级模型使用\u003c/strong\u003e：包括 Claude Sonnet 4.6、Claude Opus 4.6、o3 等\u003c/li\u003e\n\u003cli\u003e在 VS Code / JetBrains / Vim 里直接调用这些模型做代码生成\u003c/li\u003e\n\u003cli\u003e支持 Claude Code CLI 作为后端（OpenClaw 接入也是这个方式）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"我的使用场景\"\u003e我的使用场景\u003c/h2\u003e\n\u003cp\u003e我用 Copilot Pro+ 主要做两件事：\u003c/p\u003e","title":"Copilot Pro+ 值不值买：用了 3 个月的真实 ROI 分析"},{"content":" DMIT 是我主力在用的 VPS 服务商，用了一年多。它的香港和美国节点在连接速度和稳定性上是我用过最好的，IP 被封概率也低。\n很多人看到 DMIT 的界面是英文，不知道怎么买，这篇文章把流程完整走一遍。\n为什么选 DMIT 选 VPS 的核心看三点：延迟、稳定性、IP 质量。\nDMIT 的优势：\n香港节点对国内延迟极低（广州通常 20-40ms） 使用 CN2 GIA 线路，国内三网直连 原生 IP，流媒体解锁能力强（Netflix、Disney+ 香港区） 支持 Hysteria2，UDP 性能好 IP 被封概率明显低于普通 BGP 线路 劣势：\n价格偏高（香港节点月费 $14.9 起） 热门套餐经常缺货 详细和其他服务商的对比：VPS 选购指南\n第一步：注册账号 访问 DMIT 官网。\n点右上角 Register 填写信息： First Name / Last Name：填真实姓名（用于账单） Email Address：常用邮箱 Password：设置强密码 点 Register 完成注册 去邮箱验证邮件（有时在垃圾邮件文件夹里） 注册完成后自动登录到控制面板（Client Area）。\n第二步：选择套餐 DMIT 有多个产品线，针对代理节点的推荐：\n香港节点（最推荐） 主页菜单 → Products → Hong Kong → PVM.HKG（Eyeball）\nEyeball 系列是对国内优化最好的线路，延迟最低。\n常见规格：\n套餐 内存 CPU 流量 月费 Tiny 1GB 1核 1TB ~$14.9 Small 2GB 2核 2TB ~$29.9 Medium 4GB 2核 4TB ~$58.9 个人代理节点用 Tiny 够了，Xray + Hysteria2 跑起来 1GB 内存绰绰有余。\n美国节点 主页菜单 → Products → Los Angeles\n美国节点有两条线路：\nPremium：对国内优化更好，CN2 GIA 出口 Economy：价格低，BGP 线路 做代理节点选 Premium，延迟 140-180ms，稳定。\n第三步：配置和下单 点击选好的套餐，进入配置页：\nBilling Cycle（计费周期）：Monthly（月付）或 Annually（年付，省 10-20%） Location：大多数情况固定，不用选 OS：选 Ubuntu 22.04（推荐，后续教程都基于 Ubuntu） SSH Key：可以上传公钥，比密码登录更安全（下面会讲） 检查右侧价格汇总 点 Continue 第四步：付款 DMIT 支持的支付方式：\n信用卡 / PayPal：直接绑卡或 PayPal 账号 加密货币：支持 USDT（TRC20 / ERC20）、BTC、ETH 等 支付宝：部分套餐支持 推荐用 USDT TRC20 支付：\n手续费极低（1-2 USDT） 不需要绑银行卡 即时到账 付款流程：\n选择支付方式 → Cryptocurrency → USDT (TRC20) 页面显示付款地址和金额 从你的钱包（交易所或 SafePal）转入对应金额 等待链上确认（TRC20 通常 1-2 分钟） DMIT 系统自动确认，VPS 开始部署 第五步：获取服务器信息 付款完成后约 5-15 分钟，VPS 部署完毕，收到邮件包含：\nIP 地址 root 密码（如果没有上传 SSH Key） SSH 端口（通常 22，DMIT 也可能是其他端口） 在 DMIT 控制面板里也能看到： My Services → 点进你的 VPS → Details\n第六步：SSH 连接 macOS / Linux 连接 # 使用密码登录 ssh root@你的VPS_IP # 使用 SSH Key 登录（推荐） ssh -i ~/.ssh/你的私钥文件 root@你的VPS_IP # 如果端口不是 22 ssh -p 端口号 root@你的VPS_IP 第一次连接会提示：\nThe authenticity of host \u0026#39;43.x.x.x\u0026#39; can\u0026#39;t be established. ECDSA key fingerprint is SHA256:xxxxx. Are you sure you want to continue connecting (yes/no)? 输入 yes 回车继续。\nWindows 连接 推荐使用 PuTTY 或 Windows 自带的 PowerShell：\n# PowerShell ssh root@你的VPS_IP SSH Key 配置（推荐，比密码更安全） 在本地生成 SSH Key 对：\n# 生成密钥（已有可跳过） ssh-keygen -t ed25519 -C \u0026#34;dmit-vps\u0026#34; # 查看公钥 cat ~/.ssh/id_ed25519.pub 把公钥内容粘贴到 DMIT 购买页的 SSH Key 字段，或者连上服务器后手动添加：\n# 在服务器上 mkdir -p ~/.ssh echo \u0026#34;你的公钥内容\u0026#34; \u0026gt;\u0026gt; ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys 第七步：服务器基础初始化 首次登录后建议做以下基础配置：\n# 更新系统 apt update \u0026amp;\u0026amp; apt upgrade -y # 安装常用工具 apt install -y curl wget vim htop unzip ufw # 修改 SSH 端口（避免扫描，可选） vim /etc/ssh/sshd_config # 找到 #Port 22，改成 Port 18022（或其他端口） systemctl restart sshd # 配置防火墙 ufw default deny incoming ufw default allow outgoing ufw allow 18022/tcp # SSH 新端口（先开放再重启 SSH） ufw allow 443/tcp ufw allow 443/udp # Hysteria2 需要 UDP ufw enable # 设置时区 timedatectl set-timezone Asia/Shanghai 重要： 修改 SSH 端口后，不要关闭当前会话。开新终端用新端口测试能否连接，确认可以才关旧会话。\n第八步：部署代理 基础环境配置好后，下一步是部署代理服务：\nXray VLESS+XTLS 部署教程 Hysteria2 部署教程 两个协议同时部署，mihomo 自动切换，是最稳的方案。\n常见问题 套餐显示 Out of Stock 怎么办 热门套餐（香港 Tiny）经常缺货。方法：\n关注 DMIT 官方 Telegram 频道，补货时第一时间通知 在 NodeSeek / HostLoc 等社区等人转让 暂时选稍贵的 Small 套餐，有货了再升降配 付款后长时间没有部署 加密货币付款：等链上确认。TRC20 通常 2 分钟，BTC 需要 6 个区块确认（约 1 小时）。\n超过 2 小时没消息，提工单（Tickets）联系客服，说明付款 txid。\nIP 被封了 DMIT 支持提工单申请换 IP，费用通常 $5-8。 详情见：VPS 被封 IP 怎么办\n流量用完了 套餐流量用完后，有的套餐会限速（不断线），有的直接断连。在控制面板 My Services 里可以看到当月流量使用情况。\n可以购买额外流量包，或者等下个月重置。\n有购买或配置问题，欢迎来 Telegram 找我。\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/dmit-vps-purchase-guide/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a close up of a server in a server room\" loading=\"lazy\" src=\"/images/dmit-vps-purchase-guide-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e 是我主力在用的 VPS 服务商，用了一年多。它的香港和美国节点在连接速度和稳定性上是我用过最好的，IP 被封概率也低。\u003c/p\u003e\n\u003cp\u003e很多人看到 DMIT 的界面是英文，不知道怎么买，这篇文章把流程完整走一遍。\u003c/p\u003e\n\u003ch2 id=\"为什么选-dmit\"\u003e为什么选 DMIT\u003c/h2\u003e\n\u003cp\u003e选 VPS 的核心看三点：延迟、稳定性、IP 质量。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eDMIT 的优势：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e香港节点对国内延迟极低（广州通常 20-40ms）\u003c/li\u003e\n\u003cli\u003e使用 CN2 GIA 线路，国内三网直连\u003c/li\u003e\n\u003cli\u003e原生 IP，流媒体解锁能力强（Netflix、Disney+ 香港区）\u003c/li\u003e\n\u003cli\u003e支持 Hysteria2，UDP 性能好\u003c/li\u003e\n\u003cli\u003eIP 被封概率明显低于普通 BGP 线路\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e劣势：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e价格偏高（香港节点月费 $14.9 起）\u003c/li\u003e\n\u003cli\u003e热门套餐经常缺货\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e详细和其他服务商的对比：\u003ca href=\"/posts/vps-selection-guide/\"\u003eVPS 选购指南\u003c/a\u003e\u003c/p\u003e\n\u003ch2 id=\"第一步注册账号\"\u003e第一步：注册账号\u003c/h2\u003e\n\u003cp\u003e访问 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT 官网\u003c/a\u003e。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e点右上角 \u003cstrong\u003eRegister\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e填写信息：\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFirst Name / Last Name\u003c/strong\u003e：填真实姓名（用于账单）\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEmail Address\u003c/strong\u003e：常用邮箱\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ePassword\u003c/strong\u003e：设置强密码\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e点 \u003cstrong\u003eRegister\u003c/strong\u003e 完成注册\u003c/li\u003e\n\u003cli\u003e去邮箱验证邮件（有时在垃圾邮件文件夹里）\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e注册完成后自动登录到控制面板（Client Area）。\u003c/p\u003e","title":"DMIT VPS 购买流程图文教程：从注册到第一次 SSH 连接"},{"content":" 很多人以为有了 VPS 代理节点就够了，其实不然。VPS 的 IP 来自数据中心，很多平台会针对数据中心 IP 做额外限制——OpenAI 不让数据中心 IP 注册、某些平台触发额外验证、账号因\u0026quot;异常登录\u0026quot;被限制……这些场景需要住宅 IP。\nIPRoyal 是我长期在用的住宅 IP 服务，这篇文章说清楚什么时候需要住宅 IP，以及怎么用。\n住宅 IP vs 数据中心 IP 对比项 数据中心 IP（VPS） 住宅 IP 来源 AWS、Google Cloud 等云服务商 真实家庭宽带 ISP 识别难度 容易被平台检测 极难区分（看起来就是普通用户） 速度 快，稳定 因 ISP 而异，可能有波动 价格 低（月付固定） 高（按流量 GB 计费） 适合用途 日常代理 需要\u0026quot;像真人\u0026quot;的操作 数据中心 IP 的 ASN（自治系统号）是已知的，Cloudflare、Google 等公司维护了这些 IP 段的黑名单。住宅 IP 的 ASN 是各地 ISP（中国移动、Comcast、Vodafone 等），和普通家庭用户没有区别。\n典型使用场景 场景 1：注册需要住宅 IP 的账号 部分服务只允许住宅 IP 注册，或者数据中心 IP 注册会触发人机验证：\nChatGPT / OpenAI：限制部分地区数据中心 IP Claude.ai：部分地区数据中心 IP 注册受限 Twitter / X：用数据中心 IP 批量注册容易封号 各类美区账号：需要美国住宅 IP 才能注册 操作流程：\nIPRoyal 选择目标国家/州（比如美国加州） 选择住宅代理套餐 获取代理地址和端口 配置到浏览器（推荐 Chrome + Proxy SwitchyOmega 插件） 验证 IP 归属后注册账号 场景 2：VPS 节点被封期间临时过渡 VPS IP 突然被封，手头没有其他备用节点，IPRoyal 按 GB 计费，买几 GB 撑过去：\n不需要月付，用多少买多少 临时使用 2-5 GB 通常够几天 换到住宅 IP 走，同时处理 VPS 换 IP 的问题 详情见：VPS 被封 IP 怎么办\n场景 3：AI 工具专线访问 部分 AI 工具（Claude API、OpenAI API）对调用 IP 有要求。使用住宅 IP 作为 API 调用出口，稳定性和通过率更高：\n在服务器上配置 IPRoyal 代理作为特定流量的出口：\n# curl 通过住宅 IP 代理 curl --proxy socks5://用户名:密码@gate.iproyal.cn:10000 \\ https://api.anthropic.com/v1/messages \\ -H \u0026#34;x-api-key: 你的Key\u0026#34; Python 代码里配置代理：\nimport httpx proxies = { \u0026#34;http://\u0026#34;: \u0026#34;socks5://用户名:密码@gate.iproyal.cn:10000\u0026#34;, \u0026#34;https://\u0026#34;: \u0026#34;socks5://用户名:密码@gate.iproyal.cn:10000\u0026#34;, } client = httpx.Client(proxies=proxies) response = client.post(\u0026#34;https://api.anthropic.com/v1/messages\u0026#34;, ...) 场景 4：数据采集 抓取需要登录的网站，或者对爬虫有限制的平台，住宅 IP 能绕过频率限制：\nimport requests # IPRoyal 旋转住宅 IP（每次请求换不同 IP） proxy = { \u0026#39;http\u0026#39;: \u0026#39;http://用户名:密码@gate.iproyal.cn:10000\u0026#39;, \u0026#39;https\u0026#39;: \u0026#39;http://用户名:密码@gate.iproyal.cn:10000\u0026#39; } session = requests.Session() session.proxies.update(proxy) # 这里可以配置是否旋转 IP # 旋转模式：每次请求自动换 IP # 粘性模式（sticky）：同一 session 保持同一 IP 场景 5：账号安全登录 已有账号在国内 IP 注册，现在需要从海外登录，使用对应国家的住宅 IP 降低风险：\n美国账号 → 用美国住宅 IP 登录 英国账号 → 用英国住宅 IP 登录 避免触发\u0026quot;异地登录\u0026quot;风控，减少账号被锁的概率。\nIPRoyal 的计费方式 IPRoyal 住宅 IP 按流量 GB 计费，有几种套餐：\n套餐 单价 适合场景 即用即付 ~$4/GB 偶尔用，量不大 批量套餐 $2-3/GB 固定需求，每月几十 GB 企业套餐 定制 大规模采集 对比其他服务商（Bright Data、Oxylabs），IPRoyal 性价比较好，质量也稳定。\n实际消耗参考：\n注册一个账号：~50MB 一次 AI 工具访问会话：~10-50MB 轻量数据采集（100 页）：~200-500MB 个人使用每月 1-5 GB 通常够用，成本 $5-15。\n注册和使用流程 访问 IPRoyal 注册账号 选择 Residential Proxies（住宅代理） 充值（支持信用卡/USDT） 进入控制面板，选择： 国家：US / UK / JP / HK 等 州/城市（可选）：部分平台需要精确到州 协议：HTTP / HTTPS / SOCKS5 旋转模式：旋转（每次换 IP）或 Sticky（保持同一 IP） 生成代理端点和凭证 标准格式：\ngate.iproyal.cn:10000:用户名:密码 和 VPS 代理的配合 我的代理体系：\n主力日常代理：DMIT VPS（VLESS+Reality / Hysteria2） ↓ 被封或特殊场景 备用过渡：IPRoyal 住宅 IP（按 GB 付费，不需要常开） ↓ 需要\u0026#34;像真人\u0026#34;的操作 专项场景：IPRoyal（账号注册、平台限制绕过） 三层互补，基本覆盖所有需求。\n延伸阅读：\nVPS 被封 IP 怎么办 VPS 选购指南 家庭网络多网关架构 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/iproyal-residential-ip/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A close up of a blue and black globe\" loading=\"lazy\" src=\"/images/iproyal-residential-ip-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e很多人以为有了 VPS 代理节点就够了，其实不然。VPS 的 IP 来自数据中心，很多平台会针对数据中心 IP 做额外限制——OpenAI 不让数据中心 IP 注册、某些平台触发额外验证、账号因\u0026quot;异常登录\u0026quot;被限制……这些场景需要住宅 IP。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=iproyal\"\u003eIPRoyal\u003c/a\u003e 是我长期在用的住宅 IP 服务，这篇文章说清楚什么时候需要住宅 IP，以及怎么用。\u003c/p\u003e\n\u003ch2 id=\"住宅-ip-vs-数据中心-ip\"\u003e住宅 IP vs 数据中心 IP\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e对比项\u003c/th\u003e\n          \u003cth\u003e数据中心 IP（VPS）\u003c/th\u003e\n          \u003cth\u003e住宅 IP\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e来源\u003c/td\u003e\n          \u003ctd\u003eAWS、Google Cloud 等云服务商\u003c/td\u003e\n          \u003ctd\u003e真实家庭宽带 ISP\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e识别难度\u003c/td\u003e\n          \u003ctd\u003e容易被平台检测\u003c/td\u003e\n          \u003ctd\u003e极难区分（看起来就是普通用户）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e速度\u003c/td\u003e\n          \u003ctd\u003e快，稳定\u003c/td\u003e\n          \u003ctd\u003e因 ISP 而异，可能有波动\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e价格\u003c/td\u003e\n          \u003ctd\u003e低（月付固定）\u003c/td\u003e\n          \u003ctd\u003e高（按流量 GB 计费）\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e适合用途\u003c/td\u003e\n          \u003ctd\u003e日常代理\u003c/td\u003e\n          \u003ctd\u003e需要\u0026quot;像真人\u0026quot;的操作\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e数据中心 IP 的 ASN（自治系统号）是已知的，Cloudflare、Google 等公司维护了这些 IP 段的黑名单。住宅 IP 的 ASN 是各地 ISP（中国移动、Comcast、Vodafone 等），和普通家庭用户没有区别。\u003c/p\u003e","title":"IPRoyal 住宅 IP 使用场景：什么时候需要住宅 IP"},{"content":" 家庭网络多网关架构那篇文章讲了整体架构，但规则怎么写没有细说。这篇单独讲 mihomo 的分流规则，从语法基础到实用配置模板，逐步拆解。\n规则的基本概念 mihomo 的流量分流通过 rules 字段控制，每条规则的格式：\n规则类型,匹配值,策略组 比如：\nrules: - DOMAIN-SUFFIX,google.com,代理 - IP-CIDR,192.168.0.0/16,DIRECT - GEOIP,CN,DIRECT - MATCH,代理 # 兜底规则，匹配所有剩余流量 规则按顺序匹配，第一条命中即执行，后面的不再判断。 顺序非常重要。\n规则类型详解 域名类规则 # 精确匹配域名 - DOMAIN,www.google.com,代理 # 匹配域名及其所有子域名（最常用） - DOMAIN-SUFFIX,google.com,代理 # 覆盖：google.com / mail.google.com / api.google.com # 域名关键词（性能较差，少用） - DOMAIN-KEYWORD,google,代理 # 匹配任何包含 \u0026#34;google\u0026#34; 的域名 # 正则表达式（最灵活，但最慢） - DOMAIN-REGEX,^.*\\.google\\.com$,代理 优先级建议： DOMAIN \u0026gt; DOMAIN-SUFFIX \u0026gt; DOMAIN-KEYWORD\n越精确的规则放越前面，性能更好，也避免误匹配。\nIP 类规则 # IPv4 CIDR - IP-CIDR,192.168.0.0/16,DIRECT - IP-CIDR,10.0.0.0/8,DIRECT - IP-CIDR,172.16.0.0/12,DIRECT # IPv6 CIDR - IP-CIDR6,::1/128,DIRECT # 注意：IP-CIDR 会触发 DNS 解析，对纯域名规则之前的流量有性能影响 # 建议加 no-resolve 后缀，跳过 DNS 解析直接匹配连接 IP - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve GeoIP 规则 根据 IP 所属国家分流：\n# 中国大陆 IP 直连 - GEOIP,CN,DIRECT # 私有 IP 直连 - GEOIP,PRIVATE,DIRECT,no-resolve GeoIP 数据库来自 MaxMind，mihomo 会自动更新。精度不是 100%，但对大多数场景足够。\n进程规则（仅桌面客户端） 按发起请求的进程名分流：\n# 特定应用走代理 - PROCESS-NAME,curl,代理 - PROCESS-NAME,wget,代理 # 开发工具直连 - PROCESS-NAME,node,DIRECT 端口规则 # 特定目标端口 - DST-PORT,80,DIRECT - DST-PORT,443,代理 # 端口范围 - DST-PORT,3000-3999,DIRECT 兜底规则 # MATCH 必须放在最后，匹配所有未命中规则的流量 - MATCH,代理 规则集（Rule Providers） 手动写每个域名不现实，mihomo 支持引入外部规则集：\nrule-providers: reject: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt\u0026#34; path: ./ruleset/reject.yaml interval: 86400 # 每天更新一次 direct: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt\u0026#34; path: ./ruleset/direct.yaml interval: 86400 proxy: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt\u0026#34; path: ./ruleset/proxy.yaml interval: 86400 gfw: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt\u0026#34; path: ./ruleset/gfw.yaml interval: 86400 cn-cidr: type: http behavior: ipcidr url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt\u0026#34; path: ./ruleset/cncidr.yaml interval: 86400 rules: - RULE-SET,reject,REJECT # 广告/恶意域名拦截 - RULE-SET,direct,DIRECT # 已知直连域名 - RULE-SET,proxy,代理 # 已知需要代理的域名 - RULE-SET,gfw,代理 # GFW 屏蔽域名 - RULE-SET,cn-cidr,DIRECT # 国内 IP 段 - GEOIP,CN,DIRECT - MATCH,代理 Loyalsoldier/clash-rules 是目前维护最好的规则集，覆盖全面，定期更新。\n完整配置模板 以下是我实际使用的配置结构，适合多节点 + 精细分流场景：\n# ── 代理节点 ── proxies: - name: \u0026#34;DMIT-HK-Reality\u0026#34; type: vless server: 43.x.x.x port: 443 uuid: 你的UUID flow: xtls-rprx-vision reality-opts: public-key: 你的公钥 servername: www.apple.com client-fingerprint: chrome tls: true - name: \u0026#34;DMIT-HK-Hysteria2\u0026#34; type: hysteria2 server: 43.x.x.x port: 443 password: 你的密码 sni: bing.com skip-cert-verify: true - name: \u0026#34;DMIT-US\u0026#34; type: vless # ... 美国节点配置 # ── 策略组 ── proxy-groups: # 主用香港节点（自动选速度最快的） - name: \u0026#34;香港\u0026#34; type: url-test url: http://www.gstatic.com/generate_204 interval: 60 tolerance: 50 proxies: - DMIT-HK-Reality - DMIT-HK-Hysteria2 # 备用美国 - name: \u0026#34;美国\u0026#34; type: url-test interval: 60 proxies: - DMIT-US # 自动故障切换 - name: \u0026#34;代理\u0026#34; type: fallback url: http://www.gstatic.com/generate_204 interval: 30 proxies: - 香港 - 美国 # 手动选择（用于特殊场景） - name: \u0026#34;手动\u0026#34; type: select proxies: - DMIT-HK-Reality - DMIT-HK-Hysteria2 - DMIT-US - DIRECT # 流媒体专用（用原生 IP 解锁） - name: \u0026#34;流媒体\u0026#34; type: select proxies: - DMIT-HK-Reality - DMIT-US # AI 工具（需要特定地区 IP） - name: \u0026#34;AI工具\u0026#34; type: select proxies: - DMIT-US - DMIT-HK-Reality # ── 规则集引入 ── rule-providers: reject: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt\u0026#34; path: ./ruleset/reject.yaml interval: 86400 direct: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt\u0026#34; path: ./ruleset/direct.yaml interval: 86400 proxy: type: http behavior: domain url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt\u0026#34; path: ./ruleset/proxy.yaml interval: 86400 cn-cidr: type: http behavior: ipcidr url: \u0026#34;https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt\u0026#34; path: ./ruleset/cncidr.yaml interval: 86400 # ── 分流规则 ── rules: # 广告拦截 - RULE-SET,reject,REJECT # 私有 IP 直连 - GEOIP,PRIVATE,DIRECT,no-resolve # AI 工具走美国节点 - DOMAIN-SUFFIX,openai.com,AI工具 - DOMAIN-SUFFIX,anthropic.com,AI工具 - DOMAIN-SUFFIX,claude.ai,AI工具 - DOMAIN-KEYWORD,openai,AI工具 # 流媒体 - DOMAIN-SUFFIX,netflix.com,流媒体 - DOMAIN-SUFFIX,nflxvideo.net,流媒体 - DOMAIN-SUFFIX,spotify.com,流媒体 - DOMAIN-SUFFIX,disneyplus.com,流媒体 # 国内直连规则集 - RULE-SET,direct,DIRECT # 代理规则集 - RULE-SET,proxy,代理 # 国内 IP 直连 - RULE-SET,cn-cidr,DIRECT,no-resolve - GEOIP,CN,DIRECT # 兜底走代理 - MATCH,代理 DNS 配置（防止 DNS 泄露） 规则配了但 DNS 没配好，会导致真实 IP 泄露或者规则不生效：\ndns: enable: true listen: 0.0.0.0:53 enhanced-mode: fake-ip # 或 redir-host，fake-ip 更推荐 fake-ip-range: 198.18.0.0/15 fake-ip-filter: # 这些域名不走 fake-ip - \u0026#39;*.lan\u0026#39; - localhost.ptlogin2.qq.com nameserver: - 223.5.5.5 # 阿里（国内查询） - 119.29.29.29 # 腾讯 fallback: # 国外域名走这里 - https://1.1.1.1/dns-over-https - https://8.8.8.8/dns-over-https fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4 调试技巧 查看规则命中情况 mihomo 提供 REST API，可以查看流量被哪条规则命中：\n# 查看连接列表（包含匹配的规则） curl http://127.0.0.1:9090/connections 在 Yacd / MetaCubeX 等 Dashboard 里更直观，可以实时看到每条连接走的是哪个节点、命中了哪条规则。\n测试特定域名的走向 # 用 mihomo 的 HTTP 代理测试 curl -x http://127.0.0.1:7890 https://www.google.com -I curl -x http://127.0.0.1:7890 https://www.baidu.com -I 延伸阅读：\n家庭网络多网关架构：mihomo 精细分流实战 Xray VLESS+XTLS 部署教程 Hysteria2 部署教程 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/mihomo-split-rules/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"a colorful toy on a table\" loading=\"lazy\" src=\"/images/mihomo-split-rules-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/posts/mihomo-multi-gateway/\"\u003e家庭网络多网关架构\u003c/a\u003e那篇文章讲了整体架构，但规则怎么写没有细说。这篇单独讲 mihomo 的分流规则，从语法基础到实用配置模板，逐步拆解。\u003c/p\u003e\n\u003ch2 id=\"规则的基本概念\"\u003e规则的基本概念\u003c/h2\u003e\n\u003cp\u003emihomo 的流量分流通过 \u003ccode\u003erules\u003c/code\u003e 字段控制，每条规则的格式：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e规则类型,匹配值,策略组\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e比如：\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003erules\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"l\"\u003eDOMAIN-SUFFIX,google.com,代理\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"l\"\u003eIP-CIDR,192.168.0.0/16,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"l\"\u003eGEOIP,CN,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e- \u003cspan class=\"l\"\u003eMATCH,代理         \u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"c\"\u003e# 兜底规则，匹配所有剩余流量\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e规则按顺序匹配，第一条命中即执行，后面的不再判断。\u003c/strong\u003e 顺序非常重要。\u003c/p\u003e\n\u003ch2 id=\"规则类型详解\"\u003e规则类型详解\u003c/h2\u003e\n\u003ch3 id=\"域名类规则\"\u003e域名类规则\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 精确匹配域名\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eDOMAIN,www.google.com,代理\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 匹配域名及其所有子域名（最常用）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eDOMAIN-SUFFIX,google.com,代理\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 覆盖：google.com / mail.google.com / api.google.com\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 域名关键词（性能较差，少用）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eDOMAIN-KEYWORD,google,代理\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 匹配任何包含 \u0026#34;google\u0026#34; 的域名\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 正则表达式（最灵活，但最慢）\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eDOMAIN-REGEX,^.*\\.google\\.com$,代理\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e优先级建议：\u003c/strong\u003e \u003ccode\u003eDOMAIN\u003c/code\u003e \u0026gt; \u003ccode\u003eDOMAIN-SUFFIX\u003c/code\u003e \u0026gt; \u003ccode\u003eDOMAIN-KEYWORD\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e越精确的规则放越前面，性能更好，也避免误匹配。\u003c/p\u003e\n\u003ch3 id=\"ip-类规则\"\u003eIP 类规则\u003c/h3\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# IPv4 CIDR\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eIP-CIDR,192.168.0.0/16,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eIP-CIDR,10.0.0.0/8,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eIP-CIDR,172.16.0.0/12,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# IPv6 CIDR\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eIP-CIDR6,::1/128,DIRECT\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 注意：IP-CIDR 会触发 DNS 解析，对纯域名规则之前的流量有性能影响\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c\"\u003e# 建议加 no-resolve 后缀，跳过 DNS 解析直接匹配连接 IP\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e- \u003cspan class=\"l\"\u003eIP-CIDR,192.168.0.0/16,DIRECT,no-resolve\u003c/span\u003e\u003cspan class=\"w\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"geoip-规则\"\u003eGeoIP 规则\u003c/h3\u003e\n\u003cp\u003e根据 IP 所属国家分流：\u003c/p\u003e","title":"mihomo 分流规则完全指南：从入门到精细控制"},{"content":" 跑着量化策略和代理节点的服务器，没有监控是非常危险的。凌晨内存爆了、磁盘满了、策略挂了——如果没有告警，可能几个小时后才发现。\n这篇文章从零开始，搭建一套完整的监控系统：被监控机器上跑 Node Exporter 采集指标，Prometheus 收集存储，Grafana 可视化展示，加上 Telegram 告警。\n架构说明 被监控 VPS（N台） 监控中心 VPS（1台） ┌──────────────┐ ┌─────────────────────┐ │ Node Exporter │ ──9100→ │ Prometheus（采集） │ │ Node Exporter │ ──9100→ │ Grafana（展示） │ │ Node Exporter │ ──9100→ │ Alertmanager（告警） │ └──────────────┘ └─────────────────────┘ 我的做法：一台小 VPS（1核1G 足够）作为监控中心，其他机器装 Node Exporter 暴露指标。\n第一步：在被监控机器上安装 Node Exporter 每台要监控的 VPS 都要做这一步。\n# 下载 Node Exporter（确认最新版本号） cd /tmp wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz tar xzf node_exporter-1.8.2.linux-amd64.tar.gz mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/ 创建 systemd 服务：\ncat \u0026gt; /etc/systemd/system/node_exporter.service \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; [Unit] Description=Node Exporter After=network.target [Service] Type=simple User=nobody ExecStart=/usr/local/bin/node_exporter --web.listen-address=:9100 Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable node_exporter --now 验证是否正常运行：\ncurl http://localhost:9100/metrics | head -20 # 看到大量指标输出说明正常 防火墙设置：\nNode Exporter 的 9100 端口只需要让 Prometheus 服务器访问，不要对公网开放：\n# 只允许监控中心 IP 访问 9100 ufw allow from 监控中心IP to any port 9100 # 不要执行 ufw allow 9100 ← 这会对所有人开放 第二步：在监控中心安装 Prometheus 这台服务器负责主动拉取所有机器的指标。\n# 创建专用用户 useradd --no-create-home --shell /bin/false prometheus # 下载 Prometheus cd /tmp wget https://github.com/prometheus/prometheus/releases/download/v2.51.2/prometheus-2.51.2.linux-amd64.tar.gz tar xzf prometheus-2.51.2.linux-amd64.tar.gz # 安装 mkdir -p /etc/prometheus /var/lib/prometheus cp prometheus-2.51.2.linux-amd64/prometheus /usr/local/bin/ cp prometheus-2.51.2.linux-amd64/promtool /usr/local/bin/ cp -r prometheus-2.51.2.linux-amd64/consoles /etc/prometheus/ cp -r prometheus-2.51.2.linux-amd64/console_libraries /etc/prometheus/ chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus 创建配置文件 /etc/prometheus/prometheus.yml：\nglobal: scrape_interval: 30s # 每 30 秒采集一次 evaluation_interval: 30s alerting: alertmanagers: - static_configs: - targets: [\u0026#39;localhost:9093\u0026#39;] rule_files: - /etc/prometheus/rules/*.yml scrape_configs: - job_name: \u0026#39;node\u0026#39; static_configs: - targets: - \u0026#39;aws-hk-IP:9100\u0026#39; # 香港节点 - \u0026#39;aws-us-IP:9100\u0026#39; # 美国节点 - \u0026#39;aws-jp-IP:9100\u0026#39; # 日本节点 - \u0026#39;dmit-us-IP:9100\u0026#39; # DMIT 美国 labels: env: \u0026#39;production\u0026#39; 创建 systemd 服务：\ncat \u0026gt; /etc/systemd/system/prometheus.service \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; [Unit] Description=Prometheus After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/bin/prometheus \\ --config.file=/etc/prometheus/prometheus.yml \\ --storage.tsdb.path=/var/lib/prometheus \\ --storage.tsdb.retention.time=30d \\ --web.listen-address=:9090 Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable prometheus --now 访问 http://监控中心IP:9090 验证，在 Status → Targets 里能看到所有被监控机器的状态。\n第三步：安装 Grafana # 添加 Grafana APT 源 apt-get install -y apt-transport-https software-properties-common wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key echo \u0026#34;deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main\u0026#34; | \\ tee /etc/apt/sources.list.d/grafana.list apt-get update apt-get install -y grafana systemctl enable grafana-server --now Grafana 默认跑在 3000 端口，访问 http://监控中心IP:3000：\n默认账号：admin 默认密码：admin（登录后会要求修改） 添加 Prometheus 数据源 左侧菜单 → Connections → Data sources 点 Add data source → 选 Prometheus URL 填 http://localhost:9090 点 Save \u0026amp; test，显示\u0026quot;Data source is working\u0026quot;即成功 导入现成 Dashboard 不用自己画图，直接导入社区的成熟 Dashboard：\n左侧菜单 → Dashboards → Import 填入 Dashboard ID：1860（Node Exporter Full，最常用） 选择 Prometheus 数据源 点 Import 这个 Dashboard 包含：CPU 使用率、内存、磁盘 IO、网络流量、系统负载、文件系统空间，非常完整。\n第四步：配置 Telegram 告警 光有图表不够，机器出问题要第一时间收到通知。\n创建 Telegram Bot 在 Telegram 里找 @BotFather 发送 /newbot，给 bot 起名字 保存返回的 Bot Token（格式：1234567890:ABCD...） 给 bot 发一条消息，然后访问 https://api.telegram.org/bot你的TOKEN/getUpdates 获取 chat_id 安装 Alertmanager cd /tmp wget https://github.com/prometheus/alertmanager/releases/download/v0.27.0/alertmanager-0.27.0.linux-amd64.tar.gz tar xzf alertmanager-0.27.0.linux-amd64.tar.gz cp alertmanager-0.27.0.linux-amd64/alertmanager /usr/local/bin/ mkdir -p /etc/alertmanager 创建 /etc/alertmanager/alertmanager.yml：\nglobal: resolve_timeout: 5m route: receiver: telegram group_wait: 30s group_interval: 5m repeat_interval: 4h receivers: - name: telegram telegram_configs: - bot_token: \u0026#39;你的Bot Token\u0026#39; chat_id: 你的chat_id message: | 🚨 告警：{{ .GroupLabels.alertname }} 主机：{{ .GroupLabels.instance }} 详情：{{ range .Alerts }}{{ .Annotations.description }}{{ end }} send_resolved: true cat \u0026gt; /etc/systemd/system/alertmanager.service \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; [Unit] Description=Alertmanager After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/bin/alertmanager \\ --config.file=/etc/alertmanager/alertmanager.yml \\ --storage.path=/var/lib/alertmanager Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable alertmanager --now 配置告警规则 创建 /etc/prometheus/rules/node_alerts.yml：\ngroups: - name: node_alerts rules: # CPU 超过 85% 持续 5 分钟 - alert: HighCPUUsage expr: 100 - (avg by(instance) (irate(node_cpu_seconds_total{mode=\u0026#34;idle\u0026#34;}[5m])) * 100) \u0026gt; 85 for: 5m annotations: description: \u0026#34;{{ $labels.instance }} CPU 使用率 {{ $value | printf \\\u0026#34;%.1f\\\u0026#34; }}%\u0026#34; # 内存可用低于 10% - alert: LowMemory expr: (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 \u0026lt; 10 for: 2m annotations: description: \u0026#34;{{ $labels.instance }} 可用内存仅剩 {{ $value | printf \\\u0026#34;%.1f\\\u0026#34; }}%\u0026#34; # 磁盘使用超过 85% - alert: DiskSpaceLow expr: (node_filesystem_avail_bytes{mountpoint=\u0026#34;/\u0026#34;} / node_filesystem_size_bytes{mountpoint=\u0026#34;/\u0026#34;}) * 100 \u0026lt; 15 for: 5m annotations: description: \u0026#34;{{ $labels.instance }} 磁盘剩余 {{ $value | printf \\\u0026#34;%.1f\\\u0026#34; }}%\u0026#34; # 机器宕机（超过 2 分钟无法采集） - alert: InstanceDown expr: up == 0 for: 2m annotations: description: \u0026#34;{{ $labels.instance }} 已离线超过 2 分钟\u0026#34; 重载配置：\nsystemctl reload prometheus # 或者 curl -X POST http://localhost:9090/-/reload 第五步：用 Nginx 反向代理（安全访问） 不建议直接把 Grafana 的 3000 端口暴露到公网，用 Nginx 加一层：\napt install nginx -y cat \u0026gt; /etc/nginx/sites-available/grafana \u0026lt;\u0026lt; \u0026#39;EOF\u0026#39; server { listen 80; server_name grafana.yourdomain.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name grafana.yourdomain.com; ssl_certificate /etc/letsencrypt/live/grafana.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/grafana.yourdomain.com/privkey.pem; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } EOF ln -s /etc/nginx/sites-available/grafana /etc/nginx/sites-enabled/ nginx -t \u0026amp;\u0026amp; systemctl reload nginx SSL 证书用 acme.sh 自动申请：\ncurl https://get.acme.sh | sh ~/.acme.sh/acme.sh --issue -d grafana.yourdomain.com --nginx ~/.acme.sh/acme.sh --install-cert -d grafana.yourdomain.com \\ --cert-file /etc/letsencrypt/live/grafana.yourdomain.com/fullchain.pem \\ --key-file /etc/letsencrypt/live/grafana.yourdomain.com/privkey.pem \\ --reloadcmd \u0026#34;systemctl reload nginx\u0026#34; 效果展示 搭建完成后你能看到：\n每台机器的 CPU / 内存 / 磁盘实时曲线 网络流量 in/out，清楚看到哪个节点在跑大流量 系统负载趋势，量化策略重算时的压力一眼看出 机器宕机或指标异常，Telegram 立刻收到告警 延伸阅读：\nVPS 被封 IP 怎么办 家庭网络多网关架构 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/prometheus-grafana-vps-monitoring/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"black flat screen tv showing game\" loading=\"lazy\" src=\"/images/prometheus-grafana-vps-monitoring-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e跑着量化策略和代理节点的服务器，没有监控是非常危险的。凌晨内存爆了、磁盘满了、策略挂了——如果没有告警，可能几个小时后才发现。\u003c/p\u003e\n\u003cp\u003e这篇文章从零开始，搭建一套完整的监控系统：被监控机器上跑 \u003cstrong\u003eNode Exporter\u003c/strong\u003e 采集指标，\u003cstrong\u003ePrometheus\u003c/strong\u003e 收集存储，\u003cstrong\u003eGrafana\u003c/strong\u003e 可视化展示，加上 \u003cstrong\u003eTelegram 告警\u003c/strong\u003e。\u003c/p\u003e\n\u003ch2 id=\"架构说明\"\u003e架构说明\u003c/h2\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e被监控 VPS（N台）          监控中心 VPS（1台）\n┌──────────────┐          ┌─────────────────────┐\n│ Node Exporter │ ──9100→ │ Prometheus（采集）   │\n│ Node Exporter │ ──9100→ │ Grafana（展示）      │\n│ Node Exporter │ ──9100→ │ Alertmanager（告警） │\n└──────────────┘          └─────────────────────┘\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e我的做法：一台小 VPS（1核1G 足够）作为监控中心，其他机器装 Node Exporter 暴露指标。\u003c/p\u003e\n\u003ch2 id=\"第一步在被监控机器上安装-node-exporter\"\u003e第一步：在被监控机器上安装 Node Exporter\u003c/h2\u003e\n\u003cp\u003e每台要监控的 VPS 都要做这一步。\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 下载 Node Exporter（确认最新版本号）\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e /tmp\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003ewget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003etar xzf node_exporter-1.8.2.linux-amd64.tar.gz\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003emv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e创建 systemd 服务：\u003c/p\u003e","title":"Prometheus + Grafana 监控 VPS：从零搭建服务器监控系统"},{"content":" 在交易所里放着的加密资产，你不是真正的拥有者——\u0026ldquo;Not your keys, not your coins\u0026rdquo;。交易所跑路、被黑客攻击、账号被封，资产随时可能消失。资产规模超过一定量之后，硬件钱包是必须考虑的配置。\nSafePal 是 Binance Labs 投资的硬件钱包品牌，支持 100+ 区块链，性价比在同类产品里算高的。这篇文章从零讲清楚怎么用。\n硬件钱包的原理 硬件钱包是一个专用的安全设备，私钥永远不会离开设备。签名在设备内部完成，接入电脑时只传出签名结果，私钥本身永远不暴露。\n和软件钱包（MetaMask、imToken）的区别：\n软件钱包 硬件钱包 私钥存储位置 手机/电脑内存 硬件安全芯片 被黑客入侵风险 有（设备中毒可能泄露） 极低 使用便利性 方便 需要物理操作 价格 免费 $50-200 适合场景 频繁交易的小额 长期持有的大额 什么情况下需要硬件钱包：\n资产规模超过 $5000（这是个模糊的阈值，根据自己承受能力判断） 打算长期持有不频繁交易 对交易所安全有顾虑 SafePal S1 开箱验证 收到设备后，首先验证包装完整性：\n检查外包装封条是否完整，有无破损或重新封装的痕迹 设备背面有防伪二维码，扫描后访问 SafePal 官网验证 正版设备出厂时屏幕显示\u0026quot;Welcome to SafePal\u0026quot;，不会有任何预装助记词 ⚠️ 如果收到设备已有助记词，或者卖家声称已经为你初始化好，立刻退货。这是常见的诈骗手法。\n初始化设置 第一步：充电 SafePal S1 内置电池，首次使用前充电至满。使用 USB-C 接口充电，充电过程中可以操作。\n第二步：开机和语言设置 长按电源键开机，按照界面提示：\n选择语言（支持中文） 选择字体大小 第三步：创建新钱包 选择 创建新钱包（不要选恢复钱包，除非你在恢复旧钱包）。\n设置 6 位 PIN 码：\n这是每次解锁设备的密码 选择不容易被猜到的数字组合 不要和任何人分享 连续错误 10 次设备会自动恢复出厂设置 第四步：备份助记词（最关键的步骤） 设备会显示 12 个英文单词（助记词）。这 12 个词就是你钱包的\u0026quot;根\u0026quot;，知道这 12 个词的人可以在任何钱包软件里恢复你的资产。\n正确的备份方式：\n✅ 抄写在纸上，保存在安全的地方（保险柜、防火防水的盒子） ✅ 多份备份，放在不同位置（防止单点丢失） ✅ 可以考虑金属刻字（防水防火防腐蚀） ❌ 不要拍照 ❌ 不要存在手机备忘录 ❌ 不要发给任何人，包括\u0026#34;客服\u0026#34; ❌ 不要存在云盘（iCloud、Google Drive） ❌ 不要输入到任何网站 抄写完成后，设备会要求你按顺序选出几个词来验证，确认你已经记录。\n第五步：验证助记词 设备随机挑几个位置，要求你从选项里选出正确的词。通过验证后钱包创建完成。\n添加币种 SafePal 支持 BTC、ETH、BNB、USDT（多链）、SOL 等主流币和上百种代币。\n主界面点 + 添加资产 搜索币种名称（如 USDT） 选择对应的网络（USDT 有 TRC20、ERC20、BEP20 等多个版本，注意选对） 添加后会生成对应的收款地址 注意：不同网络的 USDT 地址不同，转错网络资产会丢失。\n接收资产 主界面选择币种 点 接收 显示二维码和地址 把地址复制给对方，或让对方扫码 建议每次接收前，在设备屏幕上仔细核对地址，防止电脑屏幕被篡改显示假地址。\n发送资产 SafePal S1 不需要连接电脑，使用 QR 码交互（Air-Gapped 设计）：\n在手机上打开 SafePal App App 里选择发送，填写金额和目标地址 App 生成一个动态 QR 码 用 S1 的摄像头扫描这个 QR 码 在 S1 屏幕上核对交易信息（地址、金额、手续费） 确认后 S1 生成签名 QR 码 用手机 App 的摄像头扫描 S1 显示的签名 QR 码 App 把签名广播到区块链网络 全程私钥不接触网络，安全性极高。\n手续费设置 发送时可以调整 Gas 费用（矿工费）：\n低：省钱，但交易确认可能慢 中：平衡 高：优先确认，适合市场拥堵时 BTC 网络拥堵时手续费可能高达几美元；TRC20 网络手续费极低（通常 1-2 USDT），适合小额转账。\n和交易所的配合方式 我的资产管理策略：\n交易所（Binance） ↓ 用于量化交易的资金（频繁操作） SafePal 冷钱包 ↓ 长期持有的资产（不动的部分） IPRoyal 等中间层（如有需要） ↓ 临时出金入金通道 具体比例： 量化交易资金放交易所，超出交易所的资产定期转入冷钱包。\n安全注意事项 助记词是一切，保护好它\n设备丢失可以用助记词恢复 助记词丢失或泄露则资产不可找回 定期验证备份\n每隔几个月，用助记词在另一台钱包上验证能否恢复 确认备份的纸张/金属没有损坏 不要买二手设备\n二手设备可能被篡改，安全芯片可能已被替换 软件更新\n定期更新 SafePal 固件（在 App 里操作） 固件更新修复安全漏洞 遗产规划\n考虑如何让家人在你无法操作时访问资产 可以将助记词存放在律师或保险柜，附说明文件 延伸阅读：\nBinance API 安全配置 Pionex 网格机器人实战 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/safepal-hardware-wallet/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A black leather wallet partially open with visible paper cur\" loading=\"lazy\" src=\"/images/safepal-hardware-wallet-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e在交易所里放着的加密资产，你不是真正的拥有者——\u0026ldquo;Not your keys, not your coins\u0026rdquo;。交易所跑路、被黑客攻击、账号被封，资产随时可能消失。资产规模超过一定量之后，硬件钱包是必须考虑的配置。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=safepal\"\u003eSafePal\u003c/a\u003e 是 Binance Labs 投资的硬件钱包品牌，支持 100+ 区块链，性价比在同类产品里算高的。这篇文章从零讲清楚怎么用。\u003c/p\u003e\n\u003ch2 id=\"硬件钱包的原理\"\u003e硬件钱包的原理\u003c/h2\u003e\n\u003cp\u003e硬件钱包是一个专用的安全设备，\u003cstrong\u003e私钥永远不会离开设备\u003c/strong\u003e。签名在设备内部完成，接入电脑时只传出签名结果，私钥本身永远不暴露。\u003c/p\u003e\n\u003cp\u003e和软件钱包（MetaMask、imToken）的区别：\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e\u003c/th\u003e\n          \u003cth\u003e软件钱包\u003c/th\u003e\n          \u003cth\u003e硬件钱包\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e私钥存储位置\u003c/td\u003e\n          \u003ctd\u003e手机/电脑内存\u003c/td\u003e\n          \u003ctd\u003e硬件安全芯片\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e被黑客入侵风险\u003c/td\u003e\n          \u003ctd\u003e有（设备中毒可能泄露）\u003c/td\u003e\n          \u003ctd\u003e极低\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e使用便利性\u003c/td\u003e\n          \u003ctd\u003e方便\u003c/td\u003e\n          \u003ctd\u003e需要物理操作\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e价格\u003c/td\u003e\n          \u003ctd\u003e免费\u003c/td\u003e\n          \u003ctd\u003e$50-200\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e适合场景\u003c/td\u003e\n          \u003ctd\u003e频繁交易的小额\u003c/td\u003e\n          \u003ctd\u003e长期持有的大额\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003e什么情况下需要硬件钱包：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e资产规模超过 $5000（这是个模糊的阈值，根据自己承受能力判断）\u003c/li\u003e\n\u003cli\u003e打算长期持有不频繁交易\u003c/li\u003e\n\u003cli\u003e对交易所安全有顾虑\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"safepal-s1-开箱验证\"\u003eSafePal S1 开箱验证\u003c/h2\u003e\n\u003cp\u003e收到设备后，首先验证包装完整性：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e检查外包装封条是否完整，有无破损或重新封装的痕迹\u003c/li\u003e\n\u003cli\u003e设备背面有防伪二维码，扫描后访问 SafePal 官网验证\u003c/li\u003e\n\u003cli\u003e正版设备出厂时屏幕显示\u0026quot;Welcome to SafePal\u0026quot;，不会有任何预装助记词\u003c/li\u003e\n\u003c/ol\u003e\n\u003cblockquote\u003e\n\u003cp\u003e⚠️ 如果收到设备已有助记词，或者卖家声称已经为你初始化好，立刻退货。这是常见的诈骗手法。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2 id=\"初始化设置\"\u003e初始化设置\u003c/h2\u003e\n\u003ch3 id=\"第一步充电\"\u003e第一步：充电\u003c/h3\u003e\n\u003cp\u003eSafePal S1 内置电池，首次使用前充电至满。使用 USB-C 接口充电，充电过程中可以操作。\u003c/p\u003e","title":"SafePal 硬件钱包使用教程：加密资产冷存储完整指南"},{"content":" 止损是量化策略里最容易被忽视、也最容易出问题的模块。很多新手策略回测看起来不错，实盘一跑就崩，往往根源在止损设计有问题：要么止损太宽导致单次亏损过大，要么止损太紧被市场噪音频繁触发。\n这篇文章从 北极星策略 的实际设计出发，讲通用的止损设计思路。\n为什么需要止损 止损本质上是承认错误的机制。趋势跟踪策略的逻辑是：大多数时候市场没有趋势，策略会小亏；少数时候有趋势，策略要大赚，用大赚覆盖小亏。\n如果没有止损，那次\u0026quot;大亏\u0026quot;有可能把账户打穿，后面的大赚机会都没了。\n数学上，止损控制的是单次最大亏损，进而控制最大回撤：\n最大回撤 ≈ f(止损比例, 连续亏损次数, 胜率) 策略在某段时间内 5 连败是很正常的，如果每次亏 10%，5 连败后账户还剩 59%；如果每次亏 3%，5 连败后还剩 85%，差距非常大。\n止损类型 1. 固定百分比止损 最简单的方式：入场后亏损超过固定比例就出场。\n# 入场价 40000，止损 3% entry_price = 40000 stop_loss_pct = 0.03 stop_price_long = entry_price * (1 - stop_loss_pct) # 做多止损：38800 stop_price_short = entry_price * (1 + stop_loss_pct) # 做空止损：41200 优点： 简单、可计算、风险固定 缺点： 忽略了市场的波动率，BTC 平时日内波动可能就有 3%，容易被噪音触发\n适用场景： 高时间周期（日线以上），或者已经验证止损比例远大于平均波动\n2. ATR 动态止损（推荐） ATR（Average True Range，平均真实波幅）衡量的是市场最近的波动率。用 ATR 倍数设止损，波动大的时候止损宽，波动小的时候止损窄，更贴近市场实际。\nimport pandas as pd def calculate_atr(df, period=14): \u0026#34;\u0026#34;\u0026#34;计算 ATR\u0026#34;\u0026#34;\u0026#34; high = df[\u0026#39;high\u0026#39;] low = df[\u0026#39;low\u0026#39;] close = df[\u0026#39;close\u0026#39;] tr1 = high - low tr2 = abs(high - close.shift(1)) tr3 = abs(low - close.shift(1)) true_range = pd.concat([tr1, tr2, tr3], axis=1).max(axis=1) atr = true_range.rolling(period).mean() return atr def get_stop_price(entry_price, atr_value, direction, multiplier=2.0): \u0026#34;\u0026#34;\u0026#34;基于 ATR 的止损价\u0026#34;\u0026#34;\u0026#34; if direction == \u0026#39;long\u0026#39;: return entry_price - atr_value * multiplier else: return entry_price + atr_value * multiplier # 示例：BTC 1H，ATR=1200，入场 40000，做多 # 止损 = 40000 - 1200 * 2 = 37600（-6%） ATR 倍数选择：\n1.0 - 1.5：较紧，信噪比低的市场容易被触发 2.0 - 3.0：适中，大多数趋势策略的合理范围 4.0+：宽松，适合捕捉大趋势但单次亏损大 北极星策略在 1H 时间框架上，经过回测验证，固定百分比止损比 ATR 止损更稳定。原因是 BTC 的 ATR 在趋势行情里会快速扩大，导致止损越来越宽。\n3. 追踪止损（Trailing Stop Loss） 入场后止损跟随价格移动，锁定浮盈，不让盈利全部回吐。\nclass TrailingStop: def __init__(self, entry_price, direction, trail_pct=0.05): self.direction = direction self.trail_pct = trail_pct if direction == \u0026#39;long\u0026#39;: self.best_price = entry_price self.stop_price = entry_price * (1 - trail_pct) else: self.best_price = entry_price self.stop_price = entry_price * (1 + trail_pct) def update(self, current_price): \u0026#34;\u0026#34;\u0026#34;每根 K 线更新一次\u0026#34;\u0026#34;\u0026#34; if self.direction == \u0026#39;long\u0026#39;: if current_price \u0026gt; self.best_price: self.best_price = current_price self.stop_price = current_price * (1 - self.trail_pct) else: if current_price \u0026lt; self.best_price: self.best_price = current_price self.stop_price = current_price * (1 + self.trail_pct) return self.stop_price def is_triggered(self, current_price): if self.direction == \u0026#39;long\u0026#39;: return current_price \u0026lt;= self.stop_price else: return current_price \u0026gt;= self.stop_price 追踪止损适合的场景：\n已经有一定浮盈，不想全部亏回去 趋势行情，想持仓跑行情同时保护利润 不适合的场景：\n震荡行情，价格来回波动，追踪止损频繁触发又频繁进场 4. 时间止损 持仓超过一定时间没有达到预期方向就出场，无论是否亏损：\ndef check_time_stop(entry_time, current_time, max_bars=48): \u0026#34;\u0026#34;\u0026#34;持仓超过 48 根 K 线（1H = 2天）强制出场\u0026#34;\u0026#34;\u0026#34; bars_held = (current_time - entry_time).total_seconds() / 3600 return bars_held \u0026gt;= max_bars 时间止损的逻辑：如果入场后行情迟迟不启动，说明判断可能有误，解放资金去找更好的机会。\n北极星策略的止损设计 不展开具体参数，但讲一下设计思路：\n核心原则：固定止损比例 + 冷却期保护\n用固定百分比止损而不是 ATR，原因是：\n参数更稳定，不随市场波动率变化 回测中信号更清晰 配合分批止盈，整体期望值经过优化 止损触发后有冷却期，这段时间内不允许再开新仓。冷却期的作用：\n避免在震荡行情里反复被打止损 让市场方向更清晰后再介入 减少手续费损耗 止盈和止损的配合：\n好的策略，止盈设计和止损一样重要。北极星策略采用分批止盈：\n第一笔在较小盈利时止盈，降低风险敞口 持有剩余仓位跟随趋势 最终全部止盈或被整体止损带走 这样的设计保证了：即使后续行情反转，前几笔止盈已经锁定了部分利润。\n止损参数如何确定 回测是唯一可靠的方法，但要注意避坑：\n1. 在样本外数据验证\n用 2020-2023 年数据优化参数，然后用 2024-2025 年数据验证，不能用同一段数据。\n2. 关注最大回撤而不是胜率\n胜率高不代表好策略，最大回撤控制在多少以内才是关键：\n20% 以内：比较舒适，心理承受范围内 30% 以上：大多数人在这里扛不住会手动干预 3. 别过拟合\n止损如果精确到小数点后两位（比如 3.17%），大概率是过拟合。通用参数用整数或半整数（1%、2%、2.5%）即可。\n4. 用蒙特卡洛模拟\n随机打乱交易顺序，模拟 1000 种可能的序列，看最大回撤分布：\nimport numpy as np def monte_carlo_max_drawdown(returns, n_simulations=1000): \u0026#34;\u0026#34;\u0026#34;蒙特卡洛模拟最大回撤\u0026#34;\u0026#34;\u0026#34; max_drawdowns = [] for _ in range(n_simulations): shuffled = np.random.permutation(returns) cumulative = np.cumprod(1 + shuffled) peak = np.maximum.accumulate(cumulative) drawdown = (peak - cumulative) / peak max_drawdowns.append(drawdown.max()) return { \u0026#39;median\u0026#39;: np.median(max_drawdowns), \u0026#39;p95\u0026#39;: np.percentile(max_drawdowns, 95), \u0026#39;worst\u0026#39;: max(max_drawdowns) } 如果 p95 的最大回撤在你承受范围内，这套止损参数才算稳健。\n实盘中的止损执行 设计好止损只是第一步，实盘执行也有坑：\n1. 用限价单还是市价单\n市价单：确保成交，但滑点大（BTC 波动剧烈时可能滑点 0.1-0.5%） 限价单：控制成交价，但可能没成交（价格跳过止损价） 极端行情建议用市价单，宁可付滑点也要确保执行。\n2. 止损单要放到交易所\n不要只在程序里判断，要把止损单挂到交易所：\n# Binance 创建止损单 order = client.create_order( symbol=\u0026#39;BTCUSDT\u0026#39;, side=\u0026#39;SELL\u0026#39;, type=\u0026#39;STOP_MARKET\u0026#39;, stopPrice=stop_price, closePosition=True, # 全仓平仓 timeInForce=\u0026#39;GTC\u0026#39; ) 即使策略程序宕机，交易所里的止损单仍然有效。\n3. 定期验证止损单是否存在\n策略程序启动时检查挂单：\ndef verify_stop_loss(client, symbol): \u0026#34;\u0026#34;\u0026#34;验证止损单是否存在\u0026#34;\u0026#34;\u0026#34; open_orders = client.get_open_orders(symbol=symbol) stop_orders = [o for o in open_orders if o[\u0026#39;type\u0026#39;] == \u0026#39;STOP_MARKET\u0026#39;] if not stop_orders: print(\u0026#34;⚠️ 警告：止损单不存在！\u0026#34;) # 重新挂单逻辑 延伸阅读：\n北极星策略实盘跟踪 用 Claude 写量化策略 Binance API 安全配置 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/quant-stop-loss-design/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Futuristic abstract digital render depicting geometric shape\" loading=\"lazy\" src=\"/images/quant-stop-loss-design-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e止损是量化策略里最容易被忽视、也最容易出问题的模块。很多新手策略回测看起来不错，实盘一跑就崩，往往根源在止损设计有问题：要么止损太宽导致单次亏损过大，要么止损太紧被市场噪音频繁触发。\u003c/p\u003e\n\u003cp\u003e这篇文章从 \u003ca href=\"/posts/polaris-strategy-intro/\"\u003e北极星策略\u003c/a\u003e 的实际设计出发，讲通用的止损设计思路。\u003c/p\u003e\n\u003ch2 id=\"为什么需要止损\"\u003e为什么需要止损\u003c/h2\u003e\n\u003cp\u003e止损本质上是\u003cstrong\u003e承认错误的机制\u003c/strong\u003e。趋势跟踪策略的逻辑是：大多数时候市场没有趋势，策略会小亏；少数时候有趋势，策略要大赚，用大赚覆盖小亏。\u003c/p\u003e\n\u003cp\u003e如果没有止损，那次\u0026quot;大亏\u0026quot;有可能把账户打穿，后面的大赚机会都没了。\u003c/p\u003e\n\u003cp\u003e数学上，止损控制的是\u003cstrong\u003e单次最大亏损\u003c/strong\u003e，进而控制\u003cstrong\u003e最大回撤\u003c/strong\u003e：\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e最大回撤 ≈ f(止损比例, 连续亏损次数, 胜率)\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e策略在某段时间内 5 连败是很正常的，如果每次亏 10%，5 连败后账户还剩 59%；如果每次亏 3%，5 连败后还剩 85%，差距非常大。\u003c/p\u003e\n\u003ch2 id=\"止损类型\"\u003e止损类型\u003c/h2\u003e\n\u003ch3 id=\"1-固定百分比止损\"\u003e1. 固定百分比止损\u003c/h3\u003e\n\u003cp\u003e最简单的方式：入场后亏损超过固定比例就出场。\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 入场价 40000，止损 3%\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e40000\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003estop_loss_pct\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mf\"\u003e0.03\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003estop_price_long\u003c/span\u003e  \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003estop_loss_pct\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e  \u003cspan class=\"c1\"\u003e# 做多止损：38800\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003estop_price_short\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003estop_loss_pct\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e  \u003cspan class=\"c1\"\u003e# 做空止损：41200\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003e优点：\u003c/strong\u003e 简单、可计算、风险固定\n\u003cstrong\u003e缺点：\u003c/strong\u003e 忽略了市场的波动率，BTC 平时日内波动可能就有 3%，容易被噪音触发\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e适用场景：\u003c/strong\u003e 高时间周期（日线以上），或者已经验证止损比例远大于平均波动\u003c/p\u003e\n\u003ch3 id=\"2-atr-动态止损推荐\"\u003e2. ATR 动态止损（推荐）\u003c/h3\u003e\n\u003cp\u003eATR（Average True Range，平均真实波幅）衡量的是市场最近的波动率。用 ATR 倍数设止损，波动大的时候止损宽，波动小的时候止损窄，更贴近市场实际。\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-python\" data-lang=\"python\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kn\"\u003eimport\u003c/span\u003e \u003cspan class=\"nn\"\u003epandas\u003c/span\u003e \u003cspan class=\"k\"\u003eas\u003c/span\u003e \u003cspan class=\"nn\"\u003epd\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003ecalculate_atr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eperiod\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"mi\"\u003e14\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"s2\"\u003e\u0026#34;\u0026#34;\u0026#34;计算 ATR\u0026#34;\u0026#34;\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ehigh\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;high\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elow\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;low\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eclose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;close\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e]\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etr1\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ehigh\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003elow\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etr2\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003eabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ehigh\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003eclose\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eshift\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etr3\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003eabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003elow\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003eclose\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eshift\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etrue_range\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epd\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003econcat\u003c/span\u003e\u003cspan class=\"p\"\u003e([\u003c/span\u003e\u003cspan class=\"n\"\u003etr1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003etr2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003etr3\u003c/span\u003e\u003cspan class=\"p\"\u003e],\u003c/span\u003e \u003cspan class=\"n\"\u003eaxis\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003emax\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eaxis\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eatr\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003etrue_range\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003erolling\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eperiod\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003eatr\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003eget_stop_price\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eatr_value\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003edirection\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003emultiplier\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"mf\"\u003e2.0\u003c/span\u003e\u003cspan class=\"p\"\u003e):\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"s2\"\u003e\u0026#34;\u0026#34;\u0026#34;基于 ATR 的止损价\u0026#34;\u0026#34;\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"n\"\u003edirection\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s1\"\u003e\u0026#39;long\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"n\"\u003eatr_value\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003emultiplier\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"k\"\u003eelse\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"k\"\u003ereturn\u003c/span\u003e \u003cspan class=\"n\"\u003eentry_price\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003eatr_value\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003emultiplier\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 示例：BTC 1H，ATR=1200，入场 40000，做多\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 止损 = 40000 - 1200 * 2 = 37600（-6%）\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cstrong\u003eATR 倍数选择：\u003c/strong\u003e\u003c/p\u003e","title":"量化策略止损怎么设：从北极星策略出发讲通用止损设计"},{"content":" 用 DMIT 这类付费 VPS 搭代理节点，稳定性好但有成本。很多人不知道，Cloudflare Workers 有每天 10 万次的免费请求额度，可以用来跑一个完全零成本的 VLESS 节点——作为备用或平替方案，值得每人都部署一个。\n本文用的是开源项目 edgetunnel，部署过程 10 分钟以内完成。\n原理简介 Cloudflare Workers 是运行在 CF 边缘节点的 JavaScript 函数。edgetunnel 把 VLESS 协议实现在 Worker 里，流量经过 CF 的 CDN 网络中转，绕开直接 IP 识别。\n优点：\n完全免费（免费计划每天 10 万次请求，足够个人使用） 无需服务器，不存在 IP 被封问题 CF 的 IP 段被封概率极低 局限：\n速度受 CF 网络质量影响，高峰期不如专线 VPS 不适合大流量下载，适合日常浏览和轻量使用 部分地区对 CF IP 有 QoS 前置准备 一个 Cloudflare 账号（免费注册） 一个域名（可选，但推荐，CF 免费提供 workers.dev 子域名也行） 部署步骤 第一步：Fork 项目到你的 GitHub 打开 https://github.com/cmliu/edgetunnel，点右上角 Fork，复制到自己的账号。\n第二步：在 Cloudflare 创建 Worker 登录 dash.cloudflare.com 左侧菜单点 Workers \u0026amp; Pages 点 Create → Create Worker 给 Worker 起个名字（比如 my-proxy），点 Deploy 第三步：粘贴 Worker 代码 部署完成后点 Edit code 清空编辑器里的默认代码 打开你 Fork 的 GitHub 仓库，找到 _worker.js 文件，复制全部内容 粘贴到 Worker 编辑器里 点右上角 Deploy 第四步：配置 UUID（你的连接密码） UUID 是你节点的唯一标识。生成一个：\n# macOS / Linux uuidgen | tr \u0026#39;[:upper:]\u0026#39; \u0026#39;[:lower:]\u0026#39; # 输出类似： # a1b2c3d4-e5f6-7890-abcd-ef1234567890 在 Worker 代码顶部找到 userID 变量，填入你生成的 UUID：\nlet userID = \u0026#39;a1b2c3d4-e5f6-7890-abcd-ef1234567890\u0026#39;; 或者通过环境变量设置（更安全）：\nWorker 页面点 Settings → Variables 添加变量：UUID = 你的 UUID 点 Save and Deploy 代码里对应改为读取环境变量：\nlet userID = env.UUID || \u0026#39;default-uuid\u0026#39;; 第五步：绑定自定义域名（可选但推荐） Workers.dev 域名在部分地区访问不稳定，绑定自己的域名更好：\n前提：域名已托管到 Cloudflare（NS 指向 CF） Worker 页面点 Settings → Domains \u0026amp; Routes 点 Add → Custom domain 填入你的域名，比如 proxy.yourdomain.com 保存，CF 自动配置 SSL 获取订阅链接 Worker 部署完成后，访问：\nhttps://你的Worker域名/你的UUID 比如：\nhttps://my-proxy.workers.dev/a1b2c3d4-e5f6-7890-abcd-ef1234567890 页面会返回一个 Base64 编码的订阅内容，包含多种协议格式（VLESS、Trojan、VMess）的节点信息。\n订阅链接格式 https://你的域名/你的UUID?sub # 订阅链接（返回所有节点） https://你的域名/你的UUID?clash # Clash/mihomo 格式 https://你的域名/你的UUID?singbox # sing-box 格式 在 mihomo 中使用 方式一：订阅导入（推荐）\n直接把 ?clash 格式的 URL 作为订阅链接，粘贴到 Clash/mihomo 的订阅管理里。\n方式二：手动配置\nproxies: - name: \u0026#34;CF-Workers-VLESS\u0026#34; type: vless server: 你的Worker域名 port: 443 uuid: 你的UUID network: ws tls: true ws-opts: path: \u0026#34;/\u0026#34; headers: Host: 你的Worker域名 client-fingerprint: chrome 优化：选择更快的 CF 优选 IP edgetunnel 默认走 CF 分配的节点，速度因地区而异。可以通过 CF 优选 IP 工具测速选择延迟最低的节点。\n把 Worker 域名里的 IP 替换成延迟最低的 CF IP，速度有时能提升 50% 以上。\n工具：CloudflareSpeedTest\n# 下载工具 wget https://github.com/XIU2/CloudflareSpeedTest/releases/latest/download/cfst_linux_amd64.tar.gz tar -xzf cfst_linux_amd64.tar.gz ./CloudflareST # 测速完成后，结果保存在 result.csv # 取延迟最低的 IP 替换到节点配置里 和 DMIT VPS 方案对比 对比项 CF Workers DMIT VPS 成本 免费 $20+/月 速度（日常） 中等 快（CN2 GIA） 稳定性 较好（CF 托管） 好 大流量 不适合 适合 被封风险 极低 有一定概率 适用场景 备用/平替 主力节点 推荐策略： DMIT 作为主力，CF Workers 作为备用。两个方案互补，主节点被封期间 CF Workers 顶上，完全无感知切换。\n配合 mihomo 的 fallback 机制：\nproxy-groups: - name: \u0026#34;主力线路\u0026#34; type: fallback url: http://www.gstatic.com/generate_204 interval: 30 proxies: - DMIT-HK-Reality - CF-Workers-VLESS # 备用，主力挂了自动切 常见问题 Worker 部署后访问报错 522 Worker 域名没有正常解析。检查：\n域名是否已绑定到 Worker Worker 是否正常 Deploy（状态显示 Active） 速度很慢 尝试优选 IP（见上方 CloudflareST 方法） 检查当前时段，高峰期 CF 节点压力大 换一个 CF 数据中心城市（可以在优选结果里选不同地区的 IP） 节点连接但无法访问某些网站 检查 Worker 代码里的 proxyIP 配置，部分版本需要填一个出口 IP 才能正常回源。\n需要更稳定的主力方案，见：\nXray VLESS+XTLS 部署教程 Hysteria2 部署教程 VPS 选购指南 📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/edgetunnel-cf-workers-vless/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"Digital screens display data on a circuit board background\" loading=\"lazy\" src=\"/images/edgetunnel-cf-workers-vless-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e用 \u003ca href=\"https://aff.panshi.io/track?id=dmit\"\u003eDMIT\u003c/a\u003e 这类付费 VPS 搭代理节点，稳定性好但有成本。很多人不知道，Cloudflare Workers 有每天 10 万次的免费请求额度，可以用来跑一个完全零成本的 VLESS 节点——作为备用或平替方案，值得每人都部署一个。\u003c/p\u003e\n\u003cp\u003e本文用的是开源项目 \u003ca href=\"https://github.com/cmliu/edgetunnel\"\u003eedgetunnel\u003c/a\u003e，部署过程 10 分钟以内完成。\u003c/p\u003e\n\u003ch2 id=\"原理简介\"\u003e原理简介\u003c/h2\u003e\n\u003cp\u003eCloudflare Workers 是运行在 CF 边缘节点的 JavaScript 函数。edgetunnel 把 VLESS 协议实现在 Worker 里，流量经过 CF 的 CDN 网络中转，绕开直接 IP 识别。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e优点：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e完全免费（免费计划每天 10 万次请求，足够个人使用）\u003c/li\u003e\n\u003cli\u003e无需服务器，不存在 IP 被封问题\u003c/li\u003e\n\u003cli\u003eCF 的 IP 段被封概率极低\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e局限：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e速度受 CF 网络质量影响，高峰期不如专线 VPS\u003c/li\u003e\n\u003cli\u003e不适合大流量下载，适合日常浏览和轻量使用\u003c/li\u003e\n\u003cli\u003e部分地区对 CF IP 有 QoS\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"前置准备\"\u003e前置准备\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e一个 Cloudflare 账号（免费注册）\u003c/li\u003e\n\u003cli\u003e一个域名（可选，但推荐，CF 免费提供 workers.dev 子域名也行）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"部署步骤\"\u003e部署步骤\u003c/h2\u003e\n\u003ch3 id=\"第一步fork-项目到你的-github\"\u003e第一步：Fork 项目到你的 GitHub\u003c/h3\u003e\n\u003cp\u003e打开 \u003ca href=\"https://github.com/cmliu/edgetunnel\"\u003ehttps://github.com/cmliu/edgetunnel\u003c/a\u003e，点右上角 \u003cstrong\u003eFork\u003c/strong\u003e，复制到自己的账号。\u003c/p\u003e","title":"零成本代理方案：用 Cloudflare Workers 搭建 VLESS 节点"},{"content":" 打字太慢是我长期的生产力瓶颈。写文章、回邮件、记录想法，不是脑子跟不上，是手速跟不上。\n直到我开始用 Typeless。\nTypeless 是什么 Typeless 是一款 AI 驱动的语音输入工具，支持 macOS、Windows、iOS、Android。核心逻辑很简单：你说，它写。但和十年前那种粗糙的语音识别不同，Typeless 在识别的基础上加了一层 AI 处理：\n自动删除\u0026quot;嗯\u0026quot;\u0026ldquo;啊\u0026quot;\u0026ldquo;那个\u0026quot;\u0026ldquo;就是说\u0026quot;等口头禅 识别自我纠正（你说\u0026quot;明天……不对，后天\u0026rdquo;，只输出\u0026quot;后天\u0026rdquo;） 根据上下文整理格式，自动识别列表、步骤、要点 根据当前应用调整语气（在 Slack 里偏口语，在 Word 里偏正式） 速度差距有多大 官方数据：键盘平均 45 WPM，语音输入 220 WPM，快将近 5 倍。\n我自己测了一下，写一篇 800 字的技术笔记：\n键盘打字：约 25 分钟 Typeless 语音：约 8 分钟 差距主要来自两块：一是语音本身比打字快，二是不用停下来想怎么拼、怎么切换输入法。\n中英文混输体验 这是我最担心的点，结果是最惊喜的。\n我平时写东西中英文混得很厉害，比如：\n\u0026ldquo;用 Claude Code 跑 backtest，发现 equity curve 的 drawdown 有点大，需要调一下 stop loss 参数。\u0026rdquo;\nTypeless 能完整识别这种混合表达，不需要手动切换语言模式。它支持 100+ 语言并且自动检测，同一句话里切换语言照常识别。\n隐私：录音不上云 用语音工具最大的顾虑是录音数据去哪了。Typeless 明确说明：音频不上传，历史记录只存本地，不用你的数据训练模型。\n这点比很多云端语音 API 强。\n越用越懂你 Typeless 有个个人词典功能，可以加入专有名词、品牌名、技术术语。用一段时间后它会学习你的表达习惯，识别准确率越来越高。\n我加了\u0026quot;磐石\u0026quot;\u0026ldquo;北极星策略\u0026quot;\u0026ldquo;OpenClaw\u0026quot;\u0026ldquo;mihomo\u0026quot;这些词之后，识别准确率明显提升。\n支持的应用 50+ 应用直接兼容，常用的有：\n写作：Notion、Obsidian、Word、Pages 沟通：Slack、Gmail、iMessage、Teams、Outlook 开发：VS Code、GitHub（写 PR 描述、commit message 很爽） 其他：Telegram、微信网页版、各种浏览器输入框 怎么开始用 官网下载：typeless.com，免费开始 如果有朋友邀请码可以用：K1E9FJX（进入邀请码 K1E9FJX） 安装后开启麦克风权限，设置快捷键（我用 ⌥Space 触发） 先从简单场景练手，比如记会议笔记、口述 Telegram 消息 总结 Typeless 不是噱头产品，实际用下来确实改变了我的输入习惯。特别推荐给：\n每天要写大量文字（文章、文档、邮件）的人 中英文混用场景多的人 想把脑子里的想法快速外化的人 打字慢不是你的问题，是工具还没跟上。\n免费下载 Typeless →\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/typeless-ai-voice-input/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A sleek wireless keyboard paired with a decorative pen on a \" loading=\"lazy\" src=\"/images/typeless-ai-voice-input-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e打字太慢是我长期的生产力瓶颈。写文章、回邮件、记录想法，不是脑子跟不上，是手速跟不上。\u003c/p\u003e\n\u003cp\u003e直到我开始用 \u003ca href=\"https://aff.panshi.io/track?id=typeless\"\u003eTypeless\u003c/a\u003e。\u003c/p\u003e\n\u003ch2 id=\"typeless-是什么\"\u003eTypeless 是什么\u003c/h2\u003e\n\u003cp\u003eTypeless 是一款 AI 驱动的语音输入工具，支持 macOS、Windows、iOS、Android。核心逻辑很简单：\u003cstrong\u003e你说，它写\u003c/strong\u003e。但和十年前那种粗糙的语音识别不同，Typeless 在识别的基础上加了一层 AI 处理：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e自动删除\u0026quot;嗯\u0026quot;\u0026ldquo;啊\u0026quot;\u0026ldquo;那个\u0026quot;\u0026ldquo;就是说\u0026quot;等口头禅\u003c/li\u003e\n\u003cli\u003e识别自我纠正（你说\u0026quot;明天……不对，后天\u0026rdquo;，只输出\u0026quot;后天\u0026rdquo;）\u003c/li\u003e\n\u003cli\u003e根据上下文整理格式，自动识别列表、步骤、要点\u003c/li\u003e\n\u003cli\u003e根据当前应用调整语气（在 Slack 里偏口语，在 Word 里偏正式）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"速度差距有多大\"\u003e速度差距有多大\u003c/h2\u003e\n\u003cp\u003e官方数据：键盘平均 45 WPM，语音输入 220 WPM，快将近 5 倍。\u003c/p\u003e\n\u003cp\u003e我自己测了一下，写一篇 800 字的技术笔记：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e键盘打字：约 25 分钟\u003c/li\u003e\n\u003cli\u003eTypeless 语音：约 8 分钟\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e差距主要来自两块：一是语音本身比打字快，二是不用停下来想怎么拼、怎么切换输入法。\u003c/p\u003e\n\u003ch2 id=\"中英文混输体验\"\u003e中英文混输体验\u003c/h2\u003e\n\u003cp\u003e这是我最担心的点，结果是最惊喜的。\u003c/p\u003e\n\u003cp\u003e我平时写东西中英文混得很厉害，比如：\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u0026ldquo;用 Claude Code 跑 backtest，发现 equity curve 的 drawdown 有点大，需要调一下 stop loss 参数。\u0026rdquo;\u003c/p\u003e","title":"Typeless 实测：AI 语音输入比键盘快 4 倍，中英混输毫无压力"},{"content":" 语音识别技术本身已经很成熟了，但真正用起来体验差的核心原因不是识别率——是识别出来的文字没法直接用。\nTypeless 的定位是在语音识别之上加一层 AI 处理，让输出结果直接可用。这篇文章拆解它的几个核心功能。\n自动清理：去口头禅和冗余表达 这是 Typeless 最基础也最实用的功能。\n正常说话和写文字之间有一道鸿沟。说话的时候我们会：\n频繁使用\u0026quot;嗯\u0026quot;\u0026ldquo;啊\u0026quot;\u0026ldquo;那个\u0026quot;\u0026ldquo;就是说\u0026rdquo; 说到一半换思路：\u0026ldquo;明天……不对，等一下，后天来处理这个\u0026rdquo; 重复同一个意思：\u0026ldquo;这个很重要，非常重要，一定要注意\u0026rdquo; 传统语音识别把这些全部转录出来，你要花时间再清理一遍。Typeless 的 AI 层会识别这些模式并自动处理：\n删除填充词（\u0026ldquo;嗯\u0026quot;\u0026ldquo;啊\u0026quot;等） 识别自我纠正，只保留最终表达 合并重复意思 实际效果：口述出来的东西，基本上不需要再做语言层面的清理，只需要补充内容和调整结构。\n智能格式化：自动识别结构 这个功能让我最惊喜。\n我口述的时候会说\u0026quot;有三点，第一点是……第二点是……第三点是……\u0026quot;，Typeless 会自动把这段话整理成带编号的列表，而不是一段连续的文字。\n同样，说\u0026quot;首先……然后……最后……\u0026quot;，输出是有顺序标记的步骤列表；说\u0026quot;重点是……\u0026quot;，它会用加粗或独立段落突出显示。\n这个功能特别适合：\n口述会议记录（自动整理行动项） 起草文档大纲（说出结构，自动变成层级列表） 写邮件（自动识别正文段落和要点列表） 上下文感知：根据应用调整风格 Typeless 会检测当前激活的应用，并调整输出语气。\n在 Slack 里，同样一句话会用更口语化的表达；在 Word 或 Outlook 里，会更正式；在 VS Code 里，会注意代码相关的格式（比如变量名不会被\u0026quot;纠正\u0026quot;成中文）。\n这不需要手动设置，自动识别。对于我这种一天要在十几个应用之间切换的人来说省了很多麻烦。\n隐私设计：录音不上云 很多人对语音输入有一个合理的顾虑：我说的话是不是被录下来上传到服务器了？\nTypeless 的设计是：音频处理在本地完成，不上传原始录音，历史记录只存在本地设备上，不用于模型训练。\n这和大部分云端语音 API（比如某些输入法的云识别）不同。后者要把录音发到服务器识别，Typeless 的隐私边界更清晰。\n对于涉及商业信息、客户数据、个人隐私内容的场景，这一点很重要。\n个性化学习：越用越准 Typeless 有两种方式学习你的表达习惯：\n个人词典（Personal Dictionary）：手动添加你常用的专有名词、品牌名、人名、技术术语。比如我加了\u0026quot;北极星策略\u0026quot;\u0026ldquo;mihomo\u0026quot;\u0026ldquo;OpenClaw\u0026quot;之后，这些词的识别准确率接近 100%。\n使用习惯学习：随着使用时间增长，Typeless 会学习你的词汇偏好和表达模式，识别准确率会持续提升。\n这种学习是设备本地的，数据不出去。\n多语言和混输支持 支持 100+ 语言，并且支持同一句话里切换语言（code-mixing）。\n对于经常中英混用的场景非常实用。技术词汇用英文说、上下文用中文说，Typeless 都能正确识别，不需要手动切换语言模式。\n覆盖的应用场景 目前兼容 50+ 应用，包括：\n类别 代表应用 写作 Notion、Obsidian、Word、Pages 沟通 Slack、Gmail、iMessage、Teams 开发 VS Code、GitHub 会议 Zoom、Teams（会议中输入） 其他 浏览器输入框、Telegram 适合哪些人 内容创作者：每天大量写作，语音输入可以让创作速度翻倍 技术从业者：写文档、PR 描述、技术评论，这类连续文字输出场景很多 英语非母语用户：语音比键盘更接近母语思维速度，不用考虑拼写 会议密集的人：实时语音记录会议内容，自动整理成结构化笔记 如果你想试试，现在免费下载：typeless.com\n有朋友邀请码可以用：邀请码 K1E9FJX\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/typeless-privacy-ai-features/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A sleek wireless keyboard paired with a decorative pen on a \" loading=\"lazy\" src=\"/images/typeless-privacy-ai-features-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e语音识别技术本身已经很成熟了，但真正用起来体验差的核心原因不是识别率——是识别出来的文字没法直接用。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=typeless\"\u003eTypeless\u003c/a\u003e 的定位是在语音识别之上加一层 AI 处理，让输出结果直接可用。这篇文章拆解它的几个核心功能。\u003c/p\u003e\n\u003ch2 id=\"自动清理去口头禅和冗余表达\"\u003e自动清理：去口头禅和冗余表达\u003c/h2\u003e\n\u003cp\u003e这是 Typeless 最基础也最实用的功能。\u003c/p\u003e\n\u003cp\u003e正常说话和写文字之间有一道鸿沟。说话的时候我们会：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e频繁使用\u0026quot;嗯\u0026quot;\u0026ldquo;啊\u0026quot;\u0026ldquo;那个\u0026quot;\u0026ldquo;就是说\u0026rdquo;\u003c/li\u003e\n\u003cli\u003e说到一半换思路：\u0026ldquo;明天……不对，等一下，后天来处理这个\u0026rdquo;\u003c/li\u003e\n\u003cli\u003e重复同一个意思：\u0026ldquo;这个很重要，非常重要，一定要注意\u0026rdquo;\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e传统语音识别把这些全部转录出来，你要花时间再清理一遍。Typeless 的 AI 层会识别这些模式并自动处理：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e删除填充词（\u0026ldquo;嗯\u0026quot;\u0026ldquo;啊\u0026quot;等）\u003c/li\u003e\n\u003cli\u003e识别自我纠正，只保留最终表达\u003c/li\u003e\n\u003cli\u003e合并重复意思\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e实际效果：口述出来的东西，基本上不需要再做语言层面的清理，只需要补充内容和调整结构。\u003c/p\u003e\n\u003ch2 id=\"智能格式化自动识别结构\"\u003e智能格式化：自动识别结构\u003c/h2\u003e\n\u003cp\u003e这个功能让我最惊喜。\u003c/p\u003e\n\u003cp\u003e我口述的时候会说\u0026quot;有三点，第一点是……第二点是……第三点是……\u0026quot;，Typeless 会自动把这段话整理成带编号的列表，而不是一段连续的文字。\u003c/p\u003e\n\u003cp\u003e同样，说\u0026quot;首先……然后……最后……\u0026quot;，输出是有顺序标记的步骤列表；说\u0026quot;重点是……\u0026quot;，它会用加粗或独立段落突出显示。\u003c/p\u003e\n\u003cp\u003e这个功能特别适合：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e口述会议记录（自动整理行动项）\u003c/li\u003e\n\u003cli\u003e起草文档大纲（说出结构，自动变成层级列表）\u003c/li\u003e\n\u003cli\u003e写邮件（自动识别正文段落和要点列表）\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"上下文感知根据应用调整风格\"\u003e上下文感知：根据应用调整风格\u003c/h2\u003e\n\u003cp\u003eTypeless 会检测当前激活的应用，并调整输出语气。\u003c/p\u003e\n\u003cp\u003e在 Slack 里，同样一句话会用更口语化的表达；在 Word 或 Outlook 里，会更正式；在 VS Code 里，会注意代码相关的格式（比如变量名不会被\u0026quot;纠正\u0026quot;成中文）。\u003c/p\u003e\n\u003cp\u003e这不需要手动设置，自动识别。对于我这种一天要在十几个应用之间切换的人来说省了很多麻烦。\u003c/p\u003e\n\u003ch2 id=\"隐私设计录音不上云\"\u003e隐私设计：录音不上云\u003c/h2\u003e\n\u003cp\u003e很多人对语音输入有一个合理的顾虑：我说的话是不是被录下来上传到服务器了？\u003c/p\u003e\n\u003cp\u003eTypeless 的设计是：\u003cstrong\u003e音频处理在本地完成，不上传原始录音，历史记录只存在本地设备上，不用于模型训练\u003c/strong\u003e。\u003c/p\u003e\n\u003cp\u003e这和大部分云端语音 API（比如某些输入法的云识别）不同。后者要把录音发到服务器识别，Typeless 的隐私边界更清晰。\u003c/p\u003e\n\u003cp\u003e对于涉及商业信息、客户数据、个人隐私内容的场景，这一点很重要。\u003c/p\u003e\n\u003ch2 id=\"个性化学习越用越准\"\u003e个性化学习：越用越准\u003c/h2\u003e\n\u003cp\u003eTypeless 有两种方式学习你的表达习惯：\u003c/p\u003e","title":"Typeless 核心功能详解：AI 是怎么让语音输入真正好用的"},{"content":" 很多人试过语音输入，然后放弃了——说出来的东西乱糟糟的，还要花时间整理，反而更慢。\n这是旧时代语音识别的问题。Typeless 在识别后加了一层 AI 处理，基本解决了这个问题。用下来三个场景受益最明显。\n场景一：技术文章起草 写技术文章最费时间的不是打字，是「从想法到第一稿」这个过程。脑子里有结构，但要把它变成文字就会卡住，反复删改，越写越慢。\n换成语音之后，我的流程变成了：\n在脑子里过一遍文章结构（30 秒） 开 Typeless，对着 Obsidian 口述全文 AI 自动整理段落、列表、要点 检查一遍，补细节 口述完一篇千字文章大概需要 5-8 分钟，然后花 10 分钟打磨，全程 20 分钟以内。以前单纯用键盘要 40-60 分钟。\n关键是：说话比打字更接近思维速度，中间不会因为手速不够而打断思路。\n场景二：写代码注释和 PR 描述 这个场景有点出人意料，但效果很好。\n代码注释大家都知道该写，但实际上很多人（包括我）经常偷懒不写，原因就是打字麻烦。换成语音之后，写注释变成了：光标放到函数前，说一句\u0026quot;这个函数用来处理 Binance API 返回的持仓数据，计算实盘净值并写入 KV\u0026quot;，Typeless 自动格式化成注释。\nPR 描述也一样：打开 PR 界面，口述 What / Why / How，Typeless 输出结构化的 Markdown 描述。\nTypeless 支持 VS Code 和 GitHub，直接在编辑器里用，不用跳到其他应用。\n场景三：会议和想法记录 这是语音输入的传统强项，但 Typeless 的 AI 处理让它更好用。\n开会的时候我会开着 Typeless，把讨论要点口述到 Notion 笔记里。普通语音识别出来的是流水账，Typeless 会：\n去掉\u0026quot;那个\u0026quot;\u0026ldquo;就是说\u0026quot;\u0026ldquo;嗯嗯嗯\u0026rdquo; 把连续的讨论点整理成列表 识别\u0026quot;待办事项\u0026quot;\u0026ldquo;行动项\u0026quot;这类词，自动用 checkbox 格式 开完会直接有一份结构化的会议记录，不需要事后整理。\n独处思考的时候也很好用。脑子里有个想法，随手触发 Typeless，口述 30 秒，Obsidian 里就有一段完整的笔记。\n几个使用技巧 1. 设置好快捷键\n我用 ⌥Space 触发，一键开关，不影响其他操作。找一个你顺手的快捷键是关键。\n2. 加入个人词典\n把你常用的专有名词、品牌名、人名加进去。我加了服务器名、策略名、技术术语之后识别准确率明显提升。\n3. 先在低风险场景练手\n刚开始用语音输入会有点别扭，先从记录个人笔记、口述草稿开始，不要一上来就用在正式邮件上。\n4. 利用「上下文切换语气」功能\nTypeless 会根据当前应用调整输出风格。在 Slack 里说的话偏口语，在 Word 里偏正式，不需要手动调整。\n和传统输入法的关系 Typeless 不是要取代键盘输入。短词、命令、密码这些还是键盘更快。它适合的是连续文字输出的场景：写作、记录、沟通。\n两者结合用效率最高：思考性的长内容用语音，操作性的短内容用键盘。\n免费下载 Typeless →\n有朋友邀请码：邀请码 K1E9FJX\n📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格\n","permalink":"https://blog.panshi.io/posts/typeless-vs-keyboard-workflow/","summary":"\u003c!-- hero-image --\u003e\n\u003cp\u003e\u003cimg alt=\"A sleek wireless keyboard paired with a decorative pen on a \" loading=\"lazy\" src=\"/images/typeless-vs-keyboard-workflow-hero.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003e很多人试过语音输入，然后放弃了——说出来的东西乱糟糟的，还要花时间整理，反而更慢。\u003c/p\u003e\n\u003cp\u003e这是旧时代语音识别的问题。\u003ca href=\"https://aff.panshi.io/track?id=typeless\"\u003eTypeless\u003c/a\u003e 在识别后加了一层 AI 处理，基本解决了这个问题。用下来三个场景受益最明显。\u003c/p\u003e\n\u003ch2 id=\"场景一技术文章起草\"\u003e场景一：技术文章起草\u003c/h2\u003e\n\u003cp\u003e写技术文章最费时间的不是打字，是「从想法到第一稿」这个过程。脑子里有结构，但要把它变成文字就会卡住，反复删改，越写越慢。\u003c/p\u003e\n\u003cp\u003e换成语音之后，我的流程变成了：\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e在脑子里过一遍文章结构（30 秒）\u003c/li\u003e\n\u003cli\u003e开 Typeless，对着 Obsidian 口述全文\u003c/li\u003e\n\u003cli\u003eAI 自动整理段落、列表、要点\u003c/li\u003e\n\u003cli\u003e检查一遍，补细节\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e口述完一篇千字文章大概需要 5-8 分钟，然后花 10 分钟打磨，全程 20 分钟以内。以前单纯用键盘要 40-60 分钟。\u003c/p\u003e\n\u003cp\u003e关键是：\u003cstrong\u003e说话比打字更接近思维速度\u003c/strong\u003e，中间不会因为手速不够而打断思路。\u003c/p\u003e\n\u003ch2 id=\"场景二写代码注释和-pr-描述\"\u003e场景二：写代码注释和 PR 描述\u003c/h2\u003e\n\u003cp\u003e这个场景有点出人意料，但效果很好。\u003c/p\u003e\n\u003cp\u003e代码注释大家都知道该写，但实际上很多人（包括我）经常偷懒不写，原因就是打字麻烦。换成语音之后，写注释变成了：光标放到函数前，说一句\u0026quot;这个函数用来处理 Binance API 返回的持仓数据，计算实盘净值并写入 KV\u0026quot;，Typeless 自动格式化成注释。\u003c/p\u003e\n\u003cp\u003ePR 描述也一样：打开 PR 界面，口述 What / Why / How，Typeless 输出结构化的 Markdown 描述。\u003c/p\u003e\n\u003cp\u003eTypeless 支持 VS Code 和 GitHub，直接在编辑器里用，不用跳到其他应用。\u003c/p\u003e","title":"语音输入怎么融入日常工作流：我用 Typeless 的三个核心场景"},{"content":"1 个月，$5000 AI 订阅和 Token。\n我一个人，用 Claude Code + Codex + Copilot，搭起了 18 类独立系统。约 5 万行代码。\n如果招 2 个全栈从零做，至少 6-12 个月，30-60 万人民币。\n下面讲每个板块做了什么 👇 (1/7)\n【量化 + 博客引流】\n🧠 量化：北极星策略 1/5/6 实盘、双机热备、回测实验室 v2（Numba JIT + Walk-Forward + 蒙特卡洛 + 多币种组合）、Mac 脱敏备机\n🌐 博客 panshi.io：64 篇技术文章、双活 aws-hk/us + CF CDN、14 渠道 AFF tracker 按文章归因、64 张 Flux AI 品牌统一 hero (2/7)\n【发布管理 Web 9891 · 最独特的一块】\n一个本机 Web 应用独立管理 panshi.io 发布：\n10+ 管理页面（文章 + AFF 归因 + 编辑器 + OG 预览 + 图片库） 7 步发布流水线 + 10 个定时任务 X 三模式：短推 / Premium 长推 / Thread digest（就是你看的这条） 独立做就是 2 个月工作。 (3/7)\n【监控 / 备份 / 定时任务】\n3-2-1 备份：Mac SSD + iCloud 2TB + S3 Deep Archive 东京（月费 ¥0.15）\n20+ 备份任务 + 统一 9890 监控 + 开机补跑\nMac 本机 34 个定时任务统一 job_runner + Prometheus + Grafana + Telegram 告警\n线路监控 13 个 Grafana dashboard\n这套基础设施独立做 3 个月。 (4/7)\n【代理 + 安全 + AI 工具生态】\n🛡️ 双网关冗余 + 家宽代理 7 节点 fallback + Surge fail-closed 监控卫士（崩了自动 PF killswitch）+ 自研 Swift 状态栏程序 NetworkGuard\n🤖 Claude Code 双通道切换、Sonnet/Opus/Haiku 混用（API 成本降 60%）、cmux 多会话并行、7 个独立 TG Bot 分工 (5/7)\n【AI 独立开发的三个真相】\n1️⃣ 代码不再是瓶颈，需求定义才是。Claude 能一次出几百行，但\u0026quot;我要什么\u0026quot;要自己想清楚\n2️⃣ 部署/监控/备份 比初次开发更值钱，70% 工作量在这\n3️⃣ 基础设施标准化 让 AI 跨任务迁移经验，效率指数上升\n不是 AI 替代人，是\u0026quot;懂业务 + 会用 AI 的一个人 = 过去一个小团队\u0026quot;。 (6/7)\n📖 完整 18 类系统清单 + 成本拆解 + 开发范式分析： https://panshi.io/posts/5000-usd-token-what-i-built/\n评论区聊聊：你用 AI 做过最满意的项目是啥？ (7/7)\n","permalink":"https://blog.panshi.io/posts/5000-usd-token-what-i-built.thread/","summary":"\u003cp\u003e1 个月，$5000 AI 订阅和 Token。\u003c/p\u003e\n\u003cp\u003e我一个人，用 Claude Code + Codex + Copilot，搭起了 18 类独立系统。约 5 万行代码。\u003c/p\u003e\n\u003cp\u003e如果招 2 个全栈从零做，至少 6-12 个月，30-60 万人民币。\u003c/p\u003e\n\u003cp\u003e下面讲每个板块做了什么 👇 (1/7)\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003e【量化 + 博客引流】\u003c/p\u003e\n\u003cp\u003e🧠 量化：北极星策略 1/5/6 实盘、双机热备、回测实验室 v2（Numba JIT + Walk-Forward + 蒙特卡洛 + 多币种组合）、Mac 脱敏备机\u003c/p\u003e\n\u003cp\u003e🌐 博客 panshi.io：64 篇技术文章、双活 aws-hk/us + CF CDN、14 渠道 AFF tracker 按文章归因、64 张 Flux AI 品牌统一 hero (2/7)\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003e【发布管理 Web 9891 · 最独特的一块】\u003c/p\u003e\n\u003cp\u003e一个本机 Web 应用独立管理 panshi.io 发布：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e10+ 管理页面（文章 + AFF 归因 + 编辑器 + OG 预览 + 图片库）\u003c/li\u003e\n\u003cli\u003e7 步发布流水线 + 10 个定时任务\u003c/li\u003e\n\u003cli\u003eX 三模式：短推 / Premium 长推 / Thread digest（就是你看的这条）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e独立做就是 2 个月工作。 (3/7)\u003c/p\u003e","title":""},{"content":"","permalink":"https://blog.panshi.io/github/","summary":"运维 / AI / 量化 / 代理方向的优质开源项目精选","title":"GitHub 精选"},{"content":"","permalink":"https://blog.panshi.io/polaris/","summary":"","title":"Polaris strategy · Live tracking"},{"content":"","permalink":"https://blog.panshi.io/stock/","summary":"","title":"VPS 库存监控"},{"content":"👋 你好 我是磐石，一个喜欢折腾基础设施的技术玩家。\n日常在做的事情：\n系统架构：多网关、多线路冗余，mihomo 精细分流，家宽 + 数据中心混合出口 量化交易：在 Binance / Pionex 跑自动化策略，做网格、套利和信号跟踪 AI 工作流：深度使用 Claude Code，把 AI 嵌入日常运维和开发流程 这个博客记录我真实的踩坑经验，不吹牛，只写能复现的东西。\n📡 找到我 X：@panshi8848 Telegram：@panshi8848 有技术问题欢迎直接在 Telegram 找我，量化交易信号、网络架构搭建都可以聊。\n💡 关于 AFF 链接 博客里的部分链接是 AFF 推广链接。我只推荐自己真实在用的产品：\nVPS：DMIT（美国 / 香港节点，延迟低稳定） 量化：Pionex（免费网格机器人）、Binance 代理 IP：IPRoyal（住宅 IP，价格合理） 硬件钱包：SafePal 通过我的链接注册，你不会多花一分钱，我会获得一点返佣作为博客运营成本。\n","permalink":"https://blog.panshi.io/about/","summary":"关于磐石 - 系统架构、量化交易、AI 工作流的实践者","title":"关于我"},{"content":"","permalink":"https://blog.panshi.io/nav/","summary":"","title":"导航"},{"content":"这里列的都是我自己在用的东西，只推荐用过觉得好的。通过我的链接注册不会多花钱，我会拿到一点返佣补贴服务器成本。\nVPS / 服务器 DMIT ⭐ 主力推荐 立即注册 →\n香港节点延迟极低（20-40ms），CN2 GIA 线路，原生 IP，流媒体解锁强。支持 Hysteria2。我用了一年多，是目前用过稳定性最好的一家。\n香港节点：20-40ms（广州） 美国洛杉矶：CN2 GIA，150-180ms 支持协议：Xray VLESS + Hysteria2 腾讯云国际版 立即注册 →\n日本节点备用，价格实惠，有时有大促。IP 被封概率比 DMIT 高一些，适合作为备用节点。\n量化交易 Pionex ⭐ 免费网格机器人 立即注册 →\n内置 16 种免费交易机器人，网格机器人完全免费，只收 0.05% 手续费。流动性来自 Binance + Huobi 聚合。适合不想自己写代码的新手入门量化。\nBinance ⭐ 主力交易所 立即注册 →\n全球最大加密货币交易所，流动性最好，API 文档完善。我的主力量化策略跑在 Binance API 上。通过推荐链接注册可享手续费返佣，配合 BNB 折扣费率最低可到 0.045%。\n→ 查看手续费省钱方法 · API 安全配置\n代理 IP IPRoyal ⭐ 住宅 IP 立即注册 →\n按 GB 计费，不需要月付，用多少买多少。质量稳定，支持按国家/城市选 IP。适合需要住宅 IP 做账号注册、数据采集等场景。\n硬件安全 SafePal 硬件钱包 立即注册 →\n加密资产冷存储。如果资产规模不小，值得买一个硬件钱包离线保管私钥。SafePal 性价比不错，支持多链。\nAI 工具 Typeless ⭐ AI 语音输入 免费下载 → · 好友邀请码：K1E9FJX\n语音输入速度是键盘的 4 倍（220 WPM vs 45 WPM），AI 自动去除口头禅、整理格式、识别自我纠错。支持中英文混输，在 Notion、Obsidian、VS Code、Slack、Gmail 等 50+ 应用里直接用。\n隐私优先：录音不上云，数据只存本地 越用越聪明：学习你的词汇和表达习惯 支持 100+ 语言，自动识别语言切换 平台：macOS / Windows / iOS / Android → 查看我的使用体验文章\nClaude Pro（Anthropic） 订阅 Claude Pro →\nAnthropic 的旗舰 AI 产品，Claude Opus 4.6 是目前最强的推理模型之一。月费 $20，包含 claude.ai 网页端无限制使用和 Claude Code CLI 工具。\n→ 查看Claude Code 使用体验 · Sonnet vs Opus 怎么选\nGitHub Copilot Pro+ 订阅 Copilot Pro+ →\nIDE 内嵌 AI 编程助手，月费 $19 包含每月 1500 次 Claude Opus / Sonnet 高级模型调用。可以作为 Claude Code 和 OpenClaw 的后端，比直接订阅 Claude API 便宜。\n→ 查看 Copilot Pro+ 值不值买\nOpenClaw 让 AI 在后台持续工作的框架，通过 Telegram 交互，支持 GitHub、Obsidian、天气等 Skill。\n→ 查看我的使用教程\nGoogle One AI Premium 好友邀请 →\n包含 Gemini Advanced（Google 最强 AI 模型）、2TB 云存储、NotebookLM Plus 等。通过邀请链接订阅，双方各得数月免费体验。\n支持创作者 ☕ Ko-fi ko-fi.com/panshi →\n一次性打赏或订阅月度会员，支持信用卡 / PayPal。\n🎯 Patreon patreon.com/panshi8848 →\n分层会员订阅，不同档位对应不同权益（北极星月报、策略信号通知等）。\n手机卡 Tello（美国虚拟运营商） 立即注册 →\nT-Mobile 网络，按需选套餐，最低 $5/月起。适合需要美国手机号做账号验证的场景（ChatGPT / Claude / 各类美区注册）。通过邀请链接注册双方各得 $10 账户余额。\n最后更新：2026-04-15\n","permalink":"https://blog.panshi.io/tools/","summary":"磐石真实在用的工具和服务，含 AFF 链接","title":"推荐工具"},{"content":"这个博客没有广告，内容免费。但维持它运转每月要花不少钱。\n如果你从这里学到了东西，或者 /polaris 策略让你有所启发，欢迎请我喝杯咖啡——哪怕只是一点点，都是对持续输出的最大鼓励。\n支持方式 ☕ Ko-fi（打赏 / 月度会员） ko-fi.com/panshi →\n一次性打赏或订阅月度会员，支持信用卡 / PayPal。适合想轻量支持的朋友。\n🎯 Patreon（分层会员） patreon.com/panshi8848 →\n按层级订阅，不同档位对应不同权益（北极星月报、策略信号通知等）。适合想深度跟进的朋友。\n₮ USDT（TRC20） 扫码或复制地址 TNesE1mJZ11ogsrPC7tsG2he7UJ7iKSmKn 复制 网络：TRON (TRC20) · 币种：USDT 每月运营成本 服务 用途 月费 Claude Pro 写作 / 代码 / 策略研究 $20 Copilot Pro+ × 2 AI 编程辅助 $80 AWS × 4 台 博客服务器 + 量化实盘 $60 DMIT US VPS 高速代理节点 $20 家宽代理（IPRoyal） AI 工具专线 $5 其他（域名、CDN、存储…） 基础设施 ~$15 合计 ~$200/月 这还不含人力成本——调试策略、写文章、维护系统，每周投入约 20 小时。\n你的支持能帮我做什么 继续维持服务器和 API 订阅不断更 腾出更多时间写深度技术文章 持续运行北极星策略实盘，提供真实信号记录 探索更多 AI 工具和量化策略，第一时间分享踩坑经验 感谢每一位读者。\n如果不方便赞助，把文章分享给可能感兴趣的朋友也非常有帮助！ 或者直接通过我 推荐的工具 注册，平台会给我一点佣金，对你完全没有额外成本。\n","permalink":"https://blog.panshi.io/sponsor/","summary":"\u003cp\u003e这个博客没有广告，内容免费。但维持它运转每月要花不少钱。\u003c/p\u003e\n\u003cp\u003e如果你从这里学到了东西，或者 /polaris 策略让你有所启发，欢迎请我喝杯咖啡——哪怕只是一点点，都是对持续输出的最大鼓励。\u003c/p\u003e\n\u003chr\u003e\n\u003ch2 id=\"支持方式\"\u003e支持方式\u003c/h2\u003e\n\u003ch3 id=\"-ko-fi打赏--月度会员\"\u003e☕ Ko-fi（打赏 / 月度会员）\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=kofi\"\u003eko-fi.com/panshi →\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e一次性打赏或订阅月度会员，支持信用卡 / PayPal。适合想轻量支持的朋友。\u003c/p\u003e\n\u003ch3 id=\"-patreon分层会员\"\u003e🎯 Patreon（分层会员）\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://aff.panshi.io/track?id=patreon\"\u003epatreon.com/panshi8848 →\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e按层级订阅，不同档位对应不同权益（北极星月报、策略信号通知等）。适合想深度跟进的朋友。\u003c/p\u003e\n\u003ch3 id=\"-usdttrc20\"\u003e₮ USDT（TRC20）\u003c/h3\u003e\n\u003cdiv style=\"display:flex;flex-direction:column;align-items:center;margin:32px 0;gap:12px\"\u003e\n  \u003cimg src=\"/images/usdt-qr.png\" alt=\"USDT TRC20 收款二维码\" style=\"width:180px;height:180px;border-radius:12px;border:4px solid rgba(255,255,255,0.1);padding:8px;background:rgba(255,255,255,0.08);backdrop-filter:blur(4px)\"\u003e\n  \u003cdiv style=\"font-size:13px;color:#888\"\u003e扫码或复制地址\u003c/div\u003e\n  \u003cdiv style=\"display:flex;align-items:center;gap:8px;max-width:420px;width:100%;padding:0 16px\"\u003e\n    \u003cdiv id=\"usdt-addr\" style=\"flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:8px;padding:10px 14px;font-family:monospace;font-size:13px;word-break:break-all;color:#ccc\"\u003eTNesE1mJZ11ogsrPC7tsG2he7UJ7iKSmKn\u003c/div\u003e\n    \u003cbutton onclick=\"(function(){navigator.clipboard.writeText('TNesE1mJZ11ogsrPC7tsG2he7UJ7iKSmKn');var b=document.getElementById('copy-btn');b.textContent='✓';b.style.background='#22c55e';setTimeout(function(){b.textContent='复制';b.style.background='';},2000)})()\" id=\"copy-btn\" style=\"flex-shrink:0;padding:10px 16px;background:rgba(99,102,241,0.8);border:none;border-radius:8px;color:#fff;font-size:13px;cursor:pointer;transition:background .2s;white-space:nowrap\"\u003e复制\u003c/button\u003e\n  \u003c/div\u003e\n  \u003cdiv style=\"font-size:12px;color:#aaa\"\u003e网络：TRON (TRC20) · 币种：USDT\u003c/div\u003e\n\u003c/div\u003e\n\u003chr\u003e\n\u003ch2 id=\"每月运营成本\"\u003e每月运营成本\u003c/h2\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e服务\u003c/th\u003e\n          \u003cth\u003e用途\u003c/th\u003e\n          \u003cth style=\"text-align: right\"\u003e月费\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eClaude Pro\u003c/td\u003e\n          \u003ctd\u003e写作 / 代码 / 策略研究\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e$20\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eCopilot Pro+ × 2\u003c/td\u003e\n          \u003ctd\u003eAI 编程辅助\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e$80\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eAWS × 4 台\u003c/td\u003e\n          \u003ctd\u003e博客服务器 + 量化实盘\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e$60\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003eDMIT US VPS\u003c/td\u003e\n          \u003ctd\u003e高速代理节点\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e$20\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e家宽代理（IPRoyal）\u003c/td\u003e\n          \u003ctd\u003eAI 工具专线\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e$5\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e其他（域名、CDN、存储…）\u003c/td\u003e\n          \u003ctd\u003e基础设施\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e~$15\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003cstrong\u003e合计\u003c/strong\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd style=\"text-align: right\"\u003e\u003cstrong\u003e~$200/月\u003c/strong\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cblockquote\u003e\n\u003cp\u003e这还不含人力成本——调试策略、写文章、维护系统，每周投入约 20 小时。\u003c/p\u003e","title":"赞助 · 请我喝杯咖啡"}]