模型 / 数据集
sammcj/gollama avatar
sammcj/gollama

Gollama:给 Ollama 模型仓库做清理的 TUI 工具

Go manage your Ollama models

1,837 个 Star113 个 ForkGoMIT

秒懂

它是什么?
Gollama 是一个用 Go 写的终端界面工具,用来列出、检查、删除、复制和推送 Ollama 模型,命令行还带一个独立的显存估算功能。作者在 README 里已经写明维护节奏放缓,LM Studio 互链在 v2.0.1 之后被移除。
适合谁用?
如果你的 Ollama 目录里堆了几十上百个模型、需要按量化等级或体积排序后批量清理,Gollama 的 TUI 和 gollama -l 能省掉反复敲 ollama list 再手动对名字的功夫,值得装。如果你主要在 llama.cpp 或 LM Studio 上跑模型,或者需要长期稳定的上游支持,就不要把它放进关键路径:作者已经在 README 里说明维护放缓,并且自己转向了 llama-swap 和 LM Studio。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 57 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决的是 Ollama 仓库的清理问题

Ollama 自带的命令行为拉取和运行模型设计,列出模型时给出的信息有限,删除要逐个指定名字。当本地模型目录积累到几十个不同量化等级的 GGUF 之后,问题就变成:哪些是重复的,哪些占了几十 GB 却再也没跑过,哪些的 Modelfile 需要改一行参数。Gollama 把这件事搬进终端界面,README 列出的能力包括列出模型、显示体积、量化等级、模型家族和修改日期,按名称、体积、修改时间、量化等级、家族、参数量排序,选中后删除、运行、卸载、检查、复制改名、推送到 registry。作者在 README 里直说,自己每天用它主要是清理旧模型。目标用户是本地跑 Ollama、磁盘空间紧张、又不想写脚本调 API 的人。

TUI 背后是 Ollama 的 HTTP API 加本地目录

从 README 的命令行选项可以还原出两条数据通路。模型列表、运行状态、拉取、推送、复制这些操作走 Ollama 的 HTTP API,默认地址是 http://localhost:11434,-h 或 --host 可以改成远端地址,-H 是 -h http://localhost:11434 的快捷写法。另一条是文件系统通路:--ollama-dir 指定自定义的 Ollama 模型目录,--no-cleanup 用来关闭对失效符号链接的清理,说明程序会扫描该目录下的模型文件并处理断链。vRAM 估算则是一个独立于运行时状态的静态计算,输入可以是已拉取的 Ollama 模型标签,也可以是 HuggingFace 上的模型名,例如 NousResearch/Hermes-2-Theta-Llama-3-8B,再配合 --quant 覆盖量化等级、--fits 给出可用显存、--vram-to-nth 或 --context 指定要分析的最大上下文长度(如 32k、128k)。README 没有说明这些数值依据哪套公式,只说结果是近似值。

安装与第一次运行

README 推荐的方式是 go install github.com/sammcj/gollama/v2@latest。它也提供了一个 curl 安装脚本,但作者自己标注不推荐,理由是后续更新不方便。手动方式是从 releases 页面下载压缩包解压后放进 PATH。如果 shell 报 command not found: gollama,README 给出的处理是把 $HOME/go/bin 加进 .zshrc 或 .bashrc。直接敲 gollama 进入 TUI,作者本人习惯把它 alias 成 g。键位里比较关键的一组是:Space 选中,Enter 运行模型,i 检查,t 查看正在运行的模型,D 删除,e 编辑 Modelfile,c 复制,U 卸载全部,P 推送,q 退出。排序键按首字母分布:n 名称、s 体积、m 修改时间、k 量化等级、f 家族、B 参数量。注意 r 重命名在 README 里被明确标注为 work in progress。

不开 TUI 也能用的几个开关

