Local semantic search and RAG over your Logseq or Obsidian notes, surfaced in your search engine.
When you google, fireSeqSearch appends hits from your personal notebook to the search results, and optionally asks an LLM to answer your question grounded in those notes. All local.
Works the same on Bing, DuckDuckGo, Searx, and Metager — "google" is just shorthand.
Want the pre-LLM version? Use backend release
0.9with the latest addon. Details indocs/README-pre-llm.md.
More examples at docs/examples.md.
- Semantic search — finds your notes by meaning, not keyword overlap.
- One-line LLM summary per page, so you can scan results at a glance.
/askQ&A — ask a question, get a cited answer drawn from your notes.
Install bottom-up: LLM backend → local server → browser extension. The extension is useless until the server is running, and the server is useless until the LLM backend answers.
The server talks to an OpenAI-compatible HTTP backend for embeddings and
chat. The embedding model is bge-m3 (1024-dim, multilingual) — chosen
and pinned for retrieval quality. Any reasonable instruct-tuned chat model
works.
Embedding is zero-config. On first run the server auto-downloads a pinned,
self-contained bge-m3 llamafile (~723 MB) into ~/.cache/fire_seq_search
(verified by SHA-256) and launches it for you. There's nothing to install for
embeddings — the only model you choose is the chat model.
Drop the chat GGUF in ~/llm/ — that's where the server looks by default:
~/llm/Qwen3.5-9B-UD-Q4_K_XL.gguf(chat)
Override the chat model with --chat-model if you keep it elsewhere. To use
your own embedding model instead of the auto-downloaded one, pass
--embed-model /path/to/model (GGUF or llamafile).
By default the server spawns its own llama-server; see
build_llama_server.sh and
Containerfile for the Vulkan build. To use an existing
server (Ollama, remote llama), pass --embed-endpoint / --chat-endpoint.
Install Rust: https://doc.rust-lang.org/cargo/getting-started/installation.html
Min Rust version: see .github/workflows/rust.yml.
git clone https://github.com/Endle/fireSeqSearch
cd fireSeqSearch/fire_seq_search_server
cargo build --release
./target/release/fire_seq_search_server --notebook_path /home/you/logseq_notebook
Or use debug_server.sh as a template.
./target/release/fire_seq_search_server --notebook_path /home/you/vault --obsidian-md
Or use debug_obsidian.sh as a template.
The server hosts endpoints on http://127.0.0.1:3030. The extension talks to
it from your browser.
Firefox only: https://addons.mozilla.org/en-US/firefox/addon/fireseqsearch/
AstroWiki-RAG-2026-05-24.webm
Notebook provider: AYelland/AstroWiki_2.0
MIT (both server and addon). Third-party libraries may have their own licenses; see source.
LOGO: https://www.flaticon.com/free-icon/web-browser_7328762 — Flaticon license. UI icons by manshagraphics — Flaticon.
- karlicoss/promnesia — broader scope; fireSeqSearch only appends notebook hits to search results.
- Logseq Copilot
notes on disk local LLM backend
(Logseq / Obsidian) (llama-server / Ollama)
│ │
▼ │
chunker ────────► embeddings ◄──────────┤
│ │
▼ │
SQLite store ──► in-memory cosine │
│ │
▼ │
/query /ask ◄───────── chat ──────────┘
│
▼
browser extension appends to search results
- Index: ~10K chunks fit in a flat in-memory
Vec<[f32; 1024]>, brute-force cosine. No vector DB, no ANN. - Storage: SQLite holds notes and chunks; the index is rebuilt in memory from SQLite on startup.
- Refresh: mtime + Blake3 content hash detect changes. 10-minute
background rescan; manual
POST /reindextrigger. - LLM serving: OpenAI-compatible HTTP (embed + chat). By default the
server spawns its own
llama-server; you can also point at a pre-running server (Ollama, remote llama) via--embed-endpoint/--chat-endpoint.
See CLAUDE.md for the locked technical decisions and
rationale.
Provided by https://star-history.com