ClaudeMods
☰
JA
● 0 人がオンライン ・閲覧 0 回
スポンサー作品を投稿
GitHub リポジトリ · 投稿者 oMaN-Rod

quest-widget

セッションをダンジョン探索として表示します。回ごとに部屋、ツール呼び出しごとにモンスター、チェック成功で戦利品。ヒーローはセッション間で引き継がれます。

oMaN-Rod@oMaN-Rod

oMaN-Rod/claude-code-widgets/tree/main/plugins/quest-widget

翻訳済み

この mod について

Claude Code Widgets

顯示在 Claude Code 提示列下方的小卡片,或在全螢幕時停駐在逐字稿旁邊。每個 widget 都是獨立的外掛,可用斜線指令切換。

它最初只有幾個實用 widget(context、usage、file tree),後來越做越多:現在共有 61 個,從 git 狀態和回合計時器,到像素螃蟹、地城探險與 Tetris,應有盡有。

インストール

marketplace を追加し、レイアウトプラグインと必要な widget をインストールします:

/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets

每個 widget 都需要 widgets,也就是負責放置卡片的版面配置外掛。

需要支援 mod(function hook)的 Claude Code 版本。mod API 目前是搶先體驗,版本更新時可能會變更。

Widgets

レイアウト

所有 widget 都需要。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | カードをプロンプトの下、上、または全画面時に逐字稿の横へ配置します |

セッション

Claude 正在做什麼,以及這些操作花費多少。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | context window を積み上げバーで表示し、/context のカテゴリごとに色を変えます | | usage-widget | /usage-widget | レート制限ウィンドウごとのバー、リセットまでの時間、セッションコスト | | timer-widget | /timer-widget [on\|off\|clear] | 現在の回の経過時間、直前・平均・最長の回、スパークライン | | activity-widget | /activity-widget [on\|off\|clear] | 最新のツール呼び出し、その所要時間、失敗したかどうか | | tasks-widget | /tasks-widget [on\|off\|clear] | Claude が進めているタスク一覧と進捗バー | | checks-widget | /checks-widget [on\|off\|clear] | 最新のテスト、lint、ビルドの実行結果:成功/失敗、所要時間、経過時間 | | timeline-widget | /timeline-widget [on\|off] | 回をチャートで表示:時間軸上のツール呼び出しごとのバーと、重ねて表示する並列呼び出し | | board-widget | /board-widget [on\|off\|clear] | Claude が pin ツールで自分自身に書くステータスボード:目標、発見、未解決の質問 | | forecast-widget | /forecast-widget [on\|off\|clear] | 回ごとの context 増加をチャートで表示し、圧縮までの残り回数を示します | | guard-widget | /guard-widget [on\|off\|clear] | このセッションの権限チェック:許可、確認、拒否と、繰り返し確認される内容 | | stream-widget | /stream-widget [on\|off] | Claude が書いている間、毎秒 token のゲージとスパークラインをリアルタイム表示(文字数から推定) | | sessions-widget | /sessions-widget [on\|off] | このマシンで開いている他の Claude Code セッション:フォルダー、ブランチ、稼働中またはアイドル |

プロジェクトと git

工作樹的狀態。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | file-tree-widget | /file-tree-widget | プロジェクトディレクトリ。クリックでフォルダーを展開します | | git-widget | /git-widget | ブランチ、ahead/behind、staged、changed、untracked の数と最後の commit | | changes-widget | /changes-widget [on\|off\|clear] | このセッションで編集したファイルを最新順に表示し、各ファイルの編集回数を示します | | commits-widget | /commits-widget | セッション開始後に作成された commit | | todos-widget | /todos-widget | 追跡対象ファイルの TODO、FIXME、HACK、XXX コメントを数えて一覧表示 | | diff-widget | /diff-widget [on\|off\|clear] | 直前の編集を構文ハイライト付き diff で表示 | | watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test は編集のたびにコマンドを再実行し、成功/失敗ランプと直近の失敗行を表示 | | map-widget | /map-widget [on\|off\|clear] | 追跡対象ファイルのピクセルマップ。Claude が読んだ場所は青、編集した場所は緑で光ります |

時間と集中

不依賴工作階段的時鐘、計時器與提醒。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | カウントダウン、進捗バー、完了したセッション数を備えた集中タイマー | | countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | 設定した期限までの残り時間を進捗バーで表示し、到達時に toast を出します | | clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | 追加したタイムゾーンの横に現地時刻を表示します。例:Asia/Tokyo | | notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | セッションをまたいで保持するピン留めメモ。/note <text> で追加し、/note done <n> で削除します | | coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | 90 分で空になるカップが休憩を促します |

