{"_id":"@csevav/ai-usage-dashboard","_rev":"5-4c0259c7793bdf7d71d7dfa847b81e74","name":"@csevav/ai-usage-dashboard","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@csevav/ai-usage-dashboard","version":"0.1.0","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"author":{"name":"Luke Mei"},"license":"MIT","_id":"@csevav/ai-usage-dashboard@0.1.0","maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"dist":{"shasum":"59adabf7ce9c07ee848718b3f09b8937ff35c359","tarball":"https://registry.npmjs.org/@csevav/ai-usage-dashboard/-/ai-usage-dashboard-0.1.0.tgz","fileCount":8,"integrity":"sha512-8qn/QVz7HQqxpQchaq8YrtJg2Z1siLvodQLjES9H7CuZULQFLLs/1uTLchpM3H1XRFNh/rk0NU4E3WKISvlUNA==","signatures":[{"sig":"MEUCIQDTmGasJqbkqAEcDZcq9/sxl8LmBjx7yM7Gwz8jNn8PhAIgQtVgOpNy/9bkBOORGREHNpRUF1OzIZ0W3vZ4Vz90vqo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64645},"engines":{"node":">=18"},"gitHead":"8f99060e6e73ab8c486dae2e57866e9715f7a172","scripts":{"postinstall":"npm run copy-dashboard && npm run copy-command","copy-command":"bash ./scripts/copy-command.sh","copy-dashboard":"bash ./scripts/copy-dashboard.sh"},"_npmUser":{"name":"csevav","email":"vsecamei@gmail.com"},"repository":{"url":"git+https://github.com/Csevav/ai-usage-dashboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","directories":{},"_nodeVersion":"25.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-usage-dashboard_0.1.0_1778560441738_0.06303998969641","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@csevav/ai-usage-dashboard","version":"0.1.1","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"author":{"name":"Luke Mei"},"license":"MIT","_id":"@csevav/ai-usage-dashboard@0.1.1","maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"dist":{"shasum":"08f107467a9515426883e35e6caba6d740f3efb6","tarball":"https://registry.npmjs.org/@csevav/ai-usage-dashboard/-/ai-usage-dashboard-0.1.1.tgz","fileCount":8,"integrity":"sha512-MIUAvo9X3nTsbREESv52qZR7jlMRWE/lz6xvn1wbLOX2VTJCypRCOkHdm7ExK51GHSlj1tZTePOCkHk/N/y95A==","signatures":[{"sig":"MEYCIQDwidULLlGJhKv8s2EPOXrGu2gRF+r0rwz93A3oHdP+cAIhANT9BYZPHCj9nl8TDyi5fzC86SYHD6IdJwYYlr0fbymw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83915},"engines":{"node":">=18"},"gitHead":"3a52a4ae5da51a3c73f554b26f8b99ccd65c59d0","scripts":{"postinstall":"npm run copy-dashboard && npm run copy-command","copy-command":"bash ./scripts/copy-command.sh","copy-dashboard":"bash ./scripts/copy-dashboard.sh"},"_npmUser":{"name":"csevav","email":"vsecamei@gmail.com"},"repository":{"url":"git+https://github.com/Csevav/ai-usage-dashboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","directories":{},"_nodeVersion":"25.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-usage-dashboard_0.1.1_1778572268934_0.4932359591496407","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@csevav/ai-usage-dashboard","version":"0.1.2","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"author":{"name":"Luke Mei"},"license":"MIT","_id":"@csevav/ai-usage-dashboard@0.1.2","maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"bin":{"ai-usage-dashboard":"bin/ai-usage-dashboard"},"dist":{"shasum":"e5e124cb874acf5ad0ec2173334f34e875c05995","tarball":"https://registry.npmjs.org/@csevav/ai-usage-dashboard/-/ai-usage-dashboard-0.1.2.tgz","fileCount":9,"integrity":"sha512-BmpBKCADcaGSrt7kcN3QhhWExaLYGKEOCVN7lzixRU/Kq+V0DNMQOYU86JqhnX59Kfx2z3mEDGL/W1aWXowFgg==","signatures":[{"sig":"MEYCIQDqFhJCxPMvg2+6j1GJP1WU0PL/plWfbha8x35M/b8BsgIhAPVbGp9vSGFMbnTfEHu34ppSAgnVv3oVSmOGwW82rgKv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84430},"engines":{"node":">=18"},"gitHead":"e8d6ea2123ce8bc81e6fb55c96d27cc45c6db031","scripts":{"postinstall":"npm run copy-dashboard && npm run copy-command","copy-command":"bash ./scripts/copy-command.sh","copy-dashboard":"bash ./scripts/copy-dashboard.sh"},"_npmUser":{"name":"csevav","email":"vsecamei@gmail.com"},"repository":{"url":"git+https://github.com/Csevav/ai-usage-dashboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","directories":{},"_nodeVersion":"25.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-usage-dashboard_0.1.2_1778572672662_0.5712420602920583","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@csevav/ai-usage-dashboard","version":"0.1.3","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"author":{"name":"Luke Mei"},"license":"MIT","_id":"@csevav/ai-usage-dashboard@0.1.3","maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"bin":{"ai-usage-dashboard":"bin/ai-usage-dashboard"},"dist":{"shasum":"0a23314f24a9737a9778434c9ff95ece65c29930","tarball":"https://registry.npmjs.org/@csevav/ai-usage-dashboard/-/ai-usage-dashboard-0.1.3.tgz","fileCount":10,"integrity":"sha512-T6pijNxkHKPKK4UTh1SLesG6qXtT/KFY9aYSMdbXa4QBsJuuepG7gKQw5WZQDQfNxGsTYb0EJKgKpuPTQ1zUJQ==","signatures":[{"sig":"MEUCIHQ8oNCze1et17k2ZQcDMLWrtyVeoJ+h7DqUfZZXT+zEAiEA8KSVtAPbsph4GZZKZhPKQmVScFw5gFmbrR2B9L+V4sw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107901},"engines":{"node":">=18"},"gitHead":"cb316e1a8d6ec3d3ee9eea87b8affcbd0b840559","scripts":{"postinstall":"npm run copy-dashboard && npm run copy-command","copy-command":"bash ./scripts/copy-command.sh","copy-dashboard":"bash ./scripts/copy-dashboard.sh"},"_npmUser":{"name":"csevav","email":"vsecamei@gmail.com"},"repository":{"url":"git+https://github.com/Csevav/ai-usage-dashboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","directories":{},"_nodeVersion":"25.8.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ai-usage-dashboard_0.1.3_1778578442923_0.9107579473605254","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@csevav/ai-usage-dashboard","version":"0.1.4","description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"author":{"name":"Luke Mei"},"license":"MIT","homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"repository":{"type":"git","url":"git+https://github.com/Csevav/ai-usage-dashboard.git"},"bin":{"ai-usage-dashboard":"bin/ai-usage-dashboard"},"scripts":{"copy-dashboard":"bash ./scripts/copy-dashboard.sh","copy-command":"bash ./scripts/copy-command.sh","postinstall":"npm run copy-dashboard && npm run copy-command"},"engines":{"node":">=18"},"gitHead":"d7b36a6b9d05604d7d0317ca70f3a95143a5eefd","_id":"@csevav/ai-usage-dashboard@0.1.4","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-DEHRZs2ttCX5oFSX2bTCU/7bLh1V1XkQZCRZgt1XcVA4DeMrNHu6nKRQ8g4+vqVSvGkHxxg0z+JuuZq8MOUpnQ==","shasum":"3ca62266313cc3fed621b92c112c62eaa14ed501","tarball":"https://registry.npmjs.org/@csevav/ai-usage-dashboard/-/ai-usage-dashboard-0.1.4.tgz","fileCount":12,"unpackedSize":123838,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF844iRdFidx+A7mGuDL2Ysiu2MmMalRBsK9idtaB7n/AiEA2+OX69T6E3+14IG/CS9AJMjn9/htESCUwvW9Cr+fvxA="}]},"_npmUser":{"name":"csevav","email":"vsecamei@gmail.com"},"directories":{},"maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ai-usage-dashboard_0.1.4_1779069427053_0.4677372081378841"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T04:34:01.659Z","modified":"2026-05-18T01:57:07.327Z","0.1.0":"2026-05-12T04:34:01.903Z","0.1.1":"2026-05-12T07:51:09.084Z","0.1.2":"2026-05-12T07:57:52.788Z","0.1.3":"2026-05-12T09:34:03.045Z","0.1.4":"2026-05-18T01:57:07.219Z"},"bugs":{"url":"https://github.com/Csevav/ai-usage-dashboard/issues"},"author":{"name":"Luke Mei"},"license":"MIT","homepage":"https://github.com/Csevav/ai-usage-dashboard#readme","keywords":["claude","claude-code","codex","openai-codex","ccusage","dashboard","ai-usage","cost-tracker","anthropic"],"repository":{"type":"git","url":"git+https://github.com/Csevav/ai-usage-dashboard.git"},"description":"Visual usage dashboard for Claude Code + OpenAI Codex — per-conversation ranking, real costs, side-by-side comparison. Chinese UI, Beijing time.","maintainers":[{"name":"csevav","email":"vsecamei@gmail.com"}],"readme":"# @csevav/ai-usage-dashboard\n\n> 一个可视化的 **Claude Code + OpenAI Codex** 用量看板。基于 [`ccusage`](https://www.npmjs.com/package/ccusage) 增强，新增 Codex 数据、按对话排行、中文界面、系统本地时区等功能。当前主要支持 **Codex** 和 **Claude Code**。\n>\n> A visual usage dashboard for **Claude Code + OpenAI Codex** — built on top of [`ccusage`](https://www.npmjs.com/package/ccusage), with Codex support, per-conversation ranking, Chinese UI, and system-local timezone display. It currently targets **Codex** and **Claude Code** workflows.\n\n![status: WIP](https://img.shields.io/badge/status-WIP-orange) ![license: MIT](https://img.shields.io/badge/license-MIT-blue)\n\n---\n\n## ✨ 功能 / Features\n\n| | 原版 `ccusage-ui-dashboard` | 本项目 |\n|---|:---:|:---:|\n| Claude Code 用量 | ✅ | ✅ |\n| OpenAI Codex 用量 | ❌ | ✅ |\n| Claude vs Codex 综合对比 | ❌ | ✅ |\n| 按**对话**统计 / 排行（带标题） | ❌ | ✅ |\n| 「时段 / 对话」明细可切换 | ❌ | ✅ |\n| 表头点击排序 | ❌ | ✅ |\n| 缓存命中 hover 说明 | ❌ | ✅ |\n| 中文 UI | ❌ | ✅ |\n| 系统本地时区显示 | ❌ | ✅ |\n| 周柱状图按周一日期标注 | ❌ | ✅ |\n\n---\n\n## 📦 安装 / Install\n\n```bash\nnpm install -g @csevav/ai-usage-dashboard\n```\n\n安装后会自动：\n\n1. 把模板和构建脚本拷到 `~/.ai-usage-dashboard/`\n2. 在 `~/.claude/commands/` 创建 `ai-usage.md`，作为 Claude Code 的快捷集成\n\n## 🚀 使用 / Usage\n\n推荐用法：在 **Codex** 或终端里直接运行：\n\n```bash\nbash ~/.ai-usage-dashboard/build.sh\n```\n\n这是面向 **Codex / shell workflow** 的直接入口。\n\n也支持直接用 `npx` 运行：\n\n```bash\nnpx @csevav/ai-usage-dashboard\n```\n\n例如：\n\n```bash\nnpx @csevav/ai-usage-dashboard --no-open\n```\n\n如果你在用 **Claude Code**，也可以直接输入：\n\n```\n/ai-usage\n```\n\n会自动构建并在浏览器打开看板。\n\n支持参数：\n- `--no-open` — 只生成 HTML，不自动打开浏览器\n- `--no-summary` — 不在终端打印 markdown 摘要\n\n## Skill 用法 / Use as a Codex skill\n\n这个仓库现在也可以直接作为 **Codex skill** 使用。\n\n核心入口是：\n\n```bash\nbash ~/.codex/skills/usage-dashboard/build.sh\n```\n\n当用户表达这些意图时，这个 skill 很适合触发：\n\n- 想打开可视化用量看板\n- 想看 Codex / Claude Code 的 token 或费用趋势\n- 想按对话查看用量排行\n- 想要浏览器里的 dashboard，而不是纯终端输出\n\n如果你是本地维护这个 skill，关键文件是：\n\n- `SKILL.md` — skill 触发说明\n- `agents/openai.yaml` — skill 的界面名称和默认提示词\n- `build.sh` — 实际构建入口\n\n## 🔧 依赖 / Requirements\n\n- **Node.js** ≥ 18（用于 `npx`）\n- **Python 3**（用于解析本地日志）\n- **macOS / Linux**（用了 bash + `open` 命令；Windows 暂未测试）\n- 至少装了下面其中一个：\n  - [`ccusage`](https://www.npmjs.com/package/ccusage) — Claude Code 用量数据来源\n  - [`ccusage-codex`](https://www.npmjs.com/package/ccusage-codex) — Codex 用量数据来源\n\n`build.sh` 会自动通过 `npx --yes` 调用上述包，无需额外安装。\n\n> 当前这份包主要面向两种使用方式：**Codex 里直接运行 shell 命令**，以及 **Claude Code 里的 slash command 集成**。\n\n## 🗂 数据来源 / Data sources\n\n- **Claude Code**：扫描 `~/.claude/projects/*/*.jsonl`（每个文件 = 一次对话），按消息 ID 去重，使用 Anthropic 当前 Claude 4 定价表本地计算每段对话费用\n- **OpenAI Codex**：调用 `npx ccusage-codex session --json` 拿到对话级用量；从 `~/.codex/sessions/.../rollout-*.jsonl` 提取首条用户输入作为对话标题\n- 时间跟随使用者的系统本地时区展示\n\n## 🤝 致谢 / Credits\n\n- 灵感和基础结构来自 [`ccusage-ui-dashboard`](https://www.npmjs.com/package/ccusage-ui-dashboard) by okrasn\n- 数据采集依赖 [`ccusage`](https://www.npmjs.com/package/ccusage) by ryoppippi 和 [`ccusage-codex`](https://www.npmjs.com/package/ccusage-codex)\n\n## 📄 License\n\nMIT © Luke Mei\n","readmeFilename":"README.md"}