NoteGen 图片备份到阿里云 OSS 完整攻略把 NoteGen 笔记里的图片自动上传并备份到阿里云对象存储OSS用官方S3 图床模式实现。本攻略重点讲「OSS 控制台从零搭建」并覆盖 NoteGen 字段填写、常见报错与进阶优化。这个并不只是可以用来搞notegen的图片备份其实适用所有支持对象存储的md文档编辑器下载地址NoteGen下载地址https://github.com/codexu/note-gen/releases无法连接github可选择其国内官网NoteGen - 开源免费的 AI Markdown 笔记软件夸克网盘地址夸克网盘分享目录原理与整体流程准备工作与费用OSS 控制台从零搭建重点在 NoteGen 中配置图床字段对照速查表测试上传与验证进阶优化安全与成本清单1. 原理与整体流程NoteGen 的「图床Image Hosting」功能在开启后会把你在笔记里粘贴 / 上传的图片自动存到所选存储并在正文插入可访问的图片链接。选S3 图床时官方明确兼容阿里云 OSS以及腾讯云 COS、七牛云、MinIO 等任意 S3 兼容服务。两条链路别混淆NoteGen 里有两个用到 OSS/S3 的地方 ①图床Image Hosting → S3—— 本文的主角负责把单张图片上传成可外链的图片 ②同步Sync → S3 sync—— 把整个工作区 / 笔记数据做跨设备同步。 本攻略聚焦「图片备份」即链路 ①。四步跑通在阿里云开通 OSS 并建一个 Bucket选地域、设公共读。建一个 RAM 子账号并生成 AccessKey授予该 Bucket 的读写权限。在 NoteGen → 设置 → 图床里选 S3填入 AccessKey、Bucket、Endpoint、Region 等字段。测试连接 → 保存 → 在笔记里粘图图片即自动备份到 OSS 并生成链接。2. 准备工作一个完成实名认证的阿里云账号已安装NoteGen客户端大致理解 OSS 计费按存储量 外网下行流量 请求次数扣费。计费项说明存储标准 / 低频 / 归档冷热分层更省流量外网下行是主要开销可用资源包抵扣请求PUT/GET 次数计费个人图床基本可忽略⚠️先想清楚“公共读”带来的流量盗刷风险图片要能在笔记里直接显示Bucket 通常需要「公共读」。公网可访问的图床容易被盗链刷流量。建议后续用CDN Referer 防盗链或流量封顶控制成本见第 8 节。纯自用可先按量付费量不大时每月成本通常很低。大概充值1元就可以用很久了3. OSS 控制台从零搭建重点3.1 开通 OSS 服务进入OSS 管理控制台。若首次使用点击「立即开通」选择按量付费即可开通后进入控制台首页后续所有 Bucket 都在这里管理。3.2 创建 Bucket存储图片的“桶”在「Bucket 列表 → 创建 Bucket」关键项这样选配置项建议值说明Bucket 名称notegen-img-自定义后缀全局唯一只能用小写字母、数字和短横线 -不能含下划线否则 S3 虚拟主机寻址会出问题见排错。地域Region离你近的如华北2北京决定 Endpoint 与 Region 字段值例如杭州 cn-beijing。建好后不可改。读写权限ACL公共读图片要在笔记里直接显示就得公共可读。若提示需先关闭「阻止公共访问」按 3.4 步 操作。版本控制可选开启防误删可恢复历史版本利于“备份”语义。服务端加密可暂不开图片一般无需加密开 OSS 完全托管即可。3.3 创建 RAM 子账号并拿 AccessKey强烈不建议用主账号 AccessKey权限过大、泄露风险高。用 RAM 子账号 当然你注册新的AccessKey的时候阿里云会主动提示你用ram子账户建立进入RAM 访问控制 → 用户 → 创建用户登录名如 notegen-oss。访问方式勾选永久生成AccessKey的选项Secret 只显示一次务必当场复制保存。给该用户授权最简单授予系统策略 AliyunOSSFullAccess所有 OSS 读写想更安全用下面自定义最小权限。推荐只授权这一个 Bucket 的最小权限创建自定义权限策略仅允许对目标 Bucket 上传 / 读取 / 列举 / 删除把 YourBucketName 换成你的桶名{ Version: 1, Statement: [ { Effect: Allow, Action: [ oss:PutObject, oss:GetObject, oss:DeleteObject, oss:ListObjects ], Resource: [ acs:oss:*:*:YourBucketName, acs:oss:*:*:YourBucketName/* ] } ] }为什么 NoteGen 用长期 AccessKey 而不是 STS阿里云官方文档建议客户端用 STS 临时凭证。但 NoteGen 图床配置的是静态填写的 AccessKey/Secret所以这里用「RAM 子账号的长期 AccessKey」并通过最小权限 可随时禁用/轮换来控制风险而不是动用主账号。3.4 开启“公共读”需先关闭“阻止公共访问”这里你再注册budget时是无法选择的注册完自行调整就好较新的阿里云 OSS 默认开启「阻止公共访问」会导致公共读设不上 / 匿名访问被拒。做法在 Bucket →权限控制里把「阻止公共访问」设为关闭再把该 Bucket或对应 Object的读写权限设为公共读。⛔安全提醒公共读 任何知道链接的人都能访问图片。请不要往这个桶里放任何敏感 / 隐私图片私密内容请保持私有读并使用签名 URLNoteGen 直接插的是普通链接私有桶里图片对读者不会显示。3.5 记下这四项稍后要填进 NoteGen信息示例值去哪看AccessKey ID / SecretRAM 用户创建时生成Bucket 名称notegen-img-abcOSS → Bucket 列表地域 IDRegioncn-beijnigBucket 概览页“地域/Endpoint”Endpointoss-cn-beijing.aliyuncs.comBucket 概览页“访问Endpoint公网”概览页会同时列出「公网 Endpoint」「内网 Endpoint」「传输加速 Endpoint」NoteGen 用公网 Endpoint。4. 在 NoteGen 中配置图床打开设置 → 图片备份按 第 5 节表格 逐项填写Access Key、Secret Key、Bucket、Region、Endpoint以及可选的 Custom Domain、Path Prefix。如果上面自动显示了已连接就算成功了。提示成功后回到笔记里粘贴一张图片若正文出现形如 https://你的bucket.oss-cn-beijing.aliyuncs.com/... 的链接即代表备份成功。Path Prefix路径前缀建议这样填填 note-gen 或 note-gen/images用来在桶里给 NoteGen 的图片单独归一个目录。不要以斜杠开头也不要带空格。以后清理 / 迁移 / 配 CDN 时按目录管理最省心。5. 字段对照速查表左边是 NoteGen 图床界面上的字段名右边是阿里云 OSS 对应要填的内容以beijing、桶名 notegen-img-abc 为例。NoteGen 字段含义官方阿里云 OSS 该填什么Access KeyAccess key IDRAM 用户的 AccessKey IDSecret KeySecret access keyRAM 用户的 AccessKey SecretBucket桶名notegen-img-abc只填桶名不带域名Region桶所在地域cn-hangzhou地域 ID不带 oss- 前缀EndpointS3 兼容服务地址oss-cn-beijing.aliyuncs.com若报签名/寻址错改用 s3.oss-cn-beijing.aliyuncs.comCustom Domain可选 CDN 加速域名绑定了自定义域名/CDN 才填如 img.yourdomain.com否则留空Path Prefix桶内组织图片的前缀如 note-gen/images可留空Endpoint 与 Region 的对应关系当你填写region够一般会为你自动生成6. 测试上传与验证NoteGen 内测试图床配置页点「测试连接」成功即代表 AccessKey / Bucket / Endpoint 三者匹配、可写入。真实粘贴验证在任意笔记里拖入或粘贴一张图片稍等正文出现 OSS 图片链接。控制台核对回 OSS → 文件管理应能在你设的 Path Prefix 目录下看到刚上传的文件。外链可访问性把正文里的图片链接复制到无痕浏览器打开——能直接看到图说明公共读生效、别人也能访问若 403 AccessDenied回到 3.4 检查公共读是否真的开启。图片最终 URL 结构一般是https://{bucket}.oss-cn-beijnig.aliyuncs.com/{path-prefix}/{文件名}填了 Custom Domain 时则是你的域名开头。7. 进阶优化7.1 自定义域名 CDN 加速强烈建议准备一个已备案的域名子域如 img.yourdomain.com。OSS → Bucket →传输管理 → 域名管理绑定自定义域名或在 CDN 里新建加速域名回源到该 Bucket。配置HTTPS 证书可用阿里云免费证书开启强制 HTTPS。把 NoteGen 的Custom Domain填成 img.yourdomain.com此后图片链接走你的域名可防盗链、可缓存。在 CDN 上配置Referer 防盗链白名单与流量封顶避免公共读图床被盗刷。7.2 用生命周期规则降本OSS → 生命周期把冷门图片自动转储30 天 → 低频访问、180 天 → 归档。适合“备份为主、偶尔查看”的图片。7.3 版本控制与备份Bucket 开版本控制误删 / 覆盖后可回滚真正具备“备份”属性。重要库可用跨区域复制CRR把图片同步到另一个地域的桶做异地容灾。本地仍是主副本NoteGen 开启图床后本地工作区仍有图片文件OSS 是云端外链 / 备份两者不冲突。7.4 迁移已有笔记图片若早期图片散在本地可用「批量上传 / 上传文件夹」把整目录含你规划好的 note-gen/images 前缀传进 OSS再把旧笔记里的相对路径批量替换为 OSS 链接。建议迁移前先本地 ZIP 备份。8. 安全与成本清单只用RAM 子账号的 AccessKey不共享、不进 Git 仓库泄露后立刻在 RAM 里禁用并轮换。尽量用最小权限策略只授权到单个目标 Bucket。公共读桶里不放任何隐私图片隐私内容保持私有读 签名 URL。绑 CDN 后开启Referer 防盗链与用量封顶告警防流量盗刷。定期看 OSS 账单量大时购买存储包 / 下行流量包抵扣更省。重要数据开启版本控制并可配跨区域复制做异地备份。