caoqianming
|
eec7eb156f
|
feat(paths): 对外路径统一全形式 <wd_name>/<rel> + UI 一次性兼容历史简写
system prompt 加硬约束: 助手 echo 产物文件路径必须用 user_root 相对全形式
<wd_name>/<rel> (<wd_name> = task_dir 末段, 如 生图测试/videos/xxx.mp4),
不简写为 videos/xxx.mp4 这种 task 内裸形式 -- Web UI 按 <wd_name>/ 前缀挂
chip, 简写 → chip 失效用户点不开。媒体 tool (seedream/seedance) 的 saved:
行已是规范形式可直接照抄, ppt/proposal/coding 等 run_python/write 写文件时
自己拼。跨所有产物 skill 统一生效。
imagegen/videogen SKILL 把"把 saved: xxx 告诉用户"重复教学改成"照抄
saved 行, 详见 system「路径」段" (避免协议漂移, 新产物 skill 不用重复教育)。
ppt/proposal 等 SKILL 不动 -- system 协议自动管。
dev.html extractArtifactRels 加一次性兼容兜底: 产物目录裸路径
videos/xxx.<ext> / figures/xxx.<ext> (协议刚性前历史简写) prepend
<wdName>/ 拼成 user_root rel。**白名单显式枚举两项不扩展**, 长期老消息
归档后整段可删。
术语校准: 前缀叫 <wd_name> (working_dir 末段) 而非 <task_name> -- 用户允许
wd_name ≠ task_name, _display 锚 user_root 出来的是 <wd_name>。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-22 12:45:54 +08:00 |
caoqianming
|
5faff8a127
|
feat(seedance): 加 seedance_2_pro variant + smoke 支持 --variant 参数
- yaml 加 seedance_2_pro (model_id=doubao-seedance-2-0-260128, ¥46/Mtok 文生,
支持 480p/720p/1080p);放在 fast 后面,fast 仍是默认 (yaml 首位 = agent fallback)
- Pro 出片慢,poll_timeout_s 拉到 900s (实测 480p 4s 等了 177s)
- smoke_seedance.py 加 sys.argv[1] 选 variant:`smoke_seedance.py seedance_2_pro`
- SKILL 把 "30-90s" 校准到 "Fast 30-90s / Pro 2-3min" (实测)
smoke Pro 跑通:body schema 完全对,响应带真 usage.total_tokens (40594),tool
_extract_tokens 命中走真值不估算;480p 4s 实测 ¥1.87,与官方源数据线性外推吻合。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-22 10:11:31 +08:00 |
caoqianming
|
da71daa789
|
feat(seedance): 加 generate_audio 参数对齐官方 API
火山方舟官方 curl 例子 (CreateContentsGenerationsTasks) body 里有 generate_audio 字段
— Seedance 2.0 旗舰特性,原生 AI 生成背景音 / 角色对白 / 音效。我之前没接,补上。
- yaml 加 default_generate_audio: false (控成本默认关)
- tool execute 加 generate_audio kw + 进 body / meta / usage_events extra_units
- tool banner 加 audio=<bool> 字段
- SKILL 加参数段说明 + prompt 写法变化 (开音轨时要写背景音/对白具体内容)
+ 贴 prompt 模板 + 反模式各加一条
resolution / watermark 官方例子里没发但其他文档源确认 fast 必传 + 有效,保留。
参考媒体 (image_url/video_url/audio_url + role:reference_*) 是 i2v/v2v/r2v 路径,
phase 1 不接,延后。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-22 09:44:15 +08:00 |
caoqianming
|
7ff58c488e
|
feat: 接入豆包 Seedance 2.0 Fast 视频生成 (文生视频) + videogen skill
- tools/seedance.py: 异步 submit /contents/generations/tasks → 5s 轮询 → succeeded
后 download mp4 + meta.json 落 <wd>/videos/;失败/cancel 不计费;cancel_check 在
轮询间检查,响应用户停止按钮
- config/media/doubao.yaml: 展开 video.seedance_2_fast (¥37/Mtok 文生 / ¥22/Mtok
图生,token 公式校验 720p 5s = ¥4.00 完全对上源数据)
- core/storage/usage.py: record_video_usage,kind=video,units jsonb snapshot
resolution/duration/ratio/fps/tokens/单价
- core/agent_builder.py: build_agent 加 video_variant + cancel_check 形参,
cancel_check 必须 build 阶段传 (SeedanceTool ctor 持有用于轮询)
- web/app.py: GET /v1/video_models + MessageRequest.video_model + 透传
- web/static/dev.html: 顶栏第三下拉 (image 旁边) + state.videoModels/videoModel
- skills/videogen/SKILL.md: 六维诊断 (运动+镜头 替代 imagegen 的光线);BLOCKING
门槛比 imagegen 更严 (¥4 vs ¥0.22) + 等 30-90s 出片
- prompts/system/general_v1.md: 加 seedance 触发指引 (平行 seedream)
phase 1 仅 t2v 文生视频,fast 上限 720p。API 端到端 smoke 跑过:路径/auth/错误解析
全通,body schema 待用户在火山方舟控制台开通模型后真出片才能验。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-22 09:30:54 +08:00 |