欢迎来到Chaosmos!

我们提供免费辅助,破解辅助,成人资源,包括黑客技术交流等版块;相信您一定能在这里找到您想要的。

立即注册!
  • 为了确保论坛积极互助的氛围,本论坛需要下载的资源一律必须在回复帖子之后才能进行下载。对于非附件内容也鼓励开启隐藏回复/反应可见模式!

    VIP用户可以免回复帖子下载资源,升级为VIP可通过发表超过15条贴子或消息后自动升级为VIP用户。

  • Chaosmos官方电报频道:https://t.me/metastemsu Chaosmos官方电报群聊: https://t.me/chinahvh

国外搬运 用ChannelMonitor自动测试OneAPI/NewAPI的渠道并自动更新

Qorle

常务委员
gemgemgemgemgemgem
管理成员
中央委员
政治局委员
优秀干部
注册
2024/07/26
消息
678


佬们的公益API实在太多啦!如果手动对每个进行维护需要耗费大量精力,因此写了个项目:
Channel Monitor 是一个用于监控OneAPI/NewAPI渠道的工具,它直接读取channels数据表,每间隔一段时间测试每个渠道的模型可用性,根据请求是否成功更新可用模型,写入到数据表中,以此来实现渠道的自动监控,保证整体OneAPI/NewAPI的高可用,尽可能减少错误返回次数。
项目地址:GitHub - DullJZ/ChannelMonitor: Channel Monitor 是一个用于监控OneAPI/NewAPI渠道的工具,它直接读取channels数据表,每间隔一段时间测试每个渠道的模型可用性,根据请求是否成功更新可用模型,写入到数据表中,以此来实现渠道的自动监控,保证整体OneAPI/NewAPI的高可用,尽可能减少错误返回次数。 10

特性​

  • 直接读写OneAPI/NewAPI的数据库
  • 测试渠道的每个模型可用性
  • 自动向上游获取可用模型
  • 自动更新数据库中的每个渠道可用模型
  • 支持排除不予监控的渠道和模型
  • 支持间隔时间配置
  • TODO: 多线程并发测试
运行截图:
1731497888807.png


安装​

二进制​

Releases页面下载最新版本的二进制文件,在同一目录下配置config.json后运行即可。建议使用screen或nohup等工具后台运行。

mkdir ChannelMonitor && cd ChannelMonitor
wget https://github.com/DullJZ/ChannelMonitor/releases/download/v0.1.0/ChannelMonitor_linux_amd64
chmod +x ChannelMonitor_linux_amd64
# 下载并修改配置文件
wget https://raw.githubusercontent.com/DullJZ/ChannelMonitor/refs/heads/main/config_example.json -O config.json
nano config.json
screen -S ChannelMonitor
./ChannelMonitor_linux_amd64

Docker​


docker pull dulljz/channel-monitor
# 下载并修改配置文件
wget https://raw.githubusercontent.com/DullJZ/ChannelMonitor/refs/heads/main/config_example.json -O config.json
nano config.json
# 如果使用宿主机的数据库,可以简单使用host模式,
# 并使用localhost:3306作为数据库地址
docker run -d --name ChannelMonitor -v ./config.json:/app/config.json -net host dulljz/channel-monitor

Docker Compose​


version: '3'
services:
channel-monitor:
image: dulljz/channel-monitor
volumes:
- ./config.json:/app/config.json
# 如果使用宿主机的数据库,可以简单使用host模式,
# 并使用localhost:3306作为数据库地址
network_mode: host


# 下载并修改配置文件
wget https://raw.githubusercontent.com/DullJZ/ChannelMonitor/refs/heads/main/config_example.json -O config.json
nano config.json
docker-compose up -d

配置​


{
// 排除不予监控的渠道ID
"exclude_channel": [5],
// 排除不予监控的模型ID
"exclude_model": ["advanced-voice"],
// 模型列表,仅当获取不到渠道的模型(/v1/models)时使用
"models": ["gpt-3.5-turbo", "gpt-3.5-turbo"],
// 模型可用性测试的时间间隔,建议不小于30分钟,接收的时间格式为s、m、h
"time_period": "1h",
// 数据库DSN字符串,格式为:user:password@tcp(host:port)/database
"db_dsn": "YOUR_DB_DSN"
}
 
顶部