Gollama 把一部分功能做成了非交互命令,适合塞进脚本。gollama -l 列出全部模型后直接退出,不进入界面。gollama -s 做名称搜索,并且支持两种逻辑运算符:单引号里的 'term1|term2' 是或,'term1&term2' 是与,例如 gollama -s 'my-model&instruct' 只返回同时命中两个词的结果。gollama -e my-model 打开该模型的 Modelfile 编辑。gollama -u 卸载所有正在运行的模型。gollama -v 打印版本。日志级别用 --log 或 --log-level 覆盖,取值 debug、info、warn、error。这些开关的存在意味着清理流程可以写成先 -s 筛选、再人工确认、最后在 TUI 里批量删除,而不必全程手动翻列表。

显存估算是一个独立卖点,也是一个独立风险

README 把 vRAM 估算单独列成一块功能,用法是 --vram 加模型标识,再配 --fits 和 --context 计算在给定显存下能撑多长上下文。这个设计对本地部署有实际价值:决定一个 14B Q4 模型能不能塞进 8GB 显存,通常靠试错,而试错成本是加载失败和等待时间。但需要说清楚,这是估算而非测量。README 没有给出误差范围,也没有说明它是否计入 KV cache 随上下文增长的部分、是否考虑不同推理后端的开销差异。更实际的问题是:作者已经说明自己主要转向 llama.cpp 加 llama-swap,以及 LM Studio 的 MLX 运行时。Gollama 的估算针对的是 Ollama 的模型标签和 HuggingFace 模型名,如果你的实际推理路径已经不在 Ollama 上,这个数字的参考价值会打折。把它当作筛选候选模型的初筛工具,而不是容量规划的最终依据。

维护状态是选型时必须先看的约束

README 里有一段日期为 2025-12-02 的更新说明,信息量比功能列表更大。作者写明:从 v2.0.1 起不再提供 LM Studio 互链功能,原因是维护成本高于使用价值,上游两个应用都在变,还要照顾每个用户不同的本地配置。他同时说明自己在 2025 年使用 Ollama 的频率下降,已经把模型服务主要迁到 llama.cpp 加 llama-swap,笔记本上用 LM Studio,另外用 oMLX 跑 MLX 模型。README 的原话是开发已经放缓。功能列表里那句 Has some cool bugs 也不是自谦修辞。这些不是缺陷,而是选型输入:一个由单人维护、作者本人已不再重度使用的工具,遇到 Ollama API 变更时的响应速度无法预期。MIT 许可意味着你可以自行 fork 和修改,README 也保留了 Contributing 章节,但 fork 之后的维护责任就转移到你这边。

什么时候该用别的工具

如果你的模型服务已经建在 llama.cpp 上,作者自己在 README 里推荐的方向是 llama-swap,它的定位是模型服务的调度与切换,而不是对已有模型仓库做清理和检查,两者的作用面不重叠。如果你在 macOS 上想同时用 MLX 和 GGUF 两种运行时,LM Studio 提供图形界面和内置的模型管理,代价是它不是终端工具,也不通过 Ollama 的 API 工作。如果需求只是偶尔删一两个模型,ollama list 加 ollama rm 就够了,引入一个 TUI 反而多一层。Gollama 真正占住的位置是中间地带:模型数量多到需要排序和筛选,但还没多到值得写一套自动化脚本,而且推理栈仍然在 Ollama 上。越过这个范围,工具本身的价值就快速下降。

编辑结论

如果你的 Ollama 目录里堆了几十上百个模型、需要按量化等级或体积排序后批量清理,Gollama 的 TUI 和 gollama -l 能省掉反复敲 ollama list 再手动对名字的功夫,值得装。如果你主要在 llama.cpp 或 LM Studio 上跑模型,或者需要长期稳定的上游支持,就不要把它放进关键路径:作者已经在 README 里说明维护放缓,并且自己转向了 llama-swap 和 LM Studio。上手前先确认三件事:你的 Ollama 版本与默认端口 11434 是否可用,--ollama-dir 指向的目录是否就是 Ollama 实际存放 blob 与 manifest 的位置,以及 --vram 的估算结果与实测显存差多少。

官方来源

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. sammcj/gollama on GitHub
社区笔记

社区笔记