pi-stats
Token/cost usage aggregator for pi coding agent — /usage command with per-model breakdown, specific-date and date-range filters
Package details
Install pi-stats from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-stats- Package
pi-stats- Version
0.2.0- Published
- Aug 21, 2026
- Downloads
- 443/mo · 20/wk
- Author
- preinpost
- License
- MIT
- Types
- extension
- Size
- 20.7 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-stats
pi coding agent 세션의 토큰/비용 사용량을 집계하는 확장. ~/.pi/agent/sessions/** 의
세션 JSONL을 읽어 모델별·일자별로 합산해 /stats 커맨드로 보여준다.
설치
pi install npm:pi-stats # npm
pi install git:github.com/preinpost/pi-stats # git
pi install /absolute/path/to/pi-stats # 로컬 경로
임시로 써보기:
pi -e npm:pi-stats
사용법
/stats 오늘 (전체 프로젝트)
/stats 2026-08-21 특정 날짜 하루
/stats 2026-08-01..2026-08-07 기간 (양끝 포함)
/stats 2026-08-20.. 특정일부터 지금까지
/stats ..2026-08-20 처음부터 특정일까지
/stats --project 현재 프로젝트(cwd) 세션만
/stats --daily 일자별 집계 추가
/stats --json JSON 출력 (스크립트 연동용)
/stats --help 도움말
플래그는 조합 가능: /stats 2026-08-01.. --project --daily
날짜 경계는 단말 로컬 타임존 기준.
집계 대상
- 어시스턴트 메시지 usage (
provider/model기준 그룹핑) - toolResult 안의 중첩 LLM usage →
(tools)행 - compaction / branch_summary 요약 생성 usage →
(summary)행 - 서브에이전트 실행 기록 (
subagent-artifacts/*_worker_*_transcript.jsonl,type필드 없이 중첩message.usage만 있는 레코드 포함) - compaction
retainedTail복사본은 중복이라 제외
환경변수
PI_STATS_SESSIONS_DIR— 세션 디렉터리 override (기본~/.pi/agent/sessions)
개발
npm install # devDeps (typescript, @types/node)
npm run selftest # 합성 fixture 기반 테스트 (31 케이스 — 파싱/집계/엔드투엔드)
npm run typecheck # tsc --noEmit
selftest는 실제 ~/.pi/agent/sessions에 의존하지 않고 합성 fixture만 쓰므로
CI 등 어느 환경에서든 결정적으로 동작한다.
릴리스
GitHub Actions(.github/workflows/bump-and-release.yml)가
자동 처리한다:
main에 push → typecheck + selftest 게이트 통과 시 커밋 메시지 기반 버전 범프 (fix:→ patch,feat:→ minor,BREAKING CHANGE/!:→ major)- 태그 + GitHub Release 생성 후 npm publish
수동 릴리스: Actions 탭 → Bump & Release → Run workflow → 버전 타입 선택.
필요한 시크릿 (1회): gh secret set NPM_TOKEN -R preinpost/pi-stats