I tried to use the qmd tool after looking at Kapasi's llm wiki, but I gave up because of Korean language support. Since I had some tokens left, I made this. I introduced it about a month ago and added a few things while working on tunaflow.
Summary:
A web UI has been created — Running secall serve --port 8080 will bring up a viewer in your browser. You can search, filter, and explore the graph even if you don't use Obsidian. Dark mode is enabled by default, and it was designed using Tailwind/shadcn. Actually, Claude did most of the work haha
Wiki search has become smarter — Previously, matching was done on file names and substrings in the text, so searching for "git automation" would only return pages containing those exact words. Now, it can also find semantically similar pages. Calling mode=hybrid will combine keyword and semantic results using RRF. (You need to have bge-m3 loaded in Ollama, and you only need to run secall wiki vectorize once to backfill page embeddings)
Long task cancellation button — You can now cancel sync/ingest/wiki tasks that take a long time from the web UI. It polls for cancellation before each LLM call and preserves partial results. This helped me fix a mistake I made with an incorrect option during a 30-minute wiki generation.
Automatic graph synchronization — The semantic graph (which shows which sessions modified which files and what topics were discussed) is incrementally updated each time a new session arrives. You can also rebuild it from the CLI using secall graph rebuild --since 2026-05-01.
Vault crash fix — There was an incident where sync didn't stage and push some changes in the vault (SCHEMA.md, graph/, log/) causing local and remote versions to diverge. I fixed this by using git add -A to unify them. The same pattern existed in the push() function, so I fixed that too. (Thanks to the PR reviewer for catching it ㅠ)
Example of searching for a wiki page:
curl -s -X POST http://localhost:8080/api/wiki \
-H 'content-type: application/json' \
-d '{"query":"git automation","mode":"hybrid","limit":5}'
If you don't specify mode, it will work as before with just keywords, so compatibility is maintained. If Ollama isn't running, it will automatically fall back to keyword search.
We've also received a few PRs from the outside. Opencode JSON ingest, OpenVINO embedding backend, codex wiki backend, hook examples, etc... Thank you. Thanks to those who showed interest in DaMoaN, the issues became clearer.
It's still just me using it, so it's not something grand. It's just a tool for "keeping track of conversations with agents instead of letting them just fade away." I don't even like organizing my wiki manually, so I let the LLM do it for me. Korean search is still being improved (using Lindera ko-dic / Kiwi tokenizer), but it's usable.
git clone https://github.com/hang-in/seCall
cd seCall
just build # or cargo build --release + (cd web && pnpm build)
./target/release/secall init
You can also clone Claude Code and have it install everything for you. That's what I do haha.
We released version v0.4.0. You can find a summary of changes since v0.3.3 in the Releases and README Updates section.
"seCall is an AI agent session local-first search engine. It collects conversation logs from Claude Code, Codex CLI, Gemini CLI, indexes them using BM25 + vector hybrid search, and provides them through CLI/MCP server/Obsidian compatible knowledge vault/web UI. Hybrid mode has been added to wiki search as well, allowing for semantically similar page searches using page-level embeddings."
— A one-liner summarized by AI. Actually, it's not that grand this time either 😅
It's open source, so please ⭐ star it if you like it. Forking, playing with it, and enjoying it are all welcome.
https://github.com/hang-in/seCall