Solidway v0.1.0 已以 AGPL-3.0 发布,源码与 Releases 在 GitHub 上。文档正在按发布版本重写:除「快速开始」与「参考」外,其余页面仍在描述计划中的行为。当前权威说明见仓库内的 docs/getting-started.md 与 docs/architecture.md。
概览
Solidway 是什么、它围绕什么约束设计,以及这对你的流量意味着什么。
Solidway 是用 Rust 编写的 LLM 网关。它位于你的应用与模型服务之间,转发请求时不做修改。
设计约束很窄,也很明确:转发路径不碰请求载荷。 路由、健康判断与计量都按请求逐次完成, 不改变你发出的字节。
与转发路径并行运行的能力
三个机制围绕每个请求工作,且都不读取、不改写请求体:
- 故障转移 —— 某个目标失败时,由回退链中的下一个目标承接
- 负载均衡 —— 按权重与健康评分在密钥、端点之间分配流量
- 熔断 —— 当某个目标报告的是它自身的问题时,将其暂停轮转
哪些内容会被保留
| 保留项 | 意义 |
|---|---|
| 请求体 | provider 本周新发布的参数,不必等待网关发版即可使用 |
| 响应体 | provider 返回什么,你的代码就解析什么 |
| 流式分块边界 | 客户端增量渲染在有无网关时行为一致 |
| 端点路径 | 上游路径由凭据模板渲染,区域/项目等参数留在网关侧 |
| 提示词前缀 | 改写前缀会让 provider 侧提示缓存失效,成本与延迟同时上升 |
Solidway 不做什么
不在 provider 协议方言之间转换。用 OpenAI SDK 调用 Claude,或用某家 SDK 调用另一家的模型, 设计上不在范围内。如果这是你的硬需求,Bifrost 与 LiteLLM 会做这件事。
也不提供覆盖所有 provider 的现成适配层。接入 provider 在控制台中完成,而不是靠新增适配模块。