シーン

會對回合、工具呼叫、檢查與 context 用量做出反應的像素畫。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | pet-widget | /pet-widget [on\|off\|<mood>] | Clawd というピクセルのカニ。回の途中は働き、ツール呼び出しの失敗で目を回し、テスト成功で喜びます。XP を得てセッション間でレベルアップし、badges-widget がバッジを与えると帽子をかぶります。2 つのセッションを開くと、最後にプロンプトを入力した方に残ります | | aquarium-widget | /aquarium-widget [on\|off\|demo] | 実行中のツール呼び出しと agent ごとに 1 匹の魚 | | skyline-widget | /skyline-widget [on\|off\|demo\|clear] | 回ごとに 1 棟、ツール呼び出しごとに 1 階 | | train-widget | /train-widget [on\|off] | この回のツール呼び出しごとに 1 車両を引く機関車。ツールごとに色分けします | | garden-widget | /garden-widget [on\|off\|reset] | ツール呼び出しごとに葉が 1 枚増え、チェック成功で花が咲き、失敗でしおれる植物 | | campfire-widget | /campfire-widget [on\|off\|stoke] | ツール呼び出しが増えるほど高く燃え、アイドルになると残り火まで下がる焚き火 | | constellation-widget | /constellation-widget [on\|off\|clear] | 回ごとに星が 1 つ増え、星座につながり、9 個目の後に名前が付きます | | fireworks-widget | /fireworks-widget [on\|off\|demo] | チェック成功で花火を上げ、失敗すると不発になります | | invaders-widget | /invaders-widget [on\|off\|demo\|clear] | 失敗したチェックごとに侵入者が現れ、成功したチェックが撃ち落とします | | weather-widget | /weather-widget [on\|off\|live\|<percent>] | context に余裕があれば晴天、圧縮が近づくと嵐になります | | boss-widget | /boss-widget [on\|off] | context 使用量を boss の体力バーとして表示し、圧縮で倒して次のレベルを始めます | | sky-widget | /sky-widget [on\|off] | 現地時刻の空を表示:昼は太陽、夜は月、セッションが長いほど星が増えます | | world-widget | /world-widget [on\|off\|clear] | すべてを 1 つにしたシーン:時計で空、context で天気、回ごとの塔、ツール呼び出しの列車、歩き回るカニ | | quest-widget | /quest-widget [on\|off\|reset] | セッションをダンジョン探索として表示:回ごとに部屋、ツール呼び出しごとにモンスター、チェック成功で戦利品。ヒーローはセッション間で保持されます | | race-widget | /race-widget [on\|off\|clear] | 並列 subagent をコース上の車として表示し、ツール呼び出しごとに 1 歩進み、完了すると表彰台に乗ります |

ビジュアライザー

由工具活動驅動的抽象圖像。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | mosaic-widget | /mosaic-widget [on\|off\|clear] | ツール呼び出しごとに 1 タイルを置き、ツールごとに色分けします。失敗は赤です | | sorting-widget | /sorting-widget [on\|off\|step] | 並べ替え中の棒グラフ。ツール呼び出しごとに 1 回交換します | | equalizer-widget | /equalizer-widget [on\|off] | ツール呼び出しごとに跳ね、静止状態へ戻るレベルメーター | | rain-widget | /rain-widget [on\|off] | 落ちてくるコードの雨。回が忙しいほど速くなります | | orbit-widget | /orbit-widget [on\|off] | 小さな太陽系。ツール呼び出しの実行中は惑星が速く動きます | | life-widget | /life-widget [on\|off\|reset] | Conway の Game of Life。ツール呼び出しごとにグライダーを 1 つ置きます | | donut-widget | /donut-widget [on\|off] | 回転する 3D donut。ツール呼び出しの実行中は速く回ります | | pipes-widget | /pipes-widget [on\|off] | パイプのスクリーンセーバー。セッションがアイドル中は伸び、Claude が作業すると一時停止します | | maze-widget | /maze-widget [on\|off\|new] | プロジェクトフォルダーをシードにした迷路を一人称で歩きます | | marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | セッションイベントを流す LED ティッカー。別の文字を入力すると自分の見出しを投稿します |

ゲーム

