跨平台桌面监控工具 — 监控 Claude Code 和 OpenAI Codex 进程的资源使用情况。
支持 macOS / Windows / Linux 三平台,提供 CLI、Web 仪表盘、Electron 桌面应用三种使用形态。
自动发现所有 Claude Code / Codex 进程及其完整子进程树,包括 bash、node 子进程。
- 进程级:每个进程的 RSS(物理内存)、VSZ(虚拟内存)、CPU 使用率
- 系统级:整体 CPU 使用率、RAM 使用量/总量、负载均值
监控 Claude/Codex 相关目录的磁盘占用(~/.claude/、~/.codex/、缓存目录等)。
三类异常进程自动识别:
| 类型 | 说明 | 处理方式 |
|---|---|---|
| defunct | 内核 Z 状态僵尸进程 | 杀掉父进程让 init 回收 |
| orphan | 父进程已死亡 | 直接杀掉孤儿进程 |
| suspected | PPID=1 的 node 进程(疑似残留) | deep 模式可清理 |
- CLI:
agentwatch cleanup [--yes] [--deep] - Web 仪表盘:红色脉冲按钮,一键清理
- Electron:托盘菜单 → 原生确认弹窗 → 清理
| 形态 | 命令 | 说明 |
|---|---|---|
| ANSI TUI | agentwatch watch |
终端实时刷新面板 |
| Web 仪表盘 | agentwatch web |
浏览器访问 localhost:9741 |
| 桌面应用 | npm run dev |
Electron 窗口 + 系统托盘 |
cd agentwatch
npm install三种启动方式:
# CLI 模式
node src/index.js status
# 全局安装 CLI
npm link
agentwatch status
# Electron 桌面应用
npm run devnpm run build:linux # AppImage / deb
npm run build:mac # dmg / zip
npm run build:win # NSIS 安装包 / portable
npm run build:all # 三平台全部构建构建产物在 dist/ 目录。
| 命令 | 说明 | 选项 |
|---|---|---|
agentwatch 或 status |
一次性状态快照(默认) | --json |
agentwatch watch |
实时 ANSI 面板 | -n <秒> 刷新间隔 |
agentwatch zombie |
列出异常进程 | -d, --deep 含疑似孤儿 |
agentwatch cleanup |
清理异常进程 | -y, --yes 跳过确认 -d, --deep |
agentwatch disk |
仅看磁盘 | --json |
agentwatch branch [path] |
只读审计本地与远程分支 | --refresh 刷新远程并读取 PR 元数据 |
agentwatch web |
启动 Web 仪表盘 | -p <端口> -n <秒> |
全局选项:--json(JSON 输出)、--no-color(无彩色)、-V(版本)、-h(帮助)
agentwatch web # 默认端口 9741
agentwatch web -p 8080 # 自定义端口浏览器打开 http://localhost:9741,实时 WebSocket 推送数据。
npm run dev # 开发模式- 系统托盘图标实时显示 CPU/内存/进程数
- 右键托盘菜单:打开面板 / 一键清理 / 开机自启 / 刷新间隔 / 退出
- 关闭窗口最小化到托盘(不退出)
Ctrl+D切换 Deep 清理模式
AgentWatch — Mon Jul 06 15:30:00 2026
State: R=运行 S=睡眠 D=等待IO T=停止 Z=僵尸
CLAUDE 2 实例, 0 zombies RSS: 884.21 MiB VSZ: 143.79 GiB
├─ claude [20647] S RSS 430.55 MiB claude
└─ claude [528637] S RSS 398.54 MiB claude
└─ bash [537984] S RSS 3.52 MiB /bin/bash -c source ...
CODEX 1 实例, 0 zombies RSS: 174.31 MiB VSZ: 675.24 MiB
└─ codex [354559] T RSS 174.31 MiB codex
ORPHANS 0 疑似遗留进程
DISK
claude ~/.claude/ 269.86 MB
codex ~/.codex/ 2.02 GB
agentwatch/
├── bin/agentwatch.js # CLI shebang 入口
├── src/
│ ├── index.js # Commander CLI 路由(不变)
│ ├── main.js # Electron 主进程
│ ├── preload.js # contextBridge IPC 桥接
│ ├── lib/
│ │ ├── discovery.js # 进程树构建 + 匹配 + 孤儿分类
│ │ ├── zombie.js # 僵尸检测 + 清理
│ │ ├── disk.js # 磁盘测量(Linux du / macOS du / Win PS)
│ │ ├── web.js # Express + WebSocket 服务器
│ │ ├── system.js # systeminformation 封装(CPU/内存)
│ │ ├── tui.js # ANSI 实时 TUI 面板
│ │ ├── formatter.js # 彩色输出 + JSON
│ │ ├── utils.js # 工具函数
│ │ └── platform/ # 平台抽象层
│ │ ├── index.js # 按 process.platform 分发
│ │ ├── linux.js # /proc 后端
│ │ ├── darwin.js # ps 后端
│ │ └── win32.js # PowerShell/WMIC 后端
│ └── renderer/ # Electron 渲染进程
│ ├── index.html # 仪表盘 HTML
│ ├── style.css # 样式
│ ├── app.js # 渲染逻辑
│ └── data-provider.js # IPC / WebSocket 抽象
├── assets/ # 图标资源
├── build/ # 构建配置(macOS 权限等)
├── electron-builder.yml # electron-builder 配置
└── package.json
| 包 | 用途 |
|---|---|
commander |
CLI 命令框架 |
chalk |
终端彩色输出 |
express + ws |
Web 仪表盘(HTTP + WebSocket) |
systeminformation |
跨平台系统 CPU/内存信息 |
electron |
桌面应用壳 |
electron-builder |
三平台构建打包 |
src/lib/platform/ 按 process.platform 自动选择后端:
| 平台 | 进程枚举 | 进程终止 | 磁盘测量 |
|---|---|---|---|
| Linux | /proc 文件系统 |
SIGTERM → SIGKILL | du -sb |
| macOS | ps -A -eo |
SIGTERM → SIGKILL | du -sk |
| Windows | PowerShell Get-CimInstance |
taskkill → /F |
PowerShell Get-ChildItem |
- 操作系统:macOS / Windows / Linux
- Node.js:>= 18.0.0
- 构建桌面应用需要联网下载 Electron 二进制文件