opencode-devjournal
v0.2.1
Published
OpenCode Memory Dashboard — session timeline, memory files, .env editor
Downloads
596
Maintainers
Readme
DevJournal
An OpenCode plugin that surfaces everything happening across your sessions in a single dashboard. Timeline, persistent memory, and .env management — served as a web UI alongside your editor.
Why
OpenCode sessions are ephemeral by design. DevJournal adds a persistent layer:
- See your work — a timeline of every session across all your projects, grouped by day, with what you were working on and what's left to do.
- Keep context between sessions — environment specs and coding preferences stored as markdown files that OpenCode reads automatically. Edit them from the dashboard.
- Manage .env files — find, view, and edit .env files across your projects without leaving the browser.
Install once. OpenCode handles the rest.
Features
Journal — every session in ~/.tmp/sessions/ appears on the timeline. Each card shows the title, project, current request, components, and exit criteria progress. Sessions are grouped by day.
Memory — two markdown files in ~/.config/opencode/memory/:
environment.md— your system setup, runtime versions, shell, editorpreferences.md— coding style rules, formatting conventions
Both are loaded by OpenCode every session. Edit them from the dashboard.
.Env Editor — scans your projects for .env files, lists them with variable counts, and lets you view or edit them inline.
Activity overview — left sidebar shows weekly stats (sessions, projects, files touched). Right sidebar has a 28-day activity heatmap and sessions-per-day chart.
Install
Requires OpenCode and Node.js 18+.
opencode plugin opencode-devjournalOr add to ~/.config/opencode/opencode.json:
{
"plugin": ["opencode-devjournal"]
}When OpenCode starts, it downloads the plugin and launches the dashboard server automatically. Open http://localhost:4173 in your browser.
The server runs while OpenCode is open and shuts down when OpenCode closes. Only one instance runs at a time.
Update
# If installed via opencode plugin (recommended)
opencode plugin opencode-devjournal -f
# Or using the install script from any source directory
bash install.sh --updateThis re-downloads the latest package, rebuilds if needed, and restarts the server. Memory files are preserved.
Uninstall
# From the project directory
bash install.sh --uninstall
# Or directly
bash scripts/uninstall.shWhat's removed:
| Artifact | Location |
|----------|----------|
| Plugin config | ~/.config/opencode/opencode.json — plugin entry removed |
| Package cache | ~/.cache/opencode/packages/opencode-devjournal@latest/ |
| Skill symlink | ~/.opencode/skills/devjournal |
| Command file | ~/.opencode/command/devjournal.md |
| Downloaded source (if curl-installed) | ~/.local/share/opencode-devjournal/ |
| PID file | ~/.config/opencode/devjournal.pid |
| Server process | Port 4173 killed |
Preserved:
- Memory files in
~/.config/opencode/memory/— your environment and preferences are kept. Delete manually if you want them gone.
Usage
| Action | How |
|--------|-----|
| Open dashboard | http://localhost:4173 (auto-started with OpenCode) |
| Switch tabs | Topbar or sidebar — Journal, Memory, .Env |
| Edit a memory file | Click Edit on any file, make changes, Save |
| View .env contents | Click a project, then Load content |
| Edit .env | Click Edit, make changes, Save |
| Log a note (from OpenCode) | Use the devjournal tool → action: log |
How it works
DevJournal has two parts:
- Plugin (
dist/index.js) — loaded by OpenCode. Starts/ stops the dashboard server, hooks intosession.createdevents for auto-logging, and registers adevjournaltool (stop, status, log). - Server (
server.cjs) — an Express app that scans session files, reads/ writes memory markdown, and browses .env files. Serves the dashboard at port 4173. Manages a PID file at~/.config/opencode/devjournal.pidto enforce a single instance.
Memory files live at ~/.config/opencode/memory/. Sessions are scanned from ~/*/.tmp/sessions/*/context.md.
