HAPI / Getting started

接入 HAPI

通过一个 API Key 使用 Claude Code、CC Switch 或 OpenAI SDK。先选择客户端,再使用与它匹配的 Base URL。

Anthropic Messages 兼容 OpenAI API 兼容 HTTPS / JSON

获取 API Key

API Key 用于识别账户、分组和用量。Claude Code 与 OpenAI SDK 使用同一类密钥,但配置字段和 Base URL 不同。

  1. 注册并登录控制台

    进入 HAPI 控制台,完成账号注册或登录。

  2. 创建 API Key

    在 API Key 页面新建密钥,并选择需要使用的模型分组。

  3. 立即妥善保存

    复制生成的完整密钥。下文统一使用 <HAPI_API_KEY> 作为占位符。

不要公开密钥。 不要把真实 API Key 放入截图、聊天记录、客户端源码或公开仓库。怀疑泄露时,请立即在控制台禁用并重新创建。

地址与协议

最常见的接入错误是给 Claude Code 的地址多写了 /v1。请按客户端选择地址,不要混用。

客户端Base URL鉴权字段实际接口
Claude Code / CC Switchhttps://hapiopen.cc
末尾不加 /v1
ANTHROPIC_AUTH_TOKEN/v1/messages
OpenAI SDKhttps://hapiopen.cc/v1api_key / Bearer/chat/completions
原始 HTTP 请求https://hapiopen.ccAuthorization: Bearer填写完整接口路径
为什么不同? Claude Code 会自动在 Base URL 后请求 /v1/messages;OpenAI SDK 则要求配置已经包含 /v1 的 API 根地址。

推荐方式 · CC Switch 3.16.5

使用 CC Switch

CC Switch 适合管理多个 Claude Code 供应商。切换时它会自动写入 Claude Code 的本地配置,不需要每次手动编辑 JSON。

  1. 安装并打开 CC Switch

    官方 Releases 页面 下载适合当前系统的版本,安装后进入 Claude 页面。

  2. 添加 Claude 供应商

    点击添加供应商,将名称填写为 H API。供应商网站可填写 https://hapiopen.cc

  3. 填写连接信息

    Base URL / API URL 填写 https://hapiopen.cc,API Key / Auth Token 填写控制台生成的 HAPI API Key。

  4. 保存并启用

    保存供应商,然后将 H API 设为 Claude 当前供应商。确认界面显示已切换到 H API。

  5. 重新启动 Claude Code

    关闭已经运行的 Claude Code 和旧终端窗口,重新打开终端后运行 claude 并发送一条测试消息。

Provider Name
H API
Base URL / API URL
https://hapiopen.cc,末尾不要添加 /v1
API Key / Auth Token
粘贴控制台生成的完整 HAPI API Key
模型无需在 CC Switch 中强制覆盖。 完成基础连接后,可在 Claude Code 中选择当前分组支持的模型;可用模型以 模型广场 为准。

替代方式 · Claude Code

手动修改配置

不使用 CC Switch 时,可以直接修改 Claude Code 的用户配置文件。关闭正在运行的 Claude Code 后再编辑。

Windows%USERPROFILE%\.claude\settings.json
macOS~/.claude/settings.json
Linux~/.claude/settings.json
~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "<HAPI_API_KEY>",
    "ANTHROPIC_BASE_URL": "https://hapiopen.cc"
  }
}
已有配置时不要整文件覆盖。 只把上面的两个字段合并进现有 env 对象,并保留原有权限、插件、Hook 等其他设置。JSON 中不能有重复键或尾随逗号。

使配置生效

保存文件后,关闭所有 Claude Code 进程并重新打开终端。再次运行 claude,发送一条简单消息进行验证。

使用 cURL

原始 HTTP 请求适合验证 API Key 和接口连通性。下面分别测试 Anthropic Messages 与 OpenAI Chat Completions。

Claude / Anthropic Messages

cURL · Anthropic Messages
curl https://hapiopen.cc/v1/messages \
  -H "Authorization: Bearer $HAPI_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "你好"}]
  }'

OpenAI Chat Completions

cURL · OpenAI
curl https://hapiopen.cc/v1/chat/completions \
  -H "Authorization: Bearer $HAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "messages": [{"role": "user", "content": "你好"}]
  }'

使用 Python

安装官方 OpenAI SDK:pip install openai

OPENAI BASE URLhttps://hapiopen.cc/v1
Python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["HAPI_API_KEY"],
    base_url="https://hapiopen.cc/v1",
)

response = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)

使用 Node.js

安装官方 OpenAI SDK:npm install openai

Node.js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.HAPI_API_KEY,
  baseURL: "https://hapiopen.cc/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5.4-mini",
  messages: [{ role: "user", content: "你好" }],
});

console.log(response.choices[0].message.content);

验证接入

完成配置后依次检查下面几项。不要只根据 CC Switch 的“已保存”判断接口已经可用。

  • Claude Code 或调用程序已经完全重启,没有继续使用旧进程中的环境变量。
  • Claude Code 的 Base URL 是 https://hapiopen.cc,末尾没有 /v1
  • 发送一条短消息可以获得正常回复,而不是登录提示、401 或 404。
  • 控制台用量记录中出现新的请求,模型和 API Key 与当前配置一致。
  • 需要切换模型时,从 模型广场 复制当前分组可用的准确模型名称。

常见问题

请求失败时先检查状态码,再核对 Base URL、API Key、模型名称和账户分组。

  • 401API Key 缺失、复制不完整、已被禁用,或 CC Switch 尚未启用 H API 供应商。重新粘贴密钥并完全重启客户端。
  • 404Claude Code 的 Base URL 很可能错误地写成了 https://hapiopen.cc/v1,最终形成重复路径。改为不带 /v1 的地址。
  • 400请求 JSON、接口协议或模型名称不正确。不要把 OpenAI 的请求结构发送到 Anthropic Messages 接口。
  • 429请求频率、并发或账户额度达到当前限制。降低并发并检查控制台中的余额和分组限制。
  • 模型不可用模型不属于当前 API Key 的分组,或名称已经调整。以模型广场显示的名称为准。
  • 配置未生效关闭所有 Claude Code 与终端进程,确认 CC Switch 当前供应商和 settings.json 内容,再重新启动。
  • 5xx上游模型暂时不可用。稍后重试,或切换到当前分组内的其他可用模型。
已复制到剪贴板