install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/adminlove520/clash-auto-switch" ~/.claude/skills/openclaw-skills-clash-auto-switch && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/adminlove520/clash-auto-switch" ~/.openclaw/skills/openclaw-skills-clash-auto-switch && rm -rf "$T"
manifest:
skills/adminlove520/clash-auto-switch/SKILL.mdsource content
clash-auto-switch
Clash 代理自动切换 Skill for OpenClaw
自动检测代理健康状态并在故障时自动切换到最佳节点。
配置
首次使用需要配置 Clash API:
# 设置 API 地址和密钥 /clash config set --api http://127.0.0.1:58871 --secret 你的密钥
或通过环境变量:
: Clash API 地址CLASH_API
: API 密钥CLASH_SECRET
: 代理地址 (默认: http://127.0.0.1:7890)CLASH_PROXY
功能
健康检查
检查当前代理是否正常工作:
/clash health
返回示例:
✓ 代理健康 (3/3) - Telegram: OK - Google: OK - Anthropic: OK
列出节点
查看所有代理组和可用节点:
/clash list
自动切换
自动检测并切换到最佳节点:
/clash auto
逻辑:
- 测试 Telegram / Google / Anthropic 连通性
- 如果不健康,遍历所有节点
- 测试延迟,优先选择新加坡/日本/香港/美国节点
- 切换到最佳节点
手动切换
切换到指定节点:
/clash switch ChatGPT 新加坡-优化-Gemini-GPT
区域切换
快速切换到指定区域:
/clash sg # 切换到新加坡 /clash us # 切换到美国 /clash jp # 切换到日本 /clash hk # 切换到香港
状态查询
查看当前代理状态:
/clash status
在 Cron 中使用
添加到 cron job 实现定时健康检查:
{ "name": "clash-health-check", "schedule": { "kind": "every", "everyMs": 900000 }, "payload": { "kind": "agentTurn", "message": "/clash auto" }, "sessionTarget": "isolated" }
在 Heartbeat 中使用
在 heartbeat 中添加健康检查:
# 在 HEARTBEAT.md 中添加 /clash health
支持的代理组
- ChatGPT
- Copilot
- GLOBAL
- Netflix
- Steam
- Telegram
- TikTok
- 境内使用
- 海外使用
- 节点选择
- 谷歌服务
- 微软服务
- 苹果服务
示例对话
用户: 检查代理状态
小溪: 调用
/clash health → 返回健康度
用户: 代理好像很慢
小溪: 调用
/clash auto → 自动切换到最佳节点
用户: 切换到新加坡节点
小溪: 调用
/clash sg → 切换完成
实现原理
- 调用 Clash API (
) 获取所有代理组/proxies - 对每个 Selector 类型的代理组执行健康检查
- 如果不健康,测试所有节点延迟
- 优先选择优先区域的节点
- 调用 Clash API (
) 切换节点/proxies/{group}