今天发现 Ollama 的 Windows 客户端自动升级到了 0.10.1 版本。 最大的功能更新是增加了 GUI 图形界面,不再是只能在命令行里跟 AI 对话了。 而且增加了会话历史管理功能,还能支持图片,PDF 文件,代码文件作为输入。 体验了一下,感觉比大部分的网页版大模型的体验都要好。
Ollama Windows GUI 图形界面效果
GUI 的实现方案
正好最近我在折腾 Golang 开发 Windows GUI 客户端小工具,所以对 Ollama 的 GUI 实现方案产生了浓厚的兴趣。
从 Ollama 的 Github 仓库的代码的统计来看,Golang 代码占了接近 95%。
所以我推测其 Windows 客户端可能也是 Golang 开发的,但是不排除是 Electron 方案,毕竟里面也有接近 1% 的 TypeScript 代码。
今天在外面逛的时候,顺便在手机上看了一下 Ollama 的 Github 仓库的代码,发现里面有两个客户端相关的目录:
- app:这里面有 Windows 托盘相关的代码,使用 Golang 实现的。但是我没看到具体的方案,看起来有点像 Win32 的方案,就是类似 Golang Walk 的方案。
- macapp:这里面就明显是一个 Electron 的方案了。
但是比较奇怪的是,我在 master 分支里,找不到 0.10.1 这个最新版本的 Windows 客户端相关的代码。
糟糕,没有开源
恰好,我在 Hacker News 看到了一个帖子在讨论这个 Ollama 的新版本:
https://news.ycombinator.com/item?id=44739632
不少人也发现了这个问题,也表示没有找到相关的客户端部分的开源代码:
也有人指出,这部分客户端功能的实现,看起来是使用了系统 WebView 的方案,甚至猜测是 tauri 实现的。 如果是 tauri 实现的,我就死心了,实在是不想折腾 rust 了。
还有人在 github 项目中,提了一个 issue
概括来说,就是新版本的 GUI 客户端没有开源,那么对应的开源协议就需要修改。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式