--- title: SCNet OpenAI API Proxy emoji: 🐳 colorFrom: blue colorTo: gray sdk: docker app_port: 7860 pinned: false --- # SCNet → OpenAI Compatible API Proxy 这是一个可以部署到 Hugging Face Space 的 Docker 版本,提供 OpenAI 兼容接口: - `POST /v1/chat/completions` - `GET /v1/models` - `GET /healthz` - `GET /` ## 部署步骤 1. 在 Hugging Face 新建一个 Space,SDK 选择 **Docker**。 2. 把本目录里的文件上传到 Space 仓库根目录: - `README.md` - `Dockerfile` - `go.mod` - `main.go` - `.dockerignore` 3. 在 Space 的 **Settings → Variables and secrets** 里按需添加环境变量。 4. Space 自动 build 完成后即可使用。 ## 环境变量 | 变量 | 必填 | 说明 | | --- | --- | --- | | `API_KEY` | 否 | 设置后,调用方必须使用 `Authorization: Bearer `。不设置则无鉴权。 | | `SCNET_USERNAME` | 否 | SCNet 登录用户名。需要联网搜索模型时建议设置。 | | `SCNET_PASSWORD` | 否 | SCNet 登录密码,建议在 Hugging Face Secrets 中设置。 | | `SCNET_MAX_SESSIONS` | 否 | 最大缓存会话数,默认 `10`。 | | `VERBOSE` | 否 | 设置为 `true` 或 `1` 输出更详细日志。 | | `SCNET_CLEAN_ON_START` | 否 | 设置为 `true` 时启动时清理远端会话。默认不清理。 | | `SCNET_CLEAN_ON_SHUTDOWN` | 否 | 设置为 `false` 时关闭时不清理远端会话。默认清理。 | | `CACHE_FILE` | 否 | 会话缓存路径,默认 `/tmp/conversations.json`。 | | `PORT` | 否 | Hugging Face 默认使用 `7860`,通常不需要改。 | ## 调用示例 把 `` 换成你的 Space 地址,例如 `https://用户名-Space名.hf.space`。 ```bash curl /v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $API_KEY" \ -d '{ "model": "deepseek-v4-pro", "messages": [ {"role": "user", "content": "你好"} ], "stream": false }' ``` 如果没有设置 `API_KEY`,删除 `Authorization` 这一行。 ## 可用模型 匿名模式通常可用: - `deepseek-v4-pro` - `deepseek-v4-flash` 设置 `SCNET_USERNAME` / `SCNET_PASSWORD` 并登录成功后,还会暴露: - `deepseek-v4-pro-search` - `deepseek-v4-flash-search` ## 本地 Docker 测试 ```bash docker build -t scnet-hf-space . docker run --rm -p 7860:7860 \ -e API_KEY=your_api_key \ scnet-hf-space ``` 然后访问: ```bash curl http://localhost:7860/healthz curl http://localhost:7860/v1/models ```