@uzooai/anime-ai-cli 0.0.0-stage → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/uzoo-anime-cli/SKILL.md +83 -0
- package/.agents/skills/uzoo-anime-cli/references/agreement-workflow.md +51 -0
- package/.agents/skills/uzoo-anime-cli/references/canvas-workflow.md +53 -0
- package/.agents/skills/uzoo-anime-cli/references/commands.md +250 -0
- package/.agents/skills/uzoo-anime-cli/references/generation-workflow.md +152 -0
- package/.agents/skills/uzoo-anime-cli/references/image-tools-workflow.md +175 -0
- package/.agents/skills/uzoo-anime-cli/references/interaction-workflow.md +67 -0
- package/.agents/skills/uzoo-anime-cli/references/material-graph-workflow.md +123 -0
- package/.agents/skills/uzoo-anime-cli/references/node-capabilities.md +95 -0
- package/.agents/skills/uzoo-anime-cli/references/node-workflow.md +94 -0
- package/.agents/skills/uzoo-anime-cli/references/remake-workflow.md +54 -0
- package/.agents/skills/uzoo-anime-cli/references/repaint-workflow.md +300 -0
- package/.agents/skills/uzoo-anime-cli/references/seedance-review-workflow.md +41 -0
- package/.agents/skills/uzoo-anime-cli/references/video-tools-workflow.md +71 -0
- package/CHANGELOG.md +92 -0
- package/LICENSE +21 -0
- package/README.md +242 -3
- package/assets/README.md +4 -0
- package/assets/favicon-uzoo.png +0 -0
- package/assets/logo-uzoo.svg +7 -0
- package/docs/CLI/345/275/223/345/211/215/350/214/203/345/233/264/344/270/216/346/234/254/345/234/260/346/211/223/345/214/205-20261103.md +134 -0
- package/docs/CLI/346/216/210/346/235/203/346/216/245/345/217/243/344/270/216/344/273/244/347/211/214/350/207/252/345/212/250/345/210/267/346/226/260/350/256/276/350/256/241.md +540 -0
- package/docs/CLI/347/274/272/345/217/243/346/240/270/345/257/271/344/270/216/346/224/266/345/260/276-20261105.md +65 -0
- package/docs/CLI/347/275/221/351/241/265/344/277/235/345/255/230/350/212/202/347/202/271/347/274/272/345/244/261/344/272/244/346/216/245.md +52 -0
- package/docs/M0-M5/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +89 -0
- package/docs/npm/347/272/277/344/270/212/345/217/221/345/270/203/344/270/216/345/256/211/350/243/205/344/275/277/347/224/250.md +151 -0
- package/docs//344/270/213/350/275/275/346/216/245/345/217/243/351/200/202/351/205/215/344/270/216/351/252/214/346/224/266.md +107 -0
- package/docs//344/270/232/345/212/241/350/203/275/345/212/233/350/241/245/345/205/250/344/270/216Skill/347/273/223/346/236/204/350/247/204/345/210/222.md +311 -0
- package/docs//345/205/250/345/261/200/351/231/204/344/273/266/350/265/204/346/272/220/345/234/260/345/235/200/344/270/216/346/250/241/345/236/213/350/257/273/345/217/226/345/267/256/345/274/202.md +47 -0
- package/docs//345/206/205/351/203/250Windows/345/256/211/350/243/205/344/270/216/345/215/207/347/272/247/351/252/214/346/224/266/346/270/205/345/215/225.md +34 -0
- package/docs//345/233/276/347/211/207/346/212/240/345/233/276/346/216/245/345/205/245/344/270/216/351/252/214/346/224/266-20261104.md +110 -0
- package/docs//345/274/200/345/217/221/350/256/241/345/210/222.md +127 -0
- package/docs//345/274/202/346/255/245/346/212/240/345/233/276CLI/346/235/203/351/231/220/344/272/244/346/216/245-20261105.md +50 -0
- package/docs//345/274/202/346/255/245/346/212/240/345/233/276/347/234/237/345/256/236/351/252/214/346/224/266-20261105.md +44 -0
- package/docs//346/226/260/344/274/232/350/257/235/344/273/273/345/212/241/344/272/244/344/273/243-/351/230/266/346/256/2652A.md +79 -0
- package/docs//346/226/260/351/203/250/347/275/262/347/224/273/345/270/203/345/206/262/347/252/201/351/252/214/346/224/266-20261102.md +61 -0
- package/docs//346/231/256/351/200/232/346/265/217/350/247/210/345/231/250/347/231/273/345/275/225.md +53 -0
- package/docs//346/255/243/345/274/217/347/253/231/345/210/207/346/215/242/344/270/216/351/252/214/346/224/266-20261104.md +90 -0
- package/docs//347/224/273/345/270/203CLI/344/270/213/344/270/200/351/230/266/346/256/265/345/274/200/345/217/221/350/256/241/345/210/222.md +136 -0
- package/docs//347/224/273/345/270/203CLI/351/235/236/350/275/254/347/273/230/345/256/214/345/226/204/350/256/241/345/210/222.md +183 -0
- package/docs//347/224/273/345/270/203/350/203/275/345/212/233/345/245/221/347/272/246/346/240/270/345/257/271.md +59 -0
- package/docs//347/234/237/345/256/236/344/270/232/345/212/241/346/216/245/345/205/245/344/270/216/346/265/213/350/257/225.md +1004 -0
- package/docs//347/264/240/346/235/220/345/205/245/345/272/223/344/270/216/347/224/273/345/270/203/344/277/235/345/255/230/351/227/256/351/242/230/345/256/232/344/275/215.md +52 -0
- package/docs//351/230/266/346/256/2653B/351/252/214/346/224/266/344/272/244/346/216/245.md +44 -0
- package/docs//351/230/266/346/256/265/344/270/200/351/252/214/346/224/266.md +60 -0
- package/docs//351/235/236/350/275/254/347/273/230/346/214/201/347/273/255/345/256/214/345/226/204/344/270/216/351/252/214/346/224/266-20261103.md +76 -0
- package/docs//351/235/236/350/275/254/347/273/230/347/254/254/344/272/214/346/211/271/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +39 -0
- package/docs//351/235/236/350/275/254/347/273/230/350/241/245/345/205/205/346/235/241/344/273/266/351/252/214/346/224/266-20261103.md +113 -0
- package/docs//351/235/236/350/275/254/347/273/230/351/246/226/346/211/271/345/256/236/346/226/275/344/270/216/351/252/214/346/224/266.md +71 -0
- package/examples/matting.json +5 -0
- package/examples/real-business/image-request.template.json +7 -0
- package/examples/real-business/node-patch.template.json +11 -0
- package/extensions/uzoo-cli-login/manifest.json +9 -0
- package/extensions/uzoo-cli-login/popup.css +1 -0
- package/extensions/uzoo-cli-login/popup.html +14 -0
- package/extensions/uzoo-cli-login/popup.js +65 -0
- package/package.json +56 -6
- package/scripts/check-package-resources.mjs +56 -0
- package/scripts/check-release.mjs +19 -0
- package/scripts/pack-local.mjs +33 -0
- package/scripts/release-policy.mjs +22 -0
- package/src/agreement-page.js +62 -0
- package/src/agreement.js +419 -0
- package/src/annotation-media.js +386 -0
- package/src/api.js +168 -0
- package/src/browser-login.js +13 -0
- package/src/callback-page.js +44 -0
- package/src/canvas.js +105 -0
- package/src/cli-authorization.js +122 -0
- package/src/cli.js +459 -0
- package/src/download-name.js +17 -0
- package/src/draft-finalize.js +229 -0
- package/src/generation-graph.js +124 -0
- package/src/generation-input.js +472 -0
- package/src/graph-disconnect.js +89 -0
- package/src/graph.js +431 -0
- package/src/group-edit.js +53 -0
- package/src/group-layout.js +113 -0
- package/src/group-membership.js +126 -0
- package/src/history-add.js +119 -0
- package/src/image-annotation.js +246 -0
- package/src/image-crop.js +283 -0
- package/src/image-matting.js +82 -0
- package/src/image-media.js +89 -0
- package/src/image-output.js +385 -0
- package/src/local-output.js +23 -0
- package/src/material-download.js +55 -0
- package/src/material-save.js +254 -0
- package/src/materials.js +147 -0
- package/src/matting-background.js +73 -0
- package/src/matting-jobs.js +63 -0
- package/src/matting-worker.js +49 -0
- package/src/matting.js +170 -0
- package/src/media-copy.js +53 -0
- package/src/media.js +343 -0
- package/src/model-options.js +76 -0
- package/src/multipart.js +28 -0
- package/src/node-copy.js +95 -0
- package/src/node-delete.js +49 -0
- package/src/node-history.js +231 -0
- package/src/normal-login.js +118 -0
- package/src/package-info.js +8 -0
- package/src/png-alpha.js +60 -0
- package/src/protocol.js +83 -0
- package/src/remake.js +738 -0
- package/src/repaint-archive.js +53 -0
- package/src/repaint-delivery.js +783 -0
- package/src/repaint-export.js +63 -0
- package/src/repaint-graph.js +214 -0
- package/src/repaint-history.js +267 -0
- package/src/repaint-materials.js +601 -0
- package/src/repaint-reverse.js +614 -0
- package/src/repaint-sequence.js +132 -0
- package/src/repaint-settings.js +576 -0
- package/src/repaint-video.js +798 -0
- package/src/repaint.js +326 -0
- package/src/resource.js +110 -0
- package/src/review.js +435 -0
- package/src/service.js +85 -0
- package/src/store.js +100 -0
- package/src/video-clip.js +381 -0
- package/src/video-frame.js +296 -0
- package/src/workflows.js +214 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# 素材入库与画布保存问题定位
|
|
2
|
+
|
|
3
|
+
日期:2026-10-29。本轮仅修改 CLI;前后端只读定位。本文可供对应工程师排查,没有自动发送消息、修改前后端、发布或迁移。
|
|
4
|
+
|
|
5
|
+
## 画布保存:可重复触发的覆盖路径
|
|
6
|
+
|
|
7
|
+
隔离验证:`node test/stage2-web-compat.mjs FRONTEND_ROOT`。通过 Vite 只读加载真实前端 persistenceActions、snapshot、canvasService 和 helpers;将服务对象方法替换为内存 CAS 存储,不连接业务后端。
|
|
8
|
+
|
|
9
|
+
1. 前端持有版本 1 的旧快照。
|
|
10
|
+
2. CLI 按版本 1 保存新增节点或原任务结果,服务端变为版本 2。
|
|
11
|
+
3. 前端按版本 1 自动保存,收到版本冲突。
|
|
12
|
+
4. 当前 helpers.js 的 AUTO_OVERRIDE_CANVAS_VERSION_CONFLICT=true;resolveCanvasVersionConflict 取得最新版本 2,但不将服务器内容装载进本地节点。
|
|
13
|
+
5. 前端使用版本 2 再提交本地旧 nodes/edges/meta,服务端合法接受为版本 3,CLI 新节点消失或原结果被清空。
|
|
14
|
+
|
|
15
|
+
实际测试复现了新增节点丢失和已有文本结果清空。启用 persistCanvasDocument 已有 preventConflictOverwrite 选项后,只发冲突写入,暂停自动保存,CLI 内容保留。CLI 原任务同步可补回仍在节点上的同一任务结果;若节点已删除则停止,不重建。另覆盖“保存已提交但响应丢失”,读回相同结果后返回 unchanged,不重复写入。
|
|
16
|
+
|
|
17
|
+
这证明当前本地前端源码存在明确的覆盖路径,能解释历史现象,不等于已取得当时浏览器/服务端日志、确认每次历史丢失的唯一原因,也不等于线上各部署都运行这份版本。后端断线可能影响保存时序,但未实测归因于断线本身。
|
|
18
|
+
|
|
19
|
+
CLI 侧继续用最新快照、版本 CAS 和无自动重试策略;仅靠 CLI 无法阻止另一个客户端读取新版本后提交旧内容。正式消除该路径需要前端工程师评估默认冲突策略:自动保存冲突应暂停并装载/由用户选择版本,不能自动只更新 version 后覆盖。不要在 CLI 中追着重写旧快照与网页互相覆盖。本轮未修改该前端开关。
|
|
20
|
+
|
|
21
|
+
## 直接入库:真实服务返回内部错误
|
|
22
|
+
|
|
23
|
+
- 时间:2026-10-29 17:14:54(Asia/Shanghai),本地 operation 创建时间 2026-10-29T09:14:54.468Z。
|
|
24
|
+
- 服务链路:沿用测试 profile 及本地前端代理,未切换服务。复用原图片任务 1986,目标为已确认团队的“角色”素材目录 21。
|
|
25
|
+
- 接口:POST /api/v1/material-space/assets/save-from-canvas。
|
|
26
|
+
- 业务体:task_id=1986、folder_id=21、name=CLI图生图功能测试,附 CLI 持久化的唯一 idempotency_key。正文没有额外声音/模型/生成参数,也不含生成提交。
|
|
27
|
+
- 返回:HTTP 200,业务码 5000。CLI 持久化 MATERIAL_SAVE_UNKNOWN,未拿到 asset_id;没有再次 POST,也没有换 operation 或键。
|
|
28
|
+
- 后续只读查询:原目录仍只有原有两项,未发现本次目标素材。没有公开按键查询接口,目录暂未出现不能证明事务完全没有副作用。首次响应的 request_id 当时未由旧 ApiClient 保留,无法从本地记录补出;此次已为后续错误增加安全 request_id 保留,但没有为了取 ID 重发本次请求。
|
|
29
|
+
|
|
30
|
+
后端工程师可按上述时间、接口、源任务和目录定位服务日志,检查真实部署版本、源对象读取/复制、存储配额、素材提交和审计事件。源码已存在该接口的幂等字段与迁移,但本轮没有确认实际部署迁移或具体失败堆栈,不将猜测写成根因,不自行部署或迁移。修复后沿用原 operation/原完整请求和幂等键恢复,先核对原目录,不创建第二份测试保存。
|
|
31
|
+
|
|
32
|
+
CLI 实现、前端实际入库 payload 对照、模拟接口与原键恢复测试通过;真实入库成功、库素材重新导入及网页人工使用未通过,不能标成整条路线已验收。
|
|
33
|
+
|
|
34
|
+
## 后端断线提示后的复验与追踪
|
|
35
|
+
|
|
36
|
+
用户补充刚刚后端断开,要求问题发生时先判断后端连接。本轮先查账号及原素材目录,再检查 /health/live 和 /health/ready,当前均正常,database/redis 均 ok。该检查仅覆盖进程/数据库/Redis,不能验证对象存储、ffmpeg、队列和具体业务事务;也不能否定上轮确实发生过断线。
|
|
37
|
+
|
|
38
|
+
经确认当前就绪,2026-10-29 17:49:18(Asia/Shanghai)使用原 operation、原完整入库请求及原幂等键恢复一次,仍返回 HTTP 200/code 5000。随后自动补查就绪仍正常;此次 request_id 为 `705d1c56-02f1-4ade-a4a1-d920911b698b`。未继续重发,原目录只读查询仍是原两项,操作仍为 unknown。
|
|
39
|
+
|
|
40
|
+
独立接入视频剪辑后,2026-10-29 17:59:34 对原视频任务 1989 申请截取 0–2000ms,仅提交一次 POST /api/v1/video/clips,返回 HTTP 200/code 5000,request_id 为 `6ba317e6-be8d-4f6a-bf8f-5fc43db06ba4`。提交前及报错后就绪均正常。原剪辑 operation `stage3-video-clip-20261029-001` 持久化 unknown,clip_id/canvas_task_id 均未知。只读 GET /api/v1/clip-redraw/clips 当前返回空列表,未再次截取,未创建结果节点/连线,也未用 clip ID 伪造画布任务。
|
|
41
|
+
|
|
42
|
+
两项内部错误不能因 ready 正常就断定与具体服务依赖无关;需要工程师按 request_id 查询真实日志,核对调用堆栈和依赖。当前无法只凭接口通用错误确认根因,不自动归为断网、存储错误、缺迁移或功能缺陷。后端/前端保持只读,没有重启服务、切换地址或跑迁移。
|
|
43
|
+
|
|
44
|
+
CLI 已增加 service status 和异常后同源探针诊断,未知保存/剪辑仍保留原业务码和操作恢复约束。入库恢复可以原幂等键明确执行;剪辑端点没有请求级幂等保证,响应未知时不能重发,只能查询并核对原产物后恢复保存。若服务日志确认本次剪辑绝无落库/产出且用户要求另一次测试,再决定新操作,而不是用新 operation 隐藏未知结果。
|
|
45
|
+
|
|
46
|
+
## 后续复验已恢复成功
|
|
47
|
+
|
|
48
|
+
2026-10-29,用户反馈此前素材上传受限并明确要求再试。服务 ready、原目录和操作核验后,原入库 operation 使用原完整参数与幂等键恢复成功,asset_id=107,原图片任务1986、目录21、PNG1024×1024。素材读取返回HTTP206/image/png,PNG签名有效。入库不再标当前受阻,旧5000记录保留为历史;具体后端限制由用户反馈,未取得服务日志独立确认。
|
|
49
|
+
|
|
50
|
+
原剪辑历史 operation 仍 unknown,账号片段列表复查为空,不能从空列表反推原请求绝无副作用。用户本次明确要求重试后,执行独立一次同参数复测并保留旧记录,成功片段69、canvas_task_id=2006、新节点clip-b7e63a13-eb80-4a7e-9ba5-36fc7d72d264及源→结果系统线。任务返回completed、model_name=clip-extract、duration=2、credit_cost=0,媒体读取HTTP206/video/mp4且ftyp签名有效。未将历史未知操作改写为成功,也未在CLI中增加自动重发规则。
|
|
51
|
+
|
|
52
|
+
本次API真实成功、结果落图及媒体读取通过;网页人工播放和新素材重新导入仍待单独验收。此结果不消除上文独立复现的前端旧快照覆盖风险。
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 阶段 3B 验收状态与后端交接
|
|
2
|
+
|
|
3
|
+
更新日期:2026-10-28。源码主分支:`cli-liu`。当前仅验证 Windows;上传源码不代表正式分发或生产验收完成。
|
|
4
|
+
|
|
5
|
+
## 已完成的客户端验证
|
|
6
|
+
|
|
7
|
+
- 普通浏览器确认授权,CLI 独立会话建立及账号查询成功。
|
|
8
|
+
- 同账号新的 CLI 登录替换旧 CLI;CLI 普通退出后网页仍正常。
|
|
9
|
+
- 新版授权 UI 和带品牌图标的 CLI 回环结果页已人工确认。
|
|
10
|
+
- A 项核心测试:access 真实过期后自动刷新,access/refresh 轮换,sid 不变;Windows 新进程可读取 DPAPI 凭据继续查询,网页仍正常。
|
|
11
|
+
- 修复获取 S1 时刷新凭据后,外层请求仍使用旧 Authorization/Cookie/CSRF 的问题;真实复测只刷新一次。
|
|
12
|
+
- CLI 完整测试和语法检查通过;刷新响应丢失、存储恢复及双进程锁有本地自动化覆盖。
|
|
13
|
+
|
|
14
|
+
验证码使用后端测试注入方式,不代表真实短信送达通过;真实滑块由用户操作。网页同类替换、网页短 TTL 刷新及真实生产业务尚未单独验收。原始联调记录包含测试账号与内网入口,仅保留本地,不上传仓库;仓库不包含登录凭据。
|
|
15
|
+
|
|
16
|
+
## B / C / D 已通过
|
|
17
|
+
|
|
18
|
+
2026-10-28,后端提供测试回填后,用户明确要求将 B/C/D 标记为已通过,进入真实业务接入准备。本节记录为用户确认的验收结论;以下保留实际测试范围,不将未执行的动作写为实测。
|
|
19
|
+
|
|
20
|
+
| 项目 | 验收状态 | 后端回填的实际证据 |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| B 管理端撤销 | 已通过(用户确认) | 指定账号全局撤销后 web/CLI 均失效;管理端会话测试 9 passed;管理端修改当时仍在工作区,尚未部署 |
|
|
23
|
+
| C 审计 | 已通过(用户确认) | 6 个 worker 注册补记任务,beat 每 60 秒投递 dispatch;补记后 outbox 排空;独立积压告警尚未接入 |
|
|
24
|
+
| D 回退 | 已通过(用户确认) | 新增 scripts/revoke_cli_session.py;在无 CLI 状态账号执行 dry-run,未执行真实清理 |
|
|
25
|
+
|
|
26
|
+
后端回填的客户端 SHA 为 e929fd8474c238cbe22195f6c0f619e41544bc21;测试 access TTL 从 43200 分钟临时调整为 2 分钟后已恢复原值并重启,恢复时间未单独记录。上述工作区/部署差异仍在生产接入时核对,不再作为本轮 B/C/D 重新验收的前置任务。
|
|
27
|
+
|
|
28
|
+
### 原交接范围(保留供追溯)
|
|
29
|
+
|
|
30
|
+
| 项目 | 后端负责内容 | 应交回的证据 |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| B 管理端撤销 | 在其测试环境验证账号禁用、恢复及全局安全撤销覆盖 web/cli;恢复后旧凭据不可复活;源网页失效后的未完成授权不得兑换 | 部署 SHA、测试时间、操作入口及结果,含两类旧凭据和 WS 后续操作检查 |
|
|
33
|
+
| C 审计 | 验证 beat/worker 的 dispatch 队列、审计 outbox 故障补记、排空及告警;登录记录按 sid 核对 | 任务注册、消费及补记证据,积压监控方式;不能用 attempted 数代替落库结果 |
|
|
34
|
+
| D 回退 | 补齐并评审 CLI 专用撤销工具,演练关闭新授权、撤销 CLI/未完成授权/恢复记录、保留 web、恢复后重新授权 | 工具位置、试运行清单、实际演练结果;仅关开关不等于清理完成 |
|
|
35
|
+
|
|
36
|
+
后端可以在自己的测试环境运行本仓库 CLI 和专用测试账号,不依赖开发者电脑的凭据。使用其已配置的授权前端入口;如果只有后端,需要另行运行匹配的测试前端。详细配置、接口及操作要求在后端仓库 `docs/CLI会话改造-后端交接与测试配置.md`,由双方交接该文件;本仓库不代替服务器配置文档。
|
|
37
|
+
|
|
38
|
+
远程丢响应/保存失败演练不能因本地自动化通过而标记完成。正式入口的实际部署 SHA 和配置以发布工程师回填为准。
|
|
39
|
+
|
|
40
|
+
## 后续顺序
|
|
41
|
+
|
|
42
|
+
用户已确认 B/C/D 通过,本地不继续执行账号禁用、故障注入及回退。现转入 [真实业务接入与测试](真实业务接入与测试.md);用户指定继续用本地前端连接开发后端,先列现有功能、查询和预估,再逐次确认 OO 币消耗后开展真实业务闭环。
|
|
43
|
+
|
|
44
|
+
本轮沿用已有账号,每次节点参数选定后先展示 OO 币预估,等待用户当次确认才提交。未来生产切换另行安排。Windows 分发/安装升级与 skill 版本匹配仍待验收;Linux/macOS 不计入支持承诺。前端 PR 按用户安排单独交付,不因 CLI 源码上传而自动发布。
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 阶段一实现与验收记录
|
|
2
|
+
|
|
3
|
+
日期:2026-10-23;CLI 版本:0.2.0。
|
|
4
|
+
|
|
5
|
+
## 2026-10-26 环境检查兼容性修正(0.4.0,当前方案)
|
|
6
|
+
|
|
7
|
+
用户实测 0.3.0 的受控浏览器被网站设备校验拒绝。源码确认前端 `detectAutomation` 和后端 `DeviceFingerprintAnalyzer` 都拒绝 `navigator.webdriver` 等自动化标记,之前本地 mock 未覆盖该网站行为。已移除受控浏览器登录实现与 Playwright 依赖。
|
|
8
|
+
|
|
9
|
+
当前 `auth login` 使用普通浏览器打开本机连接页,通过用户安装的本地扩展完成“连接 → 正常登录 → 主动授权当前会话”。CLI 仅监听 127.0.0.1,验证 Host、扩展 Origin 和随机连接口令,单次接受会话后调用现有 API 验证账号,再加密保存。前后端验证码规则不变,不注入指纹修改脚本。
|
|
10
|
+
|
|
11
|
+
新增本地测试验证来源与口令、并发回调单次消费、超时取消、API 身份验证、失败保护,以及扩展弹窗的显式点击、未登录拒绝与连接清理。扩展逻辑使用模拟 Chrome API 测试;真实浏览器扩展安装与网站登录待人工验收。见 [普通浏览器登录](普通浏览器登录.md)。下文 0.3.0 测试是历史记录,不代表该方案通过真实网站验证。
|
|
12
|
+
|
|
13
|
+
## 2026-10-26 登录体验补充(0.3.0)
|
|
14
|
+
|
|
15
|
+
新增 `auth login`:CLI 使用 playwright-core 调起已安装的 Edge/Chrome,并创建独立的临时浏览器上下文。用户在现有网站正常完成登录后,CLI 读取该窗口的 access token、device ID 与 API Cookie(含 HttpOnly 刷新 Cookie),关闭浏览器,验证 API 身份,再使用原有系统加密存储保存。无需登录态 JSON,不修改前后端,也不依赖新增 CLI 授权页。
|
|
16
|
+
|
|
17
|
+
本机实际 Edge 无头集成测试 `npm run test:browser` 已通过,覆盖读取会话、HttpOnly Cookie、设备标识、实际 API 签名、账号验证失败保留原凭据、等候超时与来源校验。测试仅访问本机模拟网站,未登录真实账号或发起生成。
|
|
18
|
+
|
|
19
|
+
此方案复用现有网页会话与 `/auth/refresh`,并非 CLI 专属授权或授权码回调。用户必须在 CLI 打开的独立窗口完成登录;在其他浏览器打开同一链接不会把会话交给 CLI。正式独立授权仍属于阶段二、三。真实网站短信/滑块登录和后续生成联调仍待人工验收。
|
|
20
|
+
|
|
21
|
+
## 已实现
|
|
22
|
+
|
|
23
|
+
- 独立 API client、S1 签名、画布来源头、刷新与立即保存轮换凭据、内存签名会话恢复。
|
|
24
|
+
- Windows CurrentUser DPAPI 凭据加密、普通配置分离、旧版明文 profile 自动迁移、profile 排他锁;服务不可用时报错。
|
|
25
|
+
- 账号/模型/画布/任务查询,团队 UID/协作项目过滤,任务分页和必填 doc_id 校验。
|
|
26
|
+
- 节点媒体和资产库图片的分片预签名上传、ETag 完成确认与文件变动检查。
|
|
27
|
+
- 带画布/节点上下文的费用预估,默认只预估、--yes 明确提交,以及 will_intercept 阻断。
|
|
28
|
+
- 提交前持久化请求和幂等键,绑定账号/API/请求摘要;重复操作查询已知任务,未知响应使用原 key 恢复,不自动重试扣费提交。
|
|
29
|
+
- 任务等待、超时、失败退出、日志查询、流式下载、长度/摘要校验和已有文件保护。
|
|
30
|
+
- 命令级参数校验、稳定 JSON 错误、退出码、帮助、安装说明及 skill 的命令/工作流参考。
|
|
31
|
+
|
|
32
|
+
Windows 使用系统 DPAPI 加密文件实现本期安全存储,未使用 Credential Manager;密文绑定当前 Windows 用户,不能直接复制给其他用户。Linux 的 Secret Service 适配尚未实机验证,macOS 尚未实现;跨平台发布属于阶段三。
|
|
33
|
+
|
|
34
|
+
## 已通过的本地验证
|
|
35
|
+
|
|
36
|
+
`npm run check` 校验所有源模块语法。`npm test` 包含:
|
|
37
|
+
|
|
38
|
+
- 实际 CLI 子进程导入/查询/退出、Windows DPAPI 往返、普通配置无明文凭据、旧凭据迁移、profile 路径校验、并发锁、错误参数及服务切换保护。
|
|
39
|
+
- mock 服务基于实际收到的方法、路径、查询、请求体校验 S1 签名与画布 Header。
|
|
40
|
+
- access token 失效后刷新,保存轮换 Cookie、清除旧 refresh token 并恢复签名。
|
|
41
|
+
- 两分片上传的实际字节拼接和 ETag 确认,预签名请求不携带 API 凭据。
|
|
42
|
+
- 默认预估不提交、预估拦截、提交响应丢失、恢复复用同一幂等键且只创建一项任务、重复恢复不提交、账号/请求不匹配拒绝。
|
|
43
|
+
- 产物下载成功、已有文件保护、错误 HTML 拒绝、摘要不匹配拒绝、完成/失败/等待超时。
|
|
44
|
+
|
|
45
|
+
测试数据位于随机临时目录,测试结束清理。本次 Windows 沙箱限制临时文件原子替换,测试经授权在沙箱外执行通过。没有向真实平台发起生成请求。
|
|
46
|
+
|
|
47
|
+
## 尚待真实环境验收
|
|
48
|
+
|
|
49
|
+
当前没有已提供的测试环境地址、可用登录态及经授权的测试生成预算;本次完成实现与本地 mock 验证,不能据此宣称真实业务端到端验收已完成。上线试用前按下列清单验证:
|
|
50
|
+
|
|
51
|
+
- [ ] 配置测试 API 和网站,启动 API、存储及 canvas worker,导入专用测试账号登录态。
|
|
52
|
+
- [ ] 查询个人/团队文档、模型及已有节点,验证团队归属与参数契约。
|
|
53
|
+
- [ ] 上传真实图片/视频素材,确认资源引用与画布节点实际更新。
|
|
54
|
+
- [ ] 先预估并核对额度,取得一次测试生成授权后提交、等待并下载可打开的产物。
|
|
55
|
+
- [ ] 在测试环境验证令牌过期、签名恢复、刷新轮换及会话撤销。
|
|
56
|
+
- [ ] 验证断网/进程中断后的任务恢复,确认无额外任务与重复扣费。
|
|
57
|
+
|
|
58
|
+
## 边界
|
|
59
|
+
|
|
60
|
+
不修改前后端,不提供网页登录回调、设备授权、画布/节点创建或编辑、分片断点续传、批量下载及正式跨平台分发。上传 complete 结果不明时需先查询画布,不能自动重复上传。无已知 task ID 时恢复依赖后端同 key 返回原任务的契约;本地锁无法阻止其他设备并发使用相同 key,因此不要跨设备并行恢复同一 operation。
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 非转绘持续完善与验收(2026-11-03)
|
|
2
|
+
|
|
3
|
+
本记录更新此前历史状态;只修改CLI、测试、skill和文档,前后端源码只读。真实前端为192.168.30.106:4173,经已有固定回环代理127.0.0.1:4174访问。stage3b-test沿用原账号/猫猫队455245756117,原profile仍绑定5174,本批脚本仅在内存中使用4174,不修改凭据绑定、不重新登录、不关闭HTTPS限制。未启动旧业务前端。测试用Vite仅middlewareMode源码oracle,不监听业务端口。
|
|
4
|
+
|
|
5
|
+
N5安装与交付专项不开展;转绘、去字幕继续暂停,独立转绘页面、整片拼接不纳入。旧代码、operation、产物及已有工作区修改全部保留。没有Git提交/推送或npm发布。
|
|
6
|
+
|
|
7
|
+
## 当前能力与证据层级
|
|
8
|
+
|
|
9
|
+
| 路线 | 实现/模拟 | 真实服务 | 网页 |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| 图片/视频/音频素材复制,普通图片/视频生成结果复制 | 单个和1–100混合批次;新ID/任务归属、来源历史、审核、文件与持久参考、批内映射、busy/派生保护;单次CAS/完整读回/未知不重放 | 五类批量及重复图片共6副本,原节点保留;复制视频prepare复用图片来源任务1986 | 6副本均正确组件,图片成品、三类素材、图片/视频审核标记、保存重开保留;来源历史为codec对照,不冒称多条切换网页验收 |
|
|
12
|
+
| 文本单/批复制、引用与已有删除结果 | 原逻辑保留,混合批内@/@@/引用映射有测试 | 3新文本副本;专设批内持久文本引用,实际稳定标记指向新ID | 关闭保存后新标签重开13节点,批内引用/两类标记保留;此前已授权删除副本仍缺席,不再删除其他节点 |
|
|
13
|
+
| 分组移动/组框调整/重排、改名/拆组 | 新move-group/resize-group/layout-group;三布局及组成员前端对照18例;一次CAS | 整组移动、纵向重排、组框调整、退出成员及重叠临时组拆除、旧组重新归属 | 已显示“CLI复制引用验收组-已改名”,保存重开组框/成员保留 |
|
|
14
|
+
| 媒体断线与模式 | 图片/视频/音频断线及稳定标记清理;修复持久引用参与模式计算,前端removeEdge后组件归一化对照4例 | 三媒体prepare及依次断线;临时边恢复原集合;修正后再连接/断开一边,保留图片引用时combined_reference稳定,prepare仍@图片1→图片副本 | 断线后引用chip/原结果仍在;保存重开服务端模式未再回落 |
|
|
15
|
+
| 普通生成、审核下游复用 | 现有prepare/原operation/同步下载;增强复制来源查询和入库来源回退模拟 | 任务2069,mini图片+视频双Active关联完成;三类型混合仅prepare;副本单图片与原双素材审核复用均Active,新增审核POST=0 | 两个素材审核chip、模型/参数/提示词正确;视频全屏播放到4.096秒、640×640,无解码错误 |
|
|
16
|
+
| Seedance样片转正片 | 新draft prepare/submit/get/recover/wait;费用/协议/父任务/派生节点保护;未知提交查询专属输出节点、不重POST;前端待处理/完成资产codec通过 | 1989的draft为空,真实预检正确拒绝;没有合适已结算有效样片,未收费提交 | 未验正片真实结果,未把模型Draft名称当作样片 |
|
|
17
|
+
| 下载 | 既有匿名307/错误页面/权限门/完整性模拟保留 | 素材107专属下载权限可用;归档1989未改文件引用返回200,1392973字节、原摘要一致;2069下载并完整解码 | 2069网页播放通过;不扩为下载权限边界全通过 |
|
|
18
|
+
|
|
19
|
+
复制不是复制整份原JSON:普通生成副本清除自身last_task_id、结果task_id与轮询/提交状态;当前成品和既有来源历史进入extra.copied_generation_history,extra.source_task_id只标来源。素材保留原上传任务关联。图片/视频副本的审核信息与来源文件保持,跨批引用/审核键/稳定提示词映射到新ID;边、组不复制。generation history将copied_history与副本自身远端items分开,copied_history_selectable=false。
|
|
20
|
+
|
|
21
|
+
material save支持复制生成结果使用已核同画布source_task_id,但须当前文件引用与真实完成任务一致;只有明确选择目录后才入库,本批没有入库或上传。生成结果回填与素材库保存仍是独立动作。
|
|
22
|
+
|
|
23
|
+
## 真实执行与画布状态
|
|
24
|
+
|
|
25
|
+
用户本次明确确认两个目标所有相关标签关闭并保存;业务测试画布仅添加测试副本、保留原内容。先CLI写入,后网页验收;打开期间停止CLI写入,保存后关闭受控标签,再读回。不能将本次关闭状态移作未来新会话确认。
|
|
26
|
+
|
|
27
|
+
- 独立画布doc_e80cec108d4c45ab818cbeaa436b7e5e:重新读取起点45版10节点;CLI编辑到55版13节点,网页后最终读回58版13节点、0边。新增单复制及批复制文本3个;更新已有测试源以验批内引用;新测试组及临时重叠组按方案操作,临时组拆除,业务节点未删。
|
|
28
|
+
- cli团队画布doc_5fa6914c0dd048e2867c954af998a4d5:起点557版52节点,复制到559版58节点;复杂媒体连断线、原任务回填及网页规范化后576版;持久引用模式修正复验到578版,网页关闭读回581版58节点35边;已有审核状态复用同步后583版,未增删节点/业务边。具体版本以最新GET为准,不假定未来不变。
|
|
29
|
+
- 六副本固定ID为cli-media-copy-20261103-0/1/2/3/4/repeat。前三为图片/视频/音频素材;3/4为生成结果,source_task_id分别1986/1989,repeat来源1986,三者own last_task_id均为空、复制来源历史各1条。原图片1986和视频1989仍属于原节点。
|
|
30
|
+
|
|
31
|
+
断线首次验收发现:最后一条边删后,CLI仅按拓扑写text_to_video;另一个图片持久引用仍在,网页VideoNode的generationSources watcher会归一化回combined_reference。已改CLI按保留参考共同约束模式,并扩展前端oracle到removeEdge后的组件归一化。复验新增的临时单边删除后即为combined_reference,@图片1仍映射副本3;不是清空持久引用去掩盖差异。
|
|
32
|
+
|
|
33
|
+
## 当次收费任务与产物
|
|
34
|
+
|
|
35
|
+
用户先选保留图片+视频,再明确确认当次报价34 OO。operation=nonrepaint-mixed-20261103,task_id=2069,猫猫队共享钱包预览1939 OO(快照)。模型Seedance 2.0 mini,4秒、1:1、480p、combined_reference;审核图片1986→@图片1、视频1989→@视频1,reference_canvas_task_ids为1986、1989,无音频。提示词“参考@图片1的人物外观和@视频1的动作,仅用于审核与请求准备验收。”
|
|
36
|
+
|
|
37
|
+
原operation仅提交一次;一次wait超时后继续查询原2069,完成后回填原节点cli-multi-review-20261102,未换键、重传或重生成。原任务credit_cost=34、billing_status=charged,generation/postprocessing成功,watermark verified、delivery ready。共享钱包网页1905是后续快照,不用差额认定个人/其他成员消费。
|
|
38
|
+
|
|
39
|
+
产物.local/frontend-conflict-20261102/generation-result-20261103.mp4:1434805字节,SHA-256 b44f830662095c53c5d2dcf8ee2a003a4fa4365203503ba40c27d224933c7897。FFprobe:H.264、640×640、24fps,视频4.041667秒;AAC 32000Hz,容器4.096秒。FFmpeg整视频及可选音轨完整解码通过,复用已有工具,未安装软件。网页播放至末尾readyState=4、无video.error,人物画面与请求参数可见;不把这些证据扩大为所有模型或动作参考的主观效果验收。
|
|
40
|
+
|
|
41
|
+
两次原业务download入口交付文件摘要一致。任务result.file_size=1680617,与实际交付1434805不同;第二次下载未提供Content-Length。CLI未用该元数据覆盖实际统计或静默转码,实际文件完整可解码。需后端确认file_size是否对应后处理前版本/更新时点,当前未宣称这项元数据一致性通过。
|
|
42
|
+
|
|
43
|
+
## 未完成项的具体条件与交接
|
|
44
|
+
|
|
45
|
+
| 项目 | 已核状态 | 缺少条件/下一步 |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| 有效样片转正片真实闭环 | 前端有真实finalize入口,estimate继承父任务并按正片报价,专用POST带固定幂等键;CLI及恢复已实现 | 提供已有未过期、已结算且draft.step=preview的普通视频样片、当前权益和当次实际报价确认;不能用1989的Draft模型名代替真实draft,也不额外收费造样片 |
|
|
48
|
+
| 协议阻断→本人签署→原任务续接 | 当前账号协议v2已签;模拟4401、签署回调和原operation继续已有覆盖 | 用户明确未提供未签协议受控账号;不撤销本人签署或伪造状态制造场景 |
|
|
49
|
+
| 普通图片历史切换真实写回 | 查询主画布3个、其他画布2个完成图片候选,各仅1条history且has_more=false | 已有同节点多条合适完成历史;不付费补造、不将copied_history认领为副本远端任务 |
|
|
50
|
+
| 真实过期307续期/不可续期 | 使用归档原1989签名引用未改token,当前直接200且原摘要一致;模拟有限307/错误续期已过 | 明确受控自然过期/不可续期的真实引用和素材;本次没有观察到307,不能记真实续期通过 |
|
|
51
|
+
| 非成员/私有/下架素材权限 | 素材107当前专属original入口可用,历史2001/502仅为历史 | 用户明确未提供受控身份/素材;不退队、不删素材、不篡改凭证。提供安全profile名/素材编号后只读验权限 |
|
|
52
|
+
| 自定义服务端文件名/格式转换 | 当前canvas下载只有下载动作;素材库源码为fetch原链接blob并本地命名,选中批量逐文件 | 当前部署产品入口、服务端filename/format完整契约、计费/资源限制、原转码任务查询与恢复。失败不改走列表URL、不静默下载原格式、不重复转码 |
|
|
53
|
+
| 普通图片多张 | 当前部署普通图片设置仅比例/清晰度,高级仅引用识别;prepare仍固定1张 | 明确数量入口、报价/多结果结构/选取/历史及入库语义;目录上限和遗留image_count不构成可实现契约 |
|
|
54
|
+
| 抠图 | 部署有工具入口;只读核对前端签名multipart同步PNG,结果/费用通过响应头返回 | 实时报价/费用约束、稳定原结果查询、幂等键/未知提交恢复仍缺,先交接接口;没有POST收费探测,不把返回PNG当闭环 |
|
|
55
|
+
| 音频生成 | 实际团队目录image7/text4/video5,无audio生成模型;音频素材已有播放/复制 | 有效产品模型、请求/报价、异步结果及恢复协议;空音频节点不等于可执行生成 |
|
|
56
|
+
| 撤销重做、其他重拍、预览/断点/ZIP | 撤销栈在网页内存;当前有普通视频模式/既有单源重拍,各按已接契约;素材库批量是逐文件 | 缺CLI可共享编辑事务/远端undo接口;更多重拍模式明确入口与参数/父任务;下载断点需Range/ETag/过期续接契约,ZIP需真实入口与资源限制。不自行从候选清单造功能 |
|
|
57
|
+
|
|
58
|
+
抠图交接以当前源码同步PNG仅有X-Result-Ref/Url/X-Credit-Cost为依据,不等于已验证部署推理或收费成功。下载服务端命名/转换亦未通过GET试参诱发处理。本次没有用户还需回答才能完成的独立开发被搁置;上述真实条件不足不算功能验收通过。
|
|
59
|
+
|
|
60
|
+
## 测试与证据
|
|
61
|
+
|
|
62
|
+
- npm run check通过;完整npm test由38增至41组并全部通过,保留暂停路线的既有模拟回归不代表恢复专项开发或真实调用。新增派生保护后另做匹配专项复验。
|
|
63
|
+
- 新媒体复制前端oracle11例,组几何/归属18例,断线含组件归一化4例,样片待处理/完成素材codec2例通过。前端源码oracle只说明所用源码兼容;真实部署另以上述网页/服务记录证明。
|
|
64
|
+
- npm run check:resources执行离线pack dry-run,检查新增运行模块、所有相对运行依赖及1入口/13参考、排除.local/outputs/凭据,不安装/升级/发布。新增文档/测试会改变最终文件数,以最后检查输出为准。
|
|
65
|
+
- 证据根.local/frontend-conflict-20261102/:edit-20261103-{before,progress,after}.json;media-20261103-{before,preview,result,after,prepare}.json;media-disconnect-20261103-{before,progress,after}.json;disconnect-retained-ref-20261103.json;generation-{submitted,task,final}-20261103.json、generation-media-check-20261103.json;review-reuse-delivery-20261103.json;download-draft-boundaries-20261103.json;final-web-readback-*-20261103.json。
|
|
66
|
+
- 网页证据web-edit-reopened、web-media-image、web-media-reopened、web-image-controls、web-generation-2069、web-retained-reference-final(20261103的txt/png)。保存已受控关闭;没有操作暂停路线按钮。
|
|
67
|
+
|
|
68
|
+
所有步骤分别记录已实现、模拟/源码对照、真实服务、网页层级;200响应、版本递增和命令退出0都不是单独验收标准。真实新增生成仅2069一次、实际34 OO;没有新上传、素材入库、转码、抠图、样片正片或新审核任务,不删除业务画布原节点。
|
|
69
|
+
|
|
70
|
+
样片确认参数从绑定原任务的完成历史读取,包含原提示词、时长及三类素材;不使用已编辑节点的当前输入冒充。任务GET省略这些字段时也不会因本地JSON省略undefined而误判请求变化。
|
|
71
|
+
|
|
72
|
+
最终质量检查:41组完整模拟回归再次全部通过,语法检查通过;包dry-run为169项、214处相对运行资源、13份参考,未安装/升级/发布。167份文本UTF-8检查、235处本地Markdown引用、skill quick_validate及git diff --check通过;test/browser-login.mjs和docs/阶段一验收.md本来已有混合换行且Git状态未修改,保持原样。最终只读快照再次确认独立58版13节点0边、业务583版58节点35边;原2069和六媒体副本归属/审核/来源历史一致。
|
|
73
|
+
|
|
74
|
+
## 补充条件验收更新(2026-11-03)
|
|
75
|
+
|
|
76
|
+
用户补充受控身份、原节点新图片任务及部署条件后,最新结论见[补充条件验收](非转绘补充条件验收-20261103.md)。原记录保留为历史;2071实际7 OO、两条图片历史切换/恢复真实通过,非成员下载拒绝通过;协议本人点击被服务端2001拒绝、网页控制停止及大小元数据仍不一致未标通过。抠图免费但开发部署无服务;格式转换不支持,下载按响应文件名原格式交付。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 非转绘第二批验收(2026-11-02)
|
|
2
|
+
|
|
3
|
+
## N3多素材审核准备
|
|
4
|
+
|
|
5
|
+
用户批准在原cli团队画布右侧新增CLI多素材审核验收普通视频节点,连接原图片1986与视频1989;明确模型Seedance 2.0 mini、4秒、1:1、480p,仅审核和准备请求,不生成。沿用本次标签关闭确认。
|
|
6
|
+
|
|
7
|
+
服务首次探针未就绪,尚未进入业务发现;复查live/ready及数据库/Redis正常后继续只读。原画布536版,图片1986审核Active,视频1989未有审核记录。现有多输入候选包含缺任务关联素材,不静默排除或伪造关联。
|
|
8
|
+
|
|
9
|
+
通过现有writeNode/graphWrite创建节点和两条普通连线,536→539版,52节点35线,原有节点/连线/meta/viewport保持。upstream预检识别1986图片与1989视频各一项,generation prepare图像/视频参考各1项,无生成提交。operation预定n3-multi-review-20261102-001,当前仅预检。
|
|
10
|
+
|
|
11
|
+
审核接口没有报价字段,本地源码不能证明实际部署不扣OO币;已请求用户确认,未回复前不提交审核。
|
|
12
|
+
|
|
13
|
+
## N2真实下载边界所需材料
|
|
14
|
+
|
|
15
|
+
| 场景 | 已有证据 | 真实补验条件 |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| 有权原文件 | 素材107完整下载通过 | 无需重复制造任务 |
|
|
18
|
+
| 过期307续期 | 模拟协议通过 | 测试服务签发的确已过期且可续期引用;不解码或篡改凭证 |
|
|
19
|
+
| 不可续期/下架 | 模拟错误与最终文件保护 | 已有受控下架素材或测试管理员准备,不删除用户素材 |
|
|
20
|
+
| 非成员/私有 | 当前合法成员正常下载 | 独立获准测试身份及明确可见性素材,不退出现有团队制造场景 |
|
|
21
|
+
| 不存在素材 | 尚未真实核验 | 服务侧提供确定不存在的测试ID,不用猜测ID探测其他素材 |
|
|
22
|
+
|
|
23
|
+
## N5环境依赖
|
|
24
|
+
|
|
25
|
+
当前142项包的隔离安装验证已通过;干净Windows、真实旧版本包、独立测试身份及目标宿主仍未提供,本批不将本机结果扩成实机验收。
|
|
26
|
+
|
|
27
|
+
证据保存在忽略目录.local/n3-batch2-20261102;未修改前后端或执行转绘。
|
|
28
|
+
|
|
29
|
+
## 双素材实际审核结果
|
|
30
|
+
|
|
31
|
+
用户明确确认当前独立素材审核不扣OO币并授权继续。沿用operation n3-multi-review-20261102-001,图片1986复用已有Active;视频1989由无记录提交后Queued,随后Active。两项均有真实资产关联,未提交视频生成。
|
|
32
|
+
|
|
33
|
+
最新只读画布546版52节点35线,原图/原视频extra.seedance_review均active,验收节点seedance_material_reviews两项active;generation prepare返回reference_canvas_task_ids为1986、1989。重复get原审核状态稳定、画布不变。get默认canvas_synced=false表示未在本次查询执行同步,不能据此断言回填缺失;本轮已直接核对画布。
|
|
34
|
+
|
|
35
|
+
最终核验首次因两条新增边animated:false被归一化为data:{}而停止,随后只读核实节点/边ID及源目标/端口/系统角色保持,未重提审核。期间还出现视口和部分显示字段变化,等待用户确认是否操作网页;不擅自归因服务端或前端,也不覆盖。网页审核标记人工验收尚待确认。
|
|
36
|
+
|
|
37
|
+
N2真实权限/过期边界、N5独立环境条件仍按前述清单。此批无运行代码修改,文档UTF-8和CRLF保留。
|
|
38
|
+
|
|
39
|
+
最终确认:用户说明期间操作过网页,现已关闭且保存完成。随后只读复核仍546版52节点35线、两项审核Active、prepare保留1986/1989双任务关联,重复查询画布不变。字段变化与网页操作时段相符,但未采集逐请求日志,不断言每项变化的具体来源。用户尚未专门确认网页审核标记显示,保留该人工验收项。
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# 非转绘补充条件验收(2026-11-03)
|
|
2
|
+
|
|
3
|
+
本记录接续[本日持续完善报告](非转绘持续完善与验收-20261103.md),以用户补充条件和当前部署实测更新历史阻塞,不覆盖原operation、证据和产物。前后端只读;不开展N5、转绘、去字幕或发布。
|
|
4
|
+
|
|
5
|
+
## 连接、身份与授权
|
|
6
|
+
|
|
7
|
+
实际业务仍为192.168.30.106:4173;4174原代理保留。受控账号CLI授权服务仍返回5174,CLI拒绝origin不匹配后,用户明确改为使用5174代理。新增.local/frontend-conflict-20261102/proxy-5174-20261103.mjs固定转发同一新部署,没有启动旧前端、关闭HTTPS校验或修改原stage3b-test凭据。CLI错误现在明确报告两端origin及CLI_AUTH_ORIGIN配置,未输出授权查询串。
|
|
8
|
+
|
|
9
|
+
受控账号151****0206由用户本人完成滑块、验证码、登录和CLI授权。独立controlled-20261103凭据以CurrentUser DPAPI保存在排除打包的.local目录,不替换原profile。真实UID323168429568,无团队、余额0;仅用于权限和协议核验,不充值、不入队、不生成。
|
|
10
|
+
|
|
11
|
+
用户本轮重新确认cli团队画布全部标签关闭并完成保存,明确授权原图片节点再生成;7 OO费用卡片展示当前团队共享钱包3000 OO快照、原输入/模型/参考/报价后,用户单独确认。网页重开后暂停CLI写入;最后仅只读查询。
|
|
12
|
+
|
|
13
|
+
## 新实现与真实验收层级
|
|
14
|
+
|
|
15
|
+
| 项目 | 已实现/模拟 | 真实服务/网页 |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| 同节点再次生成回填 | 提交前原operation保存syncBaseline;旧结果只在原身份/服务唯一operation、完整节点快照未改、任务晚于旧ID且远端最新任务匹配时可替换。后续编辑/历史切换/新任务或旧记录缺证据停止。模拟覆盖旧记录、编辑、后续任务、错账号、自动读取原journal | 2071首次完成被旧保护拦截,没有重提;以已归档提交前快照核验后回填584版。旧operation未补造记录。新版本自动journal路径模拟通过,尚无额外收费任务验证此自动路径 |
|
|
18
|
+
| 普通图片多历史 | 复用已有history/selection/CAS/读回保护,不新增数量参数 | 原节点已存在1986和2071两条完成历史;切1986到585版,恢复2071到586版,均selection_verified。用户登录网页后最终只读592版、58节点、35边,仍选2071。浏览器控制因无法可靠确定Windows页面地址被工具停止,未完成网页图片/历史列表/保存重开验收,不记网页通过 |
|
|
19
|
+
| 服务端文件名 | 生成下载默认优先读取实际Content-Disposition UTF-8 filename*/filename,再回退业务filename;拒绝路径/设备名,显式--output保持本地路径。素材下载另报server_filename,仍必填output。模拟覆盖名称优先级、编码损坏、安全名、原文件完整性及不覆盖 | 2069业务与实际响应均2069_cfe1d71c.wm.mp4;2071实际默认落盘2071_251c4709.wm.png,1236991字节,与显式路径下载摘要相同。未发送改名/format参数、不转码 |
|
|
20
|
+
| 非成员下载权限 | 原业务权限门保留,拒绝不走list/get链接 | 受控账号访问猫猫队目录、素材107专属download、2069专属download均HTTP200/code2001拒绝;未请求缓存文件URL。未覆盖专门下架/私有状态组合 |
|
|
21
|
+
| Seedance协议 | 修复明确API2001或HTTP401/403拒绝被误记为未知等待:页面终止并显示安全码/request_id,CLI AGREEMENT_REJECTED退出,不自动重发。同意响应未知仍仅GET核验;模拟覆盖两类不同结果 | 初始required=true/agreed=false/v2。用户本人勾选点击后签署POST实际HTTP200/code2001拒绝,随后GET仍未签。完整签署/续接未通过;无生成operation、视频任务或扣费。正式修复后页面的真实拒绝显示亦未再让用户重复签署测试 |
|
|
22
|
+
|
|
23
|
+
## 收费任务与产物
|
|
24
|
+
|
|
25
|
+
operation=image-multi-history-20261103,task_id=2071;原节点cli-image-generation-20261029,画布doc_5fa6914c0dd048e2867c954af998a4d5,猫猫队455245756117。仅一次提交,Uzoo Image 2、image2image、1:1、1K、image_count=1;原角色素材cli-library-image-20261029映射@图片1,原人物立绘提示词保持。真实credit_cost=7、billing_status=charged。未创建新节点、上传、入库或其他收费处理。
|
|
26
|
+
|
|
27
|
+
产物.local/frontend-conflict-20261102/image-history-result-2071.png及默认名2071_251c4709.wm.png均1236991字节,SHA-256为5a3a22e2a3c71a61c6ad29248d7ea450a26dfca1c74e52aff17617878367ead5;响应image/png,结果1024×1024。实际计费依据原任务字段,团队余额差额不是本任务费用。
|
|
28
|
+
|
|
29
|
+
## 后端交接及更新后的条件
|
|
30
|
+
|
|
31
|
+
1. 协议签署POST /video/protocol-agreement,受控UID323168429568,2026-11-03 11:44:21(北京时间),HTTP200/code2001,request_id=f45323a1-f6be-406e-8abe-b3ef63cbc0b9。GET和本人账户查询正常;同时记录曾有GET 502,不能用后来恢复抹掉该错误。请查原请求拒绝原因;CLI未代签、不重POST。该账号无余额及团队,即使签署修复,完整收费生成续接仍缺付款条件。
|
|
32
|
+
2. 用户告知大小问题后端已改,当前部署实测尚不一致:2069元数据1680617/实际1434805;本次新2071元数据1325862/实际1236991。2071新建证明不限于历史未回填。最终GET两条元数据仍旧;需核对当前部署、后处理交付版本及size写入时点。无再次收费复现。
|
|
33
|
+
3. 用户确认下载时效30分钟,也允许每次重新从原业务接口下载。CLI常规路径已每次新取链,不保存复用。自然保存的未改2069引用在1910秒(31分50秒)后仍直接200、无续期头,未观察到307;不篡改凭证、不据此宣布TTL永久或续期已验。不可续期仍缺受控真实条件。
|
|
34
|
+
4. 普通图片数量严格以前端可调整控件为准:本轮沿用已核前端单张;同节点两次任务用于历史,不等于一次多张。未新增猜测参数,也不再把候选数量上限当作必须接入的产品缺口。
|
|
35
|
+
5. 用户明确抠图目前免费,但开发部署没有服务、正式部署才有。当前阻塞改为部署/正式服务入口与结果查询、未知恢复契约;不再把待报价作为该免费服务的当前阻塞。不擅自切正式服务或POST探测。
|
|
36
|
+
6. 用户说明当前不支持格式转换;按原格式交付,服务端命名读取实际响应。不开发转码开关,也不把本地output路径说成服务端改名。
|
|
37
|
+
|
|
38
|
+
## 测试与证据
|
|
39
|
+
|
|
40
|
+
完整41组模拟回归通过;之后新增协议明确拒绝分支专项通过,语法和离线包资源检查通过。新增模块download-name.js纳入语法及包内资源检查;安装/升级/发布测试未运行。最后质量结果见补充证据,不将源码/模拟状态扩大成网页通过。
|
|
41
|
+
|
|
42
|
+
证据目录.local/frontend-conflict-20261102/:followup-preflight-20261103.json、controlled-permission[-after]-20261103.json、agreement-diagnostics-20261103.jsonl、image-history-{submitted,final,list,old,restore}-20261103.json、natural-expiry-20261103.json、followup-final-readonly-20261103.json。验证码、令牌及授权查询串不写入交接正文,所有既有记录保留。
|
|
43
|
+
|
|
44
|
+
最终质量检查:完整41组回归通过;协议拒绝新增分支及CLI冒烟专项通过,语法检查通过。最终离线包资源171项、217处相对运行依赖、13份skill参考;169份UTF-8文本、239处本地Markdown引用检查和git diff --check通过,原有两份未修改混合换行保留。
|
|
45
|
+
|
|
46
|
+
## 后端修复再次复核(2026-11-03 14:47)
|
|
47
|
+
|
|
48
|
+
本轮针对用户要求复核协议与文件大小。5174代理起初未监听,恢复已有固定代理到192.168.30.106:4173后,live/ready及数据库、Redis就绪。原stage3b-test配置与凭据未改,受控账号仍独立保存;未操作画布、未新建生成任务或扣费。
|
|
49
|
+
|
|
50
|
+
**协议真实复核通过**:受控账号151****0206(UID323168429568)初始required=true、agreed=false、v2。通过既有CLI协议桥接打开普通Edge阅读页,由本人勾选点击;2026-11-03 14:47:02签署POST返回recorded=true、agreed=true,随后GET核验成功,CLI返回status=agreed。14:47:47独立客户端再次GET仍agreed=true、v2。Agent未操作勾选、点击或直接POST;没有自动重发签署。这更新此前HTTP200/code2001的失败状态,但不抹除旧记录。账号无余额/团队,完整收费生成原operation续接仍未验收。
|
|
51
|
+
|
|
52
|
+
**大小一致性未通过**:原2069 GET result.file_size仍1680617,实际交付1434805字节;原2071仍1325862,实际交付1236991字节。两份SHA-256与原产物完全一致;业务download仅file_ref/url/filename/expires_at/format,没有新的交付大小字段,实际文件未提供Content-Length。只能确认当前这两条原任务尚不一致,不能据此推断修复代码未合并,也不能证明新生成任务一定仍有问题;可能需核对历史回填、当前部署与后处理大小语义。未额外收费创建任务复现。
|
|
53
|
+
|
|
54
|
+
证据:.local/frontend-conflict-20261102/backend-fix-recheck-1793688345179.json(签署前);controlled-agreement-recheck-1793688422728.json及agreement-diagnostics-20261103.jsonl(真实POST/GET);backend-fix-recheck-1793688467949.json(签署后独立GET与文件实读)。本轮未调用Computer Use,不改变图片历史网页待验收结论。
|
|
55
|
+
|
|
56
|
+
## 大小一致性修复复测通过(2026-11-03 15:24)
|
|
57
|
+
|
|
58
|
+
按用户要求再次使用原5174代理固定连接新部署,业务download每次取新链接并完整实读。2069的result.file_size=1434805,实际1434805;2071的result.file_size=1236991,实际1236991,两项均一致。两份SHA-256与原产物一致,未重做生成、未改画布、未签署或扣费。当前受控协议v2仍agreed=true。
|
|
59
|
+
|
|
60
|
+
证据.local/frontend-conflict-20261102/backend-fix-recheck-1793690669809.json。此次更新原任务大小不一致阻塞为真实服务通过,不抹去旧失败记录,也不扩大为所有素材或新生成路径的大小验收。npm发布、版本更新与安装使用准备见同目录npm线上发布与安装使用.md;未恢复N5、转绘或去字幕。
|
|
61
|
+
|
|
62
|
+
## 有效样片2072与Draft回填检修(2026-11-03)
|
|
63
|
+
|
|
64
|
+
用户确认以图片2071为唯一人物外观参考,Seedance 2.5 Draft、4秒、1:1、480p、combined_reference,无视频/音频,保持五官发型服饰、白背景、轻微转头与自然眨眼、固定镜头;当次明确确认52 OO。关页与离开保存重新确认后,创建普通视频节点cli-draft-preview-20261103及一条来源线,原节点保留。prepare发现2071仍关联1986旧审核而停止;为2071执行免费独立审核,Active后再prepare,唯一@图片1映射及reference_canvas_task_ids均为2071。
|
|
65
|
+
|
|
66
|
+
operation=seedance25-draft-preview-20261103,task_id=2072,仅一次提交;等待超时继续原任务,未重提。真实completed/charged/credit_cost=52;draft.step=preview,status=preview_ready,有效期2026-11-10T16:28:56+08:00,finalized_count=0。回填到606版,59节点36边,source2071和全部原内容保留。没有正片任务、上传或入库。
|
|
67
|
+
|
|
68
|
+
实测后端把Draft展示名归一为基础Seedance 2.5,旧通用sync模型保护误拦。已核对前端generationActions完成处理/snapshot.extra.draft及后端_normalize_body_model_name,并以部署响应核实:公开目录不含base_model_code,只有is_sample_mode/sample_mode。CLI有公开基础code时按精确目录关系核验;精简目录仅接受明确的Seedance 2.5 Draft→Seedance 2.5且preview_resolution=480p、真实task.draft.step=preview及节点draft_preview=true;其他模型不放宽。保存extra.draft及已有顶层别名,深比较避免重复回填。原2072随后成功读回,无重新收费。
|
|
69
|
+
|
|
70
|
+
下载.local/frontend-conflict-20261102/draft-preview-completed-2072.mp4,622759字节,SHA-256 068d0c3ef67f6614f4ca67af5c3dcab330ee4fec51b04b4a81a7c64726597764。媒体检查单独记录draft-media-2072-20261103.json。证据还包括draft-preview-before、preflight-1793694401346、submitted、completed-2072-final及draft-source2071-review记录。
|
|
71
|
+
|
|
72
|
+
用户提供截图已复制为web-image-history-user-20261103.png,可见原图片节点两条历史缩略图及当前2071成品/任务号GEN-261103-QVXKJ7;这是用户提供的网页可见证据,不能替代采用旧项→恢复→保存重开的完整验收。当前已具备真实有效样片,转正片仍需父任务预检、权益及独立费用确认;未自动推进。CLI候选递增为0.5.0-rc.2,原rc.1及0.4.0归档保留。
|
|
73
|
+
|
|
74
|
+
## 2072样片→2073高画质正片真实闭环(2026-11-03)
|
|
75
|
+
|
|
76
|
+
用户认可已生成的低画质样片2072,明确要求完成整流程:低成本试样→认可内容→基于原样片生成高画质正片。用户重新确认相关标签关闭、离开保存完成;按当次报价明确确认正片260 OO。团队钱包预检2941 OO为共享快照,原样片52 OO和新增正片费用分开报告。
|
|
77
|
+
|
|
78
|
+
operation=seedance25-draft-finalize-2072-20261103。prepare读取原样片已完成/已结算、未过期和原完成历史,继承人物图片2071、原提示词、4秒/1:1/combined_reference,正片按1080p契约;没有重新优化提示词或重组参考。estimate.step=finalize、parent_task_id=2072,报价260、will_intercept=false、无free_card。本地计划固定结果节点draft-final-4370e0fe-fff7-4a34-9e3c-5a9d45e931d2和来源线,先CAS保存读回,再以原幂等键专用POST draft-finalize一次。
|
|
79
|
+
|
|
80
|
+
正片task_id=2073,completed/charged,实际260 OO;task.draft.step=finalize、parent_task_id=2072。父2072仍completed/charged、52 OO,finalized_count=1、last_finalized_task_id=2073;低画质样片保留,两个阶段实际合计312 OO。业务画布最终619版、60节点、37边;原样片节点保留last_task_id=2072,新增独立素材结果节点last_task_id=2073、extra.draft_finalize来源标记和draftFinalize边均读回通过;目标节点任务列表恰好一个任务。重复原operation恢复后画布版本未变,没有重提、入库或上传。
|
|
81
|
+
|
|
82
|
+
原任务专属download输出.local/frontend-conflict-20261102/draft-finalized-2073.mp4,7118311字节,和result.file_size相同;SHA-256为6887eaaab33a0eaf9008728346a356225ad9147853553227727e60c52676fb91。高画质1080p档在1:1下实际1440×1440,24fps、HEVC、视频4.041667秒、容器4.064秒、AAC音轨;完整FFmpeg解码通过,复用现有工具、未安装/转码。取1秒帧只读查看,仍为白底同一古风人物;这不是对逐帧完全相同或主观质量的保证。
|
|
83
|
+
|
|
84
|
+
真实CLI闭环、父子任务、实际费用、结果落图和本地交付通过;用户截图证明样片节点及“渲染成片”入口可见,已保存web-draft2072-user-20261103.png。正片网页展示/保存重开没有冒称人工通过。子任务status已completed,但后端draft.status仍finalizing,保留原值不擅改;交付以真实完成及可交付结果核验。
|
|
85
|
+
|
|
86
|
+
证据:draft-finalize-prepare-1793695975866.json、submit-1793696175511.json、wait-1793696287080.json、final2073-verification-20261103.json、draft-final2073-frame.png。原52 OO样片费、260 OO正片费和本次312 OO合计不与其他测试任务混算,也不按共享余额差认定费用。没有新样片或其他收费任务。
|
|
87
|
+
|
|
88
|
+
## 2026-11-03 网页与历史新增集中补验(rc.3)
|
|
89
|
+
|
|
90
|
+
- 开发站仍为192.168.30.106:4173,经固定5174回环代理;用户本轮确认关闭并保存,CLI先新增图片1986及视频2069两节点,619→620→621版,62节点/37边,原内容逐项保持;不生成、不上传、不入库,无新增费用。
|
|
91
|
+
- history-add默认本地预览,执行绑定账号/服务/原历史/整个预览快照,一次CAS后独立GET核验。未知保存仅原operation只读恢复。真实证据:history-add-apply-1793699259151.json、history-add-apply-1793699582642.json;原operation分别history-add-1986-20261103、history-add-2069-20261103,均保留。
|
|
92
|
+
- CLI完成后停止写入,再打开真实网页。原图片历史列表确认2071/1986,网页采用1986(任务GEN-261029-WWU8KK),保存后服务端627版last_task_id=1986;离开画布从新标签重开后631版仍为1986。随后网页采用2071、保存、离开重开,最终638版last_task_id=2071,62节点/37边;不得将历史面板默认预览最新项当作当前节点选择证明。网页偶有动作超时,先检查实际状态,未盲目重复写入。
|
|
93
|
+
- 图片新增结果网页1024×1024完整载入;视频新增结果640×640/4.096秒播放至ended=true,error=null。重开后两个节点均可见,last_task_id=null、source_task_id分别1986/2069、copied_history_count=1,无输入素材/审核授权。
|
|
94
|
+
- 正片2073网页播放器readyState=4、1440×1440、4.064秒,实际播放至ended=true、无错误。2072样片和独立正片节点保留。注意画布extra.draft仍是其保存快照,parent finalized_count=0/child finalizing不替代任务查询;原任务实际完成、父子关系和结算已在此前记录验证。
|
|
95
|
+
- 证据位于.local/frontend-conflict-20261102/:web-acceptance-1793699848474.json、web-acceptance-1793700101084.json、web-acceptance-1793700167295.json、web-acceptance-1793700612228.json、web-media-acceptance-20261103.json,及web-image-history-restored-20261103.png、web-history1986-added-20261103.png、web-history2069-accepted-20261103.png、web-final2073-accepted-20261103.png。网页保存会更新视口/规范化节点,未修改前后端源码,未把网页重新保存的全量快照称作CLI原样保存。
|
|
96
|
+
- 模拟41组通过(含扩展history-add/授权诊断案例);前端只读codec对照通过,验证image/video历史新增输出、空输入、无任务认领及来源保存重开。来源历史原模式/原提示词/时间的修正通过模拟及前端对照,本次已存远端两测试节点产生于该元数据修正前,保留原产物,不覆盖其历史记录;不把旧节点显示文生图当作原图任务模式。
|
|
97
|
+
- 正式站https://uzooai.com:按用户要求尝试独立profile正常本人授权。实际返回2110/cli_auth_disabled,尚无正式站CLI凭据/处理任务/费用;用户选择暂不启用,停止抠图真实路线。不能以本地开发源码冒充正式部署契约,抠图执行及原结果恢复仍未实现;用户确认的正式网页可用和免费不受此结论否定。
|
|
98
|
+
- 版本0.5.0-rc.3,MIT/private保留;仅常规构建/回归/包资源核验,不发布npm、不提交/推送、不恢复N5、转绘、去字幕。
|
|
99
|
+
|
|
100
|
+
## 2026-11-04 新协议v3阻断与原operation真实续接
|
|
101
|
+
|
|
102
|
+
- 用户明确恢复本项验收,并确认cli团队画布所有相关标签关闭/离开保存完成。5174固定回环代理转发192.168.30.106:4173新部署,没有启动旧前端。原stage3b-test会话返回2012后,由用户本人重新登录原猫猫队账号并明确授权CLI,保留原profile服务绑定及全部operation。
|
|
103
|
+
- 实际账号LIU、猫猫队455245756117;协议目录11/正文版本3,协议状态v3、required=true/agreed=false,团队共享余额预览2665 OO。用户选择Seedance 2.0 mini、4秒、1:1、480p、文生视频,无三类参考素材,提示词为白底蓝色立方体缓慢旋转。prepare的reference_mapping为空;实际报价16 OO、will_intercept=false、无free_card,用户当次明确确认。
|
|
104
|
+
- 画布639→640新增一个普通测试节点cli-agreement-v3-20261104,63节点/37边,全部原节点/边/meta/视口核对保持。验收脚本最初错误校验顶层generation_mode,节点已保存;核对远端副作用后只读prepare/报价,修正为request.extra.generation_mode,没有重复建节点。
|
|
105
|
+
- operation=seedance-agreement-v3-20261104。未签阶段由CLI读取真实协议状态后前检阻断,持久化blocked_agreement、原请求和固定幂等键;生成POST=0、目标节点远端历史=0、无task ID。该阶段是CLI真实协议前检,不冒称已向服务端生成POST并收到4401;并发版本变化导致生成接口实际4401的分支仍只有模拟覆盖。
|
|
106
|
+
- 使用原recover流程打开当前v3已发布全文,由本人勾选/点击签署。实际签署POST及后续GET核验agreed=true/version=v3;继续前复核同账号、画布配置/来源和最新16 OO报价。原operation/请求hash/幂等键摘要均一致,唯一一次生成POST得到任务2078,没有换键重提。
|
|
107
|
+
- 任务2078已completed,billing_status=charged,实际credit_cost=16 OO;原任务查询、回填、下载及完整FFmpeg解码通过。最终画布641版、63节点/37边,其他内容保持,结果task_id与真实任务一致。该节点任务列表唯一1项;完成后再次recover只查询原任务,生成POST=0、画布版本不变。
|
|
108
|
+
- 实际交付602870字节、SHA-256=b273d50132379c984106fd0d4cf07d92273715463460586c323d845130aeb2c7,尺寸640×640;服务端file_size=937487,大小一致=False。原2078专属下载入口再次取链/下载后字节数与SHA-256均一致,任务GET仍记录937487,与实际602870不符,作为新任务的后端交付元数据问题交接;此前2069/2071大小复测通过仍保留,不扩大为全部新任务已修复。本次无上传/审核/入库或额外转码请求,未安装软件;本机解码复用已安装FFmpeg。共享钱包后续快照2641 OO与原任务实际结算分别记录,不以余额差额认定费用。
|
|
109
|
+
- 脱敏证据:agreement-v3-block-1793757372162.json、agreement-v3-recover-1793757453691.json、agreement-v3-finish-1793757654901.json;文件位于.local/frontend-conflict-20261102,原operation仍在用户配置目录。本轮没有修改前后端/CLI运行代码,不重复无关完整回归;只检查验收脚本语法、UTF-8/引用、skill与包资源。该结果证明CLI实际前检阻断→本人签署→原operation收费生成完成/回填/交付,不扩大为所有协议并发竞态或全部模型通过。
|
|
110
|
+
|
|
111
|
+
## 2026-11-04 正式站抠图执行更新(rc.4)
|
|
112
|
+
|
|
113
|
+
免费抠图已接入单次执行、透明PNG核验、缓存与已知原结果GET恢复、CAS落图及来源线;正式站7738原图返回0 OO,用户确认网页保存重开,独立102版读回通过。此前“仅预检/执行未实现”为历史阶段;无引用的未知提交服务端查回仍未接入,不重发。详情见[抠图接入与验收](图片抠图接入与验收-20261104.md)。
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# 非转绘首批实施与验收
|
|
2
|
+
|
|
3
|
+
日期:2026-10-31。用户明确开始“N1优先、并行准备N5、再做N2”;转绘开发及专项真实补验继续暂停。本轮不推进N3/N4或收费AI生成。
|
|
4
|
+
|
|
5
|
+
| 工作包 | 本轮结果 | 未完成/阻塞 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| N1只读候选 | 普通图片仅1条历史,不制造新历史;原视频、工具和素材库来源核验通过 | 图片真实切换未执行,仅保留预览/兼容证据 |
|
|
8
|
+
| N1两帧 | 用户明确第1/2秒,两张640×640 JPEG、真实0 OO上传任务、525版节点/来源线和重复只读恢复通过 | 网页重开保存后新增节点缺失,整体网页保留验收未通过 |
|
|
9
|
+
| N1已有库结果重新导入 | 复用先前已入库图片107,原图/素材摘要相同;CLI保存时其他内容保持 | 该节点也在后续网页保存后缺失;没有重复入库/上传或自动再导入 |
|
|
10
|
+
| N5准备 | 独立环境步骤/证据/依赖和版本材料清单已落地 | 未提供干净Windows;历史提交均0.4.0,真正跨版本/真实登录/宿主发现尚未验收 |
|
|
11
|
+
| N2实现 | material download原文件命令、空间/素材归属、权限入口、匿名文件/续期/摘要/独占交付和真实CLI路由测试已实现 | 2026-11-02素材107专属入口及实际原文件下载通过;真实过期续期和其他权限组合待验 |
|
|
12
|
+
|
|
13
|
+
## 真实操作与副作用
|
|
14
|
+
|
|
15
|
+
沿用原profile、猫猫队和cli团队画布,用户确认时刻后执行一次两帧操作。525版由519版增加2截帧节点/2来源线及1已有库素材节点,旧内容逐项相同;原两帧task2063/2064均completed、credit_cost=0(这是上传任务,不是AI生成)。素材库107直接复用,未新建素材记录。没有收费任务或其他模型调用,也没有请求转绘端点。
|
|
16
|
+
|
|
17
|
+
网页重开后526版缺失这3节点/2线;离开画布后最终527版48节点31线,源配置变化使原frame-get停止。远端帧任务仍完成、素材仍在;CLI未重建、重传或补回内容。不能将CLI在525版的成功描述为当前画布仍有这些节点,网页保存重开仍是阻塞。详细事实、源码线索与工程师交接见[节点缺失交接](CLI网页保存节点缺失交接.md)。
|
|
18
|
+
|
|
19
|
+
N2只读调用素材107专属download,HTTP200/code2001;实际uzoo-anime命令返回同样业务错误并安全request_id,未产生本地最终文件。素材get/list仍可读不构成绕过下载的授权,不直接请求其缓存url。当前本地后端未见新download定义,实际服务有业务拒绝,因此部署版本/下载策略与新说明须由服务侧核实,不能推定“未部署”或“仍是白名单”之一。源码/产品旧UI直接下载仅作为可用入口证据,CLI本次按用户新说明强制专属业务权限入口。
|
|
20
|
+
|
|
21
|
+
## CLI交付
|
|
22
|
+
|
|
23
|
+
`uzoo-anime material download ASSET_ID --space personal --output FILE [--sha256 HEX]`;团队带`--space team --team-uid UID`。只支持original,不新增filename/format/转换/预览或任意URL开关。要求素材在已确认空间的真实目录内、身份与媒体引用完整,再请求专属download。成功流式写临时文件,核验MIME/长度/摘要后独占发布;失败清理,已有目标拒绝覆盖。业务拒绝无list/get URL回退,不写画布/入库/上传/生成。
|
|
24
|
+
|
|
25
|
+
新增src/material-download.js、CLI help/路由/参数、test/material-download.mjs、smoke实际CLI成功及参数拒绝用例、check和打包运行资源断言;skill使用原1入口13参考。没有改转绘运行代码;总模拟回归仍可包含旧转绘契约以验证公共模块兼容,不代表恢复其开发/真实任务。
|
|
26
|
+
|
|
27
|
+
N5准备成果见[独立Windows验收清单](内部Windows安装与升级验收清单.md)。没有安装新软件、替换当前CLI登录、修改系统或跨版本声明;已有同版本隔离重装证据保留。
|
|
28
|
+
|
|
29
|
+
## 下一步
|
|
30
|
+
|
|
31
|
+
先由前端/部署协作确认网页后续保存导致内容缺失的机制,以及服务侧素材下载2001原因;CLI不擅自修前后端。两个阻塞独立,安装环境准备可继续。旧图片仅一条历史的真实切换、裁剪/标注/剪辑网页保留、真正过期引用/其他权限组合仍未通过或未执行,不为凑验收新增生成。原转绘继续暂停。
|
|
32
|
+
|
|
33
|
+
## 验证与文件交付
|
|
34
|
+
|
|
35
|
+
32组完整模拟回归及语法检查通过,含实际CLI的素材下载成功/参数拒绝;随后新增“original响应不能含转换URL”的校验,专项素材下载复验通过。现有API/文件传输和转绘模拟仅作公共能力回归,没有真实转绘开发或提交。
|
|
36
|
+
|
|
37
|
+
最新npm实际打包142项、完整13份skill参考,离线安装、命令shim、新模块/帮助入口、隔离skill复制、Windows模拟DPAPI/退出及同版本实际重装保留记录通过。54份相关文件UTF-8/原换行、199处本地Markdown引用、skill validator和git diff --check通过;证据与真实媒体保持忽略目录,不入包。当前环境仍不是干净Windows或跨版本验收,private保持true。
|
|
38
|
+
|
|
39
|
+
当前交付状态为:N1一部分CLI业务通过但网页保留失败/受阻;N2原文件实现/模拟通过、真实权限受阻;N5准备完成、实机执行待条件。未将任何一项整体标完成,未提交/推送/发布。
|
|
40
|
+
|
|
41
|
+
## 2026-10-31后续只读定位结果
|
|
42
|
+
|
|
43
|
+
- 网页节点缺失:同画布重开跳过GET、冲突自动用最新version重写旧内容、离开强制保存的组合,在真实前端源码的隔离内存服务中成功复现。内容未改而直接离开也会覆盖;重新加载及冲突保护对照保留新增节点。当前画布仍527版48节点31线,未恢复或改写。详见[完整交接](CLI网页保存节点缺失交接.md#2026-10-31只读复查覆盖链路已在本地源码复现)。当时线上执行分支仍需GET/PUT日志和部署版本佐证。
|
|
44
|
+
- 素材下载:同源、同账号CLI签名GET `/api/v1/material-space/assets/107/download`返回HTTP200/code2001,安全原始message为“CLI 无权调用此接口,请在网页端操作”,request_id=`e575843a-71c8-482e-b795-dfc12d681f3d`,无下载链接。账号团队active/member,目录21与素材详情可读,当前直接阻塞为CLI接口准入拒绝;不能再仅标作原因未知,也不能由详情可读推定下载应获准。本地后端仓库未检出该拒绝文案或新download路由,需部署侧按request_id核对实际CLI准入规则及新接口部署版本。该拒绝不证明后续素材/文件权限检查已通过。
|
|
45
|
+
|
|
46
|
+
此次业务请求全部只读,无重新上传、导入、画布写入、AI生成或扣费;未伪装网页身份、直连list/get返回链接或修改权限。转绘继续暂停。仅更新定位文档与skill排障说明,未改CLI运行代码及前后端;不重跑32组功能回归来替代真实问题修复。
|
|
47
|
+
|
|
48
|
+
## 2026-11-02临时协作规则与下载复测
|
|
49
|
+
|
|
50
|
+
前端保存冲突按用户决定暂记开发文档,不改实现;CLI画布操作前确认相关标签已关闭及离开保存完成,再读最新快照,完成后从新标签页打开。规则已进入项目规则和skill交互入口,同一连续任务不重复确认;独立素材库下载无需画布关闭确认。
|
|
51
|
+
|
|
52
|
+
N2用户反馈后端权限已修复;本次实际下载在签名会话阶段因代理连接后端ETIMEDOUT返回502,未到素材下载入口,也未生成本地文件。状态为连接受阻、修复待验;历史2001不代表本次响应。详见[最新下载复测](下载接口适配与验收.md#2026-11-02后端权限修复复测连接受阻尚未验证权限)。未恢复缺失节点,转绘仍暂停。
|
|
53
|
+
|
|
54
|
+
## 2026-11-02续测状态(优先于上述历史记录)
|
|
55
|
+
|
|
56
|
+
素材107原文件下载已通过,文件1503859字节、1024×1024 PNG,摘要与独立重算一致;原2001和连接502保留为历史,不再作为当前阻塞。详见[下载验收](下载接口适配与验收.md)。本轮用户已授权按N1、N2、N3、按需N4顺序推进,N5准备并行,并确认目标画布标签已关闭及离开保存完成。只读发现仍为527版48节点31线,普通图片历史只有任务1986一条;不新生成凑历史、不自动恢复此前缺失节点。
|
|
57
|
+
|
|
58
|
+
## 2026-11-02 N1原产物核验与明确授权恢复、N5隔离验收
|
|
59
|
+
|
|
60
|
+
- 用户明确确认关闭画布标签后,只读核验原画布527版、48节点31线;普通图片仍仅任务1986一条历史,真实历史切换继续待合适既有条目,不新增生成。
|
|
61
|
+
- 经原任务专属下载入口重新核验2006/2013/2017/2029/2063/2064:均completed、credit_cost=0;剪辑640×640/H.264/2秒,原单帧及两帧640×640/JPEG,裁剪768×1024/PNG,标注1024×1024/PNG。文件大小、摘要与媒体信息已记录,未以媒体元数据代替网页人工显示或播放验收。
|
|
62
|
+
- 用户另行明确同意恢复此前缺失三项。核验当前源视频与任务1989及原快照媒体一致,原帧任务/素材107媒体一致;以一次CAS PUT从527保存到528版,51节点33线,恢复原两帧ID和2条来源线、原素材107导入节点,放在右侧空白处。其他48节点/31线、meta/viewport/name逐项保持。没有重新上传、处理、生成或入库;原operation未改,不将本次明确修复授权扩为自动重建行为。网页新标签查看、保存重开及最终CLI读回待用户完成。
|
|
63
|
+
- N5重跑现有隔离打包安装验证通过:142文件、13参考、离线安装、命令shim、隔离skill注册、Windows DPAPI模拟及同版本重装保留记录。首次沙箱子进程失败,经系统审批在本机隔离目录完成。干净Windows、真实浏览器登录、真实宿主发现、跨版本及缺依赖安装仍待环境;未发布、未替换当前安装。
|
|
64
|
+
- N2素材107原文件成功状态已同步当前计划/能力表;旧2001、502保留历史。非成员/私有/下架/真实过期引用依赖受控测试材料,不退队、不删除素材、不修改凭证制造场景。N3收费任务尚未提交,后续按真实准备结果与当次报价确认。
|
|
65
|
+
- 证据位于忽略目录.local/non-repaint-20261102。54份文件UTF-8/原换行、211处Markdown引用、skill validator及git diff --check已通过。
|
|
66
|
+
|
|
67
|
+
## 2026-11-02网页保留通过与N3审核凭证兼容修复
|
|
68
|
+
|
|
69
|
+
用户已完成新标签查看、播放、保存重开并关闭。CLI读回536版51节点33线,三项恢复节点均在、全部连线一致,无节点丢失。网页归一化节点数据及显示尺寸、调整视口;不能描述为快照逐字节相同。两帧任务2063/2064及素材107的有效媒体引用与原任务/素材逐一核验通过,名称/meta保持。现存裁剪、标注、2秒剪辑的网页人工验收由用户确认正常。本轮采用关闭标签规避,不代表前端并发覆盖根因修复。图片历史仍仅一条,真实切换不标通过。
|
|
70
|
+
|
|
71
|
+
N3普通文本/图片/视频请求准备真实只读通过;当前视频配置为Seedance 2.5 Draft,与原结果模型不同,不自动重新生成。审核预检发现凭证重新签发后字符串比较误拒同一媒体,已复用现有图片/视频字节长度及SHA-256核验,不解码凭证,不放宽任务/画布/媒体类型/完成状态绑定。图片和视频的新旧凭证同内容通过、不同内容拒绝且零POST/PUT的专项测试通过,真实原视频预检通过。上游批量候选含无真实任务关联的素材,继续停止,不伪造task_id或静默丢弃素材。未提交审核、生成或收费任务。
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 3,
|
|
3
|
+
"name": "Uzoo CLI Login",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"description": "在普通浏览器登录后,由用户主动授权当前 Uzoo 网页会话给本机 CLI。",
|
|
6
|
+
"permissions": ["activeTab", "scripting", "cookies", "storage"],
|
|
7
|
+
"host_permissions": ["https://uzooai.com/*", "http://127.0.0.1/*"],
|
|
8
|
+
"action": { "default_title": "Uzoo CLI Login", "default_popup": "popup.html" }
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
body{font:14px/1.6 system-ui;width:340px;padding:16px;color:#192336}h1{font-size:20px;margin:0 0 12px}button{width:100%;padding:10px;background:#2949db;color:white;border:0;border-radius:7px;cursor:pointer}button:disabled{opacity:.5;cursor:default}.hint{font-size:12px;color:#667085}#status{white-space:pre-wrap;overflow-wrap:anywhere}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<meta charset="utf-8">
|
|
4
|
+
<title>Uzoo CLI Login</title>
|
|
5
|
+
<link rel="stylesheet" href="popup.css">
|
|
6
|
+
<body>
|
|
7
|
+
<h1>Uzoo CLI Login</h1>
|
|
8
|
+
<p id="description">正在检查当前页面…</p>
|
|
9
|
+
<button id="action" disabled>请稍候</button>
|
|
10
|
+
<p id="status" role="status"></p>
|
|
11
|
+
<p class="hint">只有点击授权后,扩展才读取当前网站的登录态并发送到本机 CLI。不上传到第三方服务器。</p>
|
|
12
|
+
<script src="popup.js" type="module"></script>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|