AI 工具 19 min read ★ Featured

open-slide:用 Claude Code 寫簡報,4 千星 AI agent 簡報框架

open-slide 是台灣開發者 Yiwei Ho(@1weiho)做的開源簡報框架,定位是「給 AI coding agent 用的」:你在對話框講想要什麼,Claude Code 幫你把每一頁寫成 React 投影片,框架負責 canvas、縮放、導航、hot reload、演講模式這些雜事。上線沒多久 GitHub star 就從 4 千衝破 4.6k,repo 卡片已顯示 5k。這篇拆解它跟 Slidev / reveal.js 的根本差異(每頁是任意 React component、跑在固定 1920×1080 canvas)、npx 一行安裝、三個內建 agent skill(/create-slide、/slide-authoring、/apply-comments)怎麼配合,以及 inspector 點一下留 comment 讓 agent 改稿的工作流,附可直接抄的指令。

本文目錄 · 11
open-slide AI 簡報框架官方主視覺,Claude Code 寫 React 投影片
TL;DR
- open-slide 是台灣開發者 Yiwei Ho(@1weiho)做的開源簡報框架,定位是「給 AI coding agent 用的」:你在對話框講想要什麼,Claude Code(或 Codex / Cursor)幫你寫成 React 投影片。
- 上線沒多久,GitHub star 已從 4 千一路衝破 4.6k,repo 卡片現在直接顯示 5k Stars,MIT 授權。
- 它跟 Slidev、reveal.js 最大的差別:每頁不是 markdown 也不是受限 DSL,而是任意 React component,跑在固定 1920×1080 canvas 上。
- 安裝就一行 npx @open-slide/cli init,scaffold 出來就附三個給 Claude Code 的 skill:/create-slide/slide-authoring/apply-comments
- 我自己最有感的點:寫程式跟做投影片終於不用切換工具,整個流程留在 agent 裡。

📌 目錄

open-slide 是什麼?一句話定位

open-slide 是一個 React-first 的簡報框架,官方 tagline 寫得很直接:「The slide framework built for agents. Describe your deck in natural language — your coding agent writes the React.」翻成白話就是:你用自然語言描述要做什麼簡報,coding agent 幫你把每一頁寫成 React,open-slide 負責 canvas、縮放、導航、hot reload、演講模式這些雜事。

它的作者是台灣全端開發者 Yiwei Ho(何宜韋,GitHub / X / Threads 都是 @1weiho)。專案 2026 年才公開,star 數從 4 千一路往上,我去 repo 抓 social preview 的時候卡片已經顯示 5k Stars(README 上的精確數字是 4.6k,這幾天還在漲)。授權是 MIT,可以安心拿去用。

1weiho open-slide GitHub repo 卡片,5k stars 314 forks

技術組成也很單純:TypeScript 佔 95.5%,底層是 React + Vite,monorepo 用 pnpm + Turbo 管。換句話說,它不是另一套你得重新學的簡報 DSL,而是「把你已經會的 React 拿來當投影片引擎」。

我為什麼盯上這個工具

我教 AI 課、也用 Claude Code 在開專案,做投影片是每週都會碰的事。我自己的流程一直有個斷點:用 Claude Code 寫程式、debug、改 config 都很順,一旦要產投影片,就得跳出去開 Gamma、PowerPoint,或寫 Slidev 的 markdown。 工具一換,agent 累積的上下文就斷了——它知道我這個專案在幹嘛,卻沒辦法直接幫我把成果做成一頁一頁的 deck。

open-slide 補的就是這一段。它把「做簡報」這件事拉回對話框:agent 本來就在寫 React,現在投影片也是 React,於是「幫我把這個專案做成 8 頁的介紹 deck」變成 agent 能一口氣接住的任務。對我這種「同一份內容要先寫成 code、再講成課」的人,少一次工具切換就是少一次心流斷裂。

這不是「酷炫的玩具」,而是把一個真實流程的接縫補起來。下面拆它怎麼做到。

⚡ 核心設計:1920×1080 canvas + 任意 React

open-slide 的設計哲學就兩條,但這兩條決定了它跟其他簡報工具的根本差異。

固定 1920×1080 canvas

官方說明:「Every slide renders into a fixed 1920 × 1080 canvas.」每一頁都在一個固定 1920×1080 的畫布上排版,框架負責把這個畫布等比縮放到你的螢幕。這對 agent 來說是關鍵——它不用煩惱 RWD、不用算各種螢幕尺寸,只要在一個確定的座標系裡擺東西,所見即所得。你開全螢幕播放時,open-slide 自動把 canvas scale 到剛好填滿。

