跳转到内容

Halro 是什么与核心对象模型

Halro 是一个 Go 单二进制的自托管 LLM 网关。它坐在你的应用和上游模型服务之间,统一处理凭据、预算、路由、脱敏、审计和用量核算 —— 没有外部数据库、没有缓存、没有 CDN,也不在浏览器里存任何密钥。

管理员在控制台里按这个顺序走一遍:

Credential → Provider → Deployment → Route → Project → Gateway Key
对象是什么
Credential上游服务商的密钥,AES-256-GCM 加密存放
Provider一个上游接入点,绑定一份不可变的 Provider Profile
Deployment「这个 Provider 上的这个模型,能做什么」
Route把一个公开别名映射到一个或多个 Deployment
Project预算、限流、CIDR、Token Guard、脱敏策略的归属单位
Gateway Key发给应用的凭证,gw_ 开头

应用只看得见其中两样:一个 Gateway Key(链条末端),和一个模型别名(它属于 Route)。上游服务商是谁、用的哪个模型标识、密钥是什么,应用一概不知道 —— 这是设计目标,不是副作用。

客户端 / SDK → 协议门面(OpenAI / Anthropic 兼容)
→ 鉴权 / 策略 / 预算 / 脱敏 / 核算
→ 能力感知路由 → 版本化 Provider Profile
→ SafeTransport → 上游

其中两条不变量值得先知道:预算预留必须先落盘,才会发出上游请求一旦响应字节对客户端可见,就不再静默切换 Provider