大家好,我是一个刚加入 Linux Do 不久的新人,有幸通过朋友介绍认识了这个社区。我非常喜欢这里,非常希望能够和大家一起学习交流。发这篇文章的原因是我使用的 Copilot 插件,通过社区大佬的 override 项目,让我感受到了原来我可以使用除了 gpt 以外的模型。
当我看了 override 这个项目后,被源代码深深震撼,同时觉得自己可以发挥一些作用。因为我平常也是使用 Go 写点小工具,所以我想把这个项目用 Go 重写一遍。同时引入一些新的功能,主要希望在重复造轮子的同时,将原有代码规整一下,然后让代码更加易读,更好地维护。
那么我就直接向大家介绍我的项目:ldor。这个项目沿着 override 的思路,并且在原有基础上进行了一些改进。
项目介绍
ldor 是一个基于 Go 语言的开源项目,是 override 项目的衍生品。兼容 override 的所有功能,并且在此基础上进行了一些改进,同时兼容了 override 的配置文件。在某种程度上说,可以无损地替换 override 项目。
项目特点(我做的一些小工作)
-
优化代码结构,使用标准的 Go 包。
-
引入自己已经开源的 Go 库:
orbit、law、gs、toolkit等。 -
优化代码结构,将原有代码拆分成多个模块。
-
引入新的功能:支持接口请求限速。
-
提供完整的 Dockerfile,方便大家使用。
-
提供了完整的 GitHub Action,在每一个 Release 中都会自动生成 Docker 镜像和二进制文件。
-
提供启动参数,可以根据实际情况进行配置。
项目地址
https://github.com/shengyanli1982/ldor
应用参数
ldor 项目支持多种参数配置,可以根据实际情况进行配置。
# ldor --help
-
-c, --config:配置文件路径 (默认:config.json) -
-p, --plain:是否使用明文日志输出模式 (默认:false),此选项在默认模式下开启,在Release模式下关闭,需要手动开启。 -
-r, --release:是否使用Release模式 (默认:false),在此模式下,日志默认以json格式输出。同时没有默认模式下的相关丰富的日志输出。 -
-d, --debug:是否使用Debug模式 (默认:false),拥有在默认模式下的相关丰富的日志输出,同时还会输出更多的调试信息(比如:Http的Request和Response的内容)。
相关截图
默认模式
日常使用,拥有丰富的日志输出,适合个人使用。
Release 模式
非常简单的输出,非常适合在生产环境中使用,比如一个小团队跟小伙伴共享。
Debug 模式
输出 Http 的 Request 和 Response 的内容,方便小伙伴们在调试的时候使用。
支持代理 Http 请求重试
这个是我开源库 retry 实现的,代码中使用默认参数。
最后的话
希望大家能够喜欢这个项目,如果觉得真的好用就不要吝啬你的 Star。多给我点小星星吧。
然后我也希望这个项目能够进入到 override 的生态中,成为 override 的一部分。



