[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhwyc1hdeu1ru":3},{"code":4,"message":5,"data":6,"timestamp":31},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":27,"homepage":28,"updated_at":29,"history":30},"Charonyuu\u002Fwhatsmyagentdoing",5,"See what every Claude Code and Codex agent on your machine is doing — live, in a little office.","JavaScript",196,11,116,1,[],"把本机上所有 Claude Code、Codex、Gemini CLI 会话的状态汇总成一个实时看板。","## 解决什么问题\n\n同时开好几个 coding agent 时，哪个还在思考、哪个卡在等你批准、哪个早就跑完了，只能靠切终端窗口逐个确认。`whatsmyagentdoing` 读的是这些 agent 本来就写在磁盘上的会话日志，把每个会话的最新事件转成一个总览页面。你不需要为每个会话单独配置任何东西。\n\n## 有什么不同\n\n常见的做法是挂 hook 或写 statusline 脚本，或者干脆每个终端自己看自己。这个项目跳过了配置这一步：直接 tail `~\u002F.claude\u002Fprojects\u002F`、`~\u002F.codex\u002Fsessions\u002F` 和 Gemini CLI 对应的 JSONL，只读，然后通过 SSE 推给页面。真正区分它的是两点：一是呈现方式，等距视角的小办公室，干活的 agent 坐在工位前，干完的在 pantry 或乒乓桌边晃荡，想正经扫状态就切列表视图；二是它打包成了一个 agent skill（`\u002Fmyoffice`），安装这件事可以交给 agent 自己去做。\n\n## 适合谁\n\n适合经常同时跑三四个以上 agent 会话、又不想反复切窗口的人。办公室视图加上 `--private` 参数，在共享屏幕时也不尴尬。如果你一次只跑一个 agent，终端本身已经够用，没必要多这一层；如果你用的是把对话存在未公开二进制格式里的客户端，README 也明说了暂不支持，别抱期待。\n\n## 上手成本\n\n只需要 Node.js 18+，没有 `npm install`，也没有运行时依赖。仓库要 clone 到 `~\u002F.claude\u002Fskills\u002Fmyoffice` 或 `~\u002F.codex\u002Fskills\u002Fmyoffice`，这是某个 agent 自己的 skill 目录约定，不是装一个全局命令。主要风险在日志格式：README 自己承认这些格式不是公开 API，上游一改，状态就可能显示不准。3D 模式会额外拉约 180 KB 的 three.js 包和约 1.3 MB 的模型，但只在你选 High 时才加载。MIT 协议，3D 素材是 Kenney 的 CC0。\n\n## 点评\n\n项目才创建一天，约 180 star，以每天 +118 的速度上过新项目榜第 6——势头确实有，但完全没有历史可参照，属于典型的新项目冲榜。想法本身很实用，对局限的交代也算坦诚，这一点比多数 agent 看板做得好。问题在于它直接依赖三个产品的未公开日志格式，而这些产品迭代很快，坏掉是迟早的事。已经在管理一队 agent 的人可以拿来试；想长期依赖的话，最好等它扛过几次上游更新再说。",{"slug":19,"name":20},"developer-tools","开发工具",[22,23,24,25,26],"ai-agents","claude-code","codex","dashboard","threejs","MIT",null,"2026-10-25T02:37:00Z",[],1792918859]