Snake、2048 與 Tetris 會自行遊玩,直到你點擊棋盤並接手按鍵。

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | snake-widget | /snake-widget [on\|off] | Snake。キーを取るまで自動で遊びます | | 2048-widget | /2048-widget [on\|off] | 2048。キーを取るまで自動で遊びます | | tetris-widget | /tetris-widget [on\|off] | Tetris。キーを取るまで自動で遊びます | | minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper:クリックで開き、右クリックまたは f で旗を立て、r で再開します | | breakout-widget | /breakout-widget [on\|off\|reset] | 自動で遊ぶブロック崩し。ツール呼び出しごとにレンガの列が増えます | | typer-widget | /typer-widget [on\|off] | 自分のファイル名からの単語が落ち、着地前に入力するタイピングゲーム |

お楽しみ

| プラグイン | コマンド | 表示内容 | | --- | --- | --- | | fortune-widget | /fortune-widget [on\|off\|next] | 回ごとに変わる 1 行の運勢 | | 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question> は信頼性の低い答えを返します | | badges-widget | /badges-widget [on\|off\|reset] | セッションをまたいで得た実績。解除時に toast が出ます | | sigil-widget | /sigil-widget [on\|off\|clear] | このセッションの活動から作るピクセルの紋章と、以前のセッションの紋章ギャラリー | | sound-widget | /sound-widget [on\|off\|mute\|test] | ツール呼び出しごとに音符、チェック成功で和音、失敗でブザーを鳴らし、ピアノロールを表示(音声再生は macOS のみ) |

每個工作階段都會儲存並還原放置位置、啟用的 widget 與檢視模式。

注意

  • /widgets width pet 60 は 1 つの widget カードの最大幅を設定します(デフォルトは 40 列)。/widgets width pet reset で戻します。
  • /widgets side は全画面レイアウト(/tui fullscreen)でのみカードを逐字稿の横に固定します。デフォルトではプロンプトの下に戻ります。
  • ピクセルアートは端末のブロック文字で描画され、端末にだけ表示されます。
  • sound-widget は macOS でのみ音声を再生し、それ以外では無音でピアノロールだけを描画します。
  • board-widget は Claude が呼び出せる pin ツールを登録するため、ボード表示中はその説明が context の一部になります。
  • watch-widget は sh -c でコマンドを実行し、失敗時は cmd /c にフォールバックします。
  • ゲームを引き継ぐ場合も Minesweeper を遊ぶ場合も、ボードをマウスでクリックする必要があります。全画面レイアウトがそのクリックを報告します。

開発

plugins/ 下的每個外掛都是一個 mod:包含 manifest、hooks 模組與測試。

claude --plugin-dir plugins            # load every plugin from this checkout
claude plugin validate plugins/<name>  # check a manifest and hooks module
claude plugin test plugins/<name>      # run its tests

外掛無法互相 import,因此 widgets 會以 $.widgets(plugins/widgets/hooks/kit.tsx)分享卡片堆疊與像素渲染器;每個 widget 都會呼叫它。

ライセンス

MIT

インストール

まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。

claude plugin marketplace add oMaN-Rod/claude-code-widgets
claude plugin install quest-widget
原文 / README

Claude Code Widgets

Small cards that sit under the Claude Code prompt, or docked beside the transcript in fullscreen. Each widget is its own mod, toggled with a slash command.

It started with a few useful ones (context, usage, file tree) and then got carried away: there are now 61 widgets, from git status and a turn timer to a pixel crab, a dungeon crawl and Tetris.

Install

Add the marketplace, then install the layout plugin and whichever widgets you want:

/plugin marketplace add oMaN-Rod/claude-code-widgets
/plugin install widgets@claude-code-widgets
/plugin install context-widget@claude-code-widgets

Every widget needs widgets, the layout plugin that places the cards.

Requires a Claude Code version with mod (function hook) support. The mod API is early access and may change between releases.

Widgets

Layout

Required by every widget.

| Plugin | Command | What it shows | | --- | --- | --- | | widgets | /widgets [side\|above\|below\|close\|<columns>\|width <widget> <columns\|reset>] | Places the cards: below the prompt, above it, or docked beside the transcript in fullscreen |

Session

What Claude is doing and what it is costing.

