codesession
This skill integrates the codesession-cli tool to track session costs, file changes, and git commits. It instructs installing and running external CLI commands (npm install -g codesession-cli, clawhub install codesession, cs commands) that execute local processes, access ~/.codesession/sessions.db, and open http://localhost:3737.
Session Cost Tracking (codesession-cli)
Track agent session costs, file changes, and git commits. Enforces budget limits and provides detailed session analytics with a full web dashboard.
Installation
# 1. Install the CLI globally from npm
npm install -g codesession-cli
# 2. Install the OpenClaw skill
clawhub install codesession
After installing, the cs command is available globally. The OpenClaw agent will automatically use it to track sessions.
Requirements: Node.js 18+ and C/C++ build tools (needed to compile the embedded SQLite module).
OS Install build tools Ubuntu/Debian sudo apt-get install -y build-essential python3macOS xcode-select --installWindows npm install -g windows-build-toolsor install Visual Studio Build ToolsAlpine apk add build-base python3Data is stored locally at
~/.codesession/sessions.db.
When to use
- Always start a tracked session at the beginning of a multi-step task
- Always log AI usage after each API call you make
- Always end the session when the task is complete
- Check budget before expensive operations
- Use
cs dashboardto review session data in a browser
Commands
Start tracking
# Agent mode (always use --json for structured output):
cs start "task description" --json --close-stale
# Resume if a session was left open (e.g. after a crash):
cs start "task description" --json --resume
# Human/interactive mode (stays running with live file watcher):
cs start "task description"
Agent mode vs interactive mode: With
--json, the session is created in the database, JSON is printed, and the process exits immediately -- the session stays "active" and tracks git changes when you runcs end. Without--json, the process stays running with a live file watcher and git commit poller until you press Ctrl+C or runcs endin another terminal.
Log AI usage (after each API call)
# With granular tokens (cost auto-calculated from built-in pricing):
cs log-ai -p anthropic -m claude-sonnet-4 --prompt-tokens 8000 --completion-tokens 2000 --json
# With manual cost:
cs log-ai -p anthropic -m claude-opus-4-6 -t 15000 -c 0.30 --json
# With all fields:
cs log-ai -p openai -m gpt-4o --prompt-tokens 5000 --completion-tokens 1500 -c 0.04 --json
Providers: anthropic, openai, google, mistral, deepseek
Cost is auto-calculated from a configurable pricing table (17+ built-in models). Use cs pricing list --json to see known models. If a model is unknown, provide -c <cost> manually.
Check current status
cs status --json
Returns JSON with current session cost, tokens, files changed, duration. All JSON responses include schemaVersion and codesessionVersion fields.
End session and get summary
cs end -n "completion notes" --json
When ending, codesession automatically scans git for all files changed and commits made since the session started -- even if --json mode was used (no live watcher needed).
Web Dashboard
cs dashboard
# Opens http://localhost:3737 with full analytics UI
cs dashboard --port 4000 # custom port
cs dashboard --no-open # don't auto-open browser
The dashboard shows:
- Overview — KPIs, daily cost/token trends, spend projections, cost velocity
- Sessions — searchable/sortable table, per-session detail with timeline, files, commits, AI calls, notes
- Models — per-model & per-provider cost breakdown, token ratios, usage charts
- Insights — file hotspots, activity heatmap, project breakdown, pricing table
View session details
cs show --json --files --commits
View historical stats
cs stats --json
Export sessions
cs export --format json --limit 10
cs export --format csv
Add notes / annotations
cs note "Starting refactor phase"
cs note "Tests passing, moving to cleanup"
Timestamped annotations appear in cs show --json under annotations.
Recover stale sessions
cs recover --max-age 12
Auto-ends any active sessions older than 12 hours.
Agent Workflow
Agents should always use --json on every command for structured, parseable output.
- At task start:
cs start "Fix authentication bug" --json --close-stale - Add context notes:
cs note "analyzing auth flow" --json - After each AI call:
cs log-ai -p anthropic -m claude-sonnet-4 --prompt-tokens 8000 --completion-tokens 2000 --json - Check spend:
cs status --json-- readaiCostfield - At task end:
cs end -n "Fixed the auth bug, added tests" --json - Review past sessions:
cs dashboard
Pricing
Pricing is configurable. Run cs pricing list to see all known model prices. Override or add models:
# Plain model key
cs pricing set my-model 5.00 15.00
# Provider-namespaced key (avoids collisions)
cs pricing set gpt-4o 2.50 10.00 --provider openai
If the model isn't in the pricing table, you must provide -c <cost> when logging.
Budget awareness
If the user has set a budget or you detect high spending:
- Check
cs status --jsonbefore expensive operations - Warn the user if
aiCostexceeds $5.00 in a single session - Suggest cheaper models if costs are escalating
Important
- Use
--close-staleoncs startto avoid "session_active" errors from prior crashes - If
csis not installed, skip session tracking — don't block the user's task - Always use
--jsonon every command — agents must use structured output - With
--json,cs startcreates the session and exits (no long-running process needed) - Sessions are scoped by git root — running from a subdirectory still matches the repo-level session
- On errors in
--jsonmode, exit code is always1and the response has{ "error": { "code": "...", "message": "..." } } - Check
schemaVersionin JSON responses to detect breaking changes
JSON output
All commands support --json for machine-readable output. Use this when you need to parse session data programmatically.