让 OpenClaw 所有通讯都通过代理服务器的插件。
- 🔄 自动路由所有 HTTP/HTTPS 请求通过代理
- 🌐 支持 HTTP/HTTPS/SOCKS4/SOCKS5 代理
- 🔐 支持代理认证(用户名/密码)
- 📋 支持绕过列表(localhost、特定域名等)
- 🎯 可选择性地应用到特定频道
- ✅ 内置代理连接测试功能
cd /Users/hiyenwong/ai_projects/openclaw-proxy-plugin
openclaw plugins install -l .cp -r /Users/hiyenwong/ai_projects/openclaw-proxy-plugin ~/.openclaw/extensions/proxy-connector然后编辑 ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"proxy-connector": {
"enabled": true,
"config": {
"enabled": true,
"proxyType": "http",
"proxyHost": "your-proxy-server.com",
"proxyPort": 8080,
"proxyUsername": "your-username",
"proxyPassword": "your-password",
"bypassList": ["localhost", "127.0.0.1", "*.local"],
"applyToChannels": []
}
}
}
}
}| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled |
boolean | false | 启用代理连接器 |
proxyType |
string | "http" | 代理类型:http, https, socks4, socks5 |
proxyHost |
string | - | 代理服务器地址 |
proxyPort |
number | - | 代理服务器端口 |
proxyUsername |
string | - | 代理认证用户名(可选) |
proxyPassword |
string | - | 代理认证密码(可选) |
bypassList |
array[] | [] | 绕过代理的域名列表 |
applyToChannels |
array[] | [] | 应用代理的频道(空 = 所有频道) |
{
"enabled": true,
"proxyType": "http",
"proxyHost": "proxy.example.com",
"proxyPort": 8080
}{
"enabled": true,
"proxyType": "socks5",
"proxyHost": "socks.example.com",
"proxyPort": 1080,
"proxyUsername": "user",
"proxyPassword": "pass"
}{
"enabled": true,
"proxyType": "http",
"proxyHost": "proxy.example.com",
"proxyPort": 8080,
"bypassList": ["localhost", "127.0.0.1", "*.internal.com"]
}openclaw proxy-connector.test
openclaw proxy-connector.test --url https://httpbin.org/ipopenclaw proxy-connectoropenclaw gateway restart- Fetch 覆盖:插件会在启动时覆盖全局
fetch函数 - 路由决策:根据配置的
bypassList决定是否使用代理 - 代理应用:使用对应的代理 Agent 发送请求
- 错误处理:代理连接失败时会记录日志但不会中断服务
目前插件通过覆盖 fetch 来工作,理论上支持所有基于 HTTP/HTTPS 的频道:
- ✅ Telegram
- ✅ Feishu(飞书)
- ✅ Discord
- ✅ Slack
- ✅ 其他基于 HTTP 的频道
- 检查代理服务器是否正常运行
- 验证代理地址和端口是否正确
- 检查代理认证信息(用户名/密码)
- 查看日志:
openclaw logs --follow
检查 bypassList 配置,确保目标域名不在绕过列表中。
- 确认
applyToChannels配置(空表示所有频道) - 检查代理服务器是否允许目标域名的连接
- 使用测试命令验证代理是否正常工作
npm installopenclaw-proxy-plugin/
├── index.ts # 主入口文件
├── openclaw.plugin.json # 插件配置和 schema
├── package.json # NPM 包配置
└── README.md # 说明文档
如果需要为特定频道添加原生代理支持(而不仅仅是 fetch 覆盖),可以在 index.ts 中扩展 patchChannelClients 函数。
MIT License
Hi Yen