Company knowledge as a connected graph.
Windows desktop application for building, quality-assuring, and analyzing a company knowledge graph.
Enargeia builds a source-backed knowledge graph in Neo4j from selected Windows directories. Documents and text chunks are linked with metadata, entities, and relationships. This makes it possible to trace structures, dependencies, and potential knowledge gaps instead of treating files as isolated entries.
The desktop interface deliberately focuses on building, managing, quality-assuring, and analyzing the graph. It does not include a chat or RAG interface. Content search and context retrieval are available through the CLI and MCP server for external LLM clients.
|
|
|
|
flowchart LR
A[Windows Folders] --> B[Extraction and Chunking]
B --> C[Full-Text Index and Embeddings]
C --> D[(Neo4j Knowledge Graph)]
D --> E[Enargeia Desktop]
E --> F[Graph Explorer]
E --> G[Quality and Analytics]
D --> H[CLI]
D --> I[MCP Server]
I --> J[External LLM Clients]
The graph database is the central knowledge backend. The desktop application is used for operational management and structural exploration. Content-related questions can be passed to a connected LLM through the CLI's search functions or MCP tools.
| Area | Purpose |
|---|---|
| Overview | Monitor graph inventory, data coverage, and status |
| Data Sources | Register roots, start scans, and monitor indexing activity |
| Graph Explorer | Explore nodes, edges, files, and source relationships structurally |
| Quality & Relationships | Review evidence and relationship suggestions and make controlled decisions |
| Graph Analytics | Analyze structure, coverage, and relationships using Cypher and optional GDS |
| System & MCP | Check database and embedding connections, view configuration, and prepare external integrations |
Components can be run locally and independently or connected to existing services.
| Component | Default or Integrated Option | Alternatives |
|---|---|---|
| Graph database | Local Neo4j instance | External Neo4j instance or Neo4j Aura |
| Embeddings | Local FastEmbed / ONNX Runtime | Existing Ollama instance or OpenAI-compatible embedding API |
| LLM | Disabled | Local or external Ollama, or an OpenAI-compatible API |
| Graph analytics | Neo4j Cypher | Optional Neo4j Graph Data Science |
| Content search | CLI and MCP | Integration into external LLM or agent workflows |
LLM features are optional. Data sources can be indexed, the graph can be managed, and structural analyses can be performed without external AI services. Automatically generated entities, summaries, and relationship suggestions are aids and should be reviewed against their source evidence.
If a Windows installer has been published for the version you want, use that installation package. The setup wizard opens on first launch. For each component, choose between a local deployment and an external service, then run the system check.
- Launch Enargeia and complete the setup wizard.
- In Data Sources, register one or more folders.
- Start the first scan.
- Wait for extraction and indexing to finish.
- Review the graph structure and source relationships in Graph Explorer.
- Evaluate relationship suggestions or run graph analyses as needed.
The local embedding model is not bundled in the installer. It is downloaded when needed and cached in the user profile. The first download requires internet access and sufficient free disk space.
After an initial index has been created, the CLI can use the same configuration as the desktop application. For example:
# Scan or update a directory
.\.venv\Scripts\enargeia-cli.exe scan "D:\KnowledgeBase"
# Run a hybrid search
.\.venv\Scripts\enargeia-cli.exe search "Customer requirements for product approval"
# Find files related to a given file
.\.venv\Scripts\enargeia-cli.exe related "D:\KnowledgeBase\Project\Requirements.docx"
# Check graph statistics and connections
.\.venv\Scripts\enargeia-cli.exe stats
.\.venv\Scripts\enargeia-cli.exe doctor --embeddingOther commands include file, graph-capabilities, analyze-graph, link-candidates, and review-link-candidate. Use --help to display available parameters and options. Adjust the example paths to match your environment.
Enargeia provides an MCP server with tools for search and context retrieval, related files, graph statistics, analysis findings, and managing relationship suggestions. The MCP process is started by the MCP client and uses the configured Enargeia runtime.
In a configured development environment, the server can be started with Python:
.\.venv\Scripts\python.exe -m winkg.mcp_serverThe MCP client must be able to run this command with the appropriate Python interpreter and the argument -m winkg.mcp_server. The exact settings depend on the MCP host.
- With a local Neo4j database, local embeddings, and external LLM features disabled, document content can be processed entirely locally.
- When external databases, embedding APIs, or LLMs are used, the relevant service processes the data sent to it. Review that service's privacy policy and terms of use.
- Enargeia does not modify the source files; extracted content and graph data are stored separately.
- Only scan directories you are authorized to access, and check for sensitive information before processing them.
In an installed Windows environment, configuration, model cache, runtime data, and logs are stored in the user profile by default:
| Content | Location |
|---|---|
| Application data | %LOCALAPPDATA%\Enargeia |
| Configuration | %LOCALAPPDATA%\Enargeia\config\settings.env |
| Local models | %LOCALAPPDATA%\Enargeia\models |
| Logs | %LOCALAPPDATA%\Enargeia\logs |
EXTRACTION_CACHE_RETENTION_DAYS controls how long extraction-cache entries are
kept (default: 90 days). Set it to 0 to disable cache cleanup; negative values
are invalid.
These directories are outside the program folder and are separate from the build artifacts. When reinstalling or uninstalling the application, remove data directories only deliberately and after making a backup.
- Windows 10 or later, 64-bit
- Free disk space for the database, graph index, and the model when using local embeddings
- Internet access to download runtime components or models that are not already available locally
- Read permissions for the selected source data
- Windows x64
- Python 3.10 to 3.13 (64-bit)
- Inno Setup if you want to create a
Setup.exein addition to the PyInstaller application directory - A working WebView2 environment for the 3D view
The application can be started directly from the Python environment. Normal changes to Python code or the UI do not require an installer build.
# Set up the development environment with GUI, local embeddings, MCP, tests, and packaging
.\setup_windows.bat
# Start the desktop GUI
.\run_gui.batThe development setup creates a local .venv. The setup wizard appears on first launch if no configuration exists yet.
.\.venv\Scripts\python.exe -m pytestSet-ExecutionPolicy -Scope Process Bypass
.\packaging\windows\build_windows.ps1The build script uses a separate .venv-packaging environment, installs pinned runtime dependencies, checks Flet/FastEmbed/ONNX prerequisites, and verifies that the required native ONNX files are included in the PyInstaller bundle. The model itself is not bundled. If Inno Setup is not installed, the PyInstaller files are created in dist; the installer is generated only when ISCC.exe is available.
assets/branding/ Corporate design source files and installer artwork
packaging/windows/ PyInstaller entry points, build script, and Inno Setup files
src/winkg/ Application, indexing, graph logic, CLI, and MCP
src/winkg/ui/ UI components, theme, and 3D graph interface
tests/ Functional and regression tests
pyproject.toml Version, dependencies, and entry points
- Do not stretch or rotate logos or change their colors.
- Use the version designed for dark backgrounds on dark surfaces and the appropriate light-background version on light surfaces.
- Leave sufficient clear space around the mark and maintain adequate text contrast.
- Check that the initial model download has completed and that internet access is available.
- Check write permissions and free disk space under
%LOCALAPPDATA%\Enargeia\models. - Open System & MCP and run the system check again.
- If the problem persists, save the logs from
%LOCALAPPDATA%\Enargeia\logsthat correspond to the time of the error.
- For a local deployment, wait until initialization is complete, then run the system check.
- For an external connection, verify the URI, database name, and credentials.
- Make sure the selected database is reachable from your computer.
- Check that the relevant data source was scanned successfully.
- Verify the file format and read permissions.
- Run another scan after changes have been made to the source files.
- When searching through the CLI or MCP, try both domain-specific terms and alternative wording.
The project version is 1.2.1. It is defined in pyproject.toml, src/winkg/__init__.py, and the Windows installer configuration.


