LLMMonitor 是一个 macOS 菜单栏应用,用于监控兼容 OpenAI API 的大语言模型服务。它可以获取模型列表,手动或定时测试模型可用性,并记录延迟、输出 Token 数、输出速度和失败原因。
- 菜单栏常驻,点击图标打开监控面板。
- 支持兼容 OpenAI 的接口,例如
/v1/models和/v1/chat/completions。 - 获取远端模型列表,并选择需要监控的模型。
- 支持手动测试和周期测试。
- 展示本轮概览、历史趋势和测试记录。
- 记录延迟、成功率、输出 Token、Token 每秒速度和错误信息。
- 本地保存配置与历史记录。
- macOS 14.0 或更高版本。
- Xcode 15 或更高版本。
- Swift 5.9。
- 可访问的 OpenAI 兼容 API 服务。
-
打开项目:
open LLMMonitor.xcodeproj
-
在 Xcode 中选择
LLMMonitorscheme,然后运行应用。 -
点击菜单栏中的 LLMMonitor 图标。
-
在侧边栏填写接口配置:
- 端点地址:填写 API 基础地址,例如
https://api.openai.com/v1或http://localhost:11434/v1。 - API 密钥:填写对应服务的密钥。如果本地服务不校验密钥,也可以填写占位字符串。
- 端点地址:填写 API 基础地址,例如
-
点击获取模型列表,选择要测试的模型。
-
执行手动测试,或设置间隔后启动周期测试。
可以使用现有 Xcode 项目直接构建:
xcodebuild -scheme LLMMonitor -configuration Release -derivedDataPath build/DerivedData build如果修改了 project.yml,可使用 XcodeGen 重新生成 Xcode 项目:
xcodegen generate注意:仓库已经包含
LLMMonitor.xcodeproj,日常开发不一定需要重新生成项目。
应用会把配置和历史记录保存到当前用户的应用支持目录:
~/Library/Application Support/LLMMonitor/settings.json
~/Library/Application Support/LLMMonitor/history.json
历史记录最多保留 5000 条测试结果。
LLMMonitor/
APIService.swift API 请求、模型列表获取和模型测试
DataStore.swift 配置、历史记录、调度和应用状态
ContentView.swift 主界面、概览、历史趋势和测试记录
SidebarView.swift 端点配置、模型选择和测试控制
StatusBarController.swift 菜单栏入口和弹出面板
MainWindowManager.swift 独立主窗口管理
Models.swift 配置、结果和 API 响应模型
Assets.xcassets/ 应用图标资源
scripts/
generate_app_icon.swift 应用图标生成脚本
project.yml XcodeGen 项目配置
Package.swift Swift Package 元数据
LLMMonitor 期望接口符合 OpenAI 风格:
GET {endpoint}/modelsPOST {endpoint}/chat/completions
测试请求会发送一个非流式聊天补全请求,并根据响应中的 usage.completion_tokens 和请求耗时计算输出速度。
- 当前应用以菜单栏模式启动,不在 Dock 中常驻显示。
- 周期测试按顺序测试模型,避免并发请求压垮同一个本地代理或后端服务。
- 构建产物、临时目录和派生数据已经通过
.gitignore排除。