每頁是任意 React component,不是 DSL

第二條:「Pages are arbitrary React components, not a constrained DSL.」這是它跟 Slidev / Marp 的分水嶺。Slidev 用 markdown + Vue 擴充語法,reveal.js 用 HTML section,都有各自的「投影片語言」要學。open-slide 沒有——一頁就是一個 .tsx,你想放什麼 React 元件就放什麼,動畫、互動圖表、自訂 layout 全部用你已經會的 React 寫法。slides 檔案放在 deck 的 slides 目錄下,跟著 repo 一起版控。

prompt

/create-slide

pnpm dev + hot reload

inspector 留 comment

/apply-comments 套用

你: 自然語言描述

Claude Code

寫 .tsx 投影片

1920x1080 Canvas

瀏覽器即時預覽

這個迴圈就是 open-slide 的全部精髓:你講、agent 寫、瀏覽器即時長出來、你點一下留意見、agent 再改。 沒有「打開設計軟體拖拉」這一步。

🎨 三個 agent skill 怎麼配合

scaffold 出來的專案會內建三個給 Claude Code 的 skill(同一批檔案 Codex / Cursor / Gemini CLI / OpenCode / Windsurf / Zed 也能讀)。這三個是整個工作流的骨架:

Skill做什麼什麼時候用
/create-slide問 4 個 scoping 問題(主題、美學偏好、頁數、文字密度、要不要動畫),選一個 deck ID,規劃結構,把每頁寫出來從零生一份 deck
/slide-authoring技術參考:1920×1080 canvas、type scale、配色、layout 規則。agent 動筆前先讀它,確保風格一致agent 內部查規範用
/apply-comments處理 @slide-comment 標記(你在瀏覽器 inspector 留的註解),套用所有待辦修改後清掉標記改稿迴圈
/create-slide 那 4 個 scoping 問題設計得很實用——它不會一上來就亂生,而是先問清楚「你要幾頁、文字多不多、要不要 motion」,這正是新手最容易漏掉的簡報前置決策。/slide-authoring 則是把「好看的投影片該遵守什麼排版規則」externalize 成一份 agent 隨時可查的文件,避免每頁風格各自為政。

⭐ open-slide vs Slidev vs reveal.js

我把三個常被拿來比的 React/前端系簡報工具列成表。注意 open-slide 沒有在官方 README 裡直接點名比較,下面是我根據各專案文件整理的對照,幫你判斷選哪個。

維度open-slideSlidevreveal.js
每頁寫法任意 React .tsxMarkdown + VueHTML section
為 AI agent 設計✓(核心定位)△(可手寫餵 agent)
內建 agent skill/create-slide
視覺 inspector 改稿✓ 點元素留 comment
固定 canvas✓ 1920×1080△ 自適應△ 自適應
演講者模式
Export HTML / PDF
學習曲線會 React 就上手要學 Slidev 語法要寫 HTML/CSS
一句話總結選法:如果你的工作流已經繞著 coding agent 轉、而且寫得動 React,open-slide 是目前接縫最少的那個。 如果你偏好純 markdown、不想碰 component,Slidev 還是很順手。reveal.js 則是最老牌、生態最大,但對 agent 不友善。

📝 安裝與第一份 deck

open-slide 安裝很乾淨,沒有一堆前置。

前置依賴

依賴最低需求驗證指令
Node.js建議 20+(Vite 7 系需求)node -v
pnpm官方範例用 pnpmpnpm -v
coding agentClaude Code / Codex / Cursor 任一
官方 README 沒有明寫 Node 最低版本;上表的 Node 20+ 是我依它用 Vite 的常見需求推的,正式跑之前以你機器上 node -v 跟 repo 的 package.json engines 欄位為準,不要照抄。

一鍵 scaffold + 啟動

把下面三行貼給 Claude Code(或直接在 terminal 跑),一次到位:

npx @open-slide/cli init my-slide
cd my-slide
pnpm dev

跑完 pnpm dev,open-slide 會起一個本地 dev server,瀏覽器打開就看得到第一份 deck 的即時預覽,改 .tsx 會 hot reload。

驗證有沒有成功

