Commit Graph

65 Commits

Author SHA1 Message Date
fb962ba919 docs: 精简和清理提示词文档内容
此次更改主要清理和简化了多个提示词文档,包括分镜提示词、角色提示词和通用提示词文件:
- 移除冗余描述和示例
- 统一各文档的格式和结构
- 简化表达,提高可读性
2026-05-07 01:08:29 +08:00
3f8ebae7f0 根据 diff 为空的情况,这是一次对文档/提示词文件的清理和简化。从统计信息看,主要是删除大量内容(343行删除 vs 220行新增),属于维护性工作。
refactor(prompts): 精简并重构提示词文件结构

- 合并和简化多个提示词文件内容
- 移除冗余或过时的提示信息
- 优化Markdown格式以提高可读性
2026-05-07 00:55:47 +08:00
e7a417dea7 chore(config): 更新 .gitignore 中的配置路径
将 `config.json` 忽略规则调整为 `.claude/skills/config.json
2026-05-07 00:43:13 +08:00
005d748a4a fix(config): 更新剪映草稿路径为macOS格式 2026-05-07 00:43:05 +08:00
ca13cf8757 feat(tts): 添加语音剪气口功能以去除首尾静音
- 集成 ffmpeg 实现自动检测并切除音频首尾静音段
- 新增 trimSilence 和 getAudioDuration 辅助函数
- 裁剪后若时长缩短则替换原音频文件,使片段时长更贴近真实语长
- 更新剪映草稿路径和 capcut-mate 目录配置
2026-05-07 00:42:47 +08:00
ce54a65abb feat(capcut): 合并同类型轨道并优化音频/字幕边界裁剪
在同步到本地剪映后新增轨道合并功能,将因降级添加导致的多条同类型轨道合并为单条。同时修复音频和字幕添加时可能跨场景重叠的问题,将 end 裁剪到 slot 边界。
2026-05-07 00:17:17 +08:00
73b0860fe5 fix(capcut): 增强API错误响应详情
在API返回错误时,添加完整的响应数据切片到错误信息中,方便调试时定位问题。最多保留300字符的JSON数据。
2026-05-06 23:33:33 +08:00
e2c1415156 fix(capcut): 优化触发目录扫描时的代码组织
在 `capcut-tracks.js` 中将 `execFile` 的导入移到模块顶部,并修复临时目录清理时的 fs 引用问题
2026-05-06 23:22:37 +08:00
b309f54430 feat(capcut): 优化音频/字幕添加策略并重构语音切分逻辑
- 音频和字幕 API 调用改为先批量添加,批量失败时逐个兜底
- 重写 `splitIntoAudioSegments`,基于原始标点保留切分,合并短片段
- `qwen-tts.js` 补充中文逗号作为句末标点判断
2026-05-06 23:21:40 +08:00
lc
6eec0e8889 feat(skills): 完善视频生产 pipeline 及新增健身跟练账号
- SKILL.md: 新增工作流阶段定义、质量卡点、分镜规则
- manifest-schema.md: 补充完整字段规范及类型定义
- phase-tts.js: 优化 TTS 合成长逻辑,添加进度追踪
- capcut-tracks.js: 扩展轨道构建能力,支持更多元素类型
- capcut-timeline.js: 改进时间线生成,支持淡入淡出
- capcut_assemble.js: 新增 assemble 阶段完整实现
- cmd-init.js: 完善 init 命令逻辑
- qwen-tts.js: 调整超时配置
- accounts/禁忌帝王学: 更新拆分/图像/台词提示词
- accounts/健身跟练: 新增账号含 account.json 及全套提示词模板
- 新增 workflow-issues-20260501.md 参考文档

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 22:53:37 +08:00
lc
e6daf7a8d8 fix(gemini-image-generator): 增大默认超时从120s到180s
网络不稳定时120s会导致fetch abort,适当延长可提高生图成功率。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 22:47:53 +08:00
35488beef2 feat(skills): 集成 GPT Image 图片生成和编辑能力
- 新增 gpt-image-generator.js 脚本,支持文生图、图生图/重绘、批量生成
- 更新 pipeline 和 phase-images 支持 GPT Image 模型
- 更新技能文档,添加 GPT Image 使用说明和 API 特点
- 新增配置文件中的 GPT Image API 参数
2026-05-05 23:49:30 +08:00
823519cbf7 chore(assets): 移除废弃的参考图并添加新图片
- 删除 `references/dream.png`(6.2 MB)
- 新增 `references/image.jpg`(270 KB)
2026-05-04 20:55:28 +08:00
49329379ad fix(video-pipeline): 修正清单字段存在性校验逻辑
将 `cmd-init.js` 和 `cmd-validate.js` 中的虚值校验(`!item[f]`、`!item.script && !item.text`)改为更精确的字段存在性校验(`!(f in item) || item[f] == null`、`!('script' in item || 'text' in item)`),避免因空字符串或零值等合法空输入导致误报错误。
2026-05-04 03:20:34 +08:00
45e0169010 fix(video-pipeline): 降低 Midjourney 风格参考权重至 100 2026-05-04 02:47:15 +08:00
7abe5f7c96 fix(video-pipeline): 自动修复上传前引用的候选图片路径并修复音频时长精度
在 `phase-upload` 中添加 `autoFixFile` 逻辑,当 `item.file` 指向不存在的文件时,自动从 `candidates` 中匹配实际存在的文件并更新 `item.file`,避免上传阶段因用户手动换图删除候选文件而导致失败。同时修复 `capcut-timeline` 音频/视频时长计算,使用 `Math.round` 避免微秒级浮点精度问题。
2026-05-03 16:11:08 +08:00
0e3f0f7d0f feat(video-pipeline): 增强参考图自动上传与视频生成重试机制
- 在 `init-manifest` 阶段添加输入文件清理日志和 WARNING 提示
- `getReferences` 改为异步并自动将本地参考图上传至 OSS,减少手动操作
- `phase-videos` 支持 `pending`/`failed` 状态 item 的自动重试,自动清理旧视频引用
- 优化 `phase-assemble` 中字幕与配音开关的逻辑,根据实际内容动态判断
2026-05-03 02:03:17 +08:00
6e8d2b8baa refactor(video-pipeline): 将 MJ 生图拆分为提交和收割两阶段策略
将 `phaseImages` 中的图片生成逻辑重构为模块化的调度策略:
- Gemini/Kling 使用滑动窗口并发策略,完成一个立即补一个
- MJ 使用两阶段策略:先串行提交所有任务拿 taskId,再滑动窗口收割
- 提取 `submitMJ`、`harvestMJ`、`processItem` 等可复用函数
- 减少 Promise.allSettled 的冗余日志和状态维护
2026-05-02 22:54:05 +08:00
d326b6cdd7 根据差异摘要显示,这是一个针对文档的重组和精简操作,删除了大量内容(883行),同时新增了少量内容(179行),涉及两个中文命名的Markdown文件。
由于具体的diff内容为空,无法精确判断变化的具体含义。但根据文件名和统计数据来看,这很可能属于**文档重组或精简**操作:

docs(prompts): 精简和重组 split-mirror 文档内容

- 重构了 split-mirror 应用分镜与镜面提示词的文档结构
- 删除冗余内容共计 883 行
- 新增和优化关键说明 179 行
- 提升文档可读性和可维护性
2026-05-02 16:43:56 +08:00
9bf6cdc2ab 根据提供的 Git 差异摘要,我注意到 staged 变更涉及两个文件(文件名包含非 ASCII 字符,可能是中文文件名),变更内容主要是对现有内容的重组(198 行删除 + 160 行新增)。但从 diff 内容为空来看,很可能是在代码处理过程中丢失了实际变更内容。
基于“Language Preference”要求使用中文,以及变更的“refactor”性质(文件修改大于简单文档改动,且涉及结构性调整),我建议如下提交信息:

refactor: 重构应用视频与提示词文档结构,精简冗余内容

重新组织并精简两个文档,分别涉及视频应用教程和提示词相关说明。
移除 248 行冗余内容,新增 160 行更清晰的描述,整体减少 88 行。

- 优化内容布局,提高可读性
- 合并重复或过时的信息点
- 统一术语和表述风格
2026-05-02 16:04:00 +08:00
3e79e46041 refactor(video-pipeline): 用 music-metadata 替换 ffprobe 测量音频时长
ffprobe 在 Mac 上有路径/权限兼容性问题,改用纯 JS 的 music-metadata
实现跨平台音频时长测量,零外部依赖。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-02 14:58:37 +08:00
6097a809bf refactor(video-pipeline): 移除 segments 机制,改为整段音频合成
移除 TTS 阶段逐句切分及 segments 数组逻辑,统一为整段音频合成。
CapCut 字幕切分由组装阶段按字符比例分配,简化音频上传、
时间线构建和字幕生成流程,减少冗余处理分支。
2026-05-02 02:31:55 +08:00
ac753ef367 feat(video-pipeline): 优化子 Agent 模板交互并新增模板路径工具
- 重构 SKILL.md,要求子 Agent 直接读取模板文件而非由主 Agent 摘要传送
- 新增 get-template-path.js 脚本,支持按账号和类型获取模板文件绝对路径
- 移除 capcut_assemble.js 中的关键字氛围词功能及相关依赖
2026-05-02 01:18:30 +08:00
4d5c8cb96d refactor(video-pipeline): 将 CapCut 组装脚本拆分为模块化架构
将 monolith 的 capcut_assemble.js 重构为核心编排器,提取基础设施层(capcut-api)、时间线算法(capcut-timeline)和轨道操作(capcut-tracks)为独立模块。此拆分使 Agent 未来对字幕风格、Ken Burns、转场、特效等调整只需关注 capcut-tracks.js,无需理解全流程编排逻辑。
2026-05-02 00:27:54 +08:00
0998fd6ae1 feat(video-pipeline): 重构视频流水线,优化成片时间线规则和状态管理
- 引入 manifest.json 作为唯一状态源,所有子 Agent 操作回写 manifest
- 重构 timebuilder 逻辑,支持四种视频适配策略(加速/裁剪/放缓/画面停顿)
- 统一 TTS 阶段输出结构,单句和多句均写入 segments[]
- 重写字幕和配音生成,基于 segments 精确时长实现音画同步
- 新增 confirm 命令支持按 id 范围确认,上传阶段分离图片和视频
- 添加中间产物写入 output/ 目录的约束,清理废弃配置参数
2026-05-02 00:14:40 +08:00
b4b92854db Merge branch 'master' of http://8.155.172.147:3001/sion/video-create 2026-05-01 23:02:50 +08:00
cafacd6327 根据提供的 diff 统计信息(修改了2个文件,文件名包含中文字符且路径较长,修改了38行新增、54行删除),这些文件很可能是文档或图片资源的相关修改。文件名中包含“应用图片”和“提示词”等中文关键词。
生成的中文提交信息如下:

docs: 更新应用图片和提示词相关文档

- 调整应用图片的使用说明
- 优化提示词的描述内容
2026-05-01 23:02:47 +08:00
lc
9c6cffe575 chore: 添加 accounts、skill 依赖及权限跳过脚本
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 22:56:32 +08:00
lc
c7a6d69331 fix(phase-images): 修正 generateMJ 参数顺序与函数体一致
上游新增 manifest 参数时签名与 saveManifest 调用顺序不一致,
导致运行时 manifestPath/manifest 位置颠倒。统一为 manifestPath, manifest。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 22:53:35 +08:00
lc
d800441e86 chore: 迁移配置到 macOS 并清理废弃参考素材
- 更新 config.json 路径从 Windows 切换到 macOS
- phase-videos.js 添加 mode: 'pro' 参数
- 删除禁忌帝王学账号下废弃的 grunge/manga/popart 参考图

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 22:49:49 +08:00
6d4a923aa6 fix(kling-video-generator): 在API请求中添加multi_shot参数 2026-05-01 22:48:27 +08:00
b6ec208bcc docs(video-from-script): 重构技能文档并优化图片生成脚本
- 简化并重组 SKILL.md 文档,清晰划分两类成片流程(幻灯片视频/AI视频)
- 移除冗余的 ASCII 图表和重复内容,使文档更具可读性
- 更新路由规则和示例,与新的分类标准保持一致
- 重构质量卡点部分,使其更简洁并明确检查标准
- 优化 phase-images.js 中的 MJ 图片生成函数,传递完整的 manifest 对象以供参考
2026-05-01 22:38:43 +08:00
8f17eb34e0 docs(project): 添加常用操作文档说明
在 CLAUDE.md 中新增"常用操作"表格,记录草稿再生、查看状态和重跑阶段等常见工作流操作步骤。
2026-05-01 20:35:27 +08:00
0ecbe5f217 docs(video-pipeline): 用 DOT 图表替换账号创建流程中的 ASCII 流程图
更新 account-creation.md 文档,将纯文本流程图替换为可视化 DOT 图表,并添加数据注入全景图以清晰展示 Q&A 答案到输出文件的映射关系。
2026-05-01 17:06:55 +08:00
49537ea02f feat(video-pipeline): 添加 Ken Burns 镜头动画及账号创建流程优化
- 新增 Ken Burns 关键帧动画功能,为图片片段添加慢速缩放/平移效果
- 重构账号创建流程为10维度画像体系(定位→受众→内容气质→视觉基调→画风质感→色彩体系→镜头运动→声音身份→文字呈现→节奏律动)
- 新增爆款潜力自检机制,在汇总确认前检查差异化定位、情绪价值等指标
- 优化转场策略,基于累计时长间隔添加转场动画
- 改进 OSS 上传功能,支持并发上传
- 添加 BGM 淡入淡出效果(0.5s淡入/1s淡出)
- 新增 Hook 策略偏好(结论前置/认知冲突/身份挑衅等)和目标情绪回路字段
- 更新模板 JSON 配置,集成 kenBurns 字段
2026-05-01 17:01:39 +08:00
4913e74c05 fix(video-pipeline): 修复转场函数调用时缺少分镜数组参数 2026-05-01 16:12:11 +08:00
74680c5ea6 feat(video-pipeline): 重构转场与字幕系统,提取公用辅助函数
- 优化转场策略:仅首尾段跳过转场,rhythm模式下支持directorRef和keyword驱动的动态转场
- 提取 `applyAnimationProps` 和 `distributeSegments` 公用辅助函数,减少重复代码
- 支持按导演风格 (`tarantino`/`kitano`/`fincher`) 自动选择入场动画
- 重构字幕与配音段的时长分配逻辑,提高精确性
- 修复多处 `writeFileSync` 为 `saveManifest` 以统一清单写入入口
2026-05-01 16:12:03 +08:00
350f05fc3f feat(video-pipeline): 增强账号配置和分镜关键词支持
- 在 account.json 中新增 styles、ttsVoice、ttsInstruction、keywordStyle、transitions 等配置字段
- 分镜表 items 添加 keyword 字段,用于渲染关键词花字动画
- 重构 capcut_assemble.js 转场策略:前两段不加转场,rhythm 模式优化为只在关键位置添加
- 动画系统区分循环动画和入场动画,支持更丰富的动画组合(缩放、回弹伸缩等)
- 更新 SKILL.md 和 manifest-schema.md 文档以反映新增字段和流程变更
2026-05-01 16:00:01 +08:00
f2bc0df447 feat(video-pipeline): 支持滤镜和转场从账号配置继承
- 新增 Q18 滤镜和 Q19 转场字段到账号创建参考文档
- 重构账号配置加载函数为通用 `loadAccountConfig`,支持读取滤镜和转场
- `capcut_assemble.js` 支持 CLI 参数优先、账号配置兜底的滤镜/特效继承逻辑
- 模板 `account.json` 将闭幕转场从 "黑场" 修正为 "闪黑
2026-05-01 15:44:25 +08:00
e4723d9ce3 feat(video-pipeline): 添加关键字氛围词花字叠加和Oss URL回写功能
- 新增 Q17 关键字氛围词问答项,支持关闭/默认/自定义花字效果
- 在 manifest 和 account.json 中添加 keyword 和 keywordStyle 字段
- 实现关键字氛围词在画面中央的叠加逻辑,支持动画、阴影、文字效果等配置
- 在 assemble 流程中增加 `keywords` 步骤,自动读取账号配置生成花字
- 修复音频上传后未回写 OSS URL 到 manifest 的问题,避免重复上传
2026-05-01 15:21:59 +08:00
3a641244a5 feat(capcut-pipeline): 将 TTS 配音切换为 CosyVoice 并重构动画系统
- 将 TTS 引擎从 Qwen-TTS 切换为阿里云 CosyVoice(DashScope WebSocket)
- 输出格式从 WAV(24kHz)改为 MP3
- 重构图片动画分拆逻辑,支持组合动画(如"渐显+放大")
- 移除字幕关键词高亮相关字段
- 移除已删除的 `uploadAudioToOSS` 函数,统一使用 `uploadToOSS`
- 更新文档和配置默认值以匹配新引擎
2026-05-01 14:50:50 +08:00
9d19437a29 feat(video-pipeline): 实现 TTS 逐句分句生成与字幕精确对齐
TTS 阶段将长文本按标点切分为短句,逐句生成音频并记录每句时长到 `item.segments[]`。assemble 阶段优先使用 segments 的精确时长分配字幕时间线,无 segments 时回退到字数权重估算。同时优化音频上传流程,支持分段音频独立上传 OSS 并在配音时按段映射时间线。
2026-05-01 14:41:28 +08:00
f5d47ec5db feat(video-pipeline): 添加可配置的转场策略引擎和TTS语速支持
- 引入转场策略系统(`getTransition`),支持 `fixed`、`director`、`rhythm` 三种模式
- 根据账号配置文件动态读取转场配置(`loadTransitions`)
- 图片和视频轨道分别调用转场策略,替代原有的固定“闪白”转场
- 支持 `byPosition`(hook/body/keypoint/closing)和 `byDirector` 两种高级选择策略
- 图片动画支持 `loop_animation` 与 `in_animation` 解析(“缩放”、“弹入”等组合)
- TTS 合成新增 `rate` 字段(源自账号配置 `ttsRate`),默认语速调整为 1.1
- 默认动画类型从 `kenburns-zoom` 改为 `缩放`,适配中文 CapCut
2026-05-01 14:16:08 +08:00
21ff5311c1 feat(video-pipeline): 将素材过渡动画切换为闪白并缩短时长
将图片和视频素材的默认过渡效果从溶解改为闪白,并将过渡时长从300ms缩短至150ms,以提升视频拼接的视觉流畅度。
2026-05-01 02:52:37 +08:00
96f00ce7fd feat(video-pipeline): 将 narration 字段统一重命名为 script
字段重命名涉及所有文档、示例代码、提示词模板以及 slug 生成逻辑,确保管线各阶段(分镜、图生提示词、TTS、成片)一致使用 script 字段承载口播文案。

同时增强 `capcut_assemble.js` 的配音与字幕模块:
- 配音支持本地路径模式(不上传 OSS),新增 `--split-captions` 参数启用分句字幕
- 分句字幕按标点切分长文本为短句,基于字数权重动态分配显示时长
- 新增 `update-captions-standalone.js` 独立工具,可在草稿已生成后单独更新字幕
2026-05-01 02:48:37 +08:00
c878abc39b feat(video-pipeline): 用 ffprobe 实际测量音视频时长并统一字段名为 script
将项目中的 `narration` 字段统一重命名为 `script`,并新增 `getAudioDurationSec` 函数通过 `ffprobe` 实际测量音频和视频文件的时长,替代 Manifest 中的估计值,提高时间线组装的准确性。同时优化字幕逻辑,仅在有 TTS 音频时调整视频速度。
2026-05-01 01:52:02 +08:00
7d526d2b60 feat(video-pipeline): 重构多阶段生成管线并集成 CosyVoice TTS
- 重写 `phase-images`:改为并发 3 张并行生成,每个 item 完成立即写入 manifest,支持 MJ task ID 恢复
- 重写 `phase-videos`:先恢复已有 task ID 再提交新任务(并发 3),支持中断恢复
- 迁移 TTS 引擎:从 Qwen-TTS HTTP 接口切换为 CosyVoice WebSocket 接口,支持音色/语气参数透传
- 精简账号系统:移除 `styles/` 目录、`taskId` 过滤和 `--id` 正则校验,`references` 改为顶层字段
- 调整 `slugify`:限制中文字符 5 个、其他 10 个,避免文件名过长
- 更新文档:`manifest-schema.md` 中 `narration` 改为完整原文案,`account-creation.md` 新增 TTS 配置项
- 配置更新:默认 TTS 模型切换为 `cosyvoice-v3.5-plus`,新增 `localAudio` 参数
2026-05-01 00:44:18 +08:00
3326f6cb37 feat(video-from-script): 新增账号创建Q&A流程并移除独立风格文件系统
- 新增 `account-creation.md` 参考文档,定义结构化问答创建账号流程
- 将视觉风格信息内嵌到 `prompts/*.md` 中,移除独立的 `styles/` 目录
- 更新 SKILL.md 和 account-system.md 以反映新架构
- 更新账号校验逻辑适配新参考图管理方式
- 更新模板 `account.json` 添加 `references` 字段和默认视频模型
2026-04-30 21:27:49 +08:00
86b9b7948d feat(video-from-script): 重构工作流为子Agent分步执行并新增提示词模板系统
将视频制作工作流拆分为独立子步骤:分镜 → 图片提示词 → 生图 → 视频提示词 → 生视频 → 成片,每步由子Agent独立执行。引入prompts/目录统一管理提示词模板(分镜.md、图片提示词.md、视频提示词.md),通过account.json的storyboardPrompt/imageStylePrompt/videoStylePrompt字段引用。

变更内容:
- 新增confirmed机制和pipeline.js confirm命令,生图后必须人工确认才能继续
- manifest schema改用shotDesc/narration/duration/directorRef替代旧字段
- 文件命名规则从keyword改为slug(从shotDesc/narration派生)
- 删除旧的storyboard-rules.md和prompt-rules.md
- pipeline.js脚本拆分为lib/目录下的独立模块(cmd-init/cmd-confirm/cmd-validate/phase-*)
- 新增cmd-create-account支持一键创建带prompts目录的账号
- capcut_assemble支持narration字段替代text作为字幕源
- 新增.gitclaude/settings.json权限配置
2026-04-30 21:18:31 +08:00
7f955647fe chore: 移除旧的 .claude/settings.json 权限配置并将账号目录迁移到项目根目录
- 删除 `.claude/settings.json` 中的大量 `Bash` 和 `Edit` 权限许可
- 将 `accounts/` 目录从技能脚本子目录迁移到项目根目录
- 更新所有技能文档和脚本中引用 `accounts/` 的路径为项目根目录
- 移除 `forbidden-emperor` 账号中多余的中文提示词配置文件
2026-04-30 01:31:13 +08:00