Skip to content

About

Omarchy shell bar widget for Memorix — stats, live search, per-project breakdown for the shared AI-agent memory layer

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memorix — Omarchy bar widget

A native Omarchy shell bar widget for Memorix, the local-first shared memory layer for AI coding agents.

One bar icon with its own identity — deliberately not a tab inside the agents panel, because Memorix is a memory layer, not a subscription agent. Click it for the panel below (data pixelated in docs):

Memorix panel open

Features

  • Pool stats at a glance — stored today, total memories, approved long-term records, last write time
  • Live search — type in the panel and filter the whole pool across all projects (250 ms debounce, results with type, project, and age)
  • Per-project breakdown — see which projects are filling memory
  • Recent memories — newest observations with type and relative time
  • Workbench launcher — left-click the button or press W
  • Snapshot export — one-click memorix transfer export

Keyboard: R refresh · W workbench · Esc clear search / close.

IPC: omarchy-shell io.github.mbot11.memorix <open|close|show|hide|toggle|refresh>

Requirements

  • Omarchy (Quickshell-based shell)
  • Memorix installed (npm install -g memorix)
  • python3 (stdlib only — the widget reads the Memorix SQLite store directly)

Install

omarchy plugin add https://github.com/mbot11/omarchy-memorix --enable
omarchy plugin enable io.github.mbot11.memorix --section right

The icon appears in the right bar section the first time Memorix has recorded memories; the panel is otherwise self-hiding.

How it works

The widget spawns no daemons and holds no state: bin/stats.py and bin/search.py open ~/.memorix/data/memorix.db read-only (WAL-safe, MEMORIX_DATA_DIR respected) when the panel needs data and exit. While the panel is closed, a single timer refreshes stats at a configurable interval.

Search is a global, case-insensitive match over title, narrative, type, and entity across every project. Agents themselves keep using Memorix's real FTS pipeline through MCP — this widget is an operator's window, not a second index.

Configuration

omarchy bar set io.github.mbot11.memorix refreshIntervalSec 120 --json
Key Default What it does
refreshIntervalSec 300 Background refresh while the panel is closed

Troubleshooting

Symptom Fix
Panel says "Memorix data not found" Install Memorix and store one memory; check ~/.memorix/data/memorix.db exists
Icon missing from the bar omarchy plugin list (enabled?), then omarchy bar put io.github.mbot11.memorix right
Search returns nothing for text you can see in memorix recent The widget searches titles/narratives; very short tokens may not substring-match

Security

  • Both helpers open the Memorix store with SQLite mode=ro — the widget cannot write your memory.
  • Search text is passed as a process argument and a bound SQL parameter; LIKE wildcards are escaped.
  • Every query is bounded (scalar aggregates, indexed LIMIT 8 recent list, a 500-row window for today's count) — pool growth cannot drive unbounded widget work.
  • All database-derived strings render as Qt plain text (Text.PlainText) — stored markup can never alter the panel or fetch resources.
  • No network access, no daemons, no telemetry.

License

MIT — see LICENSE.

About

Omarchy shell bar widget for Memorix — stats, live search, per-project breakdown for the shared AI-agent memory layer

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages