joeseesun/qiaomu-bento-ppt

GitHub: joeseesun/qiaomu-bento-ppt

一个能将简报和笔记转化为自带查看器与编辑器的独立 HTML 演示文稿文件的 AI 技能工具。

Stars: 16 | Forks: 2

# qiaomu-bento-ppt

Stars Forks Issues Last commit License

``` npx skills add joeseesun/qiaomu-bento-ppt ``` [![qiaomu-bento-ppt 真实生成的 bento 演示文稿](https://static.pigsec.cn/wp-content/uploads/repos/cas/da/da036dd4a73a34cb2f958b6e4831a839a1e5822acc4f97d4ae1bb6083199f8f9.png)](examples/qiaomu-bento-ppt-intro.bento.html)

下载示例 deck · 查看 deck plan · 查看生成脚本

真实输出不是一段 JSON,而是一套可交付文件: ``` 市场洞察-deck-plan.md 市场洞察-deck.json 市场洞察.bento.html ← 双击即可编辑、演示、保存 reports/deck-validation.json ← identity + structure + shell gate ``` 仓库里的[介绍 deck](examples/qiaomu-bento-ppt-intro.bento.html)就是由本 skill 生成并在真实浏览器中验收的成品;对应的 [deck plan](examples/qiaomu-bento-ppt-intro-deck-plan.md)、 [JSON](examples/qiaomu-bento-ppt-intro.json)、 [生成脚本](examples/build_intro_deck.py)和 [验证报告](reports/intro-deck-validation.json)全部可复现。 **[中文](#中文) | [English](#english)** ## 中文 ### 为什么值得用 普通 PPT agent 容易停在“标题 + 三个 bullet”。`qiaomu-bento-ppt` 会先判断 受众、结论和叙事弧,再把不同内容交给真正合适的演示能力: - 趋势和量级 → chart - 规格和价格 → table - 同一对象的前后变化 → morph - 次级解释 → state slide - 主视觉 → image + scrim + ken-burns - 流程和时间线 → path / connector + motion - 关键数字 → countUp 最终的 `.bento.html` 同时带着文档、viewer 和 editor。收件人不需要安装 PowerPoint,也不需要登录云服务。 ### 真正独立运行 这个仓库已经内置: - `upstream.lock.json` 固定的官方 bento/slides release shell - 官方 bento agent guide - 官方格式规范 - JSON 提取、构建、身份保护和 shell 校验脚本 因此安装后不需要 clone 原始 bento 项目,也不需要联网下载运行时。 `BENTO_REPO` 只用于上游兼容性复核,不是前置条件。 ### 跟随上游,但不在运行时漂移 普通使用始终读取安装包里的固定快照。维护时可以检查 nyblnet/bento 的最新 正式 release: ``` python3 scripts/sync_upstream.py \ --report reports/upstream-sync-check.json ``` 确认需要刷新后: ``` python3 scripts/sync_upstream.py \ --update \ --report reports/upstream-sync.json ``` 同步器要求 shell、官方 skill、`docs/agents.md` 和格式规范来自同一个 release, 全部暂存并验证成功后才替换。仓库还会每日检查一次上游;发现新 release 时 只创建带完整门禁结果的 PR,不会绕过 review 直接修改 `main`。 ### 安装 1. 安装 skill: npx skills add joeseesun/qiaomu-bento-ppt 2. 验证: test -f ~/.agents/skills/qiaomu-bento-ppt/SKILL.md python3 ~/.agents/skills/qiaomu-bento-ppt/scripts/bento_deck.py locate `locate` 应返回 `"standalone": true`。 ### 你可以直接这样说 - “用 qiaomu-bento-ppt 把这份报告做成 12 页离线演示文稿。” - “修改这个 `.bento.html`,保留 docId,增加 morph 和演讲者备注。” - “跳过确认,按默认决策型结构生成一个单文件 HTML 发布会 deck。” - “把这些数据做成可交互图表,并在浏览器里验收。” ### 工作流 1. 生成 `deck-plan.md`:受众、目标、叙事弧、逐页计划、视觉方向和证据。 2. 读取包内固定版本的官方 bento 规范。 3. 新建 `deck.json`,或从既有 `.bento.html` 提取 JSON。 4. 把内容映射到 chart、table、morph、state、media 和 motion。 5. 使用包内 shell 构建新的 `.bento.html`,默认不覆盖源文件。 6. 检查文档结构、`docId`、文档块和 shell。 7. 在真实浏览器中检查编辑态、演示态、字体、图片、图表和动效。 ### 前置条件 - [ ] 安装时需要 Node.js / npx:`node --version && npx --version` - [ ] 运行时需要 Python 3.10+:`python3 --version` - [ ] 需要现代浏览器打开 `.bento.html` - [ ] 如使用外链图片或视频,需自行保证网络可用性和版权 正常生成不需要 API key、账号、bento checkout 或云服务。 ### 命令行工具 检查独立资产: ``` python3 scripts/bento_deck.py locate ``` 新建 deck: ``` python3 scripts/bento_deck.py build deck.json \ --output result.bento.html \ --new-document \ --report reports/deck-validation.json ``` 编辑已有 deck,同时锚定原始身份和 shell: ``` python3 scripts/bento_deck.py extract original.bento.html --output deck.json python3 scripts/bento_deck.py build deck.json \ --identity-source original.bento.html \ --output original.updated.bento.html \ --report reports/deck-validation.json ``` 脚本会拒绝 `deck.json` 与原文件 `docId` 不一致的构建。 ### 可选配置 | 变量 | 必需 | 说明 | |---|---:|---| | `BENTO_SHELL` | 否 | 显式使用另一份可信 bento shell | | `BENTO_REPO` | 否 | 仅用于上游项目兼容性 gate | ### 验证这个 skill ``` python3 scripts/validate_skill.py . python3 scripts/trigger_eval.py . \ --cases evals/trigger_cases.json \ --output reports/trigger-eval.json python3 evals/output/run_fixture.py \ --output reports/output-eval.json ``` fixture 会在临时目录完成新建和编辑两条路径,证明: - 内置 shell 可以独立构建 deck - 新文档只 mint 一次 UUID - 编辑时 `docId` 保持不变 - source deck 和 fixture 都不会被改写 - 生成文件通过结构和 shell gate ### 风险与限制 - 默认会写入计划、JSON、报告和新的 `.bento.html`。 - 默认拒绝覆盖已有输出;只有明确需要时才使用 `--overwrite`。 - 外链媒体会破坏完全离线承诺。 - 固定 shell 不会自动升级;上游更新需要重新做兼容性和 clean-install 验证。 - 脚本通过不等于视觉正确。没有实际打开浏览器时,必须标记 `missing evidence: browser visual review`。 - 本 skill 不执行 bento release、签名或部署,也不会读取签名密钥。 ### 故障排除 | 问题 | 原因 | 解决 | |---|---|---| | `standalone: false` | 安装包缺少内置 shell 或规范快照 | 重新运行 `npx skills add joeseesun/qiaomu-bento-ppt` | | `output exists` | rollback boundary 阻止覆盖 | 换输出名;明确需要时才加 `--overwrite` | | `input docId does not match` | 编辑 JSON 与原 deck 身份不一致 | 从原文件重新 extract,并传 `--identity-source` | | shell gate 失败 | 文档块损坏或 shell 不兼容 | 使用包内 shell 重新 build,不要手工拼 HTML | | deck 能打开但画面不对 | 字段遗漏、越界、素材或字体不可用 | 查 validation report,再做浏览器验收 | | 视频离线不可播放 | 使用了外链媒体 | 改成小型内嵌 data URI,或明确联网依赖 | | 上游显示 `outdated: true` | 官方已有新 release | 审阅同步 PR,完成浏览器 gate 后再合并;普通生成不受影响 | ## English `qiaomu-bento-ppt` 将简报、笔记、报告、数据集或现有的 `.bento.html` 文件转换为完整的 bento/slides 演示文稿。 它是独立运行的:本仓库包含了版本锁定的 bento shell、 官方创作参考文档以及确定性的构建/验证工具。 安装后无需进行 bento checkout 或联网下载。 上游维护是明确且一致的:`scripts/sync_upstream.py` 会检查 nyblnet/bento 的最新官方 release,并可以从同一个 tag 刷新 shell 及 所有三个参考文档。每日运行的 GitHub workflow 会在出现新 release 时发起一个供 review 的 PR;正常的 deck 生成过程永远不会进行自我更新。 上面的预览图是由本 skill 生成、并在浏览器中审查过的真实的七页产品 deck。下载 [单文件 deck](examples/qiaomu-bento-ppt-intro.bento.html),查看其 [deck plan](examples/qiaomu-bento-ppt-intro-deck-plan.md),或使用 [生成脚本](examples/build_intro_deck.py) 进行复现。 ### 安装 ``` npx skills add joeseesun/qiaomu-bento-ppt ``` 验证: ``` python3 ~/.agents/skills/qiaomu-bento-ppt/scripts/bento_deck.py locate ``` 预期输出:`"standalone": true`。 ### 自然语言示例 - “用 qiaomu-bento-ppt 把这份报告做成 12 页的离线 bento 演示文稿。” - “修改这个 `.bento.html` deck,保留其 docId,并添加 morph 过渡效果。” - “创建一个带有图表和演讲者备注的单文件 HTML 产品发布会 deck。” ### 它保护了什么 - 纯文本的 `#bento-doc` splice contract - 编辑时稳定的文档身份 - 新文档的一次性 UUID minting - 源文件回滚 - 结构和 shell 完整性 - 针对浏览器和人工视觉 review 的明确证据边界 ### 前置条件 - [ ] 用于安装的 Node.js / npx - [ ] 用于构建和验证的 Python 3.10+ - [ ] 用于编辑和展示生成文件的现代浏览器 无需 API key 或 bento 源码 checkout。 ### 限制 内置的 shell 是固定版本的,不会自动更新。外部媒体会破坏 完全离线的承诺。机械性的验证无法替代真实的 浏览器审查。 ## 关于向阳乔木 向阳乔木(乔向阳 / Joe)是一位实践型 AI 产品与内容创作者,长期把前沿 AI 变化转译成可复用的工作流、产品判断、AI 编程实践、AI 搜索实践和 GEO/AI 营销方法。 - 个人网站: https://qiaomu.ai - 博客: https://blog.qiaomu.ai - X: https://x.com/vista8 - GitHub: https://github.com/joeseesun/ - 微信公众号: 向阳乔木推荐看 ## License 该 skill 代码采用 MIT 许可,Copyright (c) 向阳乔木。 内置的 bento 资产同样保留 MIT 许可,Copyright (c) 2026 The Bento authors. 详见 [NOTICE.md](NOTICE.md) 和 [THIRD_PARTY_LICENSES/bento-MIT.txt](THIRD_PARTY_LICENSES/bento-MIT.txt)。
标签:Bento UI, HTML, MITM代理, 后端开发, 多模态安全, 演示文稿, 生产力工具, 自动化生成, 逆向工具