greprequest flow
read_filerequest_handler.py
read_fileaccess_policy.py
searchApplicationService
read_fileapplication_service.py
read_filerepository.py
- files opened
- 18
- repeated reads
- 5
- context payload
- increasing
OPEN SOURCELOCAL FIRSTv0.1.0
Dokkai turns a repository into a graph-aware context layer that coding agents can search, navigate and cite.
Compatible with:
A compressed software architecture, waiting to be read.
REST. A compressed software architecture, waiting to be read.
Dokkai extracts that network, connects it to the source and makes it available as compact context.
greprequest flow
read_filerequest_handler.py
read_fileaccess_policy.py
searchApplicationService
read_fileapplication_service.py
read_filerepository.py
context("How does a request move through the system?")Illustrative retrieval trace. Counts describe this example, not a universal benchmark.
Dokkai extracts the structural graph, builds rich source chunks and stores searchable code and descriptions.
CGR → CHUNK → DESCRIBE → UPSERTClasses, functions, methods, modules and their relationships become a navigable graph.
CALLS · INHERITS · IMPLEMENTS · OVERRIDES · DEFINESSemantic or literal search finds the seed. Dokkai then expands through its connected neighborhood.
seed → hop 1 / CALLS → hop 2 / IMPLEMENTSReturn a compact, source-linked bundle through MCP, CLI, API or the web interface.
MCP · CLI · API · WEB UIsrc/services/seed · hop 1 · hop 2More files do not create more understanding.Relationships do.
A semantic match becomes a starting point. Dokkai follows the surrounding calls, implementations, definitions and inherited behavior before assembling the context.
Search does not stop at the match.
A lens moves across an abstract dependency graph. Outside the lens the graph is dim and unlabeled. Inside it, entities, relations, source ranges and provenance become visible: the seed match, the calls and implementations around it, and the assembled context bundle.
Selected entity: ApplicationService.execute. Kind: SERVICE. Path: src/services/application_service.py. Lines: 41–63. Connected entities: 4.
Expose the same graph to Claude Code, Codex, local Ollama models, the CLI or the web interface.
Read the MCP documentationcontext(
project="example-service",
query="How does a request move through the system?"
)BUNDLE 6 source ranges seed · hop 1 · hop 2source-linked · local · deterministic demo
claude mcp add dokkai -- uv run --directory /absolute/path/to/dokkai python src/mcp_server.pyThe included harness records tool calls and approximate response payload against a defined token budget.
QUERY TYPEarchitecture traversal
QUERY TYPEsemantic retrieval
Measured with the included local harness. Repository and query details have been anonymized.
Graph extraction, storage, retrieval, MCP, CLI, API and web UI are available in the public repository under the MIT License.
Graph extraction, indexing, retrieval and generation remain on the local machine.
Remote providers are an explicit choice, not an architectural requirement.
dokkai/ ├── src/ │ ├── controllers/ │ ├── services/ │ │ ├── ingest.py │ │ ├── retriever.py │ │ ├── graph_store.py │ │ └── chat.py │ └── mcp_server.py ├── cli/ ├── frontend/ ├── docker-compose.yml └── README.md
Review and bug-hunt routines use graph-aware retrieval to collect evidence and keep findings attached to source.
diffcontextanalyzesummarize
ANCHORED · src/services/application_service.py:41–63scopesearchinspectverifyreport
UNANCHORED · requires verificationThe dependency graph pulls back, its selected paths stay active, and the relations recompose into the Dokkai / 読解 signature.
v0.1.0 · MIT license · local graph extraction · MCP · CLI · web UI