历史 Dig · 2026 年 7 月—8 月
AI 图片工作流里的密钥和素材会去哪?
“纯前端”“保存在浏览器”“工作流可导出”描述的是三件不同的事。一个视觉画布可以把配置和节点留在浏览器,同时把密钥、提示词与输入图发送给外部模型端点;导出的 JSON 又可能只带走其中一部分。
数据路线 · 先看图
五样东西,不能混成一句“都在本地”。
先看存储、外发、导出和清理,再决定是否给密钥。
- 01五样输入
- 02浏览器内
- 03外部端点
- 04导出文件
- 05分开清理
红线跨出设备边界,黄点标出需要单独回答的保存、请求、导出和清理位置。路线来自固定代码复核,不是网络实测。
它和 Workflow 001 的关系
与当前主题的关系
本地图之后,还要回答数据去了哪里。
展开说明
一轮生成可以在本地,也可以调用外部端点;一个浏览器画布又可能同时使用 localStorage、IndexedDB、下载文件和远端 API。这条历史记录补的是 Q01 的数据路线,不是再推荐一个画布产品。
当时的记录状态
- AI 工作流
- 本地优先视觉流程
- 标准记录
- 继续调查
- 历史 E1 · 固定代码与界面已复核 · 无真实密钥、请求或费用结果
当时的建议
当时的判断
先画数据路线,再决定要不要给密钥。
展开完整判断与退回规则
先画数据路线,再决定要不要给密钥。至少把 API 密钥、提示词、输入图、结果图和工作流 JSON 分成五行;逐行写清浏览器存在哪里、是否进入导出、会发给哪个端点、谁控制日志与保留、怎样清理。任一格只能写“已看到”“未发生”或“未知”,不能用“本地优先”替代。
- 适合谁
- 想复用节点式 AI 图片流程,但不想先拿真实密钥、客户素材或长期额度去试错的创作者和开发者
- 为什么当时值得看
展开说明
如果密钥、素材、结果、自动保存和导出文件被混成一句“都在本地”,使用者就无法判断谁能读取它们、一次请求会带走什么、删掉一个节点后还剩什么。
- 这份判断到哪里为止
展开说明
本站复核了 Open Source AI Drawing Board 当前仍指向的固定提交、MIT 许可、四张无真实数据的固定界面,以及 MDN 与 OWASP 的浏览器存储边界。本站没有输入有效密钥、上传或生成图片、观察真实网络请求、产生费用、核对外部服务日志或验证删除结果。界面和代码只能说明这个版本怎样实现,不能证明托管页面、浏览器扩展、外部脚本或任意模型服务都安全。
读之前先对一下
是否适用
能用空节点和占位值先回答大部分问题时,才值得继续。
这条记录可能帮得上
- 流程能在不运行模型的情况下打开设置、查看浏览器存储并导出一份虚构 JSON。
- 如果确实要发一次请求,能创建限额、可撤销、只服务这次试验的独立密钥。
这些情况先不要照着做
- 必须先上传客户、人脸、品牌源文件、未公开作品或真实业务数据才能判断。
- 页面来源、第三方脚本、端点域名、计费规则或日志保留政策说不清。
- 需要正式安全审计、隐私合规结论或外部服务删除证明。
历史试法 · 第一阶段不运行模型
当时的试法
先用五行路线卡查存储与导出;真实请求不是起点。
- 大概用时
- 20–30 分钟做一次不生成图片的数据预检
- 可能花费
- 第一阶段 0 元;只有继续时才准备一笔有上限、可撤销的小额额度
- 权限边界
- 01
先做什么
展开这一步
先不运行模型。打开设置,用 `DEMO_NOT_A_KEY` 观察密钥保存在哪;建立三个空节点并导出 JSON。对照开发者工具,把密钥、提示词、输入图、结果图、JSON 五行分别填入:浏览器位置、导出字段、外部接收方、清理动作、未知项。只有路线可接受且确实需要验证请求时,才另建限额密钥,用无敏感几何图发一次,并立即撤销。
- 02
手里应该多出什么
展开这一步
一张五行数据路线卡、一份已检查且不含有效密钥的虚构 JSON,以及一份仍为未知的外部日志与保留清单。
- 03
怎样算成功
展开这一步
五样东西都能说清本地存储、导出、请求、清理与未知项;仅做第一阶段时,网络面板没有模型请求,账单没有新增费用。若做第二阶段,只能确认这一请求按预定端点发生并已撤销密钥,不能确认服务端日志已删除。
- 04
遇到什么就停
展开这一步
有效密钥必须长期保存在可被页面脚本读取的位置、端点不是预期域名、删除只影响界面、密钥无法限额或撤销,或必须使用敏感素材才能继续。
- 05
怎么恢复原状
展开这一步
删除测试来源与节点,清除该来源的 localStorage、IndexedDB 和下载文件;若发过请求,撤销密钥并保留费用/请求记录。外部服务日志与备份未获证明时继续标未知。
BITSHOVEL R3 说明图 · 固定代码地图
方法与界面
“浏览器本地”至少分成配置、自动保存、图库、导出和外部请求。
展开方法边界
红线表示跨出设备边界,黄点表示必须单独回答的位置。路线图来自固定代码;后两张图只展示空白设置和三个空节点,不包含密钥、素材或生成结果。

