5.2 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
open-slide
专为智能体(agent)打造的幻灯片框架。 用自然语言描述你的演示文稿——你的编程智能体会编写 React 代码。open-slide 负责画布、缩放、导航、热重载和演示模式,让智能体可以专注于内容。
每张幻灯片都会渲染到固定的 1920 × 1080 画布上。页面是任意的 React 组件,而非受限制的 DSL。
npx @open-slide/cli init my-slide
为什么选择 open-slide
幻灯片就是可视化代码。智能体擅长写代码。open-slide 是缺失的运行时,能将「做一套关于 X 的幻灯片」变成精美、可演示的 deck——无需离开对话。
亮点
🤖 面向智能体的创作
可与任意编程智能体(Claude Code、Codex、Cursor 等)配合使用。脚手架内置以下技能(skills):
/create-slide— 端到端起草整套 deck。会提出四个范围界定问题(主题与风格、页数、文字密度、动效 vs. 静态),选定 id、规划结构并编写页面。/slide-authoring— 1920 × 1080 画布、字号层级、配色与布局规则的技术参考。智能体在编写前会阅读此文档。
从一行提示到精美 deck,无需样板代码。
🎯 浏览器内检查器
在开发服务器中点击任意元素并添加注释——"改成红色"、"改为 'Open Slide Rocks'"、"缩小标题"。注释会以 @slide-comment 标记的形式持久化在源码中。运行 /apply-comments,智能体会应用所有待处理的修改,然后清除标记。
循环:演示 → 点击添加注释 → /apply-comments → 重复。
🖼️ 资源管理器 + svgl 标志搜索
通过内置资源面板管理每套 deck 的图片、视频和字体。通过集成的 svgl 目录搜索并拖入任意品牌标志——不用再到处找 SVG。
🎬 专业演示模式
支持键盘导航的全屏播放,另有带当前/下一张幻灯片预览、演讲者备注和计时器的演讲者模式(presenter mode)。为舞台而生,而不只是浏览器标签页。
📦 导出为静态 HTML 和 PDF
一条命令即可将 deck 导出为自包含的静态 HTML 站点或可直接打印的 PDF。无需服务器即可分享。
📁 幻灯片管理器
用自定义 emoji 将 deck 整理到文件夹中,并拖放重新排序。当你做了三套以上 deck 需要查找时很有用。
🚀 易于部署
输出纯静态构建——可一键部署到 Vercel、Cloudflare Pages、Zeabur、Netlify 或任意静态托管服务。无需服务器、无需运行时、无厂商锁定。
快速开始
npx @open-slide/cli init my-slide
cd my-slide
pnpm dev
脚手架工作区已为 Claude Code 预配置好智能体技能。之后可通过智能体驱动 deck——或直接编辑 slides/<id>/index.tsx。硬性规则见 CLAUDE.md。
仓库结构
本仓库为 pnpm + Turbo monorepo。
| 路径 | 说明 |
|---|---|
| packages/core | @open-slide/core — 运行时(首页、幻灯片查看器、演示模式、检查器)、Vite 插件,以及 open-slide 开发/构建/预览 CLI。 |
| packages/cli | @open-slide/cli — npx @open-slide/cli init 脚手架。生成最小工作区,Vite/React/tsconfig 隐藏在 core 内部。 |
| apps/demo | 通过 workspace:* 使用 @open-slide/core 的示例工作区。用于框架的本地开发。 |
开发
pnpm install
pnpm dev # runs the demo against the local @open-slide/core
pnpm build # builds all packages
pnpm check # type-checks all packages
pnpm lint # lints via biome
Star 历史
如果 open-slide 对你有帮助,请在 GitHub 上 给仓库点 star — 这能帮助其他人发现该项目。
支持
如果 open-slide 对你有帮助,欢迎支持开发:
许可证
MIT