ClaudeModsClaude Code 模组目录
☰
● 0 人在线 · 浏览 0 次
+ 提交作品
← 返回作品集
GitHub 仓库 · Git 与代码审查

spinner:Claude Code 动画场景与宠物伙伴 — Claude Code 插件 · ClaudeMods

回报这个作品这是你的作品?认领

在 ClaudeMods 了解这款 Claude Code 插件,查看原始来源与所需权限。 为 Claude Code 加上 15 套动画主题和会成长的宠物伙伴:跟随工具与权限请求切换状态,跨会话保存等级与好感度,也可在 Mac 上显示系统声音频谱。

hhoobnn@hoobnn
原帖图片1
已翻译

关于这个 mod

spinner 在 Claude Code 工作时,于输入框上方播放小型动画场景。15 套主题包含 Clawd、横版射击、迷宫追逐、彩虹猫、角色动画与声音频谱;hud 等其他 mod 的信息条排列在场景下方。每轮完成后会短暂播放彩带庆祝,并显示用时;中断和出错也有对应表情。

宠物会随思考、调用工具、输出和等待切换姿势。气泡显示正在运行的工具或待确认的权限请求;多个子代理并行时显示数量,只有一个时显示任务。测试结果与提交完成也会触发短暂反馈。完成一轮、测试通过和提交都会增加经验;点击宠物或输入 /spinner pet 可以摸摸它。等级与好感度跨会话保存,同时打开的会话共用同一只宠物,安静五分钟后它会打瞌睡。关闭宠物后,吉祥物会移到原有 Spinner 行前,保留原来的文字、用时与 token 数。开启 reducedMotion 后,动画改为静止画面,仍会反映 Claude 的当前状态。

audio 主题把 Mac 正在播放的系统声音画成实时频谱,搭配跳舞的小人和戴耳机的宠物。需按名称选择,random 不包含它。此主题要求 macOS 14.2 及以上和 swiftc,可通过 xcode-select --install 安装命令行工具。首次使用会编译 Core Audio 辅助程序,并由 macOS 询问是否允许终端录制系统音频。辅助程序仅在该主题显示时运行,每秒提供 20 次频段电平,不保存、不写盘、不外传声音;拒绝权限后柱状条保持平直。其他系统、桌面 App 或编译失败等导致无法读取声音时,小人会睡着,/spinner 会说明原因。

项目记录的安装命令: claude plugin marketplace add hoobnn/hoobnn-agent-mods claude plugin install spinner@hoobnn-agent-mods

来源:https://github.com/hoobnn/hoobnn-agent-mods/tree/main/claude-code/spinner

安装

请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。

claude plugin marketplace add hoobnn/hoobnn-agent-mods
claude plugin install spinner
原文 / README

spinner:Claude Code 运行动画与宠物伴侣

简体中文 · English

Claude 干活时,输入框上方会演一段小动画:像素风的横版射击、Claude 的吉祥物 Clawd、吃豆人、彩虹猫……还有一只会跟着 Claude 的动作变换姿势的宠物。一轮结束时放一小段彩带,显示这轮用了多久。共 15 套主题,随时切换,其中一套把电脑正在播放的声音画成频谱。

spinner:Clawd 主题跑完一轮,宠物气泡跟着工具变化,最后放庆祝动画

功能

  • 动画小剧场:Claude 工作时,输入框上方播放主题动画。其他 mod 的横条(hud、ts-band、hitokoto 等)排在它下面。
  • 宠物伴侣:参考 Codex Pets,按思考、调用工具、输出、等待切换姿势。气泡只说 Claude Code 自己的 Spinner 行没有的信息:正在跑的工具(Bash: npm test、Edit: themes.ts),或者有权限请求在等你确认;模型思考时它就埋头忙。多个子代理并行时显示数量(Agent ×3),只有一个时显示它的任务。Claude 跑测试或提交时,它会说几秒钟(测试通过、测试没过、提交好了)。
  • 养成:两轮之间宠物留在原地(完成、被中断、出错,安静 5 分钟后打瞌睡)。每跑完一轮、每次测试通过、每次提交都会涨经验升级(Lv.4);点它或输入 /spinner pet 可以摸摸它(♥12,会冒爱心)。等级和好感度跨会话保存,同时开的几个会话养的是同一只。
  • Spinner 行上的吉祥物:关掉宠物后,吉祥物会站到 Claude Code 自己的 Spinner 行前面([◉_◉]⊃━━ ✢ Choreographing… (4s · ↓ 14 tokens)),原来的提示词、用时和 token 数不变。同一时间只显示一个吉祥物。
  • 完成庆祝:一轮结束后 3 秒,吉祥物身边放彩带并显示用时((=^▽^=)ノ 完成 · 12s);被中断是一张难过的脸,出错是一阵故障闪烁。
  • 减少动画:打开 reducedMotion 后,所有动画都只画静止的一帧,但仍会随 Claude 的状态变化。

主题

像素风场景,三行半格像素:

  • clawd:Claude Code 的吉祥物 Clawd 散步路过,停下来干活,身边转着 Claude 的星芒;跑工具时敲笔记本,等你确认时头上冒 ?。
  • thunder:雷霆战机式横版射击,战机自动瞄准一波波敌机,有爆炸和计分;跑工具时敌机来得更快。
  • chomp:吃豆人被四只幽灵追着跑,直到吞下能量豆。
  • sparky:电气鼠一路冲过去,脸颊噼啪放电,跑工具时落下闪电。
  • bluecat:蓝色机器猫戴着竹蜻蜓飞,跑工具时口袋里掉出道具。
  • nyan:彩虹猫拖着彩虹飞过星空。