| Plugin | Command | What it shows | | --- | --- | --- | | context-widget | /context-widget [auto\|detailed\|grid\|top\|bar\|line] | The context window as a stacked bar, one colour per /context category | | usage-widget | /usage-widget | A bar per rate-limit window, time to reset, session cost | | timer-widget | /timer-widget [on\|off\|clear] | The running turn's elapsed time, plus last, average and longest turn and a sparkline | | activity-widget | /activity-widget [on\|off\|clear] | The latest tool calls with their duration and whether they failed | | tasks-widget | /tasks-widget [on\|off\|clear] | The task list Claude is working through, with a progress bar | | checks-widget | /checks-widget [on\|off\|clear] | The latest test, lint and build runs: pass or fail, duration and how long ago | | timeline-widget | /timeline-widget [on\|off] | The turn as a chart: one bar per tool call on a time axis, parallel calls stacked | | board-widget | /board-widget [on\|off\|clear] | A status board Claude writes itself through a pin tool: goal, findings and open questions | | forecast-widget | /forecast-widget [on\|off\|clear] | Context growth per turn as a chart, with the turns left before compaction | | guard-widget | /guard-widget [on\|off\|clear] | Permission checks this session: allowed, asked and denied, with what you keep being asked about | | stream-widget | /stream-widget [on\|off] | A live tokens-per-second gauge and sparkline while Claude is writing (estimated from text length) | | sessions-widget | /sessions-widget [on\|off] | The other Claude Code sessions open on this machine: folder, branch, busy or idle |

Project and git

The state of the working tree.

| Plugin | Command | What it shows | | --- | --- | --- | | file-tree-widget | /file-tree-widget | The project directory; folders expand on click | | git-widget | /git-widget | Branch, ahead/behind, staged, changed and untracked counts, and the last commit | | changes-widget | /changes-widget [on\|off\|clear] | Files edited this session, most recent first, with an edit count each | | commits-widget | /commits-widget | The commits made since the session started | | todos-widget | /todos-widget | TODO, FIXME, HACK and XXX comments in tracked files, counted and listed | | diff-widget | /diff-widget [on\|off\|clear] | The last edit as a syntax-highlighted diff | | watch-widget | /watch-widget [on\|off\|run\|stop], /watch <command> | /watch bun test reruns the command after every edit: a pass or fail light and the last failing lines | | map-widget | /map-widget [on\|off\|clear] | A pixel map of the tracked files, lit blue where Claude has read and green where it has edited |

Time and focus

Clocks, timers and reminders that do not depend on the session.

| Plugin | Command | What it shows | | --- | --- | --- | | pomodoro-widget | /pomodoro-widget [on\|off\|start\|break\|stop\|<minutes>] | A focus timer with a countdown, a progress bar and a count of finished sessions | | countdown-widget | /countdown-widget [on\|off\|clear], /countdown <HH:MM\|<n>m\|<n>h> [label] | Time left to a deadline you set, with a progress bar and a toast when it arrives | | clocks-widget | /clocks-widget [on\|off\|add <zone>\|remove <zone>\|clear] | Your local time beside the time zones you add, such as Asia/Tokyo | | notes-widget | /notes-widget [on\|off\|clear], /note <text\|done <n>> | Pinned notes kept across sessions; /note <text> adds one, /note done <n> removes it | | coffee-widget | /coffee-widget [on\|off\|refill\|<minutes>] | A cup that empties over 90 minutes and nudges you to take a break |

Scenes

Pixel art that reacts to turns, tool calls, checks and context usage.

| Plugin | Command | What it shows | | --- | --- | --- | | pet-widget | /pet-widget [on\|off\|<mood>] | Clawd, a pixel crab: works during a turn, dizzy when a tool call fails, happy when tests pass. Earns XP and levels up across sessions, wears a hat once badges-widget has awarded a badge, and with two sessions open stays in the one you last prompted | | aquarium-widget | /aquarium-widget [on\|off\|demo] | A fish for every running tool call and agent | | skyline-widget | /skyline-widget [on\|off\|demo\|clear] | One building per turn, one floor per tool call | | train-widget | /train-widget [on\|off] | A locomotive pulling one wagon per tool call this turn, coloured by tool | | garden-widget | /garden-widget [on\|off\|reset] | A plant: a leaf per tool call, a flower when checks pass, wilting when a call fails | | campfire-widget | /campfire-widget [on\|off\|stoke] | A campfire that burns higher with tool calls and dies down to embers when idle | | constellation-widget | /constellation-widget [on\|off\|clear] | A star per turn, joined into a constellation that gets a name after nine | | fireworks-widget | /fireworks-widget [on\|off\|demo] | A night sky that sets off fireworks when checks pass, and a dud when they fail | | invaders-widget | /invaders-widget [on\|off\|demo\|clear] | An invader arrives for every failing check; passing checks shoot them down | | weather-widget | /weather-widget [on\|off\|live\|<percent>] | Clear sky when context has room, a storm near compaction | | boss-widget | /boss-widget [on\|off] | Context usage as a boss health bar; compaction defeats it and starts the next level | | sky-widget | /sky-widget [on\|off] | The sky at your local time: sun by day, moon by night, more stars the longer the session runs | | world-widget | /world-widget [on\|off\|clear] | One scene for everything: sky by the clock, weather by context, a tower per turn, a train of tool calls and a wandering crab | | quest-widget | /quest-widget [on\|off\|reset] | The session as a dungeon crawl: a room per turn, a monster per tool call, loot when checks pass; the hero is kept across sessions | | race-widget | /race-widget [on\|off\|clear] | Parallel subagents as cars on a track, one stride per tool call, with a podium as they finish |

