feat: 新增 DocForge 文档制作工具 - #17
Conversation
There was a problem hiding this comment.
Sorry @Lance0174, your pull request is larger than the review limit of 150000 diff characters
Reviewer's Guide介绍用于 AUTO-MAS 文档的 DocForge Windows 桌面工具(Rust + egui),包括用于 Markdown 编辑的完整 GUI 应用、视频帧捕获 → 教程生成、图像标注、通过兼容 OpenAI 的 API 进行翻译、PDF 导入/导出,以及命令行工具和用于构建便携式 Windows 打包的 PowerShell 脚本;更新 .gitignore,并在 tools/docforge 下为该工具添加专用 Cargo workspace。 视频转教程文档生成的序列图sequenceDiagram
actor User
participant DocforgeApp
participant VideoTool
participant Tutorial
participant Atomic
participant SiteProfile
User->>DocforgeApp: choose_video()
DocforgeApp->>VideoTool: discover(None)
VideoTool-->>DocforgeApp: VideoTool
User->>DocforgeApp: capture_key_frames(ctx)
DocforgeApp->>VideoTool: capture_keyframes(video,output_dir,capture_count)
VideoTool-->>DocforgeApp: Vec_TutorialStep
User->>DocforgeApp: generate_tutorial_document()
alt tutorial_target == NewDocument
DocforgeApp->>SiteProfile: tutorial_document_path(tutorial_language,section,tutorial_file_stem)
DocforgeApp->>SiteProfile: media_dir_for_section(section)
loop for each TutorialStep
DocforgeApp->>Atomic: copy_atomic(step.frame,destination)
end
DocforgeApp->>Tutorial: render_document(tutorial_title,tutorial_summary,tutorial_prerequisites,media)
Tutorial-->>DocforgeApp: markdown_source
DocforgeApp->>Atomic: atomic_write(target,markdown_source.as_bytes())
DocforgeApp->>SiteProfile: discover(root)
SiteProfile-->>DocforgeApp: SiteProfile
else tutorial_target == CurrentDocument
DocforgeApp->>SiteProfile: media_dir(document)
loop for each TutorialStep
DocforgeApp->>Atomic: copy_atomic(step.frame,destination)
end
DocforgeApp->>Tutorial: render_section(tutorial_title,tutorial_summary,media)
Tutorial-->>DocforgeApp: section_markdown
DocforgeApp->>DocforgeApp: save_document()
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your Experience访问你的 dashboard 来:
Getting HelpOriginal review guide in EnglishReviewer's GuideIntroduce the DocForge Windows desktop tool (Rust + egui) for AUTO-MAS docs, including a full GUI app for Markdown editing, video frame capture → tutorial generation, image annotation, translation via OpenAI-compatible APIs, PDF import/export, plus command-line utilities and a PowerShell script to build a portable Windows bundle; update .gitignore and add a dedicated Cargo workspace for the tool under tools/docforge. Sequence diagram for video-to-tutorial document generationsequenceDiagram
actor User
participant DocforgeApp
participant VideoTool
participant Tutorial
participant Atomic
participant SiteProfile
User->>DocforgeApp: choose_video()
DocforgeApp->>VideoTool: discover(None)
VideoTool-->>DocforgeApp: VideoTool
User->>DocforgeApp: capture_key_frames(ctx)
DocforgeApp->>VideoTool: capture_keyframes(video,output_dir,capture_count)
VideoTool-->>DocforgeApp: Vec_TutorialStep
User->>DocforgeApp: generate_tutorial_document()
alt tutorial_target == NewDocument
DocforgeApp->>SiteProfile: tutorial_document_path(tutorial_language,section,tutorial_file_stem)
DocforgeApp->>SiteProfile: media_dir_for_section(section)
loop for each TutorialStep
DocforgeApp->>Atomic: copy_atomic(step.frame,destination)
end
DocforgeApp->>Tutorial: render_document(tutorial_title,tutorial_summary,tutorial_prerequisites,media)
Tutorial-->>DocforgeApp: markdown_source
DocforgeApp->>Atomic: atomic_write(target,markdown_source.as_bytes())
DocforgeApp->>SiteProfile: discover(root)
SiteProfile-->>DocforgeApp: SiteProfile
else tutorial_target == CurrentDocument
DocforgeApp->>SiteProfile: media_dir(document)
loop for each TutorialStep
DocforgeApp->>Atomic: copy_atomic(step.frame,destination)
end
DocforgeApp->>Tutorial: render_section(tutorial_title,tutorial_summary,media)
Tutorial-->>DocforgeApp: section_markdown
DocforgeApp->>DocforgeApp: save_document()
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
变更说明
验证结果
提交范围
未提交 tools/docforge/target、tmp、out,也未包含当前工作区中 plugin/start/start.md 和 plugin/img/generated 的测试内容。
Summary by Sourcery
引入一个全新的基于 Rust 的 DocForge 桌面工具,用于编写 AUTO-MAS VitePress 文档,支持编辑、翻译、视频教程生成以及 PDF 相关工作流。
New Features:
Build:
Documentation:
Tests:
Original summary in English
Summary by Sourcery
Introduce a new Rust-based DocForge desktop tool for authoring AUTO-MAS VitePress documentation with editing, translation, video-tutorial generation, and PDF workflows.
New Features:
Build:
Documentation:
Tests: