这个项目能做什么
claudit 是一个自托管的 Web 应用,用于可视化 AI 编程会话记录中的用量。FastAPI 服务从一个或多个 Cloudflare R2 存储桶,或从本地 file:// 镜像导入会话记录,将其解析到 Postgres,并向使用浏览器内 Babel、无需前端构建步骤的 React 界面提供仪表盘数据和原始会话记录。
支持的输入格式包括 Claude Code 会话 JSONL、Codex rollout,以及两种 Kimi CLI wire 格式。一次部署可以服务多个存储桶和格式。导入按小时调度,也可以通过管理端点触发。文件键带有存储桶限定,增量导入使用 etag 和解析器版本检查。
该仪表盘有意保持量化。它报告支出、token 量、提示缓存层级、响应延迟、工具使用、工具错误、行变更估算、活动时间和上下文增长,但不提供辅导、定性会话审查、审计代理或 AI 叙述。当所选时间范围内没有任何内容产生成本时,成本面板会隐藏,而 token 面板对于零价格用量仍然可用。
指标面板包括按模型划分的成本和 token、输入/输出/缓存 token 细分、临时 5 分钟与 1 小时缓存创建拆分、思考输出 token、响应大小百分位、每会话上下文增长、会话消耗速率、工具使用比率、工具错误趋势、回复延迟、Europe/Prague 时区的活动热力图、按上下文大小划分的成本和 token、按代理类型划分的成本,以及新增或删除行数。时间范围从 24 小时到所有可用数据,服务器发送事件会在导入后触发实时刷新。
成本在导入期间根据带版本的定价文件预先计算。缓存创建定价区分 5 分钟和 1 小时 TTL 层级,而 Codex 长上下文请求会以其自身的计费调整持久化。跨文件 UUID 去重会标记规范记录,使子代理会话可以归入父会话而不会重复计数。项目别名可以使用数据库行而不是代码更改,将 worktree 或临时项目标识符合并到仓库项目中。
身份验证可以使用来自外部认证数据库的数字用户 ID 和 PBKDF2 哈希,并使用 HMAC 签名的 cookie 会话和登录速率限制。还提供只读访客模式,但不支持项目过滤或按会话访问会话记录。运营者可以通过环境变量重命名应用,以用于专注于 Codex 或 Kimi 的部署。PNG 导出使用配置好的 Python 解释器,并安装 matplotlib 和 psycopg;如果这些依赖不可用,API 会返回 503。
该仓库包括后端解析器和 schema、React 前端、systemd 示例、解析器测试夹具、pytest 套件、基准测试脚本和 CI 工作流。浏览器必须能够从 unpkg.com 加载 React、ReactDOM 和 Babel;Google Fonts 是可选的。该项目采用 MIT 许可证。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。