試用範例
本頁的範例是程式碼片段,而非完整的 mod。每個範例都是一個元素及其內部巢狀內容的程式碼。 若要在您自己的終端機中查看範例,請依照以下步驟建立小型 mod,並將範例貼入其中。此 mod 會新增一個/gallery 命令,開啟一個窗格並在其中繪製範例。窗格在寬版全螢幕終端機中是逐字稿旁的側邊欄,否則則是提示詞上方的框線區域。
1
建立 mod
建立一個名為 在 將程式碼儲存為
gallery 的目錄,並在其中建立 .claude-plugin 和 hooks 目錄。建立 mod 說明了這些檔案。將 manifest 儲存為 gallery/.claude-plugin/plugin.json:gallery/.claude-plugin/plugin.json
gallery/hooks/hooks.json 中指定您的進入點:gallery/hooks/hooks.json
gallery/hooks/register.js。它會新增一個開啟窗格的 /gallery 命令,並在該窗格中繪製 Plain text:gallery/hooks/register.js
2
執行 mod
在您的 shell 中,從包含 在 Claude Code 提示字元中,執行
gallery 的目錄啟動 Claude Code:/gallery。會開啟一個顯示 Plain text 的窗格。3
換入範例
從本頁複製一個範例。在
register.js 中,將其貼上以取代 Text({ children: ['Plain text'] }),使其接在 return 之後,然後儲存檔案。每次儲存時 Claude Code 都會重新載入模組,因此再次執行 /gallery 即可查看新範例。挑選元素
範例依您想在螢幕上呈現的內容分組:- 顯示文字:
Text、Markdown和Link - 顯示程式碼與變更:
Code - 排列元素:
Box - 接收輸入:
Button、Input和Select - 繪製圖片:
Raster、Svg、Image和Client
顯示文字
有三個元素可將文字呈現在螢幕上:Text 用於套用您自己的樣式,Markdown 用於已格式化的內容,Link 則用於 URL。
Text
Text 會以您指定的樣式繪製字串。此範例為每種樣式各顯示一行:


dimColor 會以灰色繪製文字。backgroundColor 只會填滿與文字等寬的範圍。
Markdown
Markdown 會以 Claude 回覆的格式來格式化文字。請將內容傳入 text,而非 children:


# 符號。行內程式碼會以彩色繪製,不含其反引號。引文會以斜體繪製,左側有一條直線。
Link
Link 會繪製一個標籤,後面接著其 URL:


顯示程式碼與變更
Code 會以 Claude Code 本身的語法色彩繪製原始碼文字,或繪製差異。
Code
指定 language,或傳入 path 讓 Claude Code 據以推斷語言。使用 startLine 時,各行會從該數字開始編號:


以 Code 顯示差異
使用 format: 'diff' 時,source 是一個或多個 unified diff 區塊:


@@ 行。當移除的行與新增的行相似時,有變更的字詞會以較深的底色顯示。
排列元素
Box
Box 會將其內部的內容以列或欄的方式排列,並可繪製邊框。此範例在一個有邊框的方塊上方放置一列文字:


接收輸入
Button、Input 和 Select 是控制項:使用者以 Tab 在它們之間移動,並使用取得焦點的那一個。鍵盤焦點與快速鍵說明了哪些按鍵會傳送到它們。
以 focus: true 開啟窗格會讓窗格取得鍵盤焦點。輸入的字母會在 Input 取得焦點後傳送給它,因此請為應在窗格開啟時立即接收輸入的欄位加上 autoFocus: true。
Button
按鈕會執行 onPress。此範例顯示預設形式、帶有快速鍵的 plain 按鈕,以及一個暗淡的按鈕:




Input
Input 是單行文字欄位,會在使用者按下 Enter 時執行 onSubmit:


⏎ 之後顯示 submitLabel:




Select
Select 讓使用者從數個選項中挑選一個,並以該選項的 value 執行 onSelect:






繪製圖片
Raster
Raster 是由彩色字元儲存格組成的網格,可用於熱度圖、迷你走勢圖或遊戲棋盤。由終端機負責繪製。此範例使用起始模組中的 cellsOf 函式,將儲存格打包成 Raster 接受的字串。繪製彩色儲存格網格對此有所說明:


Raster 會將每個色彩近似為較小調色盤中的顏色,因此 0x2e7d32 會繪製為 #337733。
Svg
Svg 會在 Desktop 應用程式中繪製 SVG 文件:
Svg 的窗格會以空白狀態開啟。若要在該處繪製其他內容,請檢查 e.surface 並回傳不同的樹狀結構。
Image 和 Client
另有兩個元素在此沒有範例。Image 會在終端機中繪製 PNG 或原始像素。Client 是由您的第二個檔案負責繪製的區域,用於動畫和指標輸入。元素參考列出了它們的 props。
了解 mod 可以繪製的位置
這些範例都在窗格中繪製。Mod 也可以在其他位置繪製,並呼叫 Claude Code 替它顯示內容:- 窗格與橫帶:挑選繪製位置
- Claude Code 本身的列,例如 spinner:變更 Claude Code 既有的繪製內容
- Toast、狀態列與日誌行:在不開始回合的情況下顯示內容
- 問題對話框:保留工具呼叫直到使用者做出決定