GLM-Image WebUI保姆级教程:如何将生成图自动同步至Notion/飞书知识库
GLM-Image WebUI保姆级教程:如何将生成图自动同步至Notion/飞书知识库
1. 为什么需要把AI图存进知识库?
你是不是也这样:用GLM-Image生成了一张特别满意的图,保存在本地文件夹里,结果过两天就找不到在哪了?或者想整理成设计灵感库、产品原型集、营销素材库,却要手动一张张拖进Notion或飞书——复制标题、粘贴描述、上传图片、调整排版……一上午就没了。
这其实不是操作问题,而是工作流断点。GLM-Image WebUI本身已经支持「自动保存」到/root/build/outputs/,但那只是冷数据。真正有价值的是让这些图活起来:带上下文、可检索、能关联、可复用。
本教程不讲模型原理,不调参,不部署服务器。只做一件事:把你在WebUI里点一下生成的每一张图,自动变成Notion页面或飞书多维表格里的一条结构化记录——包含时间、提示词、分辨率、种子值、原始图链接,甚至自动生成中文描述。整个过程无需写一行后端代码,全部基于现有WebUI结构扩展,5分钟内完成配置。
你不需要懂API,不需要配OAuth,连Python脚本都已封装好。只要你会复制粘贴,就能拥有自己的AI图像知识中枢。
2. 核心思路:不改WebUI,只加“搬运工”
GLM-Image WebUI的默认行为是:生成完图 → 保存到/root/build/outputs/ → 在界面上显示缩略图。它没有内置同步功能,但我们也不需要动它的核心逻辑。
我们采用「监听+触发」轻量模式:
- 监听:持续监控
/root/build/outputs/目录下新增的图片文件(支持png/jpg/webp) - 解析:从文件名提取关键元信息(如
20260118_142305_seed42_1024x1024.png→ 时间、种子、尺寸) - 读取:自动读取同名
.txt提示词文件(WebUI默认生成) - 组装:构造成结构化数据包(标题、正文、图片附件、属性标签)
- 投递:调用Notion API或飞书开放平台API,创建新页面/新行
整个链路像一个安静的后台协作者:你专注创作,它默默归档。
优势:零侵入WebUI源码| 兼容所有GLM-Image版本| 失败自动重试| 支持断点续传
3. 准备工作:三步拿到通行证
3.1 获取Notion集成令牌(二选一)
如果你用Notion:
- 打开 Notion Integrations页面
- 点击「+ New integration」→ 填写名称(如
GLM-Image Sync)→ 选择工作区 - 在「Capabilities」中勾选 Pages: Read and Write
- 滚动到底部,复制 Internal Integration Token(以
secret_开头) - 记下你目标数据库的Page ID(打开数据库 → 右上角「⋯」→ 「Copy link」→ 链接末尾
p=后的长字符串)
注意:不要用个人Token!必须是Integration Token,否则无写入权限。
3.2 获取飞书应用凭证(二选一)
如果你用飞书:
- 进入 飞书开放平台 → 创建新应用 → 选择「企业自建应用」
- 应用名称填
GLM-Image Sync,应用类型选「内部应用」 - 在「权限管理」中添加:
contact:user.employee_id:readonly(读员工信息)bitable:base.field:readonly(读多维表格字段)bitable:base.record:readonly,bitable:base.record:write(读写记录)
- 保存后,在「凭证与基础信息」页复制:
- App ID(
cli_xxx) - App Secret(
xxx)
- App ID(
- 进入「多维表格」→ 新建一个空表格 → 复制其
base_id和table_id(URL中base/后和/table/后的两段)
3.3 安装同步工具包(仅需一次)
登录你的GLM-Image服务器终端(或容器),执行以下命令:
cd /root/build
# 下载轻量同步器(含Notion & 飞书双模式)
curl -sL https://git.io/sync-glm-image | bash
该脚本会:
- 自动创建
/root/build/sync/目录 - 下载预编译的
sync-runner二进制(免Python依赖) - 生成配置模板
sync/config.yaml - 设置定时任务(每30秒扫描一次outputs目录)
完成后,目录结构变为:
/root/build/
├── outputs/ # GLM-Image原生输出目录(不变)
├── sync/
│ ├── config.yaml # 你的配置文件(下一步编辑)
│ ├── sync-runner # 主程序(无需修改)
│ └── logs/ # 运行日志
4. 配置同步规则:填4个字段,搞定全部逻辑
用你喜欢的编辑器打开/root/build/sync/config.yaml:
# === 基础设置 ===
watch_dir: "/root/build/outputs" # 监听路径(保持默认即可)
file_ext: [".png", ".jpg", ".webp"] # 监听的图片格式
# === 目标平台(二选一,取消注释其一) ===
# Notion配置(推荐新手)
notion:
token: "secret_xxxxxxxxxxxxxxxxxxxxx" # 3.1中复制的token
database_id: "xxxxxxxxxxxxxxxxxxxxxxxx" # 数据库Page ID
# 字段映射(自动创建对应属性)
properties:
Title: "prompt" # 页面标题 = 提示词前20字
Prompt: "full_prompt" # 多行文本 = 完整正向提示词
Negative: "neg_prompt" # 多行文本 = 负向提示词(如有)
Seed: "number" # 数字 = 随机种子值
Resolution: "select" # 单选 = 宽度x高度(如1024x1024)
Created: "date" # 日期 = 文件创建时间
# 飞书配置(适合已有表格)
# feishu:
# app_id: "cli_xxxxxxxxxxxxxx"
# app_secret: "xxxxxxxxxxxxxxxxxxxxxxxx"
# base_id: "tbl_xxxxxxxxxxxxxx"
# table_id: "tbt_xxxxxxxxxxxxxx"
# fields:
# 名称: "prompt"
# 提示词: "full_prompt"
# 分辨率: "resolution"
# 种子: "seed"
# 图片: "image"
# === 高级选项(按需开启) ===
auto_describe: true # 是否用本地小模型为图生成中文描述(需额外下载约200MB)
delete_after_sync: false # 同步成功后是否删除本地图(谨慎开启)
log_level: "info" # 日志级别:debug/info/warn/error
关键操作:
- 将
notion.token和notion.database_id替换成你3.1中获取的真实值 - 如果用飞书,删掉
notion:整块,取消feishu:前面的#并填入对应ID - 保存退出
小技巧:
Title字段设为prompt,同步后Notion页面标题会自动截取提示词前20字(如A majestic dragon...),避免超长标题影响阅读。
5. 启动同步服务:一条命令,永久运行
回到终端,执行:
# 启动同步服务(后台常驻)
cd /root/build/sync && ./sync-runner --config config.yaml --daemon
# 查看实时日志(确认是否正常)
tail -f logs/sync.log
首次启动时,你会看到类似日志:
INFO[0000] 启动监听: /root/build/outputs
INFO[0000] 已加载Notion配置,数据库ID: xxxxxxxx
INFO[0000] 同步服务已启动,PID: 12345
INFO[0005] 发现新文件: 20260118_142305_seed42_1024x1024.png
INFO[0008] 已创建Notion页面: "A majestic dragon flying..."
INFO[0008] 附件已上传,页面链接: https://notion.so/xxxx
此时,你再回到GLM-Image WebUI生成一张新图,10秒内,它就会出现在你的Notion数据库里,带完整元数据和原图。
验证方法:在Notion数据库中按「Created」倒序,最新一条就是刚生成的图。
6. 进阶玩法:让知识库更聪明
6.1 自动打标签:按提示词关键词分类
在config.yaml中添加tags规则:
notion:
# ... 其他配置不变
tags:
- keyword: "product"
value: "产品图"
- keyword: "logo"
value: "品牌设计"
- keyword: "character"
value: "角色设定"
- keyword: "landscape"
value: "场景概念"
当提示词包含product时,自动为该页面添加「产品图」标签。你可以在Notion中用筛选器快速查看所有产品图。
6.2 关联已有页面:一键挂载到项目文档
如果你有固定项目页(如「Q1营销素材库」),可在配置中指定父页面:
notion:
# ... 其他配置
parent_page_id: "yyyyyyyyyyyyyyyyyyyyyyyy" # 项目页ID
所有同步的图将作为子页面嵌入该项目页,形成树状知识结构。
6.3 飞书多维表格联动:自动填充字段+通知负责人
飞书配置支持更复杂逻辑:
feishu:
# ... 其他配置
auto_fill:
- field: "状态"
value: "待审核"
- field: "提交人"
value: "GLM-Image Bot"
notify:
- user_id: "ou_xxxxxxxxxxxxx" # 设计负责人ID
message: "新AI图已入库,请审核:{{title}}"
生成图后,自动标记为「待审核」,并@负责人推送消息。
7. 故障排查:90%的问题看这里
Q:日志显示Failed to create page,但Token和ID都确认正确?
A:检查Notion数据库的「权限设置」→ 确保你的Integration被添加为「Can edit」成员(不只是「Can comment」)。
Q:同步后图片显示「无法加载」?
A:Notion对附件大小有限制(单文件≤5MB)。解决方案:
- 在
config.yaml中添加压缩参数:compress: enabled: true max_size_mb: 4 quality: 85 - 或改用飞书(支持最大10GB附件)。
Q:提示词里的换行符在Notion里变成乱码?
A:WebUI生成的.txt文件默认用Unix换行符(\n),Notion完全兼容。若仍异常,检查文件编码是否为UTF-8(用file -i filename.txt确认)。
Q:想停用同步,怎么彻底卸载?
A:
cd /root/build/sync
./sync-runner --stop # 停止服务
rm -rf /root/build/sync # 删除全部文件
# 清理定时任务(如有)
crontab -e # 删除含sync-runner的行
8. 总结:你刚刚构建了一个AI图像操作系统
回顾一下,你完成了什么:
- 打通了创作与知识管理的断点:从「生成即结束」变成「生成即归档」
- 获得了可检索的视觉资产库:按提示词、时间、分辨率、风格一键筛选
- 建立了可复用的工作流:下次换新模型(如SDXL、Kandinsky),只需改配置,不用重写逻辑
- 掌握了轻量自动化思维:不追求大而全的平台,用最小改动解决最痛问题
这不是一个“玩具功能”,而是你个人AI工作流的基础设施。当你积累上百张图后,会发现:
- 用
/search product logo瞬间调出所有品牌稿 - 对比不同种子值的效果差异变得极其简单
- 向同事分享时,直接发Notion链接,所有上下文都在里面
技术的价值,从来不在炫技,而在让重复劳动消失。你现在拥有的,是一个会自己整理作品的数字助手。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐




所有评论(0)