360 Secure SkillHub
360 安全技能中心

Agent Usage Tracker

提供本地 TypeScript 与 SQLite 的 token 记账工具:持久化每次 agent 交互的提示与补全 token 数,按模型 id 精确查价计算成本,支持按会话、模型或时间窗口聚合用量,并可保存预算在超限时告警或阻断;附带示例与测试。

imgolye
imgolye
热度 68.24
最近更新 2026-05-11 17:29:24
分类:数据依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add agent-usage-tracker
Metadata
name
agent-usage-tracker
description
Track AI agent token usage, model costs, and budget thresholds with a TypeScript and SQLite workflow. Use when the user wants to instrument agent runs, calculate token spend, enforce per-session or time-window budgets, or analyze usage by model, session, or time range.

Agent Usage Tracker

Use this skill when you need local token accounting for AI agents.

What it provides

  • Real-time token usage persistence in SQLite
  • Cost calculation based on per-model pricing
  • Budget thresholds with persisted warning and blocking states
  • Usage statistics grouped by time window, session, or model

Files to use

  • src/UsageTracker.ts: ingestion, storage, and reporting
  • src/CostCalculator.ts: pricing catalog and cost math
  • src/BudgetManager.ts: budget policy evaluation
  • examples/basic-usage.ts: end-to-end usage example
  • tests/: reference behavior for tracking, budgeting, and aggregation

Recommended workflow

  1. Instantiate UsageTracker with a SQLite path or :memory: for tests.
  2. Register model pricing with CostCalculator.
  3. Record each agent interaction with prompt tokens, completion tokens, session id, and timestamp.
  4. Save reusable budgets with BudgetManager.setBudget, then call evaluateBudget before or after new work to warn or stop when a limit is exceeded.
  5. Use UsageTracker.getUsageSummary or getTimeSeries for reporting.

Integration notes

  • Store token counts at the moment the provider returns usage metadata.
  • Keep model ids normalized. Pricing lookup is exact by model id.
  • Use metadata for provider-specific fields such as request id or tool name.
  • For sliding-window budgets, query usage by startTime and endTime before dispatching new work.

Output expectations

This skill ships as a local Node.js package with tests and examples. Extend CostCalculator if your provider pricing changes.