MohZhuang
f498330337
docs: 赞赏码放大至 340px 便于扫码
2026-09-24 12:05:23 +08:00
MohZhuang
004039f061
docs: README 底部新增微信赞赏码
2026-09-24 12:03:26 +08:00
MohZhuang
d158afcd36
release: v1.3.1 —— 火山音色名解析修复 + 渲染器照片帧提速 5–13 倍
...
修复
- tts_build.py 走火山引擎时,project.json 里的中文音色名没被解析成音色 ID,
合成恒失败并返回 code=55000000(报错完全看不出是「名字没解析」)。
双层兜底:tts_volcano.synthesize() 入口解析 + tts_build.py 读配置后解析。
新增
- render_video.mjs:`--png-fast`(CDP optimizeForSpeed,逐像素无损,4.4×)、
`--jpeg-quality N`、`--crf N`、`--preset <名>`。最后一对把「帧容器」与
「成片码率」解耦(旧 --jpeg 会连带降 crf23/veryfast,那是草稿语义)。
默认行为完全不变。
- qc_check.py:新增实测视频流帧数校验。原先只比容器时长,而容器时长会被音轨撑起
来,帧序列缺口会导致视频流被截断却仍显示完整长度(假通过,见 lessons #57)。
文档
- lessons.md 新增 #62–#69:信息层色值契约与绘制层排查、语速标定绑定引擎与音色、
以及「PNG 编码才是瓶颈、且对并发完全免疫」的完整实测与判定路径。
- SKILL.md / references/workflow-guide.md:补截图模式选用判据(帧里有满幅照片就换模式)。
- CHANGELOG 1.3.1 段补齐 + 版本徽章同步。
2026-09-23 16:41:48 +08:00
MohZhuang
0d74a1097d
feat(v1.3.0): 新增火山引擎语音合成 2.0 作为可选配音引擎
...
流水线开跑前先问用户用哪个 TTS。两引擎产出的 audio-manifest.json
结构完全一致,故 timeline_build / subs / 渲染器零改动。
新增
- scripts/tts_volcano.py 接口包,唯一读 tts.env 的地方。零第三方依赖
(只用标准库 urllib),HTTP Chunked 单向流式,
与 edge-tts「发一次收一串」形态同构
- scripts/tts_setup.py 向导:选方案 → 配密钥 → 测连接 → 选音色,
输出 NEXT_ACTION=… 供智能体识别
- tts.env.example 密钥模板(真实 tts.env 已 gitignore)
- references/volcano-tts.md 密钥纪律 / 配置步骤 / 接口规格 / 音色表 / 排查表
安全
- Key 只存 tts.env,只有 tts_volcano.py 读它;异常过脱敏,只抹本次实际
加载的密钥值与 AKLT… 形态,刻意不用「长字符串即密钥」的宽规则
- check_integrity.py 新增密钥防线检查(含「疑似把模板改名」提示)
- package_skill.py 排除 .env / .key / .pem,修掉一个真实外泄口
修复(真机联调暴露,均只在实跑时复现)
- enable_subtitle 必须显式开启,否则 words 恒为空数组且完全不报错,
下游会静默退回按字数插值、字幕开始飘
- usage 挂在结束标记那一行,提前 continue 导致计费恒为 0
- 缓存未存首裁量,命中缓存时 lead_cut_sec=0,重跑字幕比首跑晚一帧
- CLI 把中文音色名原样当 speaker 发出,服务端报 resource ID mismatched
文档
- README 中英双语新增「配音:两个引擎」章节,按用户要求不写命令
(那是智能体的职责),只讲「会问你什么 / 你唯一要动手的地方」
- 疑难排查补 6 条火山症状;lessons 34 → 56 条;流水线图加 tts_setup 节点
2026-09-23 10:04:13 +08:00
MohZhuang
09aa089354
docs: CHANGELOG 补记 lessons #33 同步修正与示例场景名通用化
2026-09-22 18:15:48 +08:00
MohZhuang
3aec9f6701
feat(v1.2.3): 局部重渲开关、修片尾被截、QC 抽帧双判据
...
渲染器
- 新增 --only <场景id>:改一句文案只重渲这一场(14 场 6194 帧全渲 20 分钟 → 末场 78 秒)
- 新增 --mux-only:跳过截图,用现有帧重新合成
- 合成弃用 -shortest,改用 -af apad -t <renderSec>:音轨不足处补静音,
成片长度由 layout 唯一决定(此前片尾留白连同末块字幕被按音轨长度切掉)
体检
- qc_check.py 抽帧判据改「体积 + 内容」双条件:体积低于中位数 35% 时再看
色数与标准差,避免极简画面(片头淡入起点、纯文字面)稳定误报
- 时长差改列「音轨 / layout 期望 / 成片」三个口径,并把「成片比音轨短」定为故障
文档
- lessons.md 新增 35–45 条:入场动画的截止时刻、共享 kit.css、数字卷轴写法、
结尾三类废句与「勾选框全空的待办清单」、极简帧信息重复、--only 的两个前提
- lessons.md 第 33 条同步修正:单场重渲已有开关、合成命令不再用 -shortest
- workflow-guide.md 新增「改一句文案之后」子流程
版本号同步至 1.2.3(SKILL.md / 双语 README / CHANGELOG / issue 模板)
2026-09-22 18:14:11 +08:00
MohZhuang
ae9612a185
docs: 抖音账号第一格换新版 OnlyOneMoh 名片截图
2026-09-21 14:53:22 +08:00
MohZhuang
ab57d47419
docs: 视频下方新增抖音测试账号展示行(三图并排)
2026-09-21 14:49:00 +08:00
MohZhuang
9d3ec6cd7b
ci: 强制 PYTHONUTF8=1,修复 Windows runner 管道 cp1252 编码崩溃
2026-09-21 14:34:41 +08:00
MohZhuang
92ac964b45
docs: 演示区改为介绍片全宽 + 两条并排
2026-09-21 14:22:49 +08:00
MohZhuang
461473e444
docs: 演示区改用 GitHub 官方 user-attachments 视频(表格一行三列)
2026-09-21 14:20:28 +08:00
MohZhuang
a93234cdfa
docs: 示例一句话改为 1 分钟版
2026-09-21 14:06:48 +08:00
MohZhuang
207317b4ab
docs: README 演示区嵌入三条成片(jsDelivr 直链,视频托管于 demos 仓库)
2026-09-21 13:52:05 +08:00
MohZhuang
eb2003f87f
docs: 疑难排查表移除与已删提示重复的 --keep-frames 行
2026-09-21 13:33:02 +08:00
MohZhuang
273ea4e80f
docs: 精简 README,命令细节交还 SKILL.md
...
- 删除「七条命令」执行序列与「命令参考」表(属智能体职责,已完整保留在 SKILL.md)
- 「快速开始」改为「视频项目结构」,只交代项目目录与 out/ 产物
- 删去 beats.js 顺序提示与 --keep-frames 提示块
- 「参考思路与姊妹项目」改名「参考项目思路」
- 删除路线图章节与文末作者签名
- 中英同步:README 364→295 行,README.en 390→319 行
2026-09-21 13:30:02 +08:00
MohZhuang
2581e2c685
docs: 重构 README 并统一文档语言为中文
...
README 精简(中文 528 → 364 行,-31%;英文 552 → 390 行,-29%):
- 删除使用者不需要的深层细节,改为指向 references/ 与 SKILL.md:
横向对比全表、八条契约表、project.json 逐字段说明、仓库目录树、B() 代码详解
- 第一定位改为「Agent Skill」,而不是「一条渲染流水线」
- 新增「安装」章:一句话安装 prompt + 九个智能体的技能目录对照表 + 环境要求
- 新增「参考思路与姊妹项目」:anything2explainer 与 html-video,并明确标注
两者为不同作者的独立项目,本项目运行时不依赖其代码
文档语言统一为中文(README.en.md 除外):
CHANGELOG.md、CONTRIBUTING.md、THIRD_PARTY_NOTICES.md、PR/issue 模板、CI 注释。
许可证原文(MIT / Apache-2.0)与 GSAP 自带 README 属第三方逐字文本,未翻译。
跨平台可移植性修复(原先隐含 WorkBuddy 专属路径):
- peek_frame.mjs 的技能根兜底改为遍历各智能体技能目录
(.workbuddy / .claude / .codex / .gemini / .cursor / .agents),已用隔离夹具正反验证
- setup_env.sh 标注哪几个候选是 WorkBuddy 托管路径
- SKILL.md 新增「跨 Agent 安装」章,安装路径不再写死单一平台
修正一处事实错误:THIRD_PARTY_NOTICES 原称两个方法来源项目「均为作者本人作品」,
与事实不符,已改为「他人独立项目」并补充来源链接。
2026-09-21 13:11:22 +08:00
MohZhuang
6474719119
fix(license): keep LICENSE as verbatim MIT text
...
GitHub's licensee could not match the file to the MIT template because a scope
note and a horizontal rule were appended after the MIT text, so the repository
was detected as NOASSERTION / Other instead of MIT.
The scope note is already stated at the top of THIRD_PARTY_NOTICES.md, where it
belongs, so the appended copy is removed. LICENSE is now the unmodified MIT
template with only the copyright holder filled in.
2026-09-21 12:51:59 +08:00
MohZhuang
66b61002f2
chore: prepare html-explainer v1.2.2 for public release
...
First public release of the html-explainer skill: deterministic HTML-to-MP4 explainer video pipeline for AI coding agents.
Additions since v1.2.1:
- scripts/lint_frames.py: pre-render audit of the eight frame-contract rules
- scripts/peek_frame.mjs: single-scene screenshot preview (seconds, not minutes)
- scripts/check_integrity.py: version/catalog/count consistency + stray-CDN scan
- Bilingual README (README.md Chinese default, README.en.md English)
- LICENSE (MIT), THIRD_PARTY_NOTICES.md, licenses/Apache-2.0.txt
- CHANGELOG.md, CONTRIBUTING.md, .gitignore, .gitattributes
- GitHub CI workflow and issue/PR templates
Fixes and docs:
- document lint_frames.py and peek_frame.mjs, previously absent from the file table
- add the lint stage to the pipeline order
- remove references to private client projects so the skill can ship publicly
- record the full upstream attribution chain for the style catalog
- package_skill.py now excludes repo-hygiene files and keeps licence files
2026-09-21 12:46:23 +08:00