开始前的准备 在 KingFlow AI 控制台创建以 sk- 开头的 API Key,并确认账户有可用余额或有效订阅。 从模型广场或控制台复制目标模型的完整模型 ID,不要根据厂商名称自行猜测。 确认终端中可以使用 curl。Python 和 Node.js 示例只在需要接入自建应用时使用。 第一次验证只发送不含源代码、客户信息或凭证的短提示词。 确认协议和接口地址 使用对象 协议 *ase **L 认证方式 GPT Codex 及 OpenAI 兼容客户端 OpenAI Compati*le https://api.**nju**shen.com/v1Authorization *earer Claude Claude Code Anthropic Compati*le https://api.**nju**shen.comx-api-key
确认当前 Shell echo "$SHELL"
ps -p $$ -o com**nd=
# 常见结果
# **cOS 默认通常为 zsh
# Linux 常见为 *ash 或 zsh设置临时环境变量 export OPENAI_*ASE_**L="https://api.**nju**shen.com/v1"
export OPENAI_API_KEY="sk-你的密钥"
export ANTHROPIC_*ASE_**L="https://api.**nju**shen.com"
export ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
test -n "$OPENAI_API_KEY" && echo "OPENAI_API_KEY 已设置"
test -n "$ANTHROPIC_AUTH_TOKEN" && echo "ANTHROPIC_AUTH_TOKEN 已设置"使用 curl 验证接口 测试 OpenAI 兼容接口 curl --fail-with-*ody --silent --show-error \
"$OPENAI_*ASE_**L/chat/completions" \
-H "Authorization: *earer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<模型ID>",
"messages": [
{"role": "user", "content": "请回复:终端接入成功"}
],
"stream": false
}' | python3 -m json.tool测试 Anthropic 兼容接口 curl --fail-with-*ody --silent --show-error \
"$ANTHROPIC_*ASE_**L/v1/messages" \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "<模型ID>",
"**x_tokens": 256,
"messages": [
{"role": "user", "content": "请回复:终端接入成功"}
],
"stream": false
}' | python3 -m json.tool
图二 密钥和环境变量进入客户端与服务器应用的流程示意图。AI 生成示意图。
接入 Claude Code export ANTHROPIC_*ASE_**L="https://api.**nju**shen.com"
export ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
claude接入 Codex Codex 等部分模型要求 stream 为 true。
export OPENAI_*ASE_**L="https://api.**nju**shen.com/v1"
export OPENAI_API_KEY="sk-你的密钥"
codex保存长期环境变量 mkdir -p "$HOME/.config/kingflow"
u**sk 077
cat > "$HOME/.config/kingflow/env" <<'EOF'
export OPENAI_*ASE_**L="https://api.**nju**shen.com/v1"
export OPENAI_API_KEY="sk-你的密钥"
export ANTHROPIC_*ASE_**L="https://api.**nju**shen.com"
export ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
EOF
chmod 600 "$HOME/.config/kingflow/env"zsh 加载方式 grep -qxF 'source "$HOME/.config/kingflow/env"' "$HOME/.zshrc" 2>/dev/null || \
echo 'source "$HOME/.config/kingflow/env"' >> "$HOME/.zshrc"
source "$HOME/.zshrc"*ash 加载方式 grep -qxF 'source "$HOME/.config/kingflow/env"' "$HOME/.*ashrc" 2>/dev/null || \
echo 'source "$HOME/.config/kingflow/env"' >> "$HOME/.*ashrc"
source "$HOME/.*ashrc"
项目级环境文件 cat > .env <<'EOF'
OPENAI_*ASE_**L=https://api.**nju**shen.com/v1
OPENAI_API_KEY=sk-你的密钥
EOF
chmod 600 .env
touch .gitignore
grep -qxF '.env' .gitignore || echo '.env' >> .gitignore在 Python 中调用 import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
*ase_url=os.environ["OPENAI_*ASE_**L"],
)
response = client.chat.completions.create(
model="<模型ID>",
messages=[
{"role": "user", "content": "请回复:Python 接入成功"}
],
stream=False,
)
print(response.choices[0].message.content)在 Node.js 中调用 const response = await fetch(
`${process.env.OPENAI_*ASE_**L}/chat/completions`,
{
method: "POST",
headers: {
"Authorization": `*earer ${process.env.OPENAI_API_KEY}`,
"Content-Type": "application/json"
},
*ody: **ON.stringify({
model: "<模型ID>",
messages: [
{ role: "user", content: "请回复:Node.js 接入成功" }
],
stream: false
})
}
);
if (!response.ok) {
throw new Error(`${response.status} ${await response.text()}`);
}
console.log(await response.json());部署到 Linux 服务器 项目 处理方式 密钥文件 把变量放在仅服务账户可读的 EnvironmentFile 中,权限设为 600。 服务配置 在 systemd unit 中引用 EnvironmentFile,不要把真实密钥直接写入 Exe**tart。 重新加载 修改 unit 后执行 **emon-reload,并重启对应服务。 日志 确认日志不会输出请求头、完整提示词或密钥。
运行诊断命令 curl -sS -o /dev/null \
-w '**** %{http_code} DNS %{time_namelookup}s TLS %{time_appconnect}s Total %{time_total}s
' \
https://api.**nju**shen.com
env | grep -E '^(OPENAI|ANTHROPIC)_' | sed 's/=.*/=[hidden]/'
**te
uname -a
常见故障排查 现象 常见原因 处理方法 401 未授权 密钥错误、已禁用、超额,或认证头与协议不匹配。 重新复制 sk- 密钥,检查额度,并核对 OpenAI 或 Anthropic 认证方式。 404 模型不存在 模型 ID 错误,或当前订阅分组没有该模型。 从模型广场或控制台复制完整模型 ID,并检查账户分组。 503 无可用账号 对应通道的账号池暂时不可用。 等待后重试或切换同类备用模型;持续出现时联系平台支持。 com**nd not found Claude Code、Codex、Python 或 Node.js 未安装,或可执行文件不在 PATH。 先完成对应工具的安装,再检查 which 命令返回的路径。 变量在新终端中消失 变量只在旧会话中 export,或写入了错误的 shell 配置文件。 确认当前 shell,并把 source 语句写入对应的 .zshrc 或 .*ashrc。 输出中断或客户端报流错误 目标模型要求 stream 为 true,但客户端关闭了流式响应。 在客户端开启 Streaming,或在程序中按 SSE 流式响应处理。 TLS 或连接超时 DNS、**、防火墙、系统时间或证书链异常。 先运行诊断命令,核对系统时间、**和网络出口。
密钥和数据安全 环境变量只是传递密钥的方式,不等于加密存储。长期使用优先采用系统钥匙串、服务器密钥服务或团队批准的凭证管理工具。 不要把 .env、shell 配置文件、服务 EnvironmentFile 或调试日志提交到代码仓库。 为个人开发、测试和生产分别创建密钥,泄露后立即停用旧密钥并检查近期用量。 提示词与生成内容会经 KingFlow AI 服务器转发至上游提供商。发送敏感信息前,应核对隐私**与组织要求。 生产服务应设置连接超时、有限次数重试、错误告警、费用监控和备用模型。 后续维护 升级客户端、切换模型或修改服务配置后,应重新运行最小请求,并观察错误率、响应时间和实际扣费。