一个为本地部署的 Ollama 提供安全鉴权接口、用户管理和用量记录的工具。方便用户将本地模型分享给他人使用。
- 一键运行:仅需一个可执行文件和配置文件,无需安装任何额外环境。
- 完整功能:支持鉴权、用户管理、用量记录等功能。
- 现代化技术栈:基于 Go 和 Gin 框架构建后端,前端使用 React + Vite + shadcn/ui。
- 后端:Go & Gin Framework
- 前端:React + Vite + shadcn/ui
- 数据库:SQLite
-
下载可执行文件
-
配置文件:
将以下配置文件放置在与可执行文件相同的目录下,命名为config.yml
:
server:
address: "localhost:8080"
logging:
level: "info"
output: "stdout"
jwtkey: "secret" # 请更换为安全的密钥
admin:
username: "admin"
password: "admin" # 请更换为安全的密钥
ollama:
url: "http://localhost:11434"
timeout: 300 # 秒
database:
url: "safe_ollama.db"
- 运行程序:
./safe-ollama
server
address
:服务监听的地址,格式为 "host:port"。logging
:level
:日志级别,可选值:debug, info, warning, error, fatal.output
:日志输出位置,可选值:file_path, stdout.
jwtkey
:JWT 加密密钥,建议生产环境下使用强密码。
admin
username
:默认管理员用户名。password
:默认管理员密码,建议在生产环境中及时更改。
ollama
url
:Ollama 服务地址。timeout
:请求超时时间,单位秒。
database
url
:SQLite 数据库文件路径。
注意:本项目使用 go embed 将前端资源打包进可执行文件中,因此需要先构建前端。
- 前端打包:
cd safe-ollama/safe-ollama-ui && yarn install && yarn run build
- 后端编译(针对不同平台):
# 编译为 Linux 可执行文件
GOOS=linux GOARCH=amd64 go build -o safe-ollama
# 编译为 macOS 可执行文件
GOOS=darwin GOARCH=amd64 go build -o safe-ollama
# 编译为 Windows 可执行文件
GOOS=windows GOARCH=amd64 go build -o safe-ollama.exe
- 返回403错误
- ollama启动服务时需要允许跨域
- 设置环境变量
OLLAMA_ORIGINS="*"
来允许跨域请求 - 使用
OLLAMA_ORIGINS="*" ollama serve
来启动ollama服务
本项目使用 MIT 许可证。请在你的任何修改或分发中包含原始许可证信息。