✳ClaudeModsClaude Code 模組目錄
☰
● 0 人在線上 · 瀏覽 0 次
+ 提交作品
← 返回作品集
GitHub 儲存庫 · 用量與成本

clawd-spinner

clawd-spinner:當 Claude 工作時,Clawd 會在上方表演 spinner 的詞語:Sautéing 時烹飪,Vibing 時跳舞,pacin

ssaiharsha03@saiharsha03
已翻譯

關於這個 mod

clawd-spinner

一個 Claude Code 模組:當 Claude 工作時,Clawd 會在 spinner 行上方表演 spinner 詞語。

它不會使用你的任何用量。 每個場景都從程式碼本地繪製:沒有模型呼叫,沒有 token, 沒有網路。你的用量用在重要的事情上。

  • Claude Code 的 189 個 spinner 詞語每一個都有自己的場景:Baking 把麵包滑進烤箱, Beaming 被 UFO 拉上去,Gitifying 畫提交圖,Honking 按喇叭。
  • 後來 Claude Code 添加的詞語會回退到 11 個通用動作之一(烹飪、思考、跳舞、建造……)。
  • Clawd 談論他在做什麼,在他頭旁邊的對話氣泡中,氣泡跟隨他在場景中移動並逐字打出。他說話像《Project Hail Mary》中的 Rocky:問題以「,問題?」結尾,一個詞說三次表示很多(「Hot hot hot。」),小詞會被省略。
  • 每個詞有十行自己的台詞,總共 1,890 行,沒有兩個詞共享一行。Baking: 「Oven very hot. Clawd wait.」 Gitifying:「Merge conflict, question? Ugh.」 他每 10 秒 移動到下一行,每輪從不同的地方開始。他從未見過的詞會圍繞它構建二十行 (「Big word. Small Clawd. Defenestrating!」)。
  • 寧願他安靜?/clawd-talk 關閉他的對話氣泡(並再次打開);/clawd-talk off 或 /clawd-talk on 設定它。選擇會跨工作階段記住。

一個詞如何選擇它的場景

Claude Code 每輪隨機選擇一個 spinner 詞。hooks/frame.ts 在 hooks/scenes/ 中查找這個詞(每個詞一個場景);未知詞轉到 hooks/acts.ts 中的 actFor(),它 匹配詞幹列表(saut|whisk|brew… → 烹飪,……)。

他的台詞在 hooks/lines.ts(按詞鍵控);hooks/rocky.ts 選擇一個並為未見過的詞保留 二十個;hooks/frame.ts 中的 bubble() 在 clawd() 上次放置他的地方繪製它。

安裝

/plugin marketplace add https://github.com/saiharsha03/clawd-spinner.git
/plugin install clawd-spinner@clawd-spinner

然後 /reload-plugins(或重啟 Claude Code)。HTTPS 連結對 GitHub 無論有沒有 SSH 金鑰都有效; 短形式 saiharsha03/clawd-spinner 可能會先嘗試 SSH。或者從複製: claude --plugin-dir ./clawd-spinner。

更新:/plugin marketplace update clawd-spinner,然後 /plugin update clawd-spinner@clawd-spinner。

需要 Claude Code 2.1.287 或更新版本(從那時起模組預設開啟)。僅終端機,視窗至少 54 欄寬

安裝

請先查看作者 README,確認 marketplace 與外掛名稱;指令可能隨儲存庫結構而變動。

claude plugin marketplace add saiharsha03/clawd-spinner
claude plugin install clawd-spinner
原文 / README

clawd-spinner

A Claude Code mod: while Claude works, Clawd acts out the spinner word above the spinner line.

It won't use any of your usage. Every scene is drawn locally from code: no model calls, no tokens, no network. Your usage goes to the things that matter.

  • Every one of Claude Code's 189 spinner words has its own scene: Baking slides bread into an oven, Beaming gets pulled up by a UFO, Gitifying draws a commit graph, Honking honks.
  • A word a later Claude Code adds falls back to one of 11 general acts (cook, think, dance, build, …).
  • Clawd talks about what he's doing, in a speech bubble beside his head that follows him around the scene and types itself out. He talks like Rocky from Project Hail Mary: a question ends in ", question?", a word said three times means a lot ("Hot hot hot."), and small words get dropped.
  • Every word has ten lines of its own, 1,890 in all, and no two words share a line. Baking: "Oven very hot. Clawd wait." Gitifying: "Merge conflict, question? Ugh." He moves on to the next line every 10 seconds, starting somewhere different each turn. A word he has never seen gets twenty lines built around it ("Big word. Small Clawd. Defenestrating!").
  • Rather have him quiet? /clawd-talk turns his speech bubble off (and on again); /clawd-talk off or /clawd-talk on sets it. The choice is remembered across sessions.

How a word picks its scene

Claude Code picks a random spinner word each turn. hooks/frame.ts looks the word up in hooks/scenes/ (one scene per word); an unknown word goes to actFor() in hooks/acts.ts, which matches stem lists (saut|whisk|brew… → cook, …).

His lines are in hooks/lines.ts (keyed by the word); hooks/rocky.ts picks one and holds the twenty for unseen words; bubble() in hooks/frame.ts draws it where clawd() last put him.

Install

/plugin marketplace add https://github.com/saiharsha03/clawd-spinner.git
/plugin install clawd-spinner@clawd-spinner

Then /reload-plugins (or restart Claude Code). The HTTPS link works with or without SSH keys for GitHub; the short form saiharsha03/clawd-spinner may try SSH first. Or from a clone: claude --plugin-dir ./clawd-spinner.

To update: /plugin marketplace update clawd-spinner, then /plugin update clawd-spinner@clawd-spinner.

Needs Claude Code 2.1.287 or newer (mods are on by default from there). Terminal only, in a window at least 54 columns wide; narrower, the stock spinner shows. On Windows, a "Filename too long" error while adding the marketplace goes away after git config --global core.longpaths true.

What the hooks do

hooks/register.tsx hooks five events and only reads them; it never changes what they carry:

  • session.start: in an interactive session, reads whether his speech is on, registers /clawd-talk, and starts a timer that repaints the animation about 12 times a second.
  • command.run for /clawd-talk: turns his speech bubble off or on and remembers the choice.
  • turn.start: notes when the turn began, so the scene's clock starts at 0 (a subagent's turn doesn't restart it).
  • turn.complete: stops the animation when the main turn ends.
  • ui.render on the Spinner component: draws Clawd, and his speech bubble, above the spinner line. Below 54 columns, or outside the terminal, it hands the spinner back to Claude Code unchanged.

Privacy: what data it sends

None. The mod reads only the spinner word and the turn's elapsed time that Claude Code hands it, and draws in the terminal. Every line Clawd says is written into the mod; none is generated. It makes no network requests, no model calls, reads and writes no files, and stores one thing: whether you turned his speech off (talk, in Claude Code's own plugin store). There is no remote server, so there is no privacy policy to link.

Develop

claude plugin validate .
claude plugin test .
npx tsx scripts/preview.ts preview.png Baking Beaming   # PNG contact sheet

/plugin-types .claude-plugin/types regenerates the editor typings (git-ignored).

Credits

Spinner word list: shanraisshan/claude-code-best-practice (reports/claude-spinner-verbs-and-tips.md). Clawd is Anthropic's mascot; this is an unofficial fan mod.

MIT licensed.

查看原始來源 ↗

更多類似作品