Visualizers

Abstract pictures driven by tool activity.

| Plugin | Command | What it shows | | --- | --- | --- | | mosaic-widget | /mosaic-widget [on\|off\|clear] | One tile per tool call, coloured by tool; failures are red | | sorting-widget | /sorting-widget [on\|off\|step] | A bar chart being sorted, one swap per tool call | | equalizer-widget | /equalizer-widget [on\|off] | Level meters that jump with each tool call and fall back to rest | | rain-widget | /rain-widget [on\|off] | Falling code rain that speeds up the busier the turn gets | | orbit-widget | /orbit-widget [on\|off] | A small solar system; the planets speed up while tool calls run | | life-widget | /life-widget [on\|off\|reset] | Conway's Game of Life; every tool call drops a glider | | donut-widget | /donut-widget [on\|off] | The spinning 3D donut; it spins faster while tool calls run | | pipes-widget | /pipes-widget [on\|off] | The pipes screensaver; it grows while the session is idle and pauses while Claude works | | maze-widget | /maze-widget [on\|off\|new] | A first-person walk through a maze seeded by the project folder | | marquee-widget | /marquee-widget [on\|off\|clear\|<text>] | An LED ticker scrolling session events; any other text posts your own headline |

Games

Snake, 2048 and Tetris play themselves until you click the board and take the keys.

| Plugin | Command | What it shows | | --- | --- | --- | | snake-widget | /snake-widget [on\|off] | Snake; it plays itself until you take the keys | | 2048-widget | /2048-widget [on\|off] | 2048; it plays itself until you take the keys | | tetris-widget | /tetris-widget [on\|off] | Tetris; it plays itself until you take the keys | | minesweeper-widget | /minesweeper-widget [on\|off] | Minesweeper: click to reveal, right-click or f to flag, r to restart | | breakout-widget | /breakout-widget [on\|off\|reset] | A self-playing brick breaker; every tool call adds a row of bricks | | typer-widget | /typer-widget [on\|off] | A typing game: words from your own file names fall, and you type them before they land |

Just for fun

| Plugin | Command | What it shows | | --- | --- | --- | | fortune-widget | /fortune-widget [on\|off\|next] | A one-line fortune that changes with every turn | | 8ball-widget | /8ball-widget [on\|off], /8ball <question> | /8ball <question> gives an answer of doubtful reliability | | badges-widget | /badges-widget [on\|off\|reset] | Achievements earned across sessions, with a toast when one unlocks | | sigil-widget | /sigil-widget [on\|off\|clear] | A pixel emblem generated from this session's activity, beside a gallery of the ones from earlier sessions | | sound-widget | /sound-widget [on\|off\|mute\|test] | A note per tool call, a chord when checks pass, a buzz on failure, with a piano roll (audio plays on macOS only) |

Placement, which widgets are on, and view modes are saved and restored in every session.

Notes

  • /widgets width pet 60 sets how wide one widget's card may grow (the default is 40 columns); /widgets width pet reset puts it back.
  • /widgets side docks the cards beside the transcript only in the fullscreen layout (/tui fullscreen). In the default layout it falls back to below the prompt.
  • The pixel art is drawn with terminal block characters and shows in the terminal only.
  • sound-widget plays audio on macOS only; elsewhere it stays silent and just draws the piano roll.
  • board-widget registers a pin tool that Claude can call, so its description is part of the context while the board is on.
  • watch-widget runs your command through sh -c, falling back to cmd /c.
  • Taking over a game, and playing Minesweeper at all, needs a mouse click on the board, which the fullscreen layout reports.

Develop

Each plugin under plugins/ is a mod: a manifest, a hooks module and its tests.

claude --plugin-dir plugins            # load every plugin from this checkout
claude plugin validate plugins/<name>  # check a manifest and hooks module
claude plugin test plugins/<name>      # run its tests

Plugins cannot import from one another, so widgets shares card stacking and the pixel renderer as $.widgets (plugins/widgets/hooks/kit.tsx), which every widget calls.

License

MIT

関連作品