Releases: kizemo/media-to-doc-ui
Release list
media-to-doc-ui v1.5.0 — per-run profile + project registry + long-doc skill bundle
Release Notes — media-to-doc-ui v1.5.0
发布日期:2026-07-26
子仓 tag:v1.5.0(annotated)
发布地址:https://github.com/kizemo/media-to-doc-ui/releases/tag/v1.5.0
主仓 handoff:见主仓 handoff-w15-a-t7-2-product-feedback-COMPLETE-2026-07-26.md
亮点
1. 二轮产品反馈 12-task 全部实装(W15-A T7.2)
| Task | 内容 | 落点 |
|---|---|---|
| T1 | per-run profile(WorkflowState.profile_name) |
主仓 CLI + MCP + Tauri |
| T3 | task text 注入 chapter / draft prompt | 主仓 mtd run --task "..." |
| T4 | imagegen 策划 LLM + LocalSdxlProvider 最小实现 | 主仓 imagegen.py |
| T9 | long-doc skill snapshot bootstrap(23 文件 vendored) | 主仓 data/long_doc_skill/ |
| T10 | longdoc.py 读 vendored(5 新函数 + importlib.resources) | 主仓 pipeline/longdoc.py |
| T11 | Tauri bundle.resources + Claude PostToolUse hook | 子仓 + ~/.claude/settings.json |
2. long-doc skill snapshot 完整 vendored(T9 + T11)
关键设计:把 long-doc-processor Skill 真身(SKILL.md + 12 references + 10 scripts + MANIFEST,sha256 校验)作为 src/media_to_doc/data/long_doc_skill/ 子包,跟随 wheel + Tauri NSIS installer 一起分发。NSIS 运行时不再依赖 C:/Users/Duanyi/.claude/ 路径。
- hatchling 默认打包(snapshot 23 文件进 wheel + sdist)
pyproject.toml无需force-include(默认 packages 含 data/)importlib.resources.files()返真实 Path(__init__.py让 data 成 regular package)- T11 自定义 NSIS:绕过 Tauri bundler(系统 NSIS 3.12),
bundle.resources不会自动 copy →installer.nsiFile /r显式把 snapshot 打到$INSTDIR\long_doc_skill\ - Claude 全局 PostToolUse hook:改 SKILL.md 自动 sync → snapshot 同步
3. per-run profile + task text(T1 + T3)
用户原痛点:"每个 run 需要不同 LLM profile(批量场景)"、"想给每个 run 写明确目标"。
mtd run --profile <name>选 LLM profile(profile 作 gate,不创建新 profile)mtd run --task "目标"注入 chapter / draft promptWorkflowState.profile_name+WorkflowState.task_text持久化,resume 自动恢复- Tauri UI
New Runtab:dynamic dropdowns + task textarea
4. imagegen planner LLM(T4)
SkipProvider 落 image_plans.json(策划阶段),LocalSdxlProvider 真出图(实现阶段),profile name 作 gate 复用现有 LLM env/config。
5. Project Registry + Keyring(T7-Tauri)
- 5 个新 Tauri commands(
list_projects/add_project/remove_project/open_project/update_project_metadata) src/keyring_store.rs用 Windows Credential Locker 安全存 API key- 多项目并发 + 持久化 registry
6. New Run Tab 重做(T8-Tauri)
__mountNewRunTab__大改:dynamic dropdowns(LLM / Image Agent profile)+ task textarea + 选目录按钮- 透传到
runner.rsbuild_mtd_run_args加 3 参数(llm_profile_name / image_agent_profile_name / task_text) commands.rsrun_pipeline/resume_pipeline透传
7. LLM API Settings + Keyring 注入
src/llm_profiles.rs8 个 providers preset 端到端 UI 配置 + 探测(env vars 透传 env_process spawn)- keyring 注入 env vars(替代
inject_active_llm_env)
Assets
| Asset | Size | SHA256 |
|---|---|---|
media-to-doc-1.5.0-setup.exe |
2,780,157 bytes (2.65 MiB) | a470f2a84b6099248eac33aac1996c5e459692b64d7144d156d247ccf2b04fb1 |
注:v1.5.0 只发布 NSIS installer(无便携版)。便携版如需要,从
cargo tauri build --target portable单独打。
安装
Windows(installer,推荐)
- 下载
media-to-doc-1.5.0-setup.exe - 管理员运行(perMachine 安装)
- 装到默认
D:\Program Files\MediaToDoc\ - 桌面 / 开始菜单启动
media-to-doc - 验证 long_doc_skill 已装:
ls "D:\Program Files\MediaToDoc\long_doc_skill\"(应见 23 文件)
环境配置(必做)
# 主仓路径
setx MEDIA_TO_DOC_PROJECT "F:\soft\00selfmade\media-to-doc"
# (可选)uv 路径
setx UV_BIN "C:\Users\Duanyi\.local\bin\uv.exe"
# (可选)workspace
setx MEDIA_TO_DOC_WORKSPACE "F:\soft\00selfmade\media-to-doc\workspace"验证 long-doc skill snapshot(可选)
# 在主仓跑 sync 校验
python F:\soft\00selfmade\media-to-doc\scripts\verify_long_doc_skill.py
# 期望:exit 0,无 drift(23 文件 hash 一致)macOS / Linux
跨平台编译需 Rust 1.97+ + WebKit/GTK 依赖。Tauri 官方文档见 https://tauri.app/start/prerequisites/。
测试
- 632 pytest 用例 / 0 跳过(1.3.0 604 → 1.5.0 632,+28)
- 7 个 T3 task_text
- 5 个 T4 imagegen planner
- 5 个 T9 sync_long_doc_skill
- 7 个 T10 longdoc integration
- 4 个 T1 profile flags
- 111 cargo test / 0 失败(Tauri 子仓)
- ruff:All checks passed
- cargo tauri build exit 0(2m 51s)
- 7z 验证 NSIS:23 long_doc_skill 文件全含 + 无 pycache/ 污染
已知问题
- Rust toolchain 需 1.97+(自带 lld-link 无需 MSVC)
- 公司 VPN 用户构建时需设
CARGO_NET_TLS_VERIFY=false(运行不受影响) - macOS / Linux 编译需用户自查环境
- 主仓 PyPI 仍为 v1.2.1(子仓独立 release,主仓 wheel 跟随子仓 release 同步重打)
上游
主仓 media-to-doc v1.2.1(pip install media_to_doc 装的 Python 后端)已发布:
- PyPI:https://pypi.org/project/media-to-doc/
- GitHub:https://github.com/kizemo/media-to-doc/releases/tag/v1.2.1
UI 端调用此 Python 后端做实际 pipeline,UI 自身只做 orchestrator + log tail + 输出展示。
v1.5.0 包含的主仓新功能(per-run profile / task text / imagegen planner / long-doc skill)随 wheel 一同分发;NSIS installer 内嵌 snapshot,无需运行时读 ~/.claude/。
media-to-doc-ui v1.4.2 — icon set refresh
Release Notes — media-to-doc-ui v1.4.2
发布日期:2026-07-24
子仓 tag:v1.4.2(annotated)
承接 handoff:handoff-w15-a-v141-release-2026-07-24.md 续(本会话)
亮点
1. 替换应用图标 — docs/media-to-doc.png
之前 v1.4.x 一系列发布的应用图标是 W14-B 临时生成的占位蓝色播放键。本版本正式采用项目 logo docs/media-to-doc.png(深蓝底 + 白色播放键 + 文档线条 + 圆角)替换全部图标文件:
| 位置 | 文件 | 改动 |
|---|---|---|
| Windows installer / 桌面 / 任务栏 | icons/icon.ico |
67KB → 67KB(重生成) |
| Windows 任务栏 32×32 | icons/32x32.png |
229B → 2.3KB(占位替换) |
| Windows 任务栏 64×64 | icons/64x64.png |
4112B → 6.4KB |
| Windows 任务栏 128×128 | icons/128x128.png |
15KB → 20KB |
| Windows 开始菜单 | icons/128x128@2x.png |
62KB → 62KB |
| Tauri icon ref | icons/icon.png |
210KB → 157KB |
| Windows Store | 7 个 Square*.png |
全部重生成 |
| macOS DMG | icons/icon.icns |
1280KB → 1280KB(重生成) |
| iOS / iPadOS | 14 个 AppIcon-*x*.png |
全部重生成 |
| Android | 14 个 mipmap-*/*.png |
全部重生成 |
源图来自项目 docs/media-to-doc.png(128×128 RGBA),用 Pillow LANCZOS 重采样到 1024×1024 后,再由 cargo tauri icon 自动生成全套 38 个图标。
2. NSIS installer 同步 bump 1.4.1 → 1.4.2
src-tauri/Cargo.tomlversion=1.4.2src-tauri/tauri.conf.jsonversion=1.4.2src-tauri/nsis/installer.nsiPRODUCT_VERSION=1.4.2- 产出
media-to-doc_1.4.2_x64-setup.exe(预计 ~1.58MB,同 1.4.1 安装逻辑)
验证状态
| 验证 | 结果 |
|---|---|
cargo test --release |
43/43 passed(与 v1.4.1 一致) |
cargo tauri build |
(build 中) |
| 静态代码审查 | ✅ 版本号 + 图标替换,无逻辑改动 |
| 本机装 v1.4.1 → 启动看主窗口 badge | (待用户桌面手动验,见 §安装) |
| sandbox-verify |
Assets
| Asset | Size | SHA256 |
|---|---|---|
media-to-doc_1.4.2_x64-setup.exe |
~1.58MB | (gh release page 显示) |
(无 portable 版本)
安装
Windows(installer,推荐)
- 下载
media-to-doc_1.4.2_x64-setup.exe - 管理员运行(perMachine 安装)
- 默认装到
D:\Program Files\MediaToDoc\(W14-G+ 决策,D 盘优先;C 盘 fallback) - 桌面 / 开始菜单启动
media-to-doc - 桌面快捷方式图标应为新 logo(深蓝底白播放键 + 文档线条)
- 启动后,主窗口 title 区域的 badge 应显示
v1.4.2
升级路径(v1.4.0 / v1.4.1 → v1.4.2)
- installer:覆盖安装(NSIS 自动卸载旧版)
- 配置 / workspace / inbox 不需变动
- 用户在 v1.4.1 桌面手动验发现的主窗口 badge regression 在 v1.4.1 已修,本版本图标同步
卸载
- 控制面板 → 程序和功能 → MediaToDoc → 卸载
- 干净卸载,无残留(NSIS SectionEnd 内 RMDir
$INSTDIR+ DeleteRegKey)
已知问题
- Rust toolchain 需 1.97+(自带 lld-link 无需 MSVC)
- 公司 VPN 用户构建时需设
CARGO_NET_TLS_VERIFY=false(运行不受影响) - macOS / Linux 编译需用户自查环境
- Win11 Insider Build 容器功能 broken(影响本机器 sandbox-verify 跑不动),Release 通道不受影响
上游
主仓 media-to-doc Python 后端 v1.2.1 仍是最新(W15-A 是子仓 UI 改造,主仓无对应改动):
- PyPI:https://pypi.org/project/media-to-doc/
- GitHub:https://github.com/kizemo/media-to-doc/releases/tag/v1.2.1
后续
- W15-A(LLM API Settings) 实装进入下一阶段(spec + plan 已落地,见
docs/superpowers/specs/2026-07-23-w15-a-llm-api-settings-design.md+docs/superpowers/plans/2026-07-23-w15-a-llm-api-settings.md) - 用户已决定 4 个 placeholder 服务商(MiniMax / 接口 AI / 胜算云 / TeamoRouter)→ 替换为真实服务商(下一步需用户告知替换为哪家)
- Win11 Build 26200 Insider 沙箱 broken:用户决定降级通道 / 关闭 HVCI / 借机器 / 接受 sandbox-verify 跳过 4 选 1
media-to-doc-ui v1.4.1
Release Notes — media-to-doc-ui v1.4.1
发布日期:2026-07-24
子仓 tag:v1.4.1(annotated)
主仓 handoff:handoff-w15-a-v014-blocker-2026-07-23.md 续(本会话)
亮点
1. 修复主窗口 v0.1.0 badge regression(用户桌面手动验 2026-07-23 发现)
症状:v1.4.0 build 启动后,主窗口 title 区域的版本 badge 显示 v0.1.0,与实际 1.4.0 不符。
根因:src/index.html:257 硬编码了 W14-B 早期的占位值:
<!-- v1.4.0 之前 -->
<span class="badge" id="version-badge">v0.1.0</span>JS 在 loadAppInfo() 里用 app_info.version 覆盖,但 async 调用在完成前(以及失败时)badge 仍显示硬编码值。cargo test 跑不到 WebView,code review 看不到视觉细节,这个 regression 从 W14-B 起一直未被发现。
修复(本版本):
- A.
src/index.html:257初值改为''(空),初值不露馅 - B.
loadAppInfo()内层包Promise.race([invoke('app_info'), 2s timeout]),超时/失败时 badge 显示'unknown',给用户清晰信号而非错误版本
@@ src/index.html
- <span class="badge" id="version-badge">v0.1.0</span>
+ <span class="badge" id="version-badge"></span>
@@
async function loadAppInfo() {
+ // 2s timeout fallback: 防 app_info hang 时 badge 一直空白/露 v0.1.0
+ const infoTimeout = new Promise((_, reject) =>
+ setTimeout(() => reject(new Error('app_info timeout 2s')), 2000));
try {
- const info = await invoke('app_info');
+ const info = await Promise.race([invoke('app_info'), infoTimeout]);
$('version-badge').textContent = 'v' + info.version;
// ...
} catch (e) {
+ $('version-badge').textContent = 'unknown';
$('info-error').textContent = '⚠ ' + e;
}
}2. NSIS installer 同步 bump 1.4.0 → 1.4.1
src-tauri/Cargo.tomlversion=1.4.1src-tauri/tauri.conf.jsonversion=1.4.1src-tauri/nsis/installer.nsiPRODUCT_VERSION=1.4.1- 产出
media-to-doc_1.4.1_x64-setup.exe(~1.58MB,同 1.4.0 安装逻辑)
验证状态
| 验证 | 结果 |
|---|---|
cargo test --release |
43/43 passed (W14-C A baseline + W14-B+2 +9,与 v1.4.0 一致) |
cargo tauri build |
✅ exit 0(3 min 14s 首次,v1.4.1 增量预计更短) |
| 静态代码审查 | ✅ 修复 diff 2+2+1 行,无副作用 |
| sandbox-verify |
Assets
| Asset | Size | SHA256 |
|---|---|---|
media-to-doc_1.4.1_x64-setup.exe |
~1.58MB | (gh release page 显示) |
(无 portable 版本,本版本未涉及 portable 改动)
安装
Windows(installer,推荐)
- 下载
media-to-doc_1.4.1_x64-setup.exe - 管理员运行(perMachine 安装)
- 装到默认
C:\Program Files\MediaToDoc\ - 桌面 / 开始菜单启动
media-to-doc - 启动后,主窗口 title 区域的 badge 应显示
v1.4.1
升级路径(v1.4.0 → v1.4.1)
- installer:覆盖安装(NSIS 自动卸载 v1.4.0)
- 配置 / workspace / inbox 不需变动
已知问题
- Rust toolchain 需 1.97+(自带 lld-link 无需 MSVC)
- 公司 VPN 用户构建时需设
CARGO_NET_TLS_VERIFY=false(运行不受影响) - macOS / Linux 编译需用户自查环境
- Win11 Insider Build 容器功能 broken(影响本机器 sandbox-verify 跑不动),Release 通道不受影响
上游
主仓 media-to-doc Python 后端 v1.2.1 已是最新(无 W15-A 关联改动):
- PyPI:https://pypi.org/project/media-to-doc/
- GitHub:https://github.com/kizemo/media-to-doc/releases/tag/v1.2.1
后续
- W15-A(LLM API Settings)进入实装阶段(spec + plan 已落地,见
docs/superpowers/specs/2026-07-23-w15-a-llm-api-settings-design.md+docs/superpowers/plans/2026-07-23-w15-a-llm-api-settings.md) - W14-F D 决定 sandbox-verify 沙箱自动化受限时,fallback 走静态 review + cargo test
v1.4.0 — Tauri dev 模式 frontendDist-only,免 python http.server 占位
What's New in v1.4.0
🛠️ Dev UX 改进: Tauri dev 模式改 frontendDist-only
W14-D E2E 撞墙:tauri.conf.json 的 devUrl=http://localhost:1420 + beforeDevCommand="" 让 cargo tauri dev 等不到 vite frontend server,要靠 python -m http.server 1420 占端口做临时 hack。
修复(c780654)
按 Tauri 2 标准做法:有 devUrl 走 devUrl,无 devUrl fallback 到 frontendDist(builtin assets protocol)。
- 删
devUrl字段 - 删
beforeDevCommand字段 - dev 模式直接 serve
../src静态,不需要 dev server、不需要 beforeDevCommand、不需要python -m http.server 1420
验证
cargo tauri dev增量编译 38.51s 启动media-to-doc-ui.exePID=10440 直接 Running,无 vite 卡顿- 8 commands 后端 API 等价回归 8/8 OK(probe / list_courses / check_status / list_outputs / read_lecture / get_run_metrics / list_runs / read_log)
- 43 cargo test / 0 failed
影响
- 用户:无影响 — 安装包行为不变
- 开发者:
cargo tauri dev现在开箱即用,无需任何占位命令
子项目状态
- 子仓 master
8fd49dc(v1.4.0 frontendDist-only + installer v1.4.0 同步) - 主仓 v1.3.0 已发(整合 W14-D E trust_env 全 provider 隔离,见 media-to-doc v1.3.0)
- Tauri UI 仍调用主仓
media_to_doc==1.3.0Python 后端跑 pipeline
Assets
| Asset | Size | SHA256 |
|---|---|---|
media-to-doc-1.4.0-setup.exe |
1,576,402 bytes (1.50 MiB) | 7c65bb677ca2dfa16f7cc99748cb4ed31447b2c64bc8ed2c290d274d47683480 |
media-to-doc-1.4.0-portable.exe |
6,233,088 bytes (5.95 MiB) | 46c980b279f4957a5f30651e6ba770897f175116c6b56c264e1a2835f44d9cba |
安装
# 1. 装主仓 Python 后端(v1.3.0)
uv pip install --upgrade media_to_doc==1.3.0
# 2. 装 Tauri UI 桌面壳(v1.4.0)
# 下载 media-to-doc-1.4.0-setup.exe 管理员运行
# 或下载 media-to-doc-1.4.0-portable.exe 双击运行完整变更
c780654feat(ui): v1.4.0 — dev 模式改 frontendDist-only,免 python http.server 占位8fd49dcbuild(ui): v1.4.0 — NSIS installer 同步 bump 1.3.0 → 1.4.0207ed45docs(handoff): v1.4.0 — 归档 frontendDist-only handoff
media-to-doc-ui v1.3.0
Release Notes — media-to-doc-ui v1.3.0
发布日期:2026-07-22
子仓 tag:v1.3.0(annotated)
发布地址:https://github.com/kizemo/media-to-doc-ui/releases/tag/v1.3.0
主仓 handoff:见同目录 handoff-w14d-*.md
亮点
1. 8 个 Tauri commands 全部实装(W14-B+ 系列)
| Command | 语义 | 与 MCP 8 工具对齐 |
|---|---|---|
list_courses |
扫描 inbox 课程目录 | ✅ |
run_pipeline |
启动 11 stage pipeline | ✅ |
resume_pipeline |
中断后续跑 | ✅ |
cancel_run |
同步取消(≤2s 超时) | ✅ |
check_status |
读 state.json | ✅ |
list_outputs |
列 output_final 产物 | ✅ |
read_lecture |
读 md/html,优先 W12-D 布局 | ✅ |
get_run_metrics |
LE L1 健康度查询 | ✅ |
list_runs |
LE 跨 run 健康度 | ✅ |
2. 多课程并发(W14-C A)
max_concurrent=3(env override)- completed LRU 100
- cancel 2s 超时 + kill_tree 兜底
- list_all_runs 混合 running + completed
- 前端 3s global poll + per-run log tail(独立 offset)
3. NSIS installer(W14-C B + W14-D 实编译)
- 系统 NSIS 3.12(绕开 Tauri bundler GitHub TLS)
- 装到
Program Files\MediaToDoc\ - 桌面 + 开始菜单快捷方式
.mtdproj文件关联- Release assets:installer + portable 2 种
4. 真跑 30s 测试视频(W14-C E)
- env 三件套(unset proxy + HF_ENDPOINT + HF_HUB_DISABLE_XET)
- audio → asr → frames 完成
- ocr 因合成图无场景变化预期失败(pipeline 基础设施 OK)
Assets
| Asset | Size | SHA256 |
|---|---|---|
media-to-doc-1.3.0-setup.exe |
~1.5MB | (gh release page 显示) |
media-to-doc-1.3.0-portable.exe |
~6.2MB | (gh release page 显示) |
安装
Windows(installer,推荐)
- 下载
media-to-doc-1.3.0-setup.exe - 管理员运行(perMachine 安装)
- 装到默认
C:\Program Files\MediaToDoc\ - 桌面 / 开始菜单启动
media-to-doc
Windows(portable,免安装)
- 下载
media-to-doc-1.3.0-portable.exe - 双击运行(无需安装)
环境配置(必做)
# 主仓路径
setx MEDIA_TO_DOC_PROJECT "F:\soft\00selfmade\media-to-doc"
# (可选)uv 路径
setx UV_BIN "C:\Users\Duanyi\.local\bin\uv.exe"
# (可选)workspace
setx MEDIA_TO_DOC_WORKSPACE "F:\soft\00selfmade\media-to-doc\workspace"macOS / Linux
跨平台编译需 Rust 1.97+ + WebKit/GTK 依赖。Tauri 官方文档见 https://tauri.app/start/prerequisites/。
测试
- 43 cargo test / 0 failed(W14-C A baseline)
- 8 commands 全部经 cargo test 验证
- 端到端 30s 合成视频 audio/asr/frames 通过
已知问题
- Rust toolchain 需 1.97+(自带 lld-link 无需 MSVC)
- 公司 VPN 用户构建时需设
CARGO_NET_TLS_VERIFY=false(运行不受影响) - macOS / Linux 编译需用户自查环境
- pip 包
media_to_doc仍是 v1.2.1(主仓独立版本,等 v1.3.x 整合)
上游
主仓 media-to-doc v1.2.1(pip install media_to_doc 装的 Python 后端)已发布:
- PyPI:https://pypi.org/project/media-to-doc/
- GitHub:https://github.com/kizemo/media-to-doc/releases/tag/v1.2.1
UI 端调用此 Python 后端做实际 pipeline,UI 自身只做 orchestrator + log tail + 输出展示。