Skip to content

kulesh/aiobscura

aiobscura

CI License

AI Agent Activity Monitor - A tool for observing, querying, and analyzing activity from AI coding assistants.

Overview

aiobscura ingests activity logs from AI coding assistants (Claude Code, Codex, Aider, Cursor) and provides:

  • Unified storage - Normalized SQLite database with lossless raw data preservation
  • Session tracking - Monitor active and historical coding sessions
  • Analytics - Token usage, tool call patterns, activity streaks
  • Terminal UI - Real-time monitoring and historical exploration

Screenshots

Live View

Watch your AI coding sessions in real-time. See active sessions across multiple agents, with a live message stream showing prompts, responses, and tool calls as they happen.

Live View

Projects View

Browse all your projects with aggregate statistics. See session counts, total tokens used, activity streaks, and when each project was last active.

Projects View

Threads View

Explore individual conversation threads across all projects. Filter by assistant type (Claude Code, Codex), see message counts, and identify main threads vs. spawned agents.

Threads View

Project Detail

Drill into a specific project to see activity patterns by hour and day, top tools used, and most frequently edited files.

Project Overview

Plans Browser

View Claude Code plan files associated with each project. Plans capture the assistant's implementation strategies and can be opened for detailed review.

Project Plans

Files Touched

See which files the AI assistant has edited most frequently, helping identify hotspots in your codebase.

Project Files

Thread Detail

Read through full conversation history with syntax-highlighted messages. See human prompts, assistant responses, and tool calls with their arguments.

Thread Detail

Plan Viewer

Read plan documents with markdown rendering directly in the terminal.

Plan Viewer

AI Wrapped

Get a "Spotify Wrapped" style summary of your AI coding activity - yearly or monthly. See total sessions, tokens, tools used, and more with a festive animated display.

Wrapped Year Wrapped Month

Installation

Homebrew (macOS/Linux)

brew install kulesh/tap/aiobscura

From source

Requires Rust (latest stable recommended).

git clone https://github.com/kulesh/aiobscura.git
cd aiobscura
cargo build --release

The binary will be at target/release/aiobscura.

Running

# Option 1: run sync once, then launch the TUI
aiobscura-sync
aiobscura

# Option 2: run only the TUI (it can ingest itself when sync is not active)
aiobscura

# Option 3: run sync continuously (watch mode) without the TUI
aiobscura-sync --watch

The sync command will:

  1. Scan for installed AI agents (Claude Code, Codex, etc.)
  2. Create a SQLite database at ~/.local/share/aiobscura/data.db
  3. Ingest available session logs (incremental - only new data)

Process coordination rules:

  • aiobscura-sync exits if aiobscura is already running.
  • If aiobscura-sync is already running, aiobscura starts in read-only mode and only reads from the database.

Supported Agents

Agent Location Status
Claude Code ~/.claude/ Supported
Codex ~/.codex/ Supported
Aider .aider.* Planned
Cursor ~/.cursor/ Planned

Project Structure

aiobscura/
├── aiobscura-core/     # Core library (parsing, storage, analytics)
├── aiobscura/          # Terminal UI and CLI binaries
├── aiobscura-wrapped/  # Wrapped summary CLI
├── docs/               # Architecture and requirements
└── tests/              # Integration tests

Development

# Build
cargo build

# Run tests
cargo nextest run  # or cargo test

# Lint
cargo clippy

# Format
cargo fmt

See CONTRIBUTING.md for detailed guidelines.

Status

This project is under active development. See the docs/ folder for architecture and requirements documentation.

Central Collector Mode

Use aiobscura as an edge sensor that forwards to a central CatSyphon collector:

Quick registration command on each edge machine:

aiobscura-collector register \
  --server-url "https://catsyphon.yourdomain.com" \
  --workspace-id "<WORKSPACE_UUID>"

License

Licensed under either of:

at your option.

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md for how to get started.

About

Coding Assistance Analytics on Command Line

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages