Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
298 commits
Select commit Hold shift + click to select a range
2d13e8f
Merge pull request #208 from zhouxiaoka/codex/subtitle-promo
zhouxiaoka Sep 27, 2026
8a34658
Merge pull request #209 from zhouxiaoka/codex/local-import-evidence
zhouxiaoka Sep 27, 2026
e0e2927
Merge pull request #210 from zhouxiaoka/codex/rc-validation
zhouxiaoka Sep 27, 2026
21d185e
Merge pull request #212 from zhouxiaoka/codex/visual-scan-bounds
zhouxiaoka Sep 27, 2026
4473323
Merge pull request #213 from zhouxiaoka/codex/promo-auto-aspect
zhouxiaoka Sep 27, 2026
d3a60bb
Merge pull request #216 from zhouxiaoka/cursor/readme-trendshift-publ…
zhouxiaoka Sep 27, 2026
126aa40
chore: prepare v1.4.0 release and document acceptance scope
zhouxiaoka Sep 27, 2026
450f667
ci: verify shipped macOS runtime before release upload
zhouxiaoka Sep 27, 2026
0241198
Merge pull request #218 from zhouxiaoka/codex/release-1.4.0
zhouxiaoka Sep 27, 2026
e8eb4ed
docs: sync user-facing copy with v1.4.0 dual analysis (#219)
zhouxiaoka Sep 27, 2026
ad99613
fix: 修复 Studio 处理、监控与 Windows 导入预览 (#221)
zhouxiaoka Sep 28, 2026
609e3fb
docs: 精简 README 产品介绍与入门流程,同步八语文案 (#226)
zhouxiaoka Sep 28, 2026
878883f
docs: preview multilingual README with sponsor and current UI screens…
zhouxiaoka Sep 29, 2026
24e2125
docs: show community achievement badges in README header
zhouxiaoka Sep 29, 2026
1de5593
docs: illustrate every README feature in eight languages
zhouxiaoka Sep 29, 2026
dd816a8
docs: arrange feature screenshots in bordered cards
zhouxiaoka Sep 29, 2026
65748b3
docs: balance portrait screenshot size in feature cards
zhouxiaoka Sep 29, 2026
1267e2b
fix(security): 其他网页不能再读取本地后端的 API Key 或发起写请求
zhouxiaoka Sep 29, 2026
026e0ef
fix(windows): 覆盖安装前结束旧版本残留的后端进程 (#224)
zhouxiaoka Sep 29, 2026
a673c82
fix(import): 链接导入使用内置 ffmpeg,下载阶段显示真实进度
zhouxiaoka Sep 29, 2026
f6ca9e6
test: 测试改用临时数据库,修正 pytest.ini 节名
zhouxiaoka Sep 29, 2026
cf4f3ab
chore(release): 打 tag 先出 Pre-release,冒烟和观察期后再转正
zhouxiaoka Sep 29, 2026
3d1985a
Merge pull request #228 from zhouxiaoka/chore/release-process
zhouxiaoka Sep 29, 2026
d0a5203
ci(windows): 安装包覆盖升级 + 安装后运行时冒烟,替代暂缺的 Windows 真机
zhouxiaoka Sep 29, 2026
055895c
Merge remote-tracking branch 'origin/main' into fix/p0-security-windo…
zhouxiaoka Sep 29, 2026
0090909
docs(release): 没有 Windows 真机时的三层验收:CI 冒烟、Mac 上的 Windows 虚拟机、Pre-relea…
zhouxiaoka Sep 29, 2026
0529d5e
ci(windows): 修复冒烟读注册表安装目录带引号;抽出共用脚本,可复用已有安装包重跑
zhouxiaoka Sep 29, 2026
e9f6d44
ci(windows): 冒烟脚本强制 UTF-8 输出,CI 控制台 cp1252 打印中文会崩
zhouxiaoka Sep 29, 2026
e25b00b
feat(settings): 模型设置新增赞助合作伙伴 Infistar 无限星河预设
zhouxiaoka Sep 29, 2026
201435d
Merge pull request #227 from zhouxiaoka/fix/p0-security-windows-import
zhouxiaoka Sep 29, 2026
60c0185
Merge remote-tracking branch 'origin/main' into feat/infistar-provider
zhouxiaoka Sep 29, 2026
b7f7e11
feat(settings): 提供商改为分组可搜索下拉,赞助商用独立卡片
zhouxiaoka Sep 29, 2026
c44da9c
feat(settings): 分析方式、模型、视觉理解、转写、封面生图合成「AI 分析」一页
zhouxiaoka Sep 29, 2026
9fc9913
feat(settings): 模型里标注多模态 / 仅文字,视觉和封面生图跟随同一个服务商
zhouxiaoka Sep 29, 2026
a19cac4
feat: 重排 AI 设置、首次引导弹窗、示例项目与 Studio 编辑器重做
zhouxiaoka Sep 30, 2026
83555a1
feat(studio): 按镜头取景——先切镜再分类,无人物镜头改为完整画面
zhouxiaoka Sep 30, 2026
65045de
fix(studio): 预览拖到成片范围之前自动吸回起点,脚注标出成片取用区间
zhouxiaoka Sep 30, 2026
2da2399
feat(studio): 预览播放条改为成片自身时间轴(0 到片段时长),不再暴露整段原片进度
zhouxiaoka Sep 30, 2026
7aa4e96
docs: CHANGELOG 记录设置重排、首次引导、示例项目与 Studio 取景改动
zhouxiaoka Sep 30, 2026
af71893
fix: 示例项目原片 source.mp4 加入版本库(原被 *.mp4 忽略,CI 与打包都缺文件)
zhouxiaoka Sep 30, 2026
c262575
设置页重排 + 首次引导 + 示例项目 + Studio 按镜头取景 (#232)
zhouxiaoka Sep 30, 2026
e2b2e49
feat(analytics): connect onboarding and Studio delivery monitoring (#…
zhouxiaoka Sep 30, 2026
ea66c32
feat: centralize platform output strategies
zhouxiaoka Sep 30, 2026
c689954
feat(studio): add platform generation contract
zhouxiaoka Sep 30, 2026
6b196f7
feat(studio): auto-generate platform variants
zhouxiaoka Sep 30, 2026
a77cbdc
feat(studio): make platform output the default flow
zhouxiaoka Sep 30, 2026
9d53fa6
feat(render): append optional AutoClip outro
zhouxiaoka Sep 30, 2026
3bcc736
feat(studio): append and retry output variants
zhouxiaoka Sep 30, 2026
48a9435
Fix Whisper recovery, processing settings and bounded video imports (…
zhouxiaoka Sep 30, 2026
b213975
feat(analytics): observe quick output outcomes
zhouxiaoka Sep 30, 2026
eaef5b0
feat: add 88API sponsor provider and setup guides (#235)
zhouxiaoka Sep 30, 2026
0c84b11
fix: recover timeline candidates and scoring, align project cards (#237)
zhouxiaoka Sep 30, 2026
5bae596
feat: verify 1080p60 exports and installed Windows video pipeline (#239)
zhouxiaoka Sep 30, 2026
1dc9532
feat(studio): preview completed output variants
zhouxiaoka Sep 30, 2026
4addf2a
fix: recover compatible timelines and report actual failure causes (#…
zhouxiaoka Sep 30, 2026
06c945b
feat(publish): route publishing through completed output variants
zhouxiaoka Sep 30, 2026
4d040cd
fix: defer blocked SQLite WAL setup without blocking project reads (#…
zhouxiaoka Sep 30, 2026
3575831
fix: unblock desktop packaging of on-demand Whisper dependencies (#242)
zhouxiaoka Sep 30, 2026
25cb051
fix(studio): render every automatic variant with bounded CPU
zhouxiaoka Sep 30, 2026
d31425f
feat(i18n): translate fast-output copy and platform names
zhouxiaoka Sep 30, 2026
757bc1b
fix(branding): keep the outro visible for its full second
zhouxiaoka Sep 30, 2026
2c56a85
fix(platforms): enforce only real platform length limits
zhouxiaoka Sep 30, 2026
84f0877
feat(studio): skip our subtitles when the source already has them
zhouxiaoka Sep 30, 2026
3b07f0a
feat(studio): copy share caption and ask for a rating after download
zhouxiaoka Sep 30, 2026
fda1a57
fix(studio): keep rendering state alive and lower encode threads
zhouxiaoka Sep 30, 2026
5737a6d
fix(render): dim and cheaply blur the vertical backdrop
zhouxiaoka Sep 30, 2026
ec42ba3
feat(studio): frame automatic vertical outputs on the speaker
zhouxiaoka Sep 30, 2026
52eaba5
fix(studio): accept sources longer than two hours
zhouxiaoka Sep 30, 2026
e9e6c90
feat: add SenseVoiceSmall as a local subtitle transcription option (#…
zhouxiaoka Sep 30, 2026
7fd70c9
refactor: 整理旧运维入口与过时仓库文档 (#245)
zhouxiaoka Sep 30, 2026
70e4f42
docs: refresh contribution guide and GitHub community entrypoints (#246)
zhouxiaoka Sep 30, 2026
4941753
fix(studio): bound ffmpeg CPU in framing, preview and legacy export
zhouxiaoka Sep 30, 2026
8968916
feat(cli): 支持 opencode MCP 一键接入(autoclip mcp install opencode) (#229)
namana843-bit Sep 30, 2026
bdc74e3
fix(import): ship yt-dlp's YouTube challenge solver and use any JS ru…
zhouxiaoka Sep 30, 2026
ab79068
feat(studio): package automatic vertical outputs with platform templates
zhouxiaoka Sep 30, 2026
c105acc
feat(studio): show template packaging and allow title edits
zhouxiaoka Sep 30, 2026
910d1c8
feat(studio): two-line caption screens and template styles
zhouxiaoka Sep 30, 2026
ed2605c
fix(packaging): translate sentence segments instead of subtitle rows
zhouxiaoka Sep 30, 2026
f006b08
Merge origin/main into worktree-project-diagnosis
zhouxiaoka Sep 30, 2026
506beb7
feat(analytics): observe automatic generation and template packaging
zhouxiaoka Sep 30, 2026
853a13c
fix(packaging): keep titles and bilingual captions inside the frame
zhouxiaoka Sep 30, 2026
d2f97bc
fix(studio): end clips on complete sentences and thoughts; caption bu…
zhouxiaoka Sep 30, 2026
2272d84
fix(studio): cut inside rows at sentence ends and never end on the ne…
zhouxiaoka Sep 30, 2026
206d742
fix(studio): end clips in a real pause after a finished passage
zhouxiaoka Sep 30, 2026
a7b6b57
feat(packaging): pick palette and style from the content mood
zhouxiaoka Sep 30, 2026
088dde8
docs: record boundary snapping and mood looks
zhouxiaoka Sep 30, 2026
ecad8d9
fix(packaging): retry rejected responses, plain audience-language tit…
zhouxiaoka Sep 30, 2026
1931c51
fix(packaging): clean fallback titles taken from the draft hook
zhouxiaoka Sep 30, 2026
628b01b
perf(studio): trim the fast-output chain and record model token usage
zhouxiaoka Oct 1, 2026
822886e
docs: fix the fast-output workflow and what was trimmed
zhouxiaoka Oct 1, 2026
226b3db
perf(pipeline): run per-chunk model calls side by side
zhouxiaoka Oct 1, 2026
5aa5f0f
feat(pipeline): find clips in one pass over the whole transcript
zhouxiaoka Oct 1, 2026
5946cd7
perf(render): encode studio clips with the hardware H.264 encoder
zhouxiaoka Oct 1, 2026
f02be3e
feat(studio): render the top 10 clips automatically, the rest on demand
zhouxiaoka Oct 1, 2026
ceb735e
perf(studio): use the creator's uploaded subtitles instead of speech …
zhouxiaoka Oct 1, 2026
6cfe7e4
perf(studio): package a batch of clips side by side
zhouxiaoka Oct 1, 2026
355ee9b
docs: record pipeline V2 progress and regression numbers
zhouxiaoka Oct 1, 2026
0ee5633
docs: rewrite README around real outputs and V2 speed/cost numbers
zhouxiaoka Oct 1, 2026
0123851
feat(studio): every output ships a publish kit: cover, post copy, bundle
zhouxiaoka Oct 1, 2026
4ca3ff4
feat(publish): publish an output with its kit copy and tags
zhouxiaoka Oct 1, 2026
05b33bf
docs: measured cost and time per video link
zhouxiaoka Oct 1, 2026
88189f2
docs: point README to the case library and add a showcase submission …
zhouxiaoka Oct 1, 2026
09a5ffa
fix(studio): re-download YouTube sources that arrive at 360p
zhouxiaoka Oct 1, 2026
1dc8a09
feat(branding): the designed 1.8 s outro animation replaces the text …
zhouxiaoka Oct 1, 2026
5c91702
fix(packaging): caption burned-in sources only for audiences that can…
zhouxiaoka Oct 1, 2026
0c2b275
docs: README leads with one link, one click; adds the TIM run and sta…
zhouxiaoka Oct 1, 2026
35ece30
feat(studio): output cards carry their publish kit
zhouxiaoka Oct 1, 2026
53ececd
test(bench): fast-output regression set with per-stage timing
zhouxiaoka Oct 1, 2026
d2cf651
docs(design): serif web headlines and the risograph art layer
zhouxiaoka Oct 1, 2026
7fd9873
docs: lead README with 10+ clips per link; drop competitor names and …
zhouxiaoka Oct 1, 2026
6786f2e
perf(asr): upload cloud transcription chunks side by side
zhouxiaoka Oct 1, 2026
a306660
feat(settings): dedicated Bailian endpoints for DashScope connections
zhouxiaoka Oct 1, 2026
82f82e0
perf(asr): 8 parallel cloud transcription uploads; benchmark keeps ca…
zhouxiaoka Oct 1, 2026
882a59d
fix(cover): long English titles rewrap larger and push the photo down
zhouxiaoka Oct 1, 2026
3a69c63
docs: tighten README layout so the first screen and proof stay scannable
zhouxiaoka Oct 1, 2026
47b6f79
feat(cover): the vision model picks the guest's frame; AI covers upgr…
zhouxiaoka Oct 1, 2026
95153d1
docs: sync the seven README translations to the one-link, one-click r…
zhouxiaoka Oct 1, 2026
e7fb0c1
fix(packaging): one language per platform; no false burned captions
zhouxiaoka Oct 1, 2026
41fa605
feat(cover): fal image connections (GPT Image 2.5) and correct-by-con…
zhouxiaoka Oct 1, 2026
4d11ece
fix(settings): an unknown image API never invalidates the settings file
zhouxiaoka Oct 1, 2026
7814dbd
feat(cover): designed covers by default; AI covers only when the user…
zhouxiaoka Oct 1, 2026
ed14a34
docs: 1.5.0 fast-output handoff, kept current as work lands
zhouxiaoka Oct 1, 2026
1317b5d
docs(handoff): demos rebuilt; note 9:16 AI cover padding
zhouxiaoka Oct 1, 2026
0fc14a6
fix(cover): AI covers fill the platform frame, no flat bars
zhouxiaoka Oct 1, 2026
a0108d8
fix(studio): show the whole cover in the kit; drop dead raw-clip cards
zhouxiaoka Oct 1, 2026
3b8088c
fix(studio): backups render only once prepared; review fixes
zhouxiaoka Oct 1, 2026
6931bc1
fix(studio): English platforms stay English on every path
zhouxiaoka Oct 1, 2026
ecd0dda
fix: failures degrade instead of losing work; record the review
zhouxiaoka Oct 1, 2026
723eefb
feat(studio): blur burned Chinese captions out of English versions; 1…
zhouxiaoka Oct 1, 2026
d3e3cb1
fix(1.5): complete output acceptance and align CLI/MCP
zhouxiaoka Oct 1, 2026
5c0b82e
fix(ci): isolate runtime tests and sync quick-output docs
zhouxiaoka Oct 1, 2026
e23dc99
fix(cli): apply Windows connection cleanup at headless startup
zhouxiaoka Oct 1, 2026
e3e5723
fix(release): bundle face detector and verify installed portrait output
zhouxiaoka Oct 1, 2026
ee73e59
fix(render): select bundled CJK family across font providers
zhouxiaoka Oct 1, 2026
1d433ea
docs(1.5): record cross-platform installed wheel acceptance
zhouxiaoka Oct 1, 2026
0147056
fix: complete 1.5 delivery telemetry and publish CLI MCP assets
zhouxiaoka Oct 1, 2026
0fe48c0
fix: settle observed AI cover results before replacement
zhouxiaoka Oct 1, 2026
1b02347
fix(studio): rank eligible clips per platform and settle empty queues
zhouxiaoka Oct 1, 2026
e940f5a
Merge pull request #250 from zhouxiaoka/worktree-project-diagnosis
zhouxiaoka Oct 1, 2026
9a130ee
docs(1.5): record merged tag and final long-video acceptance
zhouxiaoka Oct 1, 2026
9895842
Merge pull request #251 from zhouxiaoka/worktree-project-diagnosis
zhouxiaoka Oct 1, 2026
52b20fa
docs: record 1.5.0 latest release and issue closure
zhouxiaoka Oct 1, 2026
d3e26ee
Merge pull request #252 from zhouxiaoka/worktree-project-diagnosis
zhouxiaoka Oct 1, 2026
8f9416f
docs: align eight READMEs with the 1.5.0 release
zhouxiaoka Oct 1, 2026
7d33f3c
docs: review current behavior and remove stale README claims
zhouxiaoka Oct 1, 2026
ce35f98
docs: preserve the existing sponsor sections verbatim
zhouxiaoka Oct 1, 2026
c83fca0
Merge pull request #248 from zhouxiaoka/cursor/readme-v2
zhouxiaoka Oct 1, 2026
a8cac39
docs: add sixteen playable video demos to translated READMEs
zhouxiaoka Oct 1, 2026
51c2f09
docs: align video thumbnails across cards
zhouxiaoka Oct 1, 2026
e22be4b
Merge pull request #253 from zhouxiaoka/codex/readme-video-demos
zhouxiaoka Oct 1, 2026
2b058dc
fix: recover 1.5 settings and bound failed API retries
zhouxiaoka Oct 2, 2026
e694a0d
fix: resolve Python correctness errors before quality enforcement
zhouxiaoka Oct 2, 2026
49bd918
test: require source and installed-package evidence before release
zhouxiaoka Oct 2, 2026
40d435a
fix: preserve editable settings and isolate concurrent media state
zhouxiaoka Oct 2, 2026
1a8f753
chore: prepare 1.5.1 hotfix with consistent locked versions
zhouxiaoka Oct 2, 2026
0da52b9
fix: gate release builds on real ASR and preserve native cover protocols
zhouxiaoka Oct 2, 2026
ca27a55
fix: serialize SenseVoice status readers and replacements on Windows
zhouxiaoka Oct 2, 2026
e6669ee
fix: settle failed generation paths and recover model readiness
zhouxiaoka Oct 2, 2026
aa31026
fix: restore first-run repair for damaged model settings
zhouxiaoka Oct 2, 2026
9badf3a
fix: keep automatic imports on the generation progress page
zhouxiaoka Oct 2, 2026
cb1eac4
fix: reject unverified source attribution in generated posts
zhouxiaoka Oct 2, 2026
9d5f42a
fix: accept legacy project configuration in import routing
zhouxiaoka Oct 2, 2026
6d66e71
fix: bundle native ASR wheel and gate installed SenseVoice
zhouxiaoka Oct 2, 2026
02f7a8b
build: keep ASR wheel compatible with macOS deployment target
zhouxiaoka Oct 2, 2026
c0e70ff
fix(build): verify explicit PDM wheel platform against Mach-O target
zhouxiaoka Oct 2, 2026
afcebf8
docs(analytics): exclude missing validation flow IDs from distinct co…
zhouxiaoka Oct 2, 2026
d9311a3
fix(studio): show automatic screening and failure states accurately
zhouxiaoka Oct 2, 2026
0df6a7b
fix(studio): distinguish automatic progress from confirmation and fai…
zhouxiaoka Oct 2, 2026
c005c27
fix: ground local output hashtags in subtitle evidence
zhouxiaoka Oct 2, 2026
4a06568
ui: compact output cards and align production actions
zhouxiaoka Oct 2, 2026
433fc3d
test: keep English post tags grounded in source captions
zhouxiaoka Oct 2, 2026
6261b18
ui: fit common production metadata into two rows
zhouxiaoka Oct 2, 2026
6d41aaf
fix: claim failed render retries under the studio lock
zhouxiaoka Oct 2, 2026
eb33f53
fix: show complete portrait previews and consolidate output copy
zhouxiaoka Oct 2, 2026
3ab8274
fix(studio): recover automatic production failures from results
zhouxiaoka Oct 2, 2026
5e7e8f0
Merge pull request #260 from zhouxiaoka/codex/fix-1-5-production
zhouxiaoka Oct 2, 2026
cb8fe90
fix: retain media fallback and content failure diagnostics
zhouxiaoka Oct 2, 2026
44b7fd5
chore: prepare v1.5.2 hotfix candidate
zhouxiaoka Oct 2, 2026
3943b22
Merge pull request #261 from zhouxiaoka/codex/hotfix-1-5-2
zhouxiaoka Oct 2, 2026
e4b62d4
fix: preserve Studio state through transient Windows sharing conflicts
zhouxiaoka Oct 2, 2026
085c098
test: isolate native Windows regressions from dependency-free contracts
zhouxiaoka Oct 2, 2026
ae87864
Merge pull request #262 from zhouxiaoka/codex/hotfix-1-5-2-storage
zhouxiaoka Oct 2, 2026
54e94dd
fix(studio): preserve quote cards and recover missing vision capabili…
zhouxiaoka Oct 2, 2026
d3205db
test(ci): render quote-card shot transitions on Windows
zhouxiaoka Oct 2, 2026
fc413ea
fix(studio): honor frame opt-out and accept bounded event arrays
zhouxiaoka Oct 2, 2026
43b83d1
Merge pull request #263 from zhouxiaoka/codex/repair-interview-and-vi…
zhouxiaoka Oct 2, 2026
7dcc5c7
chore: prepare v1.5.3 repaired hotfix candidate
zhouxiaoka Oct 3, 2026
89202a5
Merge pull request #264 from zhouxiaoka/codex/release-1-5-3
zhouxiaoka Oct 3, 2026
05de3a1
fix: keep studio jobs retryable after persistent state write denial
zhouxiaoka Oct 3, 2026
68eed71
fix: isolate pending variants and read Windows test state as UTF-8
zhouxiaoka Oct 3, 2026
5959be9
docs: hold v1.5.3 pre-release and record state recovery checks
zhouxiaoka Oct 3, 2026
eb8584b
Merge pull request #265 from zhouxiaoka/codex/backport-state-io
zhouxiaoka Oct 3, 2026
eab28c7
ci: require internal desktop acceptance before release tags
zhouxiaoka Oct 3, 2026
84c026d
docs: separate internal version preparation from public tag authoriza…
zhouxiaoka Oct 3, 2026
d13bdf6
docs: guide version preparation to internal acceptance before tagging
zhouxiaoka Oct 3, 2026
49c7ca0
Merge pull request #267 from zhouxiaoka/codex/pretag-desktop-acceptance
zhouxiaoka Oct 3, 2026
5ccf6ad
fix: retain local cover recovery and classify text SDK failures
zhouxiaoka Oct 3, 2026
83e7179
docs: describe provider failure recovery
zhouxiaoka Oct 3, 2026
0383c54
Merge pull request #268 from zhouxiaoka/codex/provider-request-recovery
zhouxiaoka Oct 3, 2026
bd71f98
fix(download): recover from browser cookie permission errors
zhouxiaoka Oct 3, 2026
322a6d7
docs(changelog): describe browser cookie download recovery
zhouxiaoka Oct 3, 2026
fcebac3
Merge pull request #269 from zhouxiaoka/codex/browser-cookie-recovery
zhouxiaoka Oct 3, 2026
13a3809
fix(desktop): preserve captions and clean Windows startup
zhouxiaoka Oct 3, 2026
6897484
Merge pull request #270 from zhouxiaoka/codex/desktop-acceptance-fixes
zhouxiaoka Oct 3, 2026
c6e2e85
fix(studio): preserve original names in translated packaging
zhouxiaoka Oct 3, 2026
53e2688
Merge pull request #271 from zhouxiaoka/codex/packaging-preserve-orig…
zhouxiaoka Oct 3, 2026
2978abb
Constrain SenseVoice dependencies and retain timeout diagnostics
zhouxiaoka Oct 3, 2026
670f6cb
Document SenseVoice dependency and timeout repairs
zhouxiaoka Oct 3, 2026
9953ba2
Read timeout regression state with explicit UTF-8 on Windows
zhouxiaoka Oct 3, 2026
950f399
Merge pull request #272 from zhouxiaoka/codex/sensevoice-install-diag…
zhouxiaoka Oct 3, 2026
e066168
fix(sensevoice): retain bundled Windows OpenMP search directory
zhouxiaoka Oct 3, 2026
7317ad2
docs: note Windows local speech preparation repair
zhouxiaoka Oct 3, 2026
c6cfcda
Merge pull request #273 from zhouxiaoka/codex/sensevoice-native-openmp
zhouxiaoka Oct 3, 2026
b071c9d
fix(studio): avoid subtitle failure hints for caption-free highlights
zhouxiaoka Oct 3, 2026
9c47c89
Merge pull request #274 from zhouxiaoka/codex/caption-free-highlight-…
zhouxiaoka Oct 3, 2026
e8b8751
fix: preserve bundled runtime paths and analytics opt-out
zhouxiaoka Oct 3, 2026
595941c
Merge pull request #275 from zhouxiaoka/codex/windows-native-path-and…
zhouxiaoka Oct 3, 2026
adeb069
fix: settle automatic visual project status after rendering
zhouxiaoka Oct 3, 2026
e58b657
fix: preserve visual draft counts in automatic completion
zhouxiaoka Oct 3, 2026
1f6c6de
Merge pull request #276 from zhouxiaoka/codex/studio-project-completion
zhouxiaoka Oct 3, 2026
87d4852
fix: classify local subprocess timeouts in studio
zhouxiaoka Oct 3, 2026
40d09ce
Merge pull request #277 from zhouxiaoka/codex/studio-local-process-ti…
zhouxiaoka Oct 3, 2026
2b8fc35
fix: preserve burned captions under interview decorations
zhouxiaoka Oct 3, 2026
27a2d4a
Merge pull request #279 from zhouxiaoka/codex/burned-subtitle-overlay
zhouxiaoka Oct 3, 2026
479d810
fix: preserve user privacy choice during delayed initialization
zhouxiaoka Oct 3, 2026
9b269bd
Merge pull request #280 from zhouxiaoka/codex/privacy-initialization
zhouxiaoka Oct 3, 2026
b4781c2
fix: close 1.5.4 acceptance regressions on main
zhouxiaoka Oct 4, 2026
1808796
fix: accept verified Microsoft CRT and Python ABI shim
zhouxiaoka Oct 4, 2026
e4aec4d
Merge pull request #281 from zhouxiaoka/codex/acceptance-154-final-re…
zhouxiaoka Oct 4, 2026
e5a85ec
fix(windows): resolve CRT test script path after parameter binding
zhouxiaoka Oct 4, 2026
199075d
Merge pull request #282 from zhouxiaoka/codex/windows-crt-default-inv…
zhouxiaoka Oct 4, 2026
bf5c298
fix(studio): recover accepted tasks after metadata read denial
zhouxiaoka Oct 4, 2026
f99cade
fix(studio): preserve rejected-dispatch rollback history
zhouxiaoka Oct 4, 2026
9ddbdc9
Merge pull request #283 from zhouxiaoka/codex/studio-read-failure-rec…
zhouxiaoka Oct 4, 2026
11ed03e
fix(ui): keep dialog dropdowns above the backdrop (#284)
zhouxiaoka Oct 4, 2026
54d4ff9
fix(studio): tolerate unavailable pause detection stderr (#286)
zhouxiaoka Oct 5, 2026
38698a5
fix(studio): reject unsupported executive roles in publish copy (#287)
zhouxiaoka Oct 5, 2026
92a5983
Allow audited reuse of unaffected acceptance assertions (#288)
zhouxiaoka Oct 5, 2026
2208b78
Keep result cards updating until optional covers settle (#289)
zhouxiaoka Oct 5, 2026
f2d5f5d
Fix cloud ASR failure identity and unsupported company-leader copy
zhouxiaoka Oct 5, 2026
77ad137
Merge pull request #290 from zhouxiaoka/codex/cloud-asr-role-main
zhouxiaoka Oct 5, 2026
71f27a6
fix: compose verified acceptance evidence across original builds
zhouxiaoka Oct 5, 2026
e334c57
Merge pull request #291 from zhouxiaoka/codex/impact-inheritance-v2
zhouxiaoka Oct 5, 2026
cf6fad4
Allow a named owner waiver to ship 1.5.4 (#292)
zhouxiaoka Oct 6, 2026
8538e15
chore: sync main with the released 1.5.5 version and changelog (#293)
zhouxiaoka Oct 6, 2026
b77c930
docs: put the official website first in the eight READMEs (#255)
zhouxiaoka Oct 6, 2026
576e0b4
fix(studio): fall back to the subtitle route when optional auto scree…
zhouxiaoka Oct 6, 2026
347544c
Ship 1.5.6: ready imports before start, classify failures, and drop d…
zhouxiaoka Oct 6, 2026
f05ef42
Ship 1.5.6: ready imports, failure taxonomy, desktop without Celery (…
zhouxiaoka Oct 6, 2026
be4bed3
feat: add AI/ML API as a cloud provider preset
Lookoff-AIMLAPI Oct 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@ docs/

# Scripts
*.sh
!start_autoclip.sh
!stop_autoclip.sh
!status_autoclip.sh
# Container entrypoints are COPY'd by Dockerfile / Dockerfile.dev; excluding
# them makes `docker build` fail with "/docker-entrypoint.sh: not found".
!docker-entrypoint.sh
Expand Down Expand Up @@ -110,3 +107,5 @@ dump.rdb

# PID files
*.pid
*.pid.json
*.pid.tmp
6 changes: 3 additions & 3 deletions .github/DISCUSSION_TEMPLATE/ai-models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ body:
- type: markdown
attributes:
value: |
说明你要的模型或供应商。AutoClip 已支持 OpenAI 兼容接口、Gemini、通义千问、硅基流动,以及本机的 Ollama / LM Studio。
说明你要的模型或供应商,以及用途:分析、视觉、封面或字幕转写。当前支持与配置以[模型指南](https://github.com/zhouxiaoka/autoclip/blob/main/docs/AI_MODEL_CONFIGURATION.md)和设置页为准;本地转写包括 Whisper 与 SenseVoice。
只是「名单里没有这一项」、但兼容接口已经能填的,请在正文里写明,避免重复开需求。
- type: input
id: model
attributes:
label: 模型或供应商
placeholder: "Gemini 2.5 / Claude / Qwen 某个具体型号"
placeholder: "服务商与具体型号;本地转写注明模型名称"
validations:
required: true
- type: dropdown
Expand All @@ -27,6 +27,6 @@ body:
id: detail
attributes:
label: 补充
description: 报错请打码,不要贴 API Key。
description: 报错请先脱敏,移除 API Key、Cookie 和私人素材内容;可复现故障请使用 Bug 模板。
validations:
required: false
2 changes: 1 addition & 1 deletion .github/DISCUSSION_TEMPLATE/announcements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ body:
id: version
attributes:
label: 版本
placeholder: "v1.3.0"
placeholder: "实际发布版本 vX.Y.Z;未发布的源码更新请注明"
validations:
required: true
- type: textarea
Expand Down
2 changes: 1 addition & 1 deletion .github/DISCUSSION_TEMPLATE/q-a.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,6 @@ body:
id: env
attributes:
label: 版本 / 平台 / 模型
placeholder: "v1.2.1 · Windows · 通义千问 qwen-plus"
placeholder: "实际版本或 commit SHA · 平台 · 相关服务商与模型"
validations:
required: false
52 changes: 52 additions & 0 deletions .github/DISCUSSION_TEMPLATE/show-and-tell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
title: "成片投稿:"
body:
- type: markdown
attributes:
value: |
用 AutoClip 做出了好片子?发在这里。维护者会挑选收录到[官网案例库](https://zhouxiaoka.github.io/autoclip_intro/cases/),并署上你的名字。
收录标准:AutoClip 生成、没有在其他软件里再剪辑(在 AutoClip 里改标题、换模板可以);原片是公开视频;你有权发布这些成片。
- type: input
id: source
attributes:
label: 原片链接
placeholder: "https://www.youtube.com/watch?v=… 或 B 站链接"
validations:
required: true
- type: checkboxes
id: platforms
attributes:
label: 成片平台
options:
- label: 抖音
- label: 小红书
- label: B 站
- label: TikTok
- label: Instagram Reels
- label: YouTube Shorts
- label: YouTube
- type: textarea
id: clips
attributes:
label: 成片
description: 附上成片 MP4 或可访问的成片链接;有发布包的,把封面和发布文案一起附上。
validations:
required: true
- type: input
id: setup
attributes:
label: 版本与模型
placeholder: "例如 v1.5.0 · qwen-plus · macOS"
validations:
required: true
- type: input
id: run
attributes:
label: 用时与费用(可选)
placeholder: "例如 原片 1h20m,出片 9 分钟,模型费用约 ¥0.1"
- type: checkboxes
id: consent
attributes:
label: 授权
options:
- label: 我同意 AutoClip 在官网和 README 展示这些成片,并署名链接到我的 GitHub
required: true
11 changes: 6 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,17 @@ body:
id: version
attributes:
label: AutoClip 版本 / Version
description: 设置页底部或「关于」里可见 / Shown in Settings → About
placeholder: "v1.2.1"
description: 填写实际安装版本;源码用户附提交 SHA / Installed version, or commit SHA for source builds
placeholder: "vX.Y.Z;源码附 commit SHA / include commit SHA for source"
validations:
required: true

- type: input
id: model
attributes:
label: 使用的模型提供商 / LLM provider
placeholder: "例如 通义千问 qwen-plus / OpenAI gpt-4o / 硅基流动 / 自定义 OpenAI 兼容"
label: 相关模型 / Relevant models
description: 分析服务与具体型号;转写问题附 Whisper / SenseVoice 型号。尚未配置或不相关可注明 / Provider and model; include transcription model when relevant
placeholder: "分析:服务商 + 型号;转写:Whisper / SenseVoice / 不相关"
validations:
required: true

Expand Down Expand Up @@ -66,5 +67,5 @@ body:
attributes:
label: 日志 / 截图 / Logs or screenshots
description: |
桌面版日志位置:macOS `~/Library/Application Support/AutoClip/logs`,Windows `%APPDATA%\AutoClip\logs`。粘贴最后 50 行即可,注意删掉 API Key。
桌面版日志位置:macOS `~/Library/Application Support/AutoClip/logs`,Windows `%APPDATA%\AutoClip\logs`。粘贴失败前后相关日志即可,删除 API Key、Cookie、邮箱、私人路径与素材内容。Docker/源码用户请注明运行方式与日志来源。安全问题按 SECURITY.md 私下联系。
render: text
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ contact_links:
- name: 🙋 使用提问 / Q&A
url: https://github.com/zhouxiaoka/autoclip/discussions/categories/q-a
about: 怎么用、模型怎么选、切片效果怎么调。能复现的故障仍开 Issue。
- name: 🔒 安全问题 / Security
url: https://github.com/zhouxiaoka/autoclip/blob/main/SECURITY.md
about: 漏洞或凭据泄露请按安全政策私下联系,不公开敏感细节 / Follow the security policy for private contact.
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## 问题与结果

<!-- 描述触发条件、原行为和修复后的行为。关联 Issue 或讨论链接(如有)。 -->

## 验证

<!-- 写出实际运行的检查、平台和结果;未覆盖的步骤也请说明。纯文档改动可说明命令与链接核对结果。 -->

## 兼容或迁移说明(如有)

<!-- 涉及数据、配置、依赖、安装或平台行为时说明影响;否则可删除此节。 -->
152 changes: 125 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,37 @@
name: CI

on:
workflow_call:
pull_request:
push:
branches:
- main
- master

permissions:
contents: read

jobs:
windows-runtime:
uses: ./.github/workflows/windows-asyncio.yml

contracts:
name: Release contract checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Versions, translations and acceptance gate regressions
run: python scripts/quality_gate.py --group contracts --report quality/contracts.json
- uses: actions/upload-artifact@v4
if: always()
with:
name: quality-contracts
path: quality/contracts.json
if-no-files-found: error

backend:
name: Backend tests
runs-on: ubuntu-latest
Expand All @@ -21,27 +45,74 @@ jobs:
python-version: "3.11"
cache: pip

- name: Install video test runtime
run: |
sudo apt-get update
sudo apt-get install -y ffmpeg fonts-noto-cjk
ffmpeg -version
ffprobe -version

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install ruff
pip install -r requirements-test.txt

- name: Lint backend (ruff)
- name: Report existing Python style debt (advisory)
continue-on-error: true
run: ruff check backend

- name: Run tests
- name: Blocking correctness lint, all backend tests and editorial fixtures
env:
DASHSCOPE_API_KEY: test_api_key
LOG_FORMAT: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
run: python -m pytest backend/tests -q
run: python scripts/quality_gate.py --group backend --report quality/backend.json

- uses: actions/upload-artifact@v4
if: always()
with:
name: quality-backend
path: quality/backend.json
if-no-files-found: error

- name: Installed wheel portrait framing smoke
run: |
pip install 'opencv-python-headless>=4.10'
pip wheel --no-deps --wheel-dir /tmp/autoclip-wheel .
python scripts/verify_python_wheel.py /tmp/autoclip-wheel/autoclip-*-py3-none-any.whl --video backend/assets/example/source.mp4 --report /tmp/autoclip-wheel/portrait-report.json

- name: Community board and feedback ingest checks
run: |
python3 scripts/test_community_board.py
python3 scripts/test_ingest_feedback.py

- name: Set up Node for source launcher
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Source launcher and scoped shutdown smoke
run: |
python -m venv --system-site-packages venv
(cd frontend && npm ci)
cp env.example .env
docker run -d --name autoclip-source-redis -p 6379:6379 redis:7-alpine
for i in $(seq 1 30); do
if docker exec autoclip-source-redis redis-cli ping; then break; fi
sleep 1
done
./quick_start.sh
./status_autoclip.sh
./stop_autoclip.sh
if ./status_autoclip.sh; then echo 'Stopped services incorrectly reported healthy'; exit 1; fi
- name: Source runtime logs on failure
if: failure()
run: cat logs/backend.log logs/frontend.log logs/celery.log 2>/dev/null || true
- name: Clean up source smoke
if: always()
run: |
./stop_autoclip.sh || true
docker rm -f autoclip-source-redis || true

frontend:
name: Frontend checks
runs-on: ubuntu-latest
Expand All @@ -62,29 +133,18 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Typecheck
run: npm run typecheck

- name: Analytics contract tests
run: node --test tests/analytics.test.cjs

- name: Sentry build configuration tests
run: node --test tests/sentry-build.test.cjs tests/desktop.test.cjs

- name: Internationalization checks
run: node --test tests/i18n.test.cjs

- name: Publish UI helpers
run: node --test tests/upload-post-ui.test.cjs

- name: Feedback draft checks
run: node --test tests/feedback-draft.test.cjs

- name: Build
run: npm run build
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Blocking lint, types, tests and production build
working-directory: .
run: python scripts/quality_gate.py --group frontend --report quality/frontend.json
- uses: actions/upload-artifact@v4
if: always()
with:
name: quality-frontend
path: quality/frontend.json
if-no-files-found: error

# Guards the README's recommended `docker compose` path, which was broken for months
# without anything in CI noticing (issue #88): the image failed to build, the worker
Expand Down Expand Up @@ -166,3 +226,41 @@ jobs:
- name: Tear down
if: always()
run: docker compose down -v --remove-orphans

docker-dev-smoke:
name: Docker development compose smoke
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Build development image
run: docker compose -f docker-compose.dev.yml build autoclip-dev
- name: Start development services through compatibility entrypoint
run: ./docker-start.sh dev --no-build
- name: Wait for both development servers and the worker
run: |
for i in $(seq 1 90); do
if curl -fsS http://localhost:8000/api/v1/health/ >/dev/null 2>&1 && curl -fsS http://localhost:3000/ >/dev/null 2>&1; then break; fi
sleep 3
done
curl -fsS http://localhost:8000/api/v1/health/
curl -fsS http://localhost:3000/ >/dev/null
for i in $(seq 1 20); do
out=$(docker compose -f docker-compose.dev.yml exec -T celery-worker-dev celery -A backend.core.celery_app inspect --json --timeout 5 active_queues 2>/dev/null || true)
if echo "$out" | grep -q '"name": "processing"'; then break; fi
sleep 3
done
for q in celery processing video notification upload; do
echo "$out" | grep -q "\"name\": \"$q\""
done
./docker-status.sh dev
- name: Stop through compatibility entrypoint
run: |
./docker-stop.sh dev
if ./docker-status.sh dev; then echo 'Stopped containers incorrectly reported healthy'; exit 1; fi
- name: Dump logs on failure
if: failure()
run: docker compose -f docker-compose.dev.yml logs --no-color
- name: Tear down CI resources
if: always()
run: docker compose -f docker-compose.dev.yml down -v --remove-orphans
Loading
Loading