表单说明配置面包括服务地址和密钥;截图只有上游占位符,未保存、未请求。
图片来源与说明
Open Source AI Drawing Board 固定版本界面,© 2025 Junjun Huai,MIT;BitShovel 在无外网夹具中复现并无损转为 WebP。上游作者未参与或背书本站。
打开来源页面 ↗
BitShovel 只导入并导出三个空节点;没有提示词、图片、账号、有效密钥或生成结果。
图片来源与说明
Open Source AI Drawing Board 固定版本界面,© 2025 Junjun Huai,MIT;无外网复现并无损转为 WebP。上游作者未参与或背书本站。
打开来源页面 ↗依据和来源
依据和来源
截至 2026-08-16,固定代码能说明这个版本把什么存在哪里;MDN 与 OWASP 能说明浏览器存储边界,但都不能替代一次受控网络试验或外部服务审计。
展开证据边界
历史 E1 只有产品方实践文章。R3 补回固定代码中的实际字段与请求路径,并加入浏览器存储的独立安全边界;仍没有真实运行或用户采用结果。
- 01固定版本实现 · 本轮复核
当前仓库 HEAD 仍是 c443ec4:密钥、自动保存和图片分别落在 localStorage 与 IndexedDB
展开来源边界
代码把 `ai_workflow_api_sources`(含 apiKey)与 `ai_workflow_autosave` 写入 localStorage,把图片 Blob 写入 IndexedDB。OpenAI 兼容请求用 Authorization 头,Gemini 路线把密钥放入 URL 查询参数。它只支持这个固定版本的实现判断。
打开原始来源 ↗ - 02固定许可 · 本轮复核
固定提交以 MIT 许可分发代码与界面实现
- 03浏览器存储边界 · 本轮复核
MDN:localStorage 按来源分区、跨关闭持续,同来源文档共享
- 04安全方法边界 · 本轮复核
OWASP:不要把秘密的浏览器持久化当成保密机制
- 05产品方实践文章 · 本轮复核
作者公开了画布的开发过程与版本演进
修订记录
修订记录
R3 把“先发一次请求”推迟到路线可接受之后。
展开 2 次修订
- 第 2 次
从开源画布介绍改成检查密钥与素材去向、费用和删除。
- 第 3 次
把“浏览器本地”拆成 localStorage、IndexedDB、导出文件与外部请求;第一阶段不再要求有效密钥或图片生成,先用占位值和空节点查清路线。
- 更正前的说法
- 第一次使用可撤销的小额 API 额度和无敏感素材,运行一张图片后记录存储、请求、费用、导出和删除。
- 更正后的判断
- 先不运行模型,用无效占位密钥、空节点、浏览器存储和导出 JSON 完成数据路线卡;只有这些边界可接受且仍需确认请求时,才创建限额密钥做一次无敏感试验。
这条记录留下什么
这条记录留下什么
先知道五样东西去哪,再谈流程能不能复用。
如果一张五行路线卡还填不全,就不需要用真实密钥补答案。保留未知,比把“纯前端”误写成“不会外发”更有用。
回到 Dig 索引