{{ theme.skipToContentLabel || 'Skip to content' }}

Vyhľadávanie ​

kontext vyhľadáva lokálne cez BM25 a pridá k tomu všetko, čo vrátia pripojené adaptéry.

Lokálny index ​

Index Tantivy pre každý worktree, odvodený z troch zdrojov:

ZdrojDokumentyURI
Záznamy úložiskajeden na záznam: titulok, telo, štítky, cesty, IDkx:<id>
Dokumenty v repozitáriMarkdown zodpovedajúci sources.include (*.md v koreni, každý README.md, AGENTS.md, CLAUDE.md, docs/**), rozdelený na nadpisoch ##file:<path> alebo file:<path>#<section>
História commitovpredmet, telo a trailery posledných index.max_commits commitov (5000); názvy súborov sa dajú vyhľadať, ale do úryvkov sa nedostanúgit:<sha>

Šum sa odfiltruje: commity „Merge branch …“, riadky Co-authored-by/Signed-off-by, súbory väčšie ako sources.max_bytes a všetko, čo vyzerá ako súbor s tajnými údajmi.

Index sa pred dopytom obnovuje inkrementálne (záznamy a dokumenty podľa času zmeny a veľkosti, commity podľa SHA) – najviac raz za sekundu v jednom procese. kontext reindex ho zostaví od nuly.

Identifikátory ​

Slová v tvare kódu sa rozkladajú, aby sa našli obe podoby: orderTotal sa indexuje aj ako order total, user_account_balances ako user account balances. Dopyt na identifikátor navyše hľadá jeho slová ako frázu, takže RunContext nájde „run context“ bez toho, aby zasiahol každý dokument so slovom „run“.

Poradie ​

BM25 nad titulkom (váha 2,5), pomocným textom s rozloženými identifikátormi (1,5) a telom. Lokálne výsledky majú váhu 1,0; adaptéry predvolene 0,9 (weight pri každom adaptéri).

Federované vyhľadávanie ​

ctx_search pošle dopyt paralelne každému adaptéru s operáciou search, s limitom 12 sekúnd. Zdroje sa spájajú váženým recipročným poradím (každý výsledok má skóre weight / (8 + rank)), takže škála skóre žiadneho zdroja – tu BM25, tam kosínusová podobnosť – nevytlačí ostatné a jediný zdroj si zachová vlastné poradie. Duplicity sa odstránia podľa URI, podľa takmer rovnakého titulku/úryvku a vtedy, keď adaptér vráti svoju kópiu lokálneho záznamu (synchronizované …/<id>.md). Pomalý alebo zlyhávajúci adaptér nikdy nezablokuje odpoveď: objaví sa v poznámke a na 30 sekúnd si dá pauzu.

Vyhľadávanie zúžiš cez kinds (decision, convention, learning, incident, architecture, doc, commit) a sources (local a/alebo názvy adaptérov).

ctx_why ​

„Prečo je to takto?“ kombinuje viac signálov podľa cieľa:

CieľOdpoveď
path alebo adresárznalosti, ktorých paths ho pokrývajú, zhrnutie modulu, commity v tvare rozhodnutí spomedzi posledných 60, ktoré sa ho dotkli (plus tri najnovšie), adaptéry history
path:line / path:start-endto isté plus commity, ktoré tieto riadky naposledy zmenili (git blame)
SHA commituspráva, znalosti, s ktorými súvisí (cez commits alebo paths), zmenené súbory
symbol alebo témaadaptéry code ho nájdu (CodeGraph, Serena), potom lokálne znalosti a história, potom adaptéry history

Commity sa zoraďujú podľa signálov rozhodnutí – slová ako replace, migrate, instead of, because; typ Conventional Commits; breaking changes; dĺžka vysvetlenia – a podľa trailerov kontextu (Decision: …).

ctx_log ​

Časová os rozhodnutí: dátum, ID, titulok, stav, nahradenie a commit, ktorý súbor pridal. Pre skripty kontext log --json.

Vydané pod licenciou MIT alebo Apache-2.0.