成功的判斷標準不是「terminal 沒紅字」,而是 round-trip 看得到畫面

  • pnpm dev 後 terminal 印出 local URL(Vite 的 Local: http://localhost:5173/ 之類)。

  • 瀏覽器打開那個 URL,看到 1920×1080 的投影片被縮放填進視窗。

  • 隨手改一頁 .tsx 的文字,存檔,瀏覽器立刻變——這才算真的跑起來。
  • 接著就能對 Claude Code 下 /create-slide,給它主題,讓它幫你生整份。export 成 static HTML 或 print-ready PDF 官方說是「one command」搞定,具體的 export 指令旗標我沒在公開文件頁找到明列,請以 scaffold 出來的 repo 內 package.json scripts 或 README 為準,不要照我憑空編的指令跑。

    🧠 inspector:點一下、留個 comment,agent 幫你改

    這是 open-slide 我覺得最聰明的一塊,也是它「為 agent 設計」最具體的體現。

    dev server 跑起來後,你可以直接點投影片上的任何元素,附一句話的 comment,像「make this red」「這段字改小一點」。這些 comment 不會憑空消失——它們會以 @slide-comment 標記的形式寫進原始碼。等你累積一批改動,對 agent 下 /apply-comments,它就把所有待辦一次套用、改完清掉標記。

    為什麼這個設計重要?因為它解決了「人看得到問題、但講不清座標」的老痛點。你不用跟 agent 描述「左上角第三個圖示往右兩個字距」,你就點它,agent 從標記知道你指的是哪個 node。視覺意圖跟程式碼之間,open-slide 用 inspector + @slide-comment 搭了一座橋。

    踩坑與該注意的地方

    我整理幾個上手前值得先知道的點,避免你踩。

    ⚠️ 它預設綁 pnpm,不是 npm

    官方範例 scaffold 完是 pnpm dev。如果你機器上只有 npm,先 npm i -g pnpm 裝起來,不然 pnpm: command not found。這是 monorepo 專案常見的設定,別硬用 npm 去跑它的 workspace。

    ⚠️ export 指令官方頁沒明列,別照網路文章亂抄

    我查 README、官網 open-slide.dev、AGENTS.md 三個來源,都只寫「one command export to HTML & PDF」,沒給確切指令字串。網路上若有人寫得斬釘截鐵(例如某個 pnpm export --pdf),請先回 repo 的 package.json scripts 對一下再跑,不要把別人(包含我)沒驗證過的指令當真。這是工具還新、文件還在補的正常狀態。

    ⚠️ 「任意 React」是雙面刃

    每頁是任意 component 自由度極高,但也代表沒有人幫你守排版下限。這就是 /slide-authoring 存在的理由——它把 type scale、配色、layout 規則寫成 agent 必讀的參考,等於幫你補上「設計護欄」。如果你跳過它、放任 agent 自由發揮,很容易每頁字級、間距都不一致。要讓成品看起來像一份 deck 而不是 8 個獨立網頁,記得讓 agent 先吃 /slide-authoring

    ⚠️ 它是 dev-time 工具,不是線上協作平台

    open-slide 的迴圈跑在你本機的 dev server 上,slides 跟著 repo 版控。它不是 Google Slides 那種多人即時協作。團隊協作走的是 git(PR、review),不是雲端同編。這個取向對工程團隊很自然,但如果你期待的是「丟連結給同事即時一起拉」,那不是它的場景。

    ❓ 常見問題 FAQ

    Q:open-slide 一定要用 Claude Code 嗎?沒有 agent 能用嗎?
    A:不一定要 Claude Code。官方說同一批 skill 檔案 Codex、Cursor、Gemini CLI、OpenCode、Windsurf、Zed 都能讀。你甚至可以完全手寫 .tsx——因為每頁本來就是普通 React,agent 只是讓「用講的生出投影片」變可能,不是必要條件。

    Q:它跟 Claude 自己的簡報功能(Claude Design / Artifacts)差在哪?
    A:Claude 內建的簡報生成是封閉的、跑在 Anthropic 服務裡,遇到複雜需求容易撞限制。open-slide 是開源、跑在你本機、產物是版控的 React 原始碼,你對每一頁有完全控制權,也能接任何 agent。要客製化、要進 git、要離線,open-slide 自由度高得多。

    Q:做出來的投影片怎麼分享給沒裝環境的人看?
    A:open-slide 支援把整份 deck export 成 self-contained 的 static HTML 或 print-ready PDF。HTML 版是單檔靜態站,丟到任何靜態 host(GitHub Pages、Vercel)就能給人看,對方不用裝任何東西。

    Q:我完全不會 React,用得動嗎?
    A:能跑,但會卡。因為 agent 幫你寫,基本生成你不碰 code 也行;可是一旦要微調、debug 某頁壞掉,看得懂 React 會差很多。建議至少懂 JSX 跟 component 概念再上手,不然遇到問題只能一直丟回給 agent 賭它修對。

    Q:1920×1080 固定 canvas,那在手機或不同比例螢幕會怎樣?
    A:框架會把整個 1920×1080 畫布等比縮放塞進你的視窗,所以比例維持 16:9、內容不變形,只是整體變小或變大。它不是 RWD 重排,是「固定畫布 + 縮放」,這也是它能保證 agent 所見即所得的原因。

    🔗 延伸資源

    開源簡報工具一直很多,但「為 coding agent 而生」這個切角,open-slide 是少數把它做成核心定位、而不是事後加掛的。如果你本來就活在 Claude Code 裡,這個工具補的接縫,你裝下去當天就有感。
    author
    陳彥彤

    AI 工程師 · AI 顧問。Java 後端 8 年、AI 工程師 2 年。AI 內訓 · AI 導入顧問 · 前後端與雲端培訓。

    support

    覺得文章有用可以到 GitHub 給個 star,或是透過信箱聊聊 AI 內訓、AI 導入顧問或前後端 / 雲端培訓。

    related

    相關文章

    [AI 工具] · 19min
    CodeGraph vs grep:AI 讀 codebase 少 81% 工具呼叫的知識圖譜
    CodeGraph 把整個 codebase 預先建成一張「程式碼知識圖譜」(symbol 節點 + call 邊),讓 Claude Code、Codex、Cursor 這類 AI agent 不用一個一個檔案爬,一次 codegraph_explore 就拿到相關 source、call path 跟改動波及範圍。官方在 7 個真實開源專案實測:VS Code 少 81% tool call、少 64% token,Alamofire 便宜 40%、快 33%。這篇把它是什麼、三層架構(tree-sitter + SQLite + file watcher)、安裝三件套、跟 grep / LSP 的差別、以及我接的時候要注意的點寫一遍。100% 本機跑、MIT、支援 23 種語言、8 個 agent。
    [AI 工具] · 15min
    agent-browser 截圖標註:3 招讓 AI 看著畫面操作
    agent-browser 能在截圖上畫圖、寫字——不是給人塗鴉的小畫家,而是自動把 AI 看得懂的標記畫進截圖像素裡。這篇接續上一篇純文字流,實測它在截圖上畫東西的三種畫法——screenshot --annotate(在每個可互動元素上畫編號 [1][2][3] 並寫出對照清單,每個對應 @eN ref,截完可直接 click @e2)、highlight(在指定元素外畫高亮框做聚焦驗證)、diff screenshot(把畫面差異畫成像素級比對圖,抓「長相變了」,配合 diff snapshot 抓「結構變了」)——把只能讀純文字 snapshot(一頁 200-400 tokens)的 agent 升級成「看著畫面操作」,補上 icon 按鈕、canvas、純視覺狀態這些純文字抓不到的盲區。核心是 annotate 把視覺感知跟動作指令對齊:畫上去的 @eN 編號文字流跟視覺流共用同一套 ref,多模態模型看圖推理完直接產生跟純文字流一樣的指令。踩坑含 annotate 只支援 CDP 後端(Chrome/Lightpanda)Safari 不行、ref 會過期、diff threshold 不調會一直假警報。版本 v0.27.2,全程 Mac 實測。
    [AI 工具] · 17min
    agent-browser 是什麼?AI agent 專用瀏覽器自動化 CLI 實戰(含 Claude Code 接法)
    agent-browser 是 Vercel Labs 出的 AI agent 專用瀏覽器自動化 CLI,用 Chrome 跑、不依賴 Playwright。它最大的差別是「snapshot + refs」——回傳精簡的可訪問性元素清單(每頁約 200-400 tokens),而不是整坨 HTML。我今天把它裝到 Mac、跑通一個登入流程、再裝成 Claude Code skill,全程實測。這篇是覆盤:安裝怎麼裝、登入流程怎麼跑(snapshot→fill→click→截圖 round-trip)、踩了哪些坑(Hacker News 被反爬擋、ref 會過期、nvm 路徑可攜性),以及怎麼用「薄存根 + CLI 動態供給」把它接進 Claude Code 對話直接調用。