# agwatch：AI编程工作流的终端分析利器，让成本与效率一目了然

> agwatch是一款终端分析CLI工具，专为AI编程工作流设计。它能读取本地AI助手的使用数据，将其标准化为统一的事件模型，并以交互式仪表板或结构化摘要的形式呈现，帮助开发者精准掌控AI编程的成本与效率。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-20T22:12:57.000Z
- 最近活动: 2026-04-20T22:23:09.552Z
- 热度: 159.8
- 关键词: AI编程, 成本分析, CLI工具, OpenCode, Claude Code, 终端仪表板, Token统计, 效率优化
- 页面链接: https://www.zingnex.cn/forum/thread/agwatch-ai
- Canonical: https://www.zingnex.cn/forum/thread/agwatch-ai
- Markdown 来源: ingested_event

---

# agwatch：AI编程工作流的终端分析利器，让成本与效率一目了然

## 为什么需要agwatch？

随着OpenCode、Claude Code等AI编程助手的普及，开发者们越来越依赖这些工具来提升编码效率。然而，这种依赖也带来了一个现实问题：如何清晰地了解自己在AI编程上的投入与产出？

每次调用花费了多少？哪个项目消耗了最多的token？哪些工具被频繁使用？这些问题的答案往往散落在各个AI助手的本地数据文件中，难以汇总分析。agwatch应运而生，它将这些分散的数据整合起来，提供一个统一的视图来洞察AI编程工作流的全貌。

## 核心功能：回答实际问题

agwatch的设计目标是回答开发者最关心的实际问题：

- **成本追踪**：每个AI助手、每个模型、每个项目或每种活动类型花费了多少钱？
- **使用分析**：调用了多少次？使用了哪些工具和shell命令？
- **Token统计**：输入、输出、缓存和写入的token分别有多少？
- **限额监控**：各提供商的使用窗口是否接近限额？

通过这些数据，开发者可以做出更明智的决策，比如优化提示词以减少token消耗，或者识别哪些项目从AI辅助中受益最多。

## 数据整合：统一事件模型

agwatch的核心创新在于它定义了一个统一的使用事件模型。不同AI助手（如OpenCode和Claude Code）使用不同的本地存储格式（SQLite、JSON、JSONL），agwatch通过适配器层读取这些数据，并将其转换为标准化的内部表示。

这种设计带来了几个好处：

1. **多代理聚合**：可以同时监控多个AI助手的使用情况
2. **数据一致性**：不同来源的数据以相同的格式呈现
3. **可扩展性**：添加对新AI助手的支持只需编写新的适配器

目前agwatch支持：
- **OpenCode**：通过SQLite或JSON本地数据读取
- **Claude Code**：通过本地JSONL项目日志读取

## 交互式仪表板：一目十行

agwatch的主打功能是交互式终端仪表板。启动后，用户会看到一个多面板界面，实时展示AI编程活动的各项指标：

### 概览面板

- 总成本
- 总调用次数
- 会话数量
- 缓存命中率
- 各类token总计

### 项目分析面板

按项目分组展示成本、token和会话数，帮助识别哪些代码库最活跃。

### 模型使用面板

按模型分组展示成本、token和调用次数，揭示哪些LLM是你的主力。

### 活动类型面板

按推断的工作流类型（编码、调试、测试等）分组，展示不同活动的成本分布。

### 每日活动面板

展示每日的成本、token和调用趋势，帮助发现使用模式。

### 工具与命令面板

- **核心工具**：展示工具调用频率
- **Shell命令**：展示最常用的shell命令
- **MCP服务器**：展示MCP服务器使用频率

### 提供商限额面板

对于已配置的提供商，agwatch显示：
- 提供商名称
- 数据来源（API或浏览器回退）
- 当前5小时使用百分比和重置时间
- 当前周使用百分比和重置时间
- 当前月使用百分比和重置时间（如可用）

支持的提供商包括OpenAI、Anthropic、Z.AI等。

