A desktop application for managing OpenCode skills, agents, and persistent memory (Engram).
Engram (from neuroscience: the physical trace of a memory in the brain) is a persistent memory system for AI coding agents.
"Your AI coding agent forgets everything when the session ends. Engram gives it a brain."
Engram is a Go binary with:
- SQLite + FTS5 for full-text search
- MCP server for tool integration
- Session tracking — survives compaction
- Works with OpenCode, Claude Code, Gemini CLI, Codex, Cursor, Windsurf, etc.
mem_save— Save structured observations (What/Why/Where/Learned format)mem_search— Full-text search across all memoriesmem_context— Get recent session contextmem_session_summary— Save end-of-session summariesmem_update— Update existing observations- And more...
- Skills Management — View, edit, and organize AI agent skills
- Engram Browser — Explore and edit persistent memory entries
- Agent Overview — Track and manage custom AI agents
- Usage Analytics — Monitor skill and agent usage statistics
- Markdown Rendering — Read documentation with full markdown support
- Local Storage — SQLite-based persistent storage
The app features a modern dark theme with gold accents:
┌─────────────────────────────────────────┐
│ ⚡ SKILLS [Search] │
│ ─────────────────────────────────────── │
│ ○ go-testing 24 uses │
│ ○ issue-maker 18 uses │
│ ○ pr-creator 12 uses │
│ ○ sdd-workflow 7 uses │
└─────────────────────────────────────────┘
- Java 17 with modular architecture
- JavaFX 21 for desktop UI
- SQLite for local persistence
- Flexmark for Markdown rendering
- Jackson for JSON processing
- Maven for build management
cd openCodeManager-app
mvn clean packagemvn javafx:runOr run the generated JAR:
java -jar target/opencode.jarI built OpenCode Manager as a personal tool to:
- Explore skills — Quickly browse what skills are available without reading raw markdown files
- Track usage — See which skills I use most (the tracker feature we added to OpenCode tonight!)
- Manage Engram — Browse and edit the persistent memory entries
- Learn JavaFX — Practice desktop development while creating something useful
This evening I implemented skill usage tracking in the OpenCode CLI (packages/opencode/src/tool/skill.ts), which inspired this PR. The manager app already had a UsageTracker — I just needed the same for the CLI.
Apache 2.0