Halro 是什么与核心对象模型
Halro 是一个 Go 单二进制的自托管 LLM 网关。它坐在你的应用和上游模型服务之间,统一处理凭据、预算、路由、脱敏、审计和用量核算 —— 没有外部数据库、没有缓存、没有 CDN,也不在浏览器里存任何密钥。
一条链路,六个对象
Section titled “一条链路,六个对象”管理员在控制台里按这个顺序走一遍:
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)。上游服务商是谁、用的哪个模型标识、密钥是什么,应用一概不知道 —— 这是设计目标,不是副作用。
请求进来之后发生什么
Section titled “请求进来之后发生什么”客户端 / SDK → 协议门面(OpenAI / Anthropic 兼容) → 鉴权 / 策略 / 预算 / 脱敏 / 核算 → 能力感知路由 → 版本化 Provider Profile → SafeTransport → 上游其中两条不变量值得先知道:预算预留必须先落盘,才会发出上游请求;一旦响应字节对客户端可见,就不再静默切换 Provider。