## 使用指南：快速上手

### 安装

```bash
npm install -g agwatch-cli
```

### 启动仪表板

```bash
agwatch
# 或
agwatch dashboard
```

可选参数：
- `--range today`：只看今天的数据
- `--range 30d`：查看最近30天的数据
- `--watch`：每3秒自动刷新数据

### 生成摘要报告

```bash
# 文本摘要
agwatch summary

# JSON格式输出
agwatch summary --json

# 指定时间范围
agwatch summary --range 7d
agwatch summary --from 2026-04-01 --to 2026-04-20
```

### 键盘快捷键

在仪表板界面中：
- `q`：退出
- `1-4`：切换时间段
- `↑ ↓`：循环切换时间段
- `← →`：切换代理标签
- `u`：刷新使用数据
- `r`：刷新定价数据
- `v`：刷新提供商数据
- `a`：刷新所有数据
- `p`：打开提供商设置菜单

## 配置管理

agwatch的配置存储在`~/.config/agwatch/config.json`。首次运行时会自动创建默认配置：

```json
{
  "agents": [
    {
      "id": "opencode",
      "label": "OpenCode",
      "enabled": true,
      "type": "sqlite",
      "paths": [
        "~/.local/share/opencode/opencode.db",
        "~/.opencode/opencode.db",
        "~/.config/opencode/opencode.db"
      ]
    },
    {
      "id": "claude",
      "label": "Claude Code",
      "enabled": true,
      "type": "jsonl",
      "paths": ["~/.claude/projects"]
    }
  ],
  "providers": []
}
```

每个代理配置包含：
- `id`：稳定的内部标识符
- `label`：UI中显示的名称
- `enabled`：是否包含在聚合中
- `type`：本地存储格式（sqlite/json/jsonl）
- `paths`：搜索代理数据的候选路径

## 定价数据管理

agwatch从LiteLLM定价数据库获取模型价格并本地缓存：

- **数据源**：https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json
- **缓存文件**：`~/.config/agwatch/pricing-cache.json`
- **缓存TTL**：24小时

行为逻辑：
- 缓存新鲜时使用缓存价格
- 缓存过期时获取新价格
- 获取失败时回退到最后缓存的价格
- 无可用定价时未知成本显示为$0
- 源记录已有非零成本时优先使用记录值

## 数据架构：分层设计

agwatch的数据处理采用分层架构：

```
数据层 -> 领域层 -> 聚合层 -> 表示层
```

- **数据层**：读取本地代理数据
- **领域层**：转换为统一事件模型
- **聚合层**：按各种维度汇总统计
- **表示层**：渲染为仪表板或摘要

这种分层设计确保了代码的可维护性和可扩展性。

## 实际应用场景

agwatch在以下场景中特别有价值：

### 成本控制
通过监控每日和累计成本，开发者可以设定预算并追踪实际支出，避免意外的高额账单。

### 效率优化
分析工具使用频率和shell命令模式，可以识别重复性工作并考虑自动化，进一步提升效率。

### 项目复盘
按项目查看AI辅助的投入，可以评估哪些项目真正从AI编程中受益，为未来的技术选型提供数据支持。

### 团队管理
在团队环境中，agwatch的数据可以帮助管理者了解团队整体的AI工具使用情况，合理分配资源。

## 技术亮点

- **纯终端体验**：无需浏览器，在命令行即可获得丰富的可视化体验
- **实时更新**：支持自动刷新，数据始终最新
- **轻量级**：基于Node.js，安装简单，资源占用低
- **隐私优先**：只读取本地数据，不上传任何敏感信息

## 结语

agwatch填补了AI编程工具生态中的一个重要空白：使用分析。它不仅帮助开发者了解自己的AI编程习惯，更为优化工作流程、控制成本提供了数据支撑。随着AI编程助手的普及，这类分析工具将变得越来越重要，成为开发者工具箱中的标配。
