☰
Claude Code、Codex跑完任务不错过:Muxy如何实时追踪10大AI编码代理
2026/10/7 12:29:11 网站建设 项目流程

Claude Code、Codex跑完任务不错过:Muxy如何实时追踪10大AI编码代理

【免费下载链接】muxyLightweight and Memory efficient terminal for Mac built with SwiftUI and libghostty项目地址: https://gitcode.com/gh_mirrors/muxy1/muxy

Muxy 是一款基于 SwiftUI 与 libghostty 构建的轻量 Mac 终端,它内置了 AI 编码代理实时追踪能力:在 Muxy 终端里运行 Claude Code、Codex 等 10 余款 AI 代理时,Muxy 会自动安装生命周期 Hook、监听前台进程,把每个代理"工作中 / 等待输入 / 已完成"的状态实时呈现在分屏状态点、工作树徽标和桌面通知里,任务一跑完立刻提醒你。

Muxy 是什么:为 AI 代理而生的轻量终端

Muxy 主打"轻":内存占用低、启动快,同时提供分屏、垂直标签页、Git worktree、快速终端等现代终端能力。更关键的是,它把自己变成了一个AI 代理的"控制台"——

  • 🪟 每个终端分屏(pane)独立追踪一个 AI 代理的生命周期;
  • 🔔 代理完成回合(turn)时推送应用内 Toast 与 macOS 原生桌面通知;
  • 📊 状态聚合到 worktree 和项目层级,Agents Focused 侧边栏一眼看到哪个项目有代理在忙;
  • 🧩 状态还会以agent.status事件开放给 Muxy 扩展生态。

官方文档见:docs/features/ai-notifications.md

覆盖清单:哪些 AI 编码代理被追踪?

Muxy 目前内置 11 款代理的完整集成,全部在 Muxy/Services/Providers/ 目录下以"Provider"实现:

代理Provider 源码Hook 入口脚本
Claude CodeClaudeCodeProvider.swiftmuxy-claude-hook.sh
CodexCodexProvider.swiftmuxy-codex-hook.sh
Cursor CLICursorProvider.swiftmuxy-cursor-hook.sh
GitHub CopilotCopilotProvider.swiftmuxy-copilot-hook.sh
Antigravity CLIAntigravityProvider.swiftmuxy-antigravity-hook.sh
GrokGrokProvider.swiftmuxy-grok-hook.sh
DroidDroidProvider.swiftmuxy-droid-hook.sh
Kiro CLIKiroProvider.swiftmuxy-kiro-hook.sh
OpenCodeOpenCodeProvider.swiftopencode-muxy-plugin.js
PiPiProvider.swiftmuxy-pi-extension.ts
XalXalProvider.swiftmuxy-xal-plugin.ts

其中 Claude Code、Codex、Cursor、Copilot 走各家官方 Hook 机制(如 Claude Code 的~/.claude/settings.json中的 Stop / Notification / PermissionRequest 等事件);OpenCode、Pi、Xal 这类自带插件系统的工具则通过轻量插件转发事件,最终统一交给同一个桥接程序。

双重追踪机制:Hook 为主,进程探测兜底

Muxy 的追踪不是"猜",而是两套独立信号源互为备份,Hook 信号永远是权威。

第一层:Hook 事件驱动(精确信号)

每个 Provider 安装时,Muxy 会在对应工具的配置里写入自己的 Hook,例如 Claude Code 集成会把 muxy-claude-hook.sh 挂到 7 个生命周期事件上。这些脚本极薄——只做一件事:exec同目录下编译好的muxy-hook桥接二进制,事件就通过本地 Unix Socket(~/Library/Application Support/Muxy/muxy.sock)以 v3 协议的 JSON 行送达 Muxy:

{"v":3,"kind":"agent_event","provider":"claude_hook","phase":"finished","title":"Claude Code","body":"Done"}

phase只有三种:working(干活中)、waiting(等你的确认/输入)、finished(回合结束)。协议细节、去重与重试策略都在 docs/features/ai-notifications.md 的 "Protocol (v3)" 一节。

