Sections
Semantic search (RAG)
How the project's semantic index works and how it differs from keyword search.
Every project carries its own semantic index: whatever you write in nodes, documents and comments is turned into vectors automatically and searched by meaning rather than by literal word match. The model is multilingual: the query language need not match the project's, and Russian content is searched as well as English. Embeddings are computed locally on CPU — project content never leaves for an external AI service.
What this means in practice
Nothing to run
The index updates itself as soon as you edit a node, document or comment. There is no "reindex" command because none is needed.
Query language does not matter
A Russian question finds English text and the other way round. You do not need a separate project per language.
Content never leaves
The index is computed on your side and is not sent to any external AI service. That matters when your tickets contain things third parties must not see.
You can see what is indexed
rag_status shows how much is indexed, what is queued and what failed. A brand-new project reports zero — that is normal, it fills up as you work.
From an agent — over MCP
Three tools cover the whole flow: check the index, find related work, pull ready-made context into a prompt.
rag_status(project_id)
→ index state: chunk count, vector dimension, what is out of sync
rag_query(project_id, "how does authorization work", k=5)
→ node and comment chunks ranked by meaning
rag_context(project_id, "authorization", max_chars=8000)
→ an assembled Markdown block ready to drop into a promptFrom the interface
- A state dot on a node and on every comment: queued, indexing, synced, failed.
- Manual reindexing — for a single node or for the whole project.
- Live project sync progress: the server streams updates, no page refresh needed.
- Sync history with timestamps and failure reasons.