Session Manager

A terminal UI for managing opencode sessions. Review past sessions, browse by project, and bulk delete when needed.
Features
- Project-grouped session list — sessions organized by opencode project
- Expandable tree view — press
Enter to expand/collapse project sessions
- Keyboard navigation —
j/k or ↑/↓ to move, q to quit
- Session metadata — title, created date, message count at a glance
- Zero configuration — auto-discovers opencode database at
~/.local/share/opencode/opencode.db
Installation
go install github.com/karelmolina/session-manager@latest
Or clone and build:
git clone https://github.com/karelmolina/session-manager.git
cd session-manager
go build -o session-manager .
Usage
# Launch with default database path
session-manager
# Specify custom database path
session-manager --db-path /path/to/opencode.db
Key Bindings
| Key |
Action |
↑ / k |
Move up |
↓ / j |
Move down |
Enter |
Expand/collapse project |
q / Ctrl+C |
Quit |
Requirements
- Go 1.23+
- opencode SQLite database (auto-detected at
~/.local/share/opencode/opencode.db)
Development
# Run tests
go test ./...
# Run tests with coverage
go test -cover ./...
# Run specific test
go test -run TestName ./path/to/package
# Build
go build ./...
# Format code
gofmt -w .
# Vet
go vet ./...
Architecture
internal/store — SQLite database abstraction (SessionStore interface)
internal/tui — Bubbletea TUI (model, update, view)
main.go — CLI entrypoint
Contributing
See CONTRIBUTING.md.
License
MIT — see LICENSE.