SuperAPI AI 工具集

desktop-agent-activity

智能体与模型

查看项目

更新于 10-31 16:19

技能介绍

用途

该技能面向“用户询问某个桌面端托管的编码智能体(Orca + Claude Code,以及类似的 PTY 宿主)是否还在工作、是否卡住或已空闲”的场景。它提供一套判定流程,避免仅凭进程存在就误判为正在工作。

主要能力

  • 给出明确结论:在干 / 闲着挂着 / 已停,并先讲结论。
  • 以表格列出每个实例:TTY 或 PID、状态、依据(CPU 在跳 / 源文件刚改 / 终端停写多久),要点控制在 5 行以内,不贴命令输出。
  • 通过多类证据交叉验证活跃性:进程与工作目录、CPU 采样、TTY 最后写入与源码修改时间、宿主遥测。

使用方式(检查顺序)

技能要求在判定“空闲”前完成以下 1–4 步:

  1. 进程与 cwd:用 ps 查找 claude 及宿主应用(如 Orca);仅用 lsof -a -p <pid> -d cwd 查看工作目录,不对大型 Claude 进程执行完整 lsof -p 以免超时。父进程常为 orca-tcc-login → ttysXXX 上的登录 zsh。
  2. CPU 采样:在约 5 秒内采样 2–3 次。工作中的会话 %CPU 会跳动(常见 1–10%+);空闲存活则约为 0,子进程仅为 MCP(如 chrome-devtools-mcp、server-github、kimi-cu mcp);与工作相关的子进程(caffeinate、编译器、git、测试运行器)则不是 MCP。
  3. TTY 最后写入与源码 mtime:用 ls -lT /dev/ttysXXX 判断终端是否仍在输出;遍历仓库(排除 node_modules / .next / .git)查找最近一小时内修改的 .ts/.tsx/.md;结合 git status -sb 与近期提交,未提交文件且有新 mtime 表示仍在编辑。
  4. 宿主遥测(Orca):查看 ~/Library/Application Support/orca/agent-hooks/last-status.json(最后提示、状态、worktree 路径)以及 orca-stats.json 中的 agent_start / agent_stop。

可选:对宿主窗口做 computer_use 截图确认 TUI;若截图返回空或 0×0,应停止反复截图,直接给出进程+文件层面的结论;除非用户要求看屏幕,否则不要将窗口置前。

注意事项

  • 存活 ≠ 工作,MCP 子进程会在会话开始时生成并长期存在。
  • ~/.claude/projects/**/*.jsonl 的 mtime 可能滞后数天,不能据此判定“未工作”。
  • orca-stats 中未匹配的 agent_start 可能是数月前的残留,优先参考 last-status.json + CPU + 文件。
  • last-status 的 state=done 可能滞后于已恢复的编辑循环;state=working 可能停留在最后一个工具上,需用文件 mtime 佐证。
  • terminal-history/ 条目是目录而非文件。
  • 遍历 Application Support/orca 时可能遇到消失的 Electron cookies,遇到 FileNotFoundError 应跳过而非中止检查。

限制

该技能为只读状态检查,不负责启动、停止或操控智能体。