第二层:前台进程检测(兜底信号)

万一 Hook 缺失或配置坏了怎么办?Muxy 的 AIAgentDetector.swift 会持续检查每个分屏的前台进程名,把它和 11 款代理的可执行文件名(claude、codex、cursor…)做规范化比对,认出"这里跑着一个代理"。

细节上非常克制,避免误判:

  • 检测发现"工作中的代理"离开前台后,Muxy 给4 秒宽限期等 Hook 的finished事件,窗口内 Hook 永远胜出,不会提前置闲;
  • waiting状态的代理进程还活着,不能用同一标准——宽限拉长到30 秒,且每轮结束先确认进程是否真的消亡,防止把"真正在等你输入"的代理误判为结束(实现见 AgentStatusStore.swift 中的detectionLossGrace与waitingDetectionLossGrace)。

三态模型:working / waiting / finished 如何呈现

状态收敛在 AgentStatusStore.swift 中,按working > waiting > idle的优先级向 worktree 和项目聚合:

  • 🟢working:代理正在执行,侧边栏与工作树显示忙碌状态点;
  • 🟡waiting:代理停下等你——例如 Claude Code 弹出权限请求,此时你会收到"需要关注"通知;
  • ⚪finished → idle:回合完成,触发完成徽标 + Toast + 桌面通知,Agents Focused 侧边栏随即移除该项。

会话结束(代理进程退出)与回合结束是两回事:进程退出会立即结束该 pane 的代理会话,但已完成回合的徽标和通知仍保留,方便回头查看。

在哪里开启与测试:Settings → Notifications 一键排障

无需手写任何配置。打开Settings → Notifications(界面代码见 NotificationSettingsView.swift),每个 Provider 一行,自带三件套:

  1. 开关:按工具启停追踪;
  2. 状态点:健康引擎实时汇报——已安装 / 需要修复 / 冲突(conflict表示发现了非 Muxy 的同名 Hook,Muxy 绝不会覆盖你的第三方配置);
  3. Test 按钮:通过真实 Socket 发一条测试事件,验证"桥接二进制 → Socket → 服务端 → 应答"整条链路;Refresh按钮则重新铺设 Hook 文件并再次校验。

健康引擎是声明式"验证 + 修复":启动时、工具可用时、配置文件被外部修改时(FSEvents 监听~/.claude、~/.codex等)都会自动重新校验并在漂移时原位修复,且带写回哈希与限速,不会自我触发死循环。相关实现可看 HookInstaller.swift 与 HookHealthStore.swift。

常见问题:收不到通知怎么办?

按顺序排查(详见 docs/user-guide/troubleshooting.md):

  • 🔍 到 Settings → Notifications 看对应 Provider 的状态点,点Refresh重新铺设,再点Test确认链路;
  • 🔁 OpenCode / Xal 的插件在启动时加载——Muxy 修复文件后需重启正在运行的会话;Copilot CLI 修复后同样重启 CLI 才能加载新配置;
  • 📄 Hook 投递失败会记录到~/Library/Application Support/Muxy/hooks.log;Socket 是否存活可检查muxy.sock是否存在;
  • 🌐 SSH 远程跑的代理不在本机进程表里,检测层看不到它,此时完全依赖 Hook 或 pane 关闭来结束会话。

小结

Muxy 用一个很聪明的架构解决了"AI 代理跑完没人知道"的痛点:Hook 提供精确事件、进程检测提供兜底、四态状态机负责聚合、健康引擎负责自愈,把 Claude Code、Codex 等 10 余款 AI 编码代理的生命周期统一收敛成你看得懂的状态点和通知。装好 Muxy,把代理跑在它的终端里,剩下的就不用管了——任务一完成,提醒自然会到。

【免费下载链接】muxyLightweight and Memory efficient terminal for Mac built with SwiftUI and libghostty项目地址: https://gitcode.com/gh_mirrors/muxy1/muxy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询