GeekAI 用户手册GeekAI 用户手册
  • 指南

    • 介绍
    • 快速部署
    • 进阶部署
  • 配置

    • AI 绘图配置
    • 音乐和视频
    • 文件存储配置
  • 升级

    • 平滑升级
  • 开发

    • 开发和构建
    • 如何跳过 License 验证
  • 指南

    • 介绍
    • 部署
  • 配置

    • Coze 智能体
    • Dify 智能体
    • 阿里云百炼智能体
  • 升级

    • Geek-Agent v1.0.2
    • Geek-Agent v1.0.3
  • GeekAI-PLUS(不带管理后台)
  • GeekAI-PLUS(带管理后台)
  • GeekAI-Agent(不带管理后台)
  • AI 学习笔记

    • 01-Stable-Diffusion基本知识概论
    • 02-DeepSeek R1 的核心技术解密
    • 03-DeepSeek R1 使用指南(持续更新)
    • 03-关于 AI Agent 的一些个人思考
    • 04-搞懂 MCP 和 A2A 协议
  • 极客学长博客
  • 技术交流群
  • GitHub
  • Gitee
  • GitCode
  • 简体中文
  • en-US
GitHub
  • 指南

    • 介绍
    • 快速部署
    • 进阶部署
  • 配置

    • AI 绘图配置
    • 音乐和视频
    • 文件存储配置
  • 升级

    • 平滑升级
  • 开发

    • 开发和构建
    • 如何跳过 License 验证
  • 指南

    • 介绍
    • 部署
  • 配置

    • Coze 智能体
    • Dify 智能体
    • 阿里云百炼智能体
  • 升级

    • Geek-Agent v1.0.2
    • Geek-Agent v1.0.3
  • GeekAI-PLUS(不带管理后台)
  • GeekAI-PLUS(带管理后台)
  • GeekAI-Agent(不带管理后台)
  • AI 学习笔记

    • 01-Stable-Diffusion基本知识概论
    • 02-DeepSeek R1 的核心技术解密
    • 03-DeepSeek R1 使用指南(持续更新)
    • 03-关于 AI Agent 的一些个人思考
    • 04-搞懂 MCP 和 A2A 协议
  • 极客学长博客
  • 技术交流群
  • GitHub
  • Gitee
  • GitCode
  • 简体中文
  • en-US
GitHub
  • GeekAI-Plus

    • 介绍
    • 快速部署
    • 进阶部署
    • Window 系统部署
    • 使用宝塔部署
    • 常见错误
  • 配置

    • API令牌配置
    • AI 绘图配置
    • 音乐和视频
    • 文件存储配置
    • 支付配置
    • Gitee AI API 接口接入指南
    • 其他服务配置
    • 运营策略
  • 升级

    • 平滑升级
    • GeekAI-PLUS-v4.1.6
    • GeekAI-PLUS-v4.1.8
    • GeekAI-PLUS-v4.1.9
    • GeekAI-PLUS-v4.2.1
    • GeekAI-PLUS-v4.2.2
    • GeekAI-PLUS-v4.2.3
    • GeekAI-PLUS-v4.2.4
    • GeekAI-PLUS-v4.2.5
  • 开发

    • 开发和构建
    • 如何跳过 License 验证

目前 GeekAI 实现了下面四种文件存储驱动

  1. Local:本地存储,文件上传之后直接存储到本地服务器,这是默认的存储方式,无需任何依赖和配置。本地存储服务会自动对大图进行压缩,并生成缩略图,会比较耗费 CPU 资源。
  2. Minio:Minio OSS 存储,需要在本地搭建一个 MinIO 存储服务,并将授权信息配置到 config.toml 的 Minio 配置段。
  3. QiNiu:七牛云 OSS 存储,需要配置七牛云的 OSS 的授权信息。
  4. AliYun:阿里云 OSS 存储,需要配置阿里云的 OSS 的授权信息。 文件存储服务主要用来存储 MJ,SD 等 AI 创作的图片,以及用户的头像和上传的文件等。如果有条件的话,建议使用阿里云,七牛云这种第三方商用的 OSS 服务,这样可以最大限度的减少服务器的开销。

GeekAI 中 OSS 的具体配置信息如下:

[OSS]
  Active = "Local" # 选择使用哪个存储驱动
  [OSS.Local]
    BasePath = "./static/upload"
    BaseURL = "/static/upload"
  [OSS.Minio]
    Endpoint = "{域名|IP}:9000"
    AccessKey = "BXVYJCNSALQG2V6EB7HD"
    AccessSecret = "sR6GJWDhXfLOgElTJQN0cutdCO3uKmt+ZB00AYmE"
    Bucket = "geekai" # 存储空间名称
    UseSSL = false
    Domain = "http://{域名|IP}:9000"
  [OSS.QiNiu]
    Zone = "z2"
    # 下面密钥信息请到 https://portal.qiniu.com/developer/user/key 获取
    AccessKey = ""
    AccessSecret = ""
    Bucket = "geekai"
    Domain = "" # 空间绑定的域名
  [OSS.AliYun]
    Endpoint = "oss-cn-hangzhou.aliyuncs.com"
    # 阿里云API服务密钥信息请到 https://ram.console.aliyun.com/profile/access-keys 获取
    AccessKey = ""
    AccessSecret = ""
    Bucket = "geekai" # 存储空间名称
    Domain = "" # 空间绑定的域名

