## 1.2.0(2026-09-23) 依据 agent-node-xinting 的缺陷报告(`s3.fmode.cn/user/dhv9yTqK6K/skill-storage-mime-bug-report/report.md`)修复。 - **fix(P0) 透传 `mimeType`**:`putViaCloudFunction` 从不向云函数传 mimeType,导致对象 Content-Type 恒为 `application/octet-stream` → 浏览器**下载而非渲染**,HTML 报告分享后打不开。 预签名 URL 的签名**绑定 Content-Type**,必须在申请时就传对,PUT 阶段补救会 403。 - **feat(P0) `guessMime()`**:按扩展名推断 MIME,覆盖 30+ 常见类型 (html/css/js/mjs/json/txt/md/csv/xml/svg/png/jpg/gif/webp/ico/pdf/zip/音视频/字体/Office)。 - **feat(P1) `--mime` 显式覆盖**:应对未知或特殊类型。 - **fix(P1) `normalizeKey()` 双层前缀防护**:`--key` 若已带 `user//`,云函数会再补一层 变成 `user//user//...`。现自动剥离并打印告警。 - **fix(P1) 覆盖同名 key 时提示 CDN 缓存**:CDN TTL 30 天且缓存**含 Content-Type 头**, 覆盖上传后旧链接可能仍返回旧响应头;提示改用新 key 路径发布。 - **fix(P1) token 解析链补 `fmode-identity.json` 兜底**:容器普遍只有 `/opt/data/fmode-identity.json`(字段 `session_token`)带 token,缺此兜底会误报「缺 token」 并打印初始化向导退出。实测 34 台容器中 32 台属此情况。 - **feat(P2) 输出回显 `mimeType`**:便于核对,降低排查成本。 - **docs(P1) 版本口径统一**;补 CDN 缓存与更新策略说明。 ### 线上验收(生产实测) | 文件 | Content-Type | 结果 | |------|--------------|------| | `index.html` | `text/html; charset=utf-8` | ✅ 浏览器渲染(修复前 octet-stream → 下载)| # 更新日志