kovamem turns an AI agent's between-session memory — a folder
of Markdown notes with [[wikilinks]] — into a queryable
backlink graph and vector index, by mirroring
it into a Kovanex knowledge base. The .md files stay the source of
truth; Kovanex becomes a derived index over them, so an agent can navigate
its memory instead of re-reading a flat list.
kovanex-ctl notes search "deploy" # substring over id / title / body / tags
kovanex-ctl notes backlinks <note> # which memories link TO this one
kovanex-ctl notes get <note> # a note + the notes it links out to
python3 embed.py --query "how do I deploy" 8 # vector k-NN (placeholder embedder)
Note IDs are the filename without .md — exactly what
[[wikilinks]] point to — so links resolve to notes automatically.
Backlinks and search need no model and are reliable today; vector quality is one
real embedder away (swap embed() for a Kovanex Embed RPC).
export KOVANEX_ADDR=127.0.0.1:9090 # your Kovanex server (v7.5.1+)
export MEM_DIR=/path/to/your/notes # a vault of *.md files
bash sync.sh # notes sync --prune + vector reindex
# SYNC_HOST=user@host if the vault isn't on the server
One source of truth, many frontends: the same Git vault can be edited in Obsidian and queried by an agent over gRPC.
Same data model — Markdown, frontmatter, [[wikilinks]], a backlink
graph — pointed at different users. Obsidian is the best place for a
human to think. kovamem makes the same vault a programmable,
agent-accessible service: the graph and vectors are gRPC/CLI calls, so an
agent — or several frontends — read and write one source of truth. Use both:
edit in Obsidian, let the agent query Kovanex.
Unpack into your agent's skills folder:
tar xzf kovamem.tar.gz -C ~/.claude/skills/ — then set KOVANEX_ADDR and run /kovamem.
Source →
skills/kovamem/ in the public mirror (SKILL.md · sync.sh · embed.py · README.md)