Api Reference
Amp CLI API
Amp CLI 集成路由端点
Amp CLI API
ProxyCast 提供 Amp CLI 兼容的路由端点,支持将 Amp CLI 请求路由到本地 OAuth 凭证。
概述
Amp CLI 集成允许你:
- 使用本地 OAuth 凭证处理 Amp CLI 请求
- 将不可用的模型映射到可用的替代模型
- 代理 Amp 的认证和账户管理功能
Provider 路由
/api/provider/{provider}/v1/chat/completions
处理 Amp CLI 的 OpenAI 格式聊天请求。
POST /api/provider/{provider}/v1/chat/completions
Content-Type: application/json
Authorization: Bearer your-api-key
支持的 Provider
| Provider | 说明 |
|---|---|
anthropic | Claude 模型 |
openai | GPT 模型 |
google | Gemini 模型 |
请求示例
curl http://127.0.0.1:8999/api/provider/anthropic/v1/chat/completions \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": true
}'
/api/provider/{provider}/v1/messages
处理 Amp CLI 的 Anthropic Messages 格式请求。
POST /api/provider/{provider}/v1/messages
Content-Type: application/json
x-api-key: your-api-key
anthropic-version: 2023-06-01
请求示例
curl http://127.0.0.1:8999/api/provider/anthropic/v1/messages \
-H "x-api-key: your-api-key" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello!"}]
}'
模型映射
当 Amp CLI 请求的模型不可用时,ProxyCast 可以自动映射到可用的替代模型。
配置
ampcode:
model_mappings:
- from: "claude-opus-4.5"
to: "claude-sonnet-4"
- from: "gpt-5"
to: "gemini-2.5-pro"
- from: "claude-3-opus-20240229"
to: "claude-3-5-sonnet-20241022"
映射行为
- 收到请求时检查模型名称
- 如果模型在映射列表中,替换为目标模型
- 使用替换后的模型名称路由请求
- 响应中保留原始请求的模型名称
管理端点代理
ProxyCast 可以代理 Amp 的认证和账户管理端点到上游服务器。
/api/auth/*
代理认证相关请求。
# 登录
POST /api/auth/login
# 刷新 Token
POST /api/auth/refresh
# 登出
POST /api/auth/logout
/api/user/*
代理用户账户相关请求。
# 获取用户信息
GET /api/user/profile
# 获取使用统计
GET /api/user/usage
配置
ampcode:
upstream_url: "https://ampcode.com"
restrict_management_to_localhost: false
| 配置项 | 说明 |
|---|---|
upstream_url | Amp 上游服务器 URL |
restrict_management_to_localhost | 是否限制管理端点只能从 localhost 访问 |
使用场景
场景 1:使用本地 OAuth 凭证
你有 Kiro 的 Claude 订阅,想用 Amp CLI 但不想额外付费:
- 配置 ProxyCast 加载 Kiro OAuth 凭证
- 在 Amp CLI 中配置 ProxyCast 作为 API 端点
- Amp CLI 请求通过 ProxyCast 路由到 Kiro 凭证
场景 2:模型替换
Amp CLI 请求 Claude Opus 4.5,但你只有 Sonnet 4 的访问权限:
ampcode:
model_mappings:
- from: "claude-opus-4.5"
to: "claude-sonnet-4"
场景 3:多 Provider 负载均衡
配置多个凭证,ProxyCast 自动在它们之间负载均衡:
credential_pool:
kiro:
- id: "kiro-1"
token_file: "kiro/token-1.json"
- id: "kiro-2"
token_file: "kiro/token-2.json"
Amp CLI 配置
在 Amp CLI 中配置 ProxyCast:
# 设置 API 端点
amp config set api.base_url http://127.0.0.1:8999/api/provider
# 设置 API Key
amp config set api.key your-proxycast-api-key
或在配置文件中:
# ~/.amp/config.yaml
api:
base_url: http://127.0.0.1:8999/api/provider
key: your-proxycast-api-key
错误处理
模型不可用
当请求的模型不可用且没有配置映射时:
{
"error": {
"message": "Model 'claude-opus-4.5' is not available",
"type": "invalid_request_error",
"code": "model_not_found"
}
}
上游连接失败
当无法连接到 Amp 上游服务器时:
{
"error": {
"message": "Failed to connect to upstream server",
"type": "upstream_error",
"code": "connection_failed"
}
}
凭证耗尽
当所有凭证都不可用时:
{
"error": {
"message": "All credentials exhausted",
"type": "service_unavailable",
"code": "no_credentials_available"
}
}
响应头会包含 Retry-After 指示何时可以重试。