OnestarQQ/oauth-disguise-skill
GitHub: OnestarQQ/oauth-disguise-skill
这是一个 OpenClaw 技巧,通过环境变量注入将 Anthropic OAuth 令牌伪装成 API 密钥,以解决在 OpenClaw 网关中调用官方模型时的认证限制。
Stars: 0 | Forks: 0
# OAuth 伪装技巧
一项用于配置 Anthropic OAuth 令牌(`sk-ant-oat01-*`)的技巧,使其通过环境变量注入作为 API 密钥在 OpenClaw 中工作。
[](https://opensource.org/licenses/MIT)
[](https://clawhub.com)
## 功能
- 将 Anthropic OAuth 令牌转换为可用的 API 密钥
- 环境变量注入以实现安全的令牌管理
- 双提供商支持(官方 API + 代理回退)
- 每个代理的配置选项
- 详细的故障排除指南
- 安全的令牌处理(在配置输出中自动编辑)
## 安装
### 方法 1:使用 skillhub(推荐)
```
skillhub install oauth-disguise
```
### 方法 2:使用安装脚本
```
# 克隆 repository
git clone https://github.com/huangyixing520-tech/oauth-disguise-skill.git
cd oauth-disguise-skill
# 运行 setup script
./setup.sh
```
### 方法 3:手动安装
1. 克隆此仓库或下载 skill 文件夹
2. 将 `oauth-disguise` 文件夹复制到您的 OpenClaw skills 目录:
cp -r oauth-disguise ~/.openclaw/workspace/skills/
3. 重启 OpenClaw gateway
## 用法
### 基本配置
```
openclaw config patch '{
"env": {
"vars": {
"ANTHROPIC_API_KEY": "sk-ant-oat01-YOUR_TOKEN"
}
},
"models": {
"providers": {
"anthropic-official": {
"baseUrl": "https://api.anthropic.com",
"apiKey": "${ANTHROPIC_API_KEY}",
"api": "anthropic-messages",
"models": [
{"id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4"},
{"id": "claude-opus-4-6", "name": "Claude Opus 4.6"}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic-official/claude-sonnet-4-20250514"
}
}
}
}'
```
### 重启网关
```
openclaw gateway restart
```
### 验证
运行 `session_status` 或检查 `openclaw status`。查找:
- `🧠 Model: anthropic-official/*` → ✅ 成功
- `custom-proxy/*` 或回退通知 → ❌ 令牌无效或认证冷却
## 使用场景
在以下情况下,此技巧非常有用:
1. **OAuth 令牌身份验证错误**:您拥有 Anthropic OAuth 令牌(`sk-ant-oat01-*`),但在直接调用 API 时出现 `authentication_error`
2. **从代理切换到官方 API**:从第三方代理服务迁移到 Anthropic 官方 API
3. **Claude 订阅令牌**:配置 Claude Pro/Team 订阅令牌以供 API 使用
4. **双提供商设置**:同时保留官方 API 和代理作为回退选项
## 高级配置
### 每个代理配置
仅应用于单个代理(其他代理保持使用代理):
```
openclaw config patch '{
"agents": {
"list": [{
"id": "YOUR_AGENT_ID",
"name": "Agent Name",
"workspace": "/path/to/workspace",
"model": {"primary": "anthropic-official/claude-opus-4-6"}
}]
}
}'
```
### 双提供商设置
在使用官方 API 的同时将代理作为回退:
```
{
"env": {"vars": {"ANTHROPIC_API_KEY": "sk-ant-oat01-xxx"}},
"models": {
"providers": {
"custom-proxy": {
"baseUrl": "https://your-proxy.com/",
"apiKey": "proxy-key",
"api": "anthropic-messages",
"models": [{"id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5"}]
},
"anthropic-official": {
"baseUrl": "https://api.anthropic.com",
"apiKey": "${ANTHROPIC_API_KEY}",
"api": "anthropic-messages",
"models": [
{"id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4"},
{"id": "claude-opus-4-6", "name": "Claude Opus 4.6"}
]
}
}
}
}
```
## 故障排除
### 常见问题
| 症状 | 原因 | 修复方法 |
|---------|-------|-----|
| 仍显示 `custom-proxy/*` | defaults.model.primary 错误 | 设置为 `anthropic-official/MODEL_ID` |
| 切换令牌后回退 | 快速切换导致的认证冷却 | 等待 5 分钟,重启网关 |
| `env variable missing` | 网关未重启 | `openclaw gateway restart` |
| 工作一段后停止 | 令牌已过期 | 在 `env.vars` 中替换令牌,重启 |
### 安全说明
- 令牌在 `config.get` 输出中会自动编辑(`__OPENCLAW_REDACTED__`)
- 使用这些令牌直接 curl 会失败(仅通过 OpenClaw 工作)
- 切勿将包含原始令牌的 `openclaw.json` 提交到版本控制
- 使用 `env.vars`(而非内联 `apiKey`)将令牌集中管理
## 贡献
欢迎提交问题请求和拉取请求以改进此技巧。
## 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件。
标签:AI, Anthropic, API代理, API密钥, CIS基准, Claude, Cutter, CVE检测, Homebrew安装, OAuth, OpenClaw, Skill, 云资产清单, 代理配置, 令牌转换, 大模型, 安全配置, 工具, 开源, 数字取证, 环境变量注入, 自动化代码审查, 自动化脚本, 逆向工程