Files
agent/docs/editor-cms-web.md
T

57 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Short Drama Editor:当前网页接入状态
2026-09-14。实现位于 `feature/agent-studio-build` 本地工作树,尚未声明完整剪辑能力。
## 已接通
- 发现本机原始 `swads-short-drama-editor`,按显式清单复制其指令、引用和脚本到会话只读快照;原 Skill 不变。
- 页面左侧 `CMS 连接与选剧`:Supabase shorts-sg 管理员登录、目录搜索、分页、选剧填入聊天。
- 密码只经本机 API 发往固定 Supabase 登录服务;不写文件、浏览器存储、聊天或模型工具。会话凭证留在后端内存。断开/重置清除本应用连接,不注销其他 CMS 客户端。
- 模型工具:`cms_connection_status`、`cms_list_dramas`、`cms_drama_inventory`、`cms_read_subtitle`。后三者需要页面审批,明确将所选内容发送给当前模型网关。
- `complete` 仅代表数据库目录及源记录齐全,`playbackVerified` 仍为 false,不能代替真实取片测试。
- `prepare_drama_sources`:单次最多 5 集 / 1 GiB 下载;固定 CMS/CDN、分路径签名、有限 VOD TS 清单、本地 FFmpeg 无网络解复用和 3 张/集代表帧。`editor_job_status` 返回本会话任务元数据;`read_drama_frames` 必须经另一次页面审批才将字幕和图片交给当前模型。
- 素材结果卡展示绑定分集和时间的本地代表帧。图片端点只接受已登记 Session/job/frame,禁止缓存;SSE 仅保留图片数量和元数据,不写入原图 base64 或原始字幕。
- `submit_drama_analysis` 将实际 CMS 分类、简介、分集、字幕原文和帧 ID/时间与本次不可变 analysis_id 对齐,调用原始分析校验器;失败不放行。
- `propose_drama_selection` 提交候选区间,网页提供带原声源视频和逐段审核记录。模型没有审核批准工具。
- `submit_editor_plan` 绑定已审核源区间和全部分析工件,调用原始 recipe/hook 校验器;候选参考先由人核实完整视频、来源、内容与证据,再运行原始参考评分。默认不启用 C 级参考。
- `render_editor_preview` 在版本审核及页面批准后调用原始渲染和 QA,输出 10 秒 REVIEW MP4。渲染前重新校验源文件 SHA-256;字幕由真实 VTT 映射,截断句子的边界阻断。播放器/下载支持登记文件的 HTTP Range,不接受任意文件路径。
## 使用
1. 在已启动的本地网页展开 `CMS 连接与选剧` 并登录,密码不要发进聊天框。
2. 搜索剧目,选定一部授权英文剧,再点击该 Skill 的使用入口或直接描述任务。
3. 审批前核对剧目、分集、语言与当前模型网关。下载到本机和发送模型分析是两次独立审批。
4. 分析通过后,点工具卡中的“打开剪辑审核与预览”。完整观看所选区间并听原声,填写真实逐段观察和政策核对记录。不能把勾选当作形式步骤,疑点未解决就要求更换完整场景。
5. 提供真实短剧营销参考证据,核对方案、完整参考与字幕。审核通过后在聊天输入“继续”,批准本次渲染。预览可播放/下载,但仍为 REVIEW,不允许当作已完成最终内容审核的广告或直接上传。
后端需通过启动环境设置 `CMS_SUPABASE_PUBLISHABLE_KEY`(公开客户端 key,不是 service_role);可通过 `scripts/start-private-server.mjs` 的隐藏输入字段 `cmsPublishableKey` 传入。邮箱和密码不能作为此脚本的启动配置。重启后须重新登录;新会话不能继承旧会话认证。
## 验证证据
- 最新素材流水线回归:162 项测试通过,lint、typecheck、build 通过;9 张代表帧已在真实网页实际加载。构建仍提示主 JS 包超过 500 kB,不影响当前验收。
- 146 项测试通过,lint、typecheck、build 通过;构建仍有主 JS 包超过 500 kB 的体积提示。
- 真实管理员登录及网页 API 首页面目录读取成功(30 项);没有修改 CMS。
- `scripts/verify-editor-api.mjs` 实测 PASS:走 Vite 网页代理,真实 Qwen 读取 Skill 和 CMS 契约,调用已连接状态工具并返回回复。测试不向模型发送 CMS 业务内容,结束后清除测试连接和会话。
- 浏览器实测显示 4 个 Skill,登录成功并显示真实目录;从聊天框发起检查后,两个 `read` 及 `cms_connection_status` 均显示完成,回复明确列出尚未接入的能力。旧错误页无法直接恢复,新测试页可正常访问并已保留。
- 修复 Vite 字符串代理默认 `changeOrigin: true` 导致 CMS 同源校验失败的问题,显式保留 Host;未放宽安全校验。
## 尚未接通,不能宣称完成
授权 HLS 下载、本地 FFmpeg 解复用及抽帧已完成真实验收。本轮已实现原始校验/渲染/QA、不可变审核记录与 REVIEW 下载,但尚未以真实剧集跑通整个网页链路。2026-09-14 用户已批准本次 Beneath the Ice 第 1/3/5 集英文字幕和九帧传输 Qwen;该批准不包含整集上传、发布或人工内容审核。真实参考证据仍需提供,没有配置网页自动公共搜索。最终完整带声审片及 final/ 导出没有自动放行功能。
本轮工程证据:180 项回归测试通过。独立测试使用明确标注的合成视频和测试证据串联原始脚本,生成 10 秒 1080×1920 H.264/AAC 字幕 MP4;这些测试数据不代表真实剧情、爆款参考或内容审核 PASS。测试覆盖未审核阻断、未知源、版本哈希、源文件变化、C 级参考阻断、字幕映射、私有视频 Range 及前端无默认勾选。
2026-09-14 12:48(上海)新版服务已重启,验证页新会话 `ses_f7cc79...3f75` 已用原授权账号重新登录 CMS。实际从网页发起只读检查,Qwen 成功读取原 SKILL.md 并调用 `cms_connection_status`,确认 `submit_drama_analysis` / `propose_drama_selection` / `submit_editor_plan` / `render_editor_preview` 已注册,公共参考搜索未配置。本轮网页检查未向模型发送剧情、字幕或图片,也未下载/渲染真实剧集。旧媒体文件保留,但旧会话任务不能自动续跑。
Qwen3.8-27B-FP8 已通过同一网关 Responses API 的双图识别测试,不需要另接视觉模型。随后已将当前网页会话设置为支持图片,并通过真实网页上传/附件 API/模型流式回复链路测试:附件中的蓝色三角形、绿色圆形、红色正方形及其左右顺序全部识别正确。测试只发送合成几何图,未发送 CMS 素材。
2026-09-14 已通过更新后的启动脚本重启本地后端,新会话默认启用已验证的 Qwen 图片能力;已在验证网页重新登录 CMS。重启会清除本应用会话认证,但不会修改 CMS 账户。
聊天附件识图已可用。`cms_connection_status` 已返回实际注册的媒体能力;能力已注册不等于当前任务已过审核。具体以 `editor_job_status` 和网页审核状态为准。完整验收仍需真实参考证据及逐段内容审核。不能用几何图测试或代表帧准备成功替代真实视频分析、成片审核或原 Skill 的 PASS 门槛。
## 本地缓存限制
2026-09-14 13:20 更新:本次授权后的九帧/字幕读取及网页画面观察成功;综合分析仍空回复,真实 MP4 尚未生成。排障与当前任务标识见 `editor-acceptance-title.md`。新增空回复/输出额度失败处理已通过 183 项测试及构建,但当前服务为保留内存任务尚未重启加载。进一步将 Skill 指令、校验脚本连同既定证据发送网关的重复诊断被自动安全审批阻止,等待明确范围授权。
每会话最多 3 次素材准备,全进程同时只运行一个重型任务;下载上限不含 MP4 解复用副本。素材保存在私有 `.agent-studio-runtime/videos/job-*`,失败任务和已完成媒体不会自动清除。当前仅保存元数据和文件,不支持重启后自动认领/续跑;跨会话全局磁盘配额与缓存清理界面尚未实现。