nmdra/opencode-cache-stats

GitHub: nmdra/opencode-cache-stats

一个 opencode TUI 插件,在弹出对话框中展示当前会话的 prompt-cache 命中率、token 消耗与成本汇总,帮助开发者监控和优化 AI 编程的缓存使用效率。

Stars: 3 | Forks: 0

# cache-stats `cache-stats` 是一个用于 [opencode](https://opencode.ai) 的 TUI 插件。TUI 即文本用户界面。该插件会在弹出对话框中显示当前活动 session 的 prompt-cache 命中率。 在 session 中运行 `/cache-stats` 命令(或 `cache-stats.show` 命令)即可打开该对话框。 ## 功能 - 通过命中条和评语显示当前活动 session 的 cache 命中率。 - 显示 token、调用次数和成本的汇总。 - 按 model 和 subagent 对汇总进行分组。 - 显示每个 model 和每个 subagent 的命中率。 - 显示每次调用的平均值以及最后一次请求。 - 根据等级为命中率标记颜色:Excellent、Good、Fair 或 Poor。 - 支持使用方向键和翻页键进行滚动。 | 汇总与 models | 总计明细 | Subagents | |:---:|:---:|:---:| | ![Session 汇总与 models](https://static.pigsec.cn/wp-content/uploads/repos/cas/54/543ce683f076b027fbdff67d09a96bb66120e5fc8c67c185161cffef8793c983.jpg) | ![分组总计](https://static.pigsec.cn/wp-content/uploads/repos/cas/1e/1ed2a065847c0a59db6cc084b12ea1c5c455f77d93eed485127db54c2fe293cb.jpg) | ![Subagent 列表](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad2b45794b9f17c34eaa48d0d39c378b99c45859eb937a3b3f861296c7a0cccb.jpg) | ## 显示内容 该对话框显示: - 当前活动 session 的整体 cache 命中百分比。通过命中条和评语(Excellent、Good、Fair 或 Poor)来展示等级。 - Session 汇总:总调用次数、model 数量、subagent 数量、总 token 数以及总成本。 - 每个 model 的明细,包含命中条、命中百分比和 token 总数。 - token、调用次数和成本的分组总计。总计包含百分比、每次调用的平均值以及最后一次请求。 - Subagent 列表,包含每个 subagent 的命中率以及每个 subagent 所使用的 model。 该插件使用以下公式计算 cache 命中率: ``` hit = cache read / (input + cache read) ``` cache 写入是一次性的准备成本。它不计入命中率。该插件还会报告从 cache 读取数据的 API 调用次数。 ## 安装 1. 将插件复制到 `~/.config/opencode/tui-plugins/` 目录下。 2. 在 `~/.config/opencode/tui.json` 中注册该插件: ``` { "$schema": "https://opencode.ai/tui.json", "plugin": ["./tui-plugins/cache-stats.tsx"] } ``` 该仓库保留了 `tui.json` 的副本,名为 `tui.json.example`。 修改 `tui.json` 后,请重启 [opencode](https://opencode.ai)。然后在 session 中运行 `/cache-stats` 命令。 ## 文件 - `tui-plugins/cache-stats.tsx` — TUI 插件 - `tui.json.example` — 注册配置示例 ## 文档 - [index](docs/index.md) — 概述 - [installation](docs/installation.md) — 如何安装插件 - [usage](docs/usage.md) — 如何使用插件 - [how-it-works](docs/how-it-works.md) — 插件如何收集数据 - [colors](docs/colors.md) — 插件如何为命中率标记颜色 - [troubleshooting](docs/troubleshooting.md) — 如何修复常见错误
标签:AI, OpenCode, SOC Prime, TUI插件, 开发工具, 成本监控, 数据统计, 端口扫描, 缓存命中率, 自动化代码审查, 自动化攻击