同时跑五个 Claude Code 会话,一个在写文档,一个在改小 bug,还有一个在查资料。活儿派出去不难,难的是"发现"——某个会话弹出"可以执行吗",被别的窗口压在后面;某个会话已经跑完,过了好一会儿才注意到;为了确认状态,不停切窗口。
慢的不是 AI,是"注意到"的那段时间。会话开得越多,这件事越糟。于是有人把每个会话的状态搬到了桌面上一个八键小按钮盒上(Stream Deck Neo,带一条细信息条)。
整套东西只有三块:
- Claude Code 的 hook 在固定时刻跑一个小脚本——提交提示词、工具即将执行、请求权限、回合结束。
- 脚本为每个会话写一个极小的 JSON 文件,只记目录、会话 ID、状态,不写提示词内容,也不写工具输出。
- 一个 Stream Deck 插件每秒读这些文件,给按键上色。
hook 这一侧基本就是把事件映射成四种状态:提交提示词和工具执行后算"运行中"(蓝色);工具执行前如果是在问问题或退出计划模式,算"在问我"(红色);权限请求和权限提示通知也算"在问我";回合结束算"等你来看"(橙色);会话开始算"空闲"(灰色)。
按一下键,对应会话的窗口就跳到最前。看到红色,按下去,在那个窗口里批准,不用再翻窗口找。
踩得最久的坑:跑完了,灯还蓝着
hook 先写临时文件,再重命名覆盖正式文件;插件每秒读一次。在 Windows 上,如果重命名正好撞上插件读取的那一刻,重命名会以 EPERM 失败。第一版把这个错误悄悄吞掉了——"完成"状态根本没写进去,灯就一直蓝着。等发现时,已经堆了 28 个没清掉的临时文件。
修法很无聊:等一小会儿,重试几次。状态灯不可信,那就只是个装饰。
另一个小问题出在 /clear 之后:会话换了新 ID 继续跑,于是短暂出现两个同名按键。现在的做法是,会话从 clear 启动时删掉旧记录,并给插件留一张旧 ID 到新 ID 的映射表。
然后按键里住进了一只小鸡
只有颜色有点干,于是按键里画了一只像素小鸡,名字叫 Aqui(取自天鹰座 Aquila)。运行中在抛球,等权限时举着一个"?",完成时举"!",空闲时闭眼打"z"。如果旁边那个键也在运行,她就把球传过去。要的是一个愿意多看两眼的盒子,而不只是又一个通知。
这个形象后来做成了一系列 YouTube Shorts,已经超过 20 集,最近她开着像素风的 WRX S4 在四季里跑。
如果只做一件事:把"等待权限"放到你能看见的地方。不一定需要 Stream Deck,屏幕一角变色或者一个提示音都行。等待自己处理的那段时间,最不显眼,也最浪费。省下多少时间没有测过,所以不给数字;能说的是,不用再翻窗口找了。
这是一个 Claude Code 爱好者的个人项目,与 Anthropic 和 Elgato 均无关联。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.