Honghurumeng/oc_sdk_ppt 下载入口在哪?GitHub、ZIP、clone 和首次启动这样走

时间:2026-07-10 16:20:02 来源:互联网

Honghurumeng/oc_sdk_ppt 是一个基于 Next.js 和 @opencode-ai/sdk 的本地 PPT 生成 Agent,真实入口在 GitHub 仓库 https://github.com/Honghurumeng/oc_sdk_ppt;想快速拿代码,可以在 GitHub 页面点 Code 下载 ZIP,也可以直接 clone 到本地。它的路线是:网页里填写主题与约束,后端驱动 LLM 产出大纲初稿和精修稿,人工确认后生成 HTML slides,再在本地构建 deck.pptx

这个项目不是只返回一份 PPT 文件的黑盒按钮。README 写得很清楚,它把“大纲优先”放在前面:先生成大纲,前端允许编辑和切换初稿、精修版、当前编辑内容,再进入 HTML slides 和 PPTX 构建。第一次打开时,建议从简单主题开始,并确认仓库、依赖、模型配置和本地输出目录。

Ian 小黑站在 Honghurumeng oc_sdk_ppt 的 GitHub 入口前,旁边有 ZIP、clone、Next.js 和 opencode.json

GitHub 页面、ZIP 和 clone 都通向同一份代码

仓库默认分支是 main,根目录能看到 README.mdpackage.jsonopencode.example.jsonsrcscriptspptxpublicimages。只想浏览源码,直接打开 GitHub 页面就够;要本地启动,clone 会比 ZIP 更方便后续更新。

git clone https://github.com/Honghurumeng/oc_sdk_ppt.git
cd oc_sdk_ppt
npm install
npm run dev

开发服务启动后访问 http://localhost:3000。前置条件里要有 Node.js 20+;README 还提醒 Playwright 运行环境需要准备好,macOS 上建议安装 Google Chrome,或者执行 npx playwright install 安装 Playwright 自带浏览器。项目依赖里能看到 nextreact@opencode-ai/sdkplaywright-corepptxgenjssharp

模型下拉框为空时,看 opencode.json

首次启动容易停在模型配置上。项目的模型列表来自 opencode.json,但这个文件通常不会提交到仓库,因为里面可能包含 API key。根目录提供了 opencode.example.json,本地可以先复制一份:

cp opencode.example.json opencode.json

复制后,把 provider 里的 options.apiKeybaseURLmodels 按自己的模型服务填好。示例文件里有 openai provider,也有兼容 OpenAI 格式的 myprovider。页面右上角的“LLM 配置”也能写入 opencode.json,接口会对 API key 做脱敏读取,写入后还能重载内嵌 opencode server。

如果本地已有外部 opencode server,可以用 OPENCODE_BASE_URL=http://localhost:5937 连接。走内嵌 server 时,默认 host 是 127.0.0.1、port 是 5937,端口占用会递增重试;Basic Auth 用户名固定为 opencode,密码可用 OPENCODE_SERVER_PASSWORD 指定。

Ian 小黑检查 Honghurumeng oc_sdk_ppt 从 outline.md 到 HTML slides、validate 和 deck.pptx 的产物

产物在 workspace/jobs,不在浏览器缓存里

创建任务时,后端会在本地启动任务流程。README 里的端到端说明写到,POST /api/ppt/jobs 会创建 job,生成 workspace/jobs/<jobId>/outline.initial.md,再新建会话做检查与精修,输出 workspace/jobs/<jobId>/outline.md。状态进入 awaiting_approval 后,前端可以继续编辑大纲。

确认大纲后,POST /api/ppt/jobs/<jobId>/approve 会进入生成阶段。preview 模式只生成 HTML slides 并在页面 iframe 里预览;pptx 模式会在校验 HTML 后构建 deck.pptx。生成出来的页面位于 workspace/jobs/<jobId>/slides/01.html02.html 这一类文件里,最终下载入口是 GET /api/ppt/jobs/<jobId>/pptx

本地检查还有两条脚本线:scripts/validate_slides.mjs 用 Playwright 校验 HTML slide 的 720pt × 405pt 尺寸和 overflow;scripts/build_deck.cjs 会调用 pptx/scripts/html2pptx.js,把 slides 目录转换成 PPTX。构建失败时,项目会尝试让 LLM 修复 HTML,再重试本地构建。

版本调整入口要和 PPTX 重新渲染配套看

项目不只做一次性生成。HTML slides 支持按意见调整,接口 POST /api/ppt/jobs/<jobId>/slides/adjust 可以修改全部页面或指定页面,并为变更页创建版本快照;POST /api/ppt/jobs/<jobId>/slides/activate 可以切换某页激活版本;切换后已有 PPTX 会失效,需要通过 POST /api/ppt/jobs/<jobId>/render 用当前 HTML slides 重新渲染。

README 把这个项目定位为“单机/本地”范式,任务状态写在同一个 Next 进程和本地 workspace/ 目录里。部署到普通服务器前,要把 opencode.json 的 key 管好;部署到无状态 serverless 前,还要重新处理任务持久化、后台执行和文件存储。

Honghurumeng/oc_sdk_ppt 时,把三件事放在前面:从 GitHub 页面拿到代码,补好 opencode.json 或外部 opencode server,生成后去 workspace/jobs/<jobId>/outline.mdslidesdeck.pptx。这样入口、模型和产物位置都清楚,后面调整版本、重新渲染 PPTX 就不会绕路。