[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80646":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":8,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":14,"forks30d":14,"starsTrendScore":18,"compositeScore":19,"rankGlobal":8,"rankLanguage":8,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":8,"pushedAt":8,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},80646,"word_chat","Grant-leo\u002Fword_chat","Grant-leo",null,"","Python",65,1,50,0,6,8,15,18,0.9,"Other",false,"master",true,[],"2026-06-12 02:04:04","# Word 论文自动排版流水线\n\n把「模板 DOCX\u002FPDF」和「内容 DOCX \u002F Markdown」分开处理：模板提供格式，内容提供章节、段落、图片、表格、公式和参考文献，流水线自动生成排版后的 `最终论文.docx`。\n\n## 适合做什么\n\n- 用学校、期刊或自定义模板快速排版论文。\n- 从无格式\u002F弱格式内容中提取正文、图表、公式和参考文献。\n- 生成可检查、可微调、可追踪的 Word 输出。\n- 开发者可以把通用修复沉淀到核心引擎，而不是反复改一次性脚本。\n\n## 快速开始\n\n默认你已经在 VSCode 中安装了 Agent 插件。普通用户不需要打开终端，也不需要手动记命令；把模板和内容放好，然后把下面的提示词发给 Agent。\n\n推荐安装配套预览插件：在 VSCode 扩展商店搜索 `DOCX Live Preview` 并安装，用来预览生成的 Word 文档。\n\n先放文件：\n\n- 模板 DOCX 或 PDF 放入 `Templates\u002F`\n- 内容 DOCX 或 Markdown 放入 `Inputs\u002F`\n\n然后复制这段给 Agent：\n\n```text\n请读取本项目的 AGENTS.md、README.md 和 Paper_Project\u002F基础操作.md。\n我已经把论文模板放在 Templates\u002F，把论文内容放在 Inputs\u002F。模板可能是 DOCX，也可能是 PDF。\n请先检查 Python 依赖是否齐全：python-docx、Pillow、lxml；缺失时请帮我安装。\n请使用项目的 Agent 自动入口完成排版：自动扫描 Templates\u002F 和 Inputs\u002F，能唯一确定文件时直接运行；有多个候选时只问我选择哪一个。\n请以普通用户模式运行，开启自动修复闭环，能自动修的 QA 问题请直接修复并重跑。若模板是 PDF，请读取 template_profile.md 和 qa_report.md 说明 PDF 提取置信度与风险。\n运行完成后，请优先读取最新 Outputs 目录里的 agent_summary.md，再读取 repair_loop_report.md、qa_report.md、qa_repair_plan.md、template_profile.md、格式提取.md、内容提取.md，并告诉我：\n1. 最终论文 docx 在哪里；\n2. QA 是否通过；\n3. 自动修复了什么，是否还有需要我补文件或人工检查的事项。\n```\n\n如果自动修复闭环停止后仍有问题，继续把这段发给 Agent：\n\n```text\n请读取最新 Outputs 目录里的 repair_loop_report.md、qa_report.md 和 qa_repair_plan.md。\n如果这是一次性排版问题，请只修改该输出目录里的 build_generated.py，然后重新生成最终论文并再次运行 QA。\n如果这是可复用的引擎问题，请先说明原因，不要直接改核心脚本。\n```\n\n开发者做核心引擎验证时，可以把这段发给 Agent：\n\n```text\n请按开发者模式验证当前流水线。\n先检查基础依赖 python-docx、Pillow、lxml。\n先运行合成回归，再选择 Templates\u002F 和 Inputs\u002F 中合适的测试文件运行 strict QA。\n如果要跑 visual QA，请确认 Word\u002FWPS COM 和 Poppler 工具 pdfinfo、pdftotext、pdftoppm 可用。\n只修改 Paper_Project\u002FProgram\u002Fpipeline\u002F 下的核心引擎脚本和必要文档。\n不要提交 Inputs、Outputs、Templates、TestData、memory 或任何生成的 DOCX\u002FPDF\u002FPNG。\n```\n\n## 自动修复闭环\n\n普通用户推荐让 Agent 直接开启受控自动修复：\n\n```text\n请以 user 模式运行流水线并开启 --auto-repair。\n如果 QA 报告存在可自动修复的问题，请只修改最新 Outputs\u002F\u003Crun>\u002Fbuild_generated.py，\n重建最终 DOCX，重新运行 QA，并循环到没有 QA error 或修复循环停止。\n不要修改 Paper_Project\u002FProgram\u002Fpipeline\u002F，除非我明确要求做可复用引擎修复。\n停止后请读取 repair_loop_report.md、qa_report.md、qa_repair_plan.md，\n告诉我最终 DOCX 位置、自动修复了什么、还剩什么问题、需要我在 Word\u002FWPS 里人工检查什么。\n```\n\nAgent 内部优先使用项目的自动入口；普通用户不用自己输入 Python 命令。开发者需要手动复现时，可在高级场景下使用 `run_pipeline.py --agent-auto` 或显式传入模板\u002F内容参数。\n\n如果流程在预检、QA、依赖或自动修复阶段中断，Agent 必须明确告诉用户下一步该做什么；预检阶段会写入 `Outputs\u002F_agent_preflight_latest\u002Fagent_preflight_report.md`，正式运行后优先看 `agent_summary.md`。\n\n自动修复闭环会生成 `repair_loop_report.md\u002Fjson`，最多运行有限轮次，只允许修改本次输出目录的 `build_generated.py`。如果连续修复没有减少 error，或遇到缺图、扫描 PDF、内容缺失等必须由用户补文件的问题，会停止并说明原因。即使自动 QA 已无 error，也不代表 100% 正确，最终仍建议用 Word\u002FWPS 做视觉检查。\n\n`strict` \u002F `visual` 等级下，自动修复闭环会把结构 QA、DOCX\u002FXML 合规 QA、PDF\u002FPNG 视觉 QA 一起作为收敛条件；缺少必要检查工具时不会假装通过。报告中的重建命令使用相对路径，便于直接复制给 Agent 继续处理。\n\n## 输出在哪里\n\n每次运行都会生成独立目录：\n\n```text\nOutputs\u002F日期_内容名\u002F\n├── 最终论文.docx\n├── build_generated.py\n├── agent_summary.md \u002F agent_summary.json\n├── qa_report.md \u002F qa_report.json\n├── qa_repair_plan.md \u002F qa_repair_plan.json\n├── repair_loop_report.md \u002F repair_loop_report.json   \u003C- --auto-repair 时生成\n├── template_profile.md \u002F template_profile.json\n├── 格式提取.md\n├── 内容提取.md\n├── build_manifest.json\n├── figures\u002F\n└── assets\u002F\n```\n\n最常看的文件：\n\n- `最终论文.docx`：生成结果。\n- `agent_summary.md`：面向用户和 Agent 的最终摘要，先看它。\n- `qa_report.md`：是否有图片、公式、表格、占位符、内容缺失等问题。\n- `qa_repair_plan.md`：下一步该修哪里，适合直接交给 AI 继续处理。\n- `build_generated.py`：本次文档的用户级微调脚本。\n- `template_profile.md`：模板能力和风险画像。\n- `内容提取.md`：按上下文展示正文、图片、表格和公式；不会把表格\u002F图片误写成公式，也会避免重复列出同一张正文图片。\n\n## 两种工作模式\n\n| 模式 | 适合谁 | 修改哪里 |\n|---|---|---|\n| `user` | 普通用户微调当前文档 | `Outputs\u002F\u003C本次输出>\u002Fbuild_generated.py` |\n| `developer` | 修复可复用引擎能力 | `Paper_Project\u002FProgram\u002Fpipeline\u002F` |\n\n原则很简单：一次性排版问题改 `build_generated.py`；所有可复用能力、解析规则、QA 规则都沉淀到核心引擎。\n\n## 流水线概览\n\n```text\nTemplates\u002F模板.docx\u002F.pdf ─→ format_extractor ─→ format.json\n                         template_profiler ─→ template_profile.json\n\nInputs\u002F内容.docx\u002F.md ─→ content_parser\u002Fmd_parser ─→ content.json\n\nformat.json + content.json ─→ script_generator ─→ build_generated.py\nbuild_generated.py ─────────→ 最终论文.docx\n最终论文.docx ─────────────→ qa_checker \u002F qa_conformance \u002F qa_visual\n```\n\n核心入口：\n\n- `run_pipeline.py`：一键运行入口。\n- `run_pipeline.py --agent-auto`：Agent-first 自动入口；自动扫描、唯一选择、普通用户模式、自动修复、写出 `agent_summary.md\u002Fjson`。\n- `format_extractor.py`：提取 DOCX\u002FPDF 模板格式；PDF 会区分文字说明模板、精排样张模板、扫描\u002F不可解析模板。\n- `content_parser.py`：提取 DOCX 内容。\n- `md_parser.py`：解析 Markdown 内容和格式说明。\n- `script_generator.py`：生成构建脚本。\n- `latex_omath.py`：LaTeX \u002F 文本公式转原生 Word 公式。\n- `qa_checker.py`：结构 QA。\n- `qa_conformance.py`：严格 DOCX\u002FXML 合规检查。\n- `qa_visual.py`：可选 PDF\u002FPNG 视觉检查。\n- `pipeline_runner\u002Frepair_loop.py`：`--auto-repair` 的受控自动修复闭环。\n\n更细的模块布局见 [pipeline README](Paper_Project\u002FProgram\u002Fpipeline\u002FREADME.md)。\n\n## 公式、图片和 QA\n\n- Markdown 的 `$...$` \u002F `$$...$$` 会转成 Word 原生 OOXML Math。\n- DOCX 中的文本公式会尽量识别并重建为可编辑公式。\n- 图片会复制到本次输出目录的 `figures\u002F`，不会污染 `Inputs\u002F`。\n- “图 1 展示了……”这类正文引用句会保持正文样式；“图 1 xxx 示意图”这类真实图注才按图注排版。\n- 缺图、图片抽取失败、公式丢失、表格数量不匹配、占位符残留会进入 QA 报告。\n- PDF 模板需要 Poppler 的 `pdfinfo`、`pdftotext`；扫描件或不可复制文字会进入 QA error，并提示用户提供 DOCX、文字说明 PDF 或 OCR 后重跑。\n- `--qa-level visual` 会尝试用 Word\u002FWPS 导出 PDF，并做页数、纸张、文本和抽样 PNG 检查。\n\n基础依赖：Python 3.10+、`python-docx`、`Pillow`、`lxml`。PDF 模板解析需要 Poppler 的 `pdfinfo`、`pdftotext`；自动目录页码可选依赖 `pywin32`；视觉 QA 还需要 Word\u002FWPS COM 和 Poppler 工具 `pdfinfo`、`pdftotext`、`pdftoppm`。\n\n最终交付前仍建议用 WPS\u002FWord 打开 `最终论文.docx` 做视觉核对。\n\n## 仓库规则\n\n这些是本地隐私数据，不提交：\n\n- `Inputs\u002F`\n- `Outputs\u002F`\n- `Templates\u002F`\n- `TestData\u002F`\n- `memory\u002F`\n- 生成的 DOCX \u002F PDF \u002F PNG \u002F QA 渲染图\n\n提交时只提交核心脚本和公共文档。\n\n## 当前验证基线\n\n截至 2026-05-29：\n\n- 合成回归：`150 passed, 0 failed`\n- 自动修复闭环回归：可修复 QA error、连续无改善停止、needs_user_file 停止、strict\u002Fvisual QA 依赖缺失、visual 参数保持、报告路径脱敏均已覆盖\n- Agent-first 自动入口：`--agent-auto` 可自动扫描单候选模板\u002F内容，默认普通用户自动修复，并写出 `agent_summary.md\u002Fjson`\n- PDF 模板端到端 strict QA：合成文字说明 PDF 模板 + DOCX 内容，`passed`\n- PDF 极端压力测试：9 个场景覆盖大写扩展名、精排样张、横向页面、稀疏说明、扫描\u002F损坏\u002F空白\u002F过短 PDF，`9\u002F9` 符合预期\n- 端到端 strict QA：5 个复杂测试文本 × 3 个模板，`15\u002F15 passed`\n- 矩阵结果：`0` QA error，`0` QA warning，`0` conformance error，`0` conformance warning\n- fresh-folder 小白用户 visual 冒烟：DOCX 模板 + 无格式机器学习内容 + `--auto-repair --qa-level visual`，结构 QA \u002F strict conformance \u002F visual QA 均为 `0` error，自动修复闭环 `converged`\n\n## 进一步文档\n\n- [AGENTS.md](AGENTS.md)：AI 助手工作流。\n- [CLAUDE.md](CLAUDE.md)：Claude\u002FCodex 操作说明。\n- [Paper_Project\u002F基础操作.md](Paper_Project\u002F基础操作.md)：OOXML 和 python-docx 操作速查。\n- [Paper_Project\u002FProgram\u002Fpipeline\u002FREADME.md](Paper_Project\u002FProgram\u002Fpipeline\u002FREADME.md)：核心引擎模块结构。\n\n## English Quick Start\n\nThis project generates a formatted Word paper from a DOCX\u002FPDF template plus DOCX\u002FMarkdown content. The recommended workflow is to use a VSCode Agent instead of typing commands manually.\n\nPut the template in `Templates\u002F`, put the content file in `Inputs\u002F`, then send this to your Agent:\n\n```text\nPlease read AGENTS.md, README.md, and Paper_Project\u002F基础操作.md.\nI have placed the template in Templates\u002F and the paper content in Inputs\u002F. The template may be DOCX or PDF.\nPlease use the Agent-first entry to scan the files, run the paper formatting pipeline in user mode with automatic repair, then inspect agent_summary.md in the latest Outputs folder first.\nReport where the final DOCX is, whether automatic QA converged, what was repaired, and what I should still check manually.\n```\n\nOutputs are written to `Outputs\u002F\u003Cdate_content>\u002F`. Read `agent_summary.md` first, then use `repair_loop_report.md`, `qa_report.md`, and `qa_repair_plan.md` to inspect details.\n\n## License\n\nSee the repository license file if present.\n","Word 论文自动排版流水线项目旨在通过将模板和内容分离处理，自动生成格式规范的最终论文。其核心功能包括从无格式或弱格式的内容中提取文本、图表、公式及参考文献，并基于预设模板生成结构化的Word文档。该系统支持多种输入格式（如DOCX、PDF、Markdown），并具备自动化修复与质量检查机制，确保输出文件的质量。适用于需要快速按照特定格式（例如学校或期刊要求）进行文档排版的场景，尤其适合学术研究者或学生使用。此外，对于开发者而言，本项目提供了一个可扩展的核心引擎，便于集成更多通用修复逻辑，从而减少重复性工作。",2,"2026-06-11 04:01:30","CREATED_QUERY"]