角色场景,两行:cat(猫)、bunny(兔子)、sakura(樱花)、mecha(机甲)、neon(霓虹)、dino(小恐龙)、ocean(小鱼)、matrix(字符雨)。也可以选 random,每个会话随机一套。

声音场景,四行:audio 把 Mac 正在播放的声音(音乐、视频、通话)实时画成频谱,每个频段一根柱子,顶上的峰值慢慢落下;左边的小人踩着节拍跳舞,宠物戴着大耳机。有声音时两轮之间也会显示,声音停几秒后收起。random 不会抽到它,要按名字选。

audio 实拍:放音乐时的频谱

audio 需要 macOS 14.2 及以上和 swiftc(Xcode 命令行工具:xcode-select --install)。第一次使用时,mod 用 hooks/audio-tap.swift 编译一个小程序(约 2 秒),只在这套主题显示时运行:它通过 Core Audio 读取系统输出,每秒 20 次把各频段的电平交给 mod,不保存、不写盘、不外传声音。macOS 会询问一次是否允许终端录制系统音频,拒绝的话柱子一直是平的。读不到声音时(其他系统、桌面 App、编译失败),场景里的小人睡着,/spinner 会说明原因。预览和下面的动图用的是合成信号。

| | | | --- | --- | | clawd<br>clawd | thunder<br>thunder | | chomp<br>chomp | sparky<br>sparky | | bluecat<br>bluecat | nyan<br>nyan | | cat<br>cat | bunny<br>bunny | | sakura<br>sakura | mecha<br>mecha | | neon<br>neon | dino<br>dino | | ocean<br>ocean | matrix<br>matrix | | audio<br>audio | |

所有主题的吉祥物、场景和宠物合在一张图里:assets/gallery.png;每套主题的静态图在 assets/<主题>.png。

chomp、sparky、bluecat、nyan 是从零绘制、另起名字的同人致敬;clawd 照着 Claude Code 欢迎界面上的样子绘制。

安装

claude plugin marketplace add hoobnn/hoobnn-agent-mods
claude plugin install spinner@hoobnn-agent-mods

像素场景需要支持真彩色的终端(Ghostty、iTerm2、WezTerm、kitty 等)。

命令

  • /spinner:查看当前主题、宠物的等级和好感度,以及主题列表。
  • /spinner <主题>、/spinner random:立即切换主题;/spinner theme 弹窗选择(给出随机和三套主题,其他主题可以在 Other 里输入)。
  • /spinner preview [主题]:在输入框上方试播 8 秒。
  • /spinner pet:摸摸宠物。
  • /spinner off / on:关闭或打开全部动画;/spinner stage off / on 只管动画场景;/spinner companion off / on 只管宠物。

这些命令改的设置都会写回 /config,以后的会话也会沿用,并立即生效。选了 random 时,同一个会话里重新加载也不会换主题。

选项

在 /config 里修改,或写在 ~/.claude/settings.json 的 pluginConfigs 里:

| 选项 | 作用 | 默认 | | --- | --- | --- | | visible | 全部动画的总开关(/spinner off / on,或输入框底栏的 Spinner 按钮) | 开 | | footerButton | 在输入框底栏显示 Spinner 开关按钮 | 开 | | theme | 主题 | random | | stage | 输入框上方的动画场景 | 开 | | celebrate | 一轮结束时的庆祝动画 | 开 | | companion | 宠物伴侣 | 开 | | reducedMotion | 吉祥物、场景和宠物只画静止画面,仍随状态变化 | 关 | | language | /spinner 回复、宠物气泡和庆祝文字的语言:auto、en、zh-Hans、zh-Hant、ja、ko、es、fr、de、pt-BR、ru | auto |

language 为 auto 时,依次跟随 Claude Code 的 language 设置和系统语言环境,都没有时用英语。

Claude 工作时,横条占主题的行数再加宠物一行;两轮之间只占一行。空间不够时先收起场景、保留宠物;不足 3 行或 60 列时,宠物缩成一行(吉祥物、气泡和等级)。吉祥物、场景和宠物在终端和桌面 App 里显示;其他界面保持 Claude Code 原本的 Spinner。

同系列 mod

hoobnn-agent-mods 里还有状态栏 HUD(hud)、任务进度条(todo-bar)、回合回执(receipt)、Tailscale 节点状态(ts-band)和一言(hitokoto),可以搭配使用。

开发

  • hooks/register.tsx:钩子(会话开始,回合事件:活动、庆祝、宠物,/spinner,Spinner 行上的吉祥物和横条)。
  • hooks/config.ts:选项,一次性读成类型化的 Config。
  • hooks/command.ts:解析 /spinner 的参数。
  • hooks/pet.ts:宠物的等级和气泡、工具标签、时长。
  • hooks/themes.ts、hooks/cells.ts:主题和它们绘制用的字符网格;hooks/stage.tsx、hooks/sprite.tsx:负责播放动画的 Client 模块。
  • hooks/audio.ts、hooks/audio-tap.swift:audio 主题的电平处理(增益、峰值、节拍)和它读取的系统音频小程序;register.tsx 负责编译、启动和停止它,场景每帧通过 ui.message 取最新电平。
  • hooks/i18n.ts:各语言文案。
  • hooks/kit/:claude-code/kit 的副本;改源文件后运行 scripts/sync-kit.sh。
  • 仓库根目录的 scripts/spinner-shots.ts 从 hooks/themes.ts 重新渲染全部动图和静态图。
查看原始来源 ↗

更多类似作品