reyamira/models:用 TUI 把 AI 模型、基准和代理状态装进一个终端
TUI 和 CLI 用于浏览 AI 模型、基准测试、编码代理和 AI 提供商的状态。
秒懂
- 它是什么?
- reyamira/models 是一个用 Rust 写的 TUI 和 CLI,用来浏览 4000 多个 AI 模型、约 1000 条基准数据、12 个编码代理和 22 个提供商的状态。它把分散在多个网站的信息集中到一个终端界面里,但对数据源的依赖和更新频率需要仔细评估。
- 适合谁用?
- reyamira/models 适合那些经常在终端里工作、需要快速查阅模型参数、价格、基准分数或代理更新状态的开发者。它把 models.dev、Artificial Analysis 等来源的数据聚合到一个界面,省去开浏览器切换标签的麻烦。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 4 天前。
- 用什么语言写的?
- 主要是 Rust(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
终端里的模型目录,解决的是信息分散问题
AI 领域的信息散落在多个网站:models.dev 有模型列表,Artificial Analysis 有基准,GitHub 上有代理的发布记录,各家提供商又有自己的状态页。reyamira/models 把这些塞进一个 TUI,用标签页区分模型、代理、基准和状态。它面向的是那些不想在浏览器里开十几个标签的人,尤其是用终端做日常开发的工程师。项目本身不产生任何数据,它只是聚合和展示,这一点从 README 对数据源的引用就能看出来。
四个标签页,各自有不同的数据管道
Models 标签页从 models.dev 拉取约 4000 个模型,按提供商、能力、价格、上下文窗口筛选。Benchmarks 标签页聚合了四个来源:Artificial Analysis、Epoch AI、Arena 和 LLM Stats,每个来源的字段和评分体系不同,所以工具提供了可切换的数据源和列选择器。Agents 标签页跟踪 12 个编码代理,通过 GitHub API 检测版本和更新,更新命令会根据安装方式自动推导,比如 npm、brew 或 pacman。Status 标签页监控 22 个提供商的状态页,覆盖 7 种状态页平台。每个标签页都有对应的 CLI 子命令,比如 `models list` 和 `agents status`,说明 TUI 和 CLI 共用同一套数据获取逻辑。
安装方式多,但 Nix 用户需要留意缓存
安装途径覆盖主流平台:macOS 和 Linux 可以用 `brew install models`,Windows 用 Scoop 的 `scoop install extras/models`,Arch 用户用 AUR 的 `models-bin`,任意平台都能用 `cargo install modelsdev` 从源码编译。Nix 用户可以直接 `nix run github:reyamira/models`,项目提供了 flake,但 README 明确说没有发布到 FlakeHub 或 nixpkgs,所以只能用 GitHub 上的 tag 或分支。预编译的二进制和 .deb、.rpm 包在 GitHub Releases 页面。首次启动只需运行 `models`,导航用方向键,切换标签用 `[` 和 `]`,搜索用 `/`,帮助键是 `?`。鼠标也支持,可以点击行和面板。
v0.14 的细节字段和 CLI 同步,是实用主义的设计
v0.14.0 给模型详情面板增加了描述、结构化输出能力和推理控制(预算范围、努力级别、开关)。这些字段不是摆设,它们以条件行显示,比如思考 token 价格、音频输入输出价格、按 token 数分层的价格,只在模型有这些数据时才出现。按 `i` 键可以查看字段含义的滚动说明,这个设计对新手友好。CLI 也同步更新了,`models show` 和 `--json` 输出包含这些新字段,说明作者在意 TUI 和 CLI 的一致性。这种细节处理让工具不只是花哨的界面,而是能真正回答“这个模型支不支持结构化输出”这类问题。
代理管理功能有亮点,但依赖安装方式推断
Agents 标签页支持在应用内添加自定义代理,按 `A` 输入名称和 `owner/repo` 即可,不用编辑配置文件。更新操作也集成在界面里,按 `u` 更新单个代理,按 `U` 更新全部,按 `x` 取消进行中的更新。更新命令的推导逻辑是亮点:它根据代理实际安装方式生成命令,比如 bun、npm、brew、cargo、AUR、apt、dnf。这意味着如果你用 `pipx` 装的代理,工具会尝试用 pipx 更新。但这里有个隐患,如果安装方式识别错误,更新命令可能不匹配,README 没有说明这种情况如何处理。交互式更新模式(按 `i`)可以暂停并让用户输入,算是补救措施。
数据源的可靠性是最大的不确定因素
工具聚合了 models.dev、Artificial Analysis、Epoch AI、Arena 和 LLM Stats 的数据,但 README 没有说明这些数据多久更新一次,也没有说明刷新机制是手动触发还是自动定时。GitHub Actions 工作流里有 `update-benchmarks.yml`,说明基准数据有自动更新流程,但具体频率未知。状态页的监控依赖各提供商的状态页平台,如果某个提供商换了状态页服务,工具可能需要适配。对于依赖这些数据做决策的用户,数据的新鲜度比界面美观更重要,而这一点在 README 里没有明确承诺。
对比其他工具,差异在于聚合范围和交互深度
市面上有类似的终端工具,比如 `aichat` 或 `llm`,但它们主要聚焦于与模型对话,而不是浏览模型目录和基准。reyamira/models 的定位更接近一个数据浏览器,它不调用模型,只展示元数据。与 Web 端模型对比网站相比,它的优势是离线可用(数据缓存后)和 CLI 集成,比如 `models search` 可以直接在脚本里用。但 Web 端通常有更丰富的图表和社区评论,这是 TUI 难以复制的。另一个区别是代理管理,大多数工具不会跟踪编码代理的版本和更新,这是 reyamira/models 的独特卖点。
编辑结论
reyamira/models 适合那些经常在终端里工作、需要快速查阅模型参数、价格、基准分数或代理更新状态的开发者。它把 models.dev、Artificial Analysis 等来源的数据聚合到一个界面,省去开浏览器切换标签的麻烦。如果你依赖这些数据做采购或架构决策,建议先核实数据源的更新频率和覆盖范围,因为工具本身不生成数据,只是搬运。不适合对数据准确性要求极高、或者完全不用终端的人。首次使用前,至少运行一次 `models` 并检查 `config.toml` 中的默认标签页和刷新键位,确认数据能按预期加载。
社区笔记