惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
H
Help Net Security
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
I
InfoQ
SecWiki News
SecWiki News
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
P
Palo Alto Networks Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Vercel News
Vercel News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
M
MIT News - Artificial intelligence
S
Schneier on Security
T
Threat Research - Cisco Blogs
F
Fortinet All Blogs
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The Cloudflare Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
G
GRAHAM CLULEY
IT之家
IT之家
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
腾讯CDC
Google DeepMind News
Google DeepMind News
V
V2EX
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
B
Blog RSS Feed
S
SegmentFault 最新的问题
博客园 - 叶小钗
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Project Zero
Project Zero
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure

染念的笔记

conda base 环境还原,不用重装法 - 染念的笔记 2025 年终总结 - 染念的笔记 claude code 专栏上线~ - 染念的笔记 一个解决Banana无法生成透明背景的办法 - 染念的笔记 PyTorch pin_memory 和 non_blocking 真正做了什么?从原理到实战全解析 Serenade 发布:动静结合,是把内容写成文件,把发布交还给你 - 染念的笔记 2024年总结🤔 - 染念的笔记 Ubuntu22.04回退系统内核 - 染念的笔记 论国内外博客发展现状|目前可公开的情报02 - 染念的笔记
lens|打造最强的个人LLM聚合网关系统 - 染念的笔记
染念 · 2026-04-29 · via 染念的笔记

引言

事实上,为个人打造的LLM聚合网关系统已经有很多,例如octopusmetapi等,究竟要不要重复造一个轮子让我思考了很久。

最终,如你所见,lens还是诞生了。

所以,当前的开源系统肯定没有lens想要做的样子,总结一下,我有以下鄙见:

lens没有多个协议互转功能

因为都26年了,能调用llm api的软件理应都具有每个广商的协议调用。

但是lens却保留了两条我认为真正有价值的单向转换

  • chat->response
  • chat->anthropic

首先我们都知道,response是Agent时代更推荐的协议,而很多newapi站点的模型仅提供了chat,我很喜欢response的多步输出,能够让我知道它是否活着,要是网不好,chat很容易造成什么都没有,现在我在codex/cherry studio总是使用着response。其次需要chat->anthropic功能,那就是为了能够在cc使用了,这个道理就不用多说了。

lens 更轻,因为它只想做网关

构造lens的理念就是觉得现有的系统过于冗余,lens只是想成为API 网关或者说得更大的范围就是ai infra路由中的一层,因此未来的更新都将围绕这方面进行更新,而站点,账号导入等功能不是lens想要包含的内容。

我觉得通过各种工具的组合会胜过统一集合体,毕竟也有人不需要这样的功能。

谁说python就不能在光里做英雄!

看到太多的go,ts,rust项目了。呜呜,python也想说自己可以,大部分推理框架例如vLLM、SGLang都是python写的,写的聚合项目速度再怎么快,上游也不给力啊,何况项目定位的是个人使用,简简单单的高并发python也是可以的,所以你可以把lens看成python版的个人api聚合网关~

lens不是想打败谁,也不是想证明其它项目不好。它只是选择了一条更克制的路线。

如果你也希望有一个轻量化工具,能把 OpenAI、Anthropic、Gemini等上游统一起来,同时还能看清路由、日志、成本和配置,那就快来https://github.com/dyedd/lens看看吧。

功能

现在来总结一下lens的功能:

  • 上游渠道管理,只要上游支持OpenAI ChatOpenAI ResponsesAnthropicGemini那就可以聚合。还可以在这里对请求内容进行参数覆盖和请求头增加,可以强制在cc启动某些参数,方便国产模型和国外模型的迁移。
  • 模型组管理,在这个组合,你需要规范化模型名称,应该通过这个对外保留名称和生成模型价格。当然,我还实现了模型路由功能,例如把opus的请求全路由到kimi去。
  • 路由策略,目前仅做了轮询和故障转移的功能。
  • 协议入口,我觉得模型用什么协议是需要人为固定的, 因为还存在2个协议转换功能,所以例如anthropic协议的模型也是可以把chat加入。
  • 网关 API Key
  • 请求日志
  • Token 和成本统计
  • 一些定时任务,例如更新价格,清空日志等等
  • 配置备份迁移

界面如下所示,总体设计看起来简约清爽。

部署

在目录放置 docker-compose.yml.env两个文件即可:

启动前请编辑 .env,至少修改 LENS_AUTH_SECRET_KEY

如果需要修改数据目录,那就改 volumes 左侧的宿主机路径,右侧 /app/data 保持不变:

最后,拉取并启动线上镜像:

更多的部署方案可以看项目的README。

更多的使用方法也可以看项目的README,就不再多余阐述了。

厚言

为什么要把这个项目成为lens呢,lens的翻译是透镜/镜片,我们可以拿着镜片将各种光给聚合在一起~这和项目的含义不谋而合。

感谢你读到了这里,欢迎使用我的项目!

地址:https://github.com/dyedd/lens