English | 简体中文
deepPPT 现在是什么
deepPPT 已从单一 Prompt/Skill 升级为宿主 Agent 原生的科研 PPT 框架。Codex、Claude Code 或 OpenClaw 负责理解材料、规划叙事和生成代码;deepPPT 负责持久化运行状态、约束页面计划、选择本地能力、保存每次 PPTX 修订、执行确定性 QA、渲染逐页预览,并阻止未经视觉复核的文件被标记为完成。
它不捆绑语言模型、本地 OCR 模型、Docker 或 WSL。默认运行仍然轻量,但工作流本身不再依赖 Agent “记得做过什么”。
核心能力
created -> inspected -> planned -> built -> checked -> rendered -> reviewed -> complete的持久化状态机。- 单一规划器:宿主 Agent 只规划一次;deepPPT 不启动内层模型,也不保存 对话副本。同一 plan 重复提交是幂等操作,不同 plan 必须显式替换。
- 每次运行保存在工作区
.deepppt/runs/<run-id>/,包含run.json、事件日志、来源摘要、计划、每版 PPTX、QA 报告和预览。 - JSON deck-plan 中间表示,要求实质页具有主张、证据、来源引用、视觉策略和红框决策。
- QA 或视觉复核失败后进入
needs_revision,允许登记新计划或新 PPTX 后继续同一个 run。 - JSON CLI 提供跨平台、可脚本化的标准接口。
- ImageGen 的“可用”与用户的“要求”分开记录。只有用户明确要求、任务记录该要求、且 Codex 宿主确实提供 ImageGen 时,才可生成最多一张介绍页概念图;否则不生成。
- 百度 OCR 是可选网络 provider。每个任务默认无权上传;用户可授予、查看和撤销该任务的权限,密钥存在本身不等于授权。
示例
| 语言 | 高清预览 | 可编辑 PPTX |
|---|---|---|
| 中文 | 打开完整预览 | 直接下载最新样例 |
| English | Open full preview | Download latest example |
完整安装
推荐桌面环境直接安装完整依赖。Python 3.11+、Node.js、PptxGenJS 4.0.1、PowerPoint、LibreOffice 和 Poppler 都应可用,才能发挥完整生成与渲染 QA 能力。
| 运行环境 | 生成与结构 QA | 渲染路线 | 适用结论 |
|---|---|---|---|
| macOS 原生桌面 | 完整 | PowerPoint 优先,LibreOffice 回退 | 推荐,可做最高保真终检 |
| Windows 原生桌面 | 完整 | PowerPoint COM 优先,LibreOffice 回退 | 推荐,可做最高保真终检 |
| WSL2 | 完整 | WSL 内的 Linux LibreOffice | 可生成和预检;最终应回到 Windows 原生 PowerPoint |
| Linux | 完整 | LibreOffice | 可生成和预检;不能声称完成 PowerPoint 原生保真验证 |
GitHub Actions 会在 Linux、macOS 和 Windows 上运行相同的生成、结构 QA 与示例重建测试。Office 桌面自动化不在无交互 CI 中运行;原生 PowerPoint 实测属于发布前桌面门禁。
macOS
git clone https://github.com/jiadizhunine/deepPPT.git deep-ppt
cd deep-ppt
python3.11 -m venv .venv
.venv/bin/python -m pip install -U pip
.venv/bin/python -m pip install -e ".[full]"
npm ci
brew install poppler
brew install --cask libreoffice
另行安装 Microsoft PowerPoint desktop。首次渲染可能出现 macOS 自动化权限提示,需要由当前桌面用户允许。作为 Skill 使用时,目录名保持 deep-ppt,放入宿主的 Skills 目录即可。
Windows
git clone https://github.com/jiadizhunine/deepPPT.git deep-ppt
Set-Location deep-ppt
py -3.11 -m venv .venv
.venv\Scripts\python -m pip install -U pip
.venv\Scripts\python -m pip install -e ".[full]"
npm ci
安装 Microsoft PowerPoint desktop、LibreOffice 和 Poppler,并将命令加入 PATH。PowerPoint COM 只用于已登录用户的交互式桌面会话;Microsoft 不建议或支持无人值守的 Office 自动化,因此不要把它放进 Windows 服务、服务器或 CI。Windows 原生运行即可,不要求 WSL。
如果 LibreOffice 安装在非标准目录,可将 DEEPPPT_LIBREOFFICE 设为 soffice/soffice.exe 的完整路径。
WSL2
WSL2 是兼容路线,不是最高保真路线。在 WSL 内安装 Python、Node.js、LibreOffice 和 poppler-utils,使用 Linux 路径运行 CLI;虽然 WSL 支持调用 Windows 可执行文件,deepPPT 不会自动跨层调用 Windows PowerPoint。完成生成、结构 QA 和 LibreOffice 预览后,再从 Windows PowerShell 对同一 PPTX 运行原生 PowerPoint 渲染终检。
sudo apt update
sudo apt install python3 python3-venv nodejs npm libreoffice poppler-utils
python3 -m venv .venv
.venv/bin/python -m pip install -U pip
.venv/bin/python -m pip install -e ".[full]"
npm ci
现有 requirements.txt 继续保留给旧版安装流程;v0.2.0 推荐使用 pyproject.toml extras。
快速使用
先查看能力矩阵:
以下多行示例使用 Bash 续行语法。Windows PowerShell 请使用反引号续行,
或直接写成一行;入口是 .venv\Scripts\deepppt.exe。例如:
.venv\Scripts\deepppt.exe --workspace C:\path\to\work capabilities --runtime codex --host-vision --host-imagegen
.venv/bin/deepppt --workspace /path/to/work capabilities \
--runtime codex --host-vision --host-imagegen
创建并抽取来源:
.venv/bin/deepppt --workspace /path/to/work init \
--source paper.pdf \
--output result.pptx \
--title "Research update" \
--audience "Lab meeting" \
--language Chinese \
--slides 12 \
--runtime codex
.venv/bin/deepppt --workspace /path/to/work inspect <RUN_ID>
只有用户明确要求介绍页概念图时,才在 init 增加
--request-intro-image。也可随后执行
configure <RUN_ID> --intro-image request;configure <RUN_ID> 会显示当前偏好、权限和有效路由。
Agent 根据 run 内的来源摘要生成 deck plan 和 PPTX 后,继续:
.venv/bin/deepppt --workspace /path/to/work plan <RUN_ID> --file deck-plan.json
.venv/bin/deepppt --workspace /path/to/work build <RUN_ID> --pptx generated.pptx
.venv/bin/deepppt --workspace /path/to/work check <RUN_ID>
.venv/bin/deepppt --workspace /path/to/work render <RUN_ID> --dpi 150
.venv/bin/deepppt --workspace /path/to/work review <RUN_ID> --file visual-review.json
.venv/bin/deepppt --workspace /path/to/work complete <RUN_ID>
普通生命周期命令仅返回紧凑交接信息,避免把完整来源和能力快照反复注入
宿主上下文。仅在确实需要完整任务元数据时使用 status <RUN_ID>。重复提交
同一 plan 不会重新规划;只有依据 QA 主动修订时才使用
plan <RUN_ID> --file revised-plan.json --replace。
resume <RUN_ID> 会返回当前阶段、修订号、产物和下一步动作。完整契约见 架构文档、deck plan 示例 与 视觉复核示例。
按需百度 OCR
设置百度 OCR 的访问令牌,或 API Key 与 Secret Key:
export BAIDU_OCR_ACCESS_TOKEN="..."
# 或同时设置 BAIDU_OCR_API_KEY 与 BAIDU_OCR_SECRET_KEY
.venv/bin/deepppt configure <RUN_ID> --baidu-ocr allow
.venv/bin/deepppt ocr <RUN_ID> scanned-page.png --provider baidu
.venv/bin/deepppt configure <RUN_ID> --baidu-ocr revoke
PowerShell 设置方式为
$env:BAIDU_OCR_ACCESS_TOKEN = "...";API Key 与 Secret Key 同理。
run/任务是一次 PPT 生成工作,保存在
.deepppt/runs/<RUN_ID>/。OCR 权限只对该任务生效,只保存布尔状态,
不保存令牌或 API Key。仅检测到配置、甚至显式执行 ocr,都不能绕过
未授权状态;任务完成或取消时会自动撤销网络权限。优先使用宿主已有视觉能力,只有纯图片文字确实需要结构化提取时再调用 OCR。
视觉规则
- 所有标准内容页复用同一条深蓝到浅色的 60 段模板横线。
- 图片直接放在白底上,不添加装饰性外框。
- 底部红色 key-finding 默认关闭,只在关键结果、综合判断、建议或最终 take-home 页按需启用。
- 每次启用都必须在 deck plan 中说明理由;总数不得超过
max(1, floor(总页数 / 3)),避免隔页滥用绕过连续页检查。 - 封面、目录/大纲、普通背景、方法、工作流、参考文献和致谢页不使用底部红框。
- 只有检查渲染后的每一页,才能提交通过的 visual-review。
- QA 会记录通过检查与渲染时的 PPTX 指纹;文件若随后被改写,旧报告和旧 visual-review 不能被复用。
项目结构
src/deepppt/ # AgentFramework、状态、路由、CLI 与可选 OCR
scripts/deepppt.py # 从源码仓库直接运行的 CLI wrapper
schemas/ # deck plan、visual review、run JSON 契约
examples/ # 最小有效契约示例
SKILL.md # Codex / Claude Code / OpenClaw 工作流入口
style_guide.md # deepPPT 视觉规范
slide_patterns.md # 页面模式与坐标
scripts/check_*.py # 环境和 PPTX 确定性检查
scripts/qa_layout.py # 页面规则 QA
scripts/render_preview.py # PowerPoint/LibreOffice 渲染预览
references/example_pptx/ # 公开示例和维护用 builder
许可证
deepPPT 采用 MIT 许可证。
No comments yet
Be the first to share your take.