这里需要注意的是,除了本地存储之外,其他几种存储方式都需要设定一个 Domain 参数,也就是你在 OSS 上绑定的那个对外访问的域名,否则出现图片上传成功,但是浏览器却无法加载的情况。

七牛云 OSS 配置

1. 获取密钥

首先,你要去七牛云密钥管理页面,新建密钥,获取到 AccessKey 和 AccessSecret 信息。

七牛云密钥管理

2. 创建存储空间

进入存储空间管理页面,点击 新建 按钮,然后填写相关信息,创建一个 Bucket,填写好 Bucket 名称,选择地区,访问权限选择 公开。

七牛云存储空间管理

3. 绑定域名

刚刚创建好的空间,选择 域名管理 ,这里的 Domain 就是填写你为 Bucket 绑定的自定义域名,或者自定义 CDN 加速域名。

七牛云域名管理

或者你随便选中一张图片,然后复制外链,复制的地址所指向的域名就是你的资源对外访问绑定的域名。

七牛云图片外链

最后,你将获取到的 AccessKey 和 AccessSecret,以及 Bucket 名称等信息,填入到 OSS 配置段:

 [OSS.QiNiu]
    Zone = "z2" # 华南:z2,华东:z0,华北:z1,北美:na0,新加坡:as0
    AccessKey = ""
    AccessSecret = ""
    Bucket = "geekai"
    Domain = "" # 空间绑定的域名

阿里云 OSS 配置

1. 获取密钥

登录阿里云,然后进入AccessKey 管理页面,新建一个 AccessKey。

阿里云 AccessKey 管理

2. 创建存储空间

进入Bucket 列表,点击 创建Bucket 按钮,然后填写相关信息,创建一个 Bucket。

然后点击刚刚创建的 Bucket,进入 Bucket 配置页面,配置一下 Bucket 权限,先关闭"阻止公共访问"功能。

阿里云 Bucket 权限

然后在"读写权限"菜单,选择 公共读 权限。

阿里云读写权限

3. 绑定域名

点击 "Bucket 配置" 菜单,然后点击"绑定域名",填入要绑定的域名,按照提示完成域名验证即可成功绑定。

阿里云绑定域名

最后,你将获取到的 AccessKey 和 AccessSecret,以及 Bucket 名称等信息,填入到 OSS 配置段:

 [OSS.AliYun]
    Endpoint = "oss-cn-hangzhou.aliyuncs.com"
    AccessKey = ""
    AccessSecret = ""
    Bucket = "geekai" # 存储空间名称
    SubDir = ""
    Domain = "" # 空间绑定的域名

搭建 Minio 存储服务

无论是七牛云,还是阿里云 OSS,你都需要有一个已经备案的域名才能绑定使用。 如果你没有域名的话,可以考虑自己搭建一个 Minio 存储服务。

首先,新建 docker-compose.yaml 文件,复制下面内容到文件中:

services:
  minio:
    image: registry.cn-shenzhen.aliyuncs.com/geekmaster/minio:latest
    container_name: minio
    restart: always
    volumes:
      - ./data:/data
    ports:
      - '9010:9000'
      - '9011:9001'
    environment:
      MINIO_ROOT_USER: minio
      MINIO_ROOT_PASSWORD: minio@pass
    command: server /data --console-address ":9001" --address ":9000"

启动容器

docker-compose up -d

容器启动之后,你需要登录 Minio 的控制台,创建一个 Bucket,生成 Access Keys。并将对应的参数配置到 config.toml 文件中。

在浏览器中访问 http://localhost:9001,用你设置的默认用户名和密码登录(minio/123456)Minio 的管理后台。

创建 Access Key

Minio Access Key

创建 Bucket

Minio Bucket

通常,你需要为 Minio 的网关服务绑定一个域名,用于对外提供 API 的调用和图片加载服务。最简单的方法就是直接把域名(如 oss.abc.com)解析到你 Minio 的服务器上,然后通过 http://oss.abc.com:9000 来访问 Minio API。

当然,你也可以通过 Nginx 做一次反代,这样你就可以直接用 https://oss.abc.com 来访问了。

最后,我们需要对应的信息填入到 OSS 配置段:

 [OSS.Minio]
    Endpoint = "oss.abc.com:9000"
    AccessKey = "BXVYJCNSALQG2V6EB7HD"
    AccessSecret = "sR6GJWDhXfLOgElTJQN0cutdCO3uKmt+ZB00AYmE"
    Bucket = "geekai"
    SubDir = ""
    UseSSL = false # 如果你使用了 https,则这里需要改成 true
    Domain = "http://oss.abc.com:9000"

错误处理

一、图片上传成功,但是不显示

首先,如果你使用的是第三方的 OSS 存储的话,确保你将对应的存储空间设置为开放状态。以七牛云为例,在空间设置,访问控制模块设置。

七牛云空间设置

其次,确保在 GeekAI 的 oss 配置的 domain 是正确的:

[OSS.QiNiu]
    Zone = "z2"
    AccessKey = ""
    AccessSecret = ""
    Bucket = "kindeditor"
    SubDir = "geekai"
    Domain = "http://ai.r9it.com"

可以通过(按 F12)打开浏览器的控制台,如果图片加载失败的话,控制台会有错误输出,一般也会输出图片的地址,对照一下域名跟你设置的是否一致。

在 GitHub 上编辑此页
上次更新: 2025/6/26 21:13
贡献者: RockYang, GeekMaster
Prev
音乐和视频
Next
支付配置
极客学长 © 2022-2025 版权所有 粤ICP备19122051号-1