用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/publieople/hermes-config-kit --skill clash-proxy命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | clash-proxy |
| description | WSL 中访问 Windows 侧 Clash 代理 — 端口、探测、设置、各工具代理用法 |
| category | devops |
| tags | ["proxy","clash","wsl","network"] |
Clash for Windows 运行在 Windows 侧,WSL 通过 localhost 转发访问。
| 协议 | 地址 |
|---|---|
| HTTP | http://127.0.0.1:7890 |
| SOCKS5 | socks5://127.0.0.1:7891 |
curl -s --connect-timeout 1 http://127.0.0.1:7890
HTTP 400(空响应体)→ 正常运行(对裸请求的预期响应)curl: (7) Failed to connect 或 curl: (28) Connection timed out → 未启动一行判断:
curl -s --connect-timeout 1 http://127.0.0.1:7890 > /dev/null && echo "UP" || echo "DOWN"
set -x HTTP_PROXY http://127.0.0.1:7890
set -x HTTPS_PROXY http://127.0.0.1:7890
set -x ALL_PROXY http://127.0.0.1:7890
set -x NO_PROXY localhost,127.0.0.1,::1,.local
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=http://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1,::1,.local
自动读取 HTTP_PROXY / HTTPS_PROXY 环境变量,设置后即可。
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy
# 方式1:环境变量(推荐,已设置全局 env 后自动生效)
uv pip install <package>
# 方式2:命令行指定
HTTPS_PROXY=http://127.0.0.1:7890 uv pip install <package>
HTTPS_PROXY=http://127.0.0.1:7890 uv python install 3.10
pip install --proxy http://127.0.0.1:7890 <package>
# 或设置环境变量后自动生效
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
# 取消
npm config delete proxy
npm config delete https-proxy
Docker 拉镜像走代理需要配置 daemon(不是环境变量),见 Docker Desktop 设置或 /etc/docker/daemon.json。
但 WSL 中 docker pull 实际走的是 Docker Desktop(Windows 侧),已在 Windows 侧配置代理时无需额外设置。
# hf-mirror 替代(不需代理,但有时不稳)
export HF_ENDPOINT=https://hf-mirror.com
# 走代理直连 HuggingFace
HTTPS_PROXY=http://127.0.0.1:7890 huggingface-cli download <org>/<repo>
Modelscope 是国内 CDN,不需要代理,直连即可。
在 terminal() 中使用需要代理的命令时,必须在命令前设置环境变量(同一行),因为 Hermes 的 shell 环境变量会跨调用持久化:
# 如果之前已 set -x,直接运行
curl -L https://github.com/...
# 如果未设置,命令前指定
HTTPS_PROXY=http://127.0.0.1:7890 curl -L https://github.com/...
Hermes 的 web 搜索插件(Tavily)用 httpx 发请求,httpx 读 HTTP_PROXY/HTTPS_PROXY 环境变量。但 Hermes 的 Python 进程不继承 shell 的代理变量。
~/.hermes/.envecho 'HTTP_PROXY=http://127.0.0.1:7890' >> ~/.hermes/.env
echo 'HTTPS_PROXY=http://127.0.0.1:7890' >> ~/.hermes/.env
Hermes 在启动时加载 .env,后续所有 httpx/requests 调用自动走代理。
注意:当前 Hermes 进程不会重读 .env,修改后需 /new 重启会话生效。
Tavily 插件的 _tavily_request() 在 provider.py 第57行:
response = httpx.post(url, json=payload, timeout=60)
httpx 使用 HTTP_PROXY(注意是大写)作为代理 URL,不走任何 Hermes 内部代理配置。HTTP_PROXY(小写)也被 httpx 识别,但部分 Python HTTP 库只认大写版本。建议 .env 里同时设大写和小写。
https://api.tavily.com(GFW 阻断,需代理)TAVILY_BASE_URL 环境变量覆盖(需要自建反代)# 直连测试 — 确认 GFW 状态
curl -s --max-time 10 -X POST "https://api.tavily.com/search" \
-H "Content-Type: application/json" \
-d '{"query":"test","api_key":"YOUR_KEY"}'
# 预期失败:Connection reset by peer(GFW 阻断)
# 代理测试
curl -s -x http://127.0.0.1:7890 --max-time 10 -X POST "https://api.tavily.com/search" \
-H "Content-Type: application/json" \
-d '{"query":"test","api_key":"YOUR_KEY"}'
# 预期:正常返回 JSON 结果
Hermes 已配置 env_passthrough(~/.hermes/config.yaml:79-82),包含 http_proxy、https_proxy、ALL_PROXY。这是 shell → 子进程的透传,与 Python 内 httpx 直接读 env 的行为互补。
127.0.0.1:7890 不通,检查 Windows 侧 Clash 是否在运行,以及 WSL 是否能访问 Windows 的 localhost(通常可以)git@github.com:...) 不走 HTTP 代理,需要用 ssh -o ProxyCommand 或改用 HTTPS 地址