docs.theus.pe/docs/naupa theus.peInicio docs

Ñaupa — Motor de inteligencia de código

Ñaupa es el motor de inteligencia de código de Theus: un binario estático que analiza tu repositorio con tree-sitter (AST real, 158 lenguajes), construye un grafo de conocimiento persistente y lo expone al agente por MCP — con respuestas en menos de 1 ms y 100% local.

Qué es

Ñaupa indexa el proyecto una vez y mantiene un grafo de conocimiento con símbolos, relaciones CALLS, rutas HTTP y flujos de datos. Sobre ese grafo el agente puede preguntar «¿quién llama a esta función?», «¿qué endpoints tocan esta tabla?» o «¿por dónde fluye este dato?» sin gastar tokens leyendo archivos.

  • Binario estático en C — sin runtime, sin dependencias; parsing por AST con tree-sitter para 158 lenguajes.
  • Hybrid LSP — resolución precisa de símbolos con servidores de lenguaje para 13 lenguajes, combinada con el análisis estático del resto.
  • Grafo persistente — relaciones CALLS, rutas HTTP y data flows consultables con Cypher.
  • Rápido de verdad — consultas en <1 ms; indexa el kernel de Linux (28 M LOC) en ~3 minutos.
  • Embeddings incluidos — búsqueda semántica con embeddings nomic locales, sin llamadas a ninguna API.
  • 14 herramientas MCP — cualquier agente compatible con MCP puede usarlas.
  • UI 3D — visualización interactiva del grafo en http://localhost:9749.
  • 100% local — nada sale de tu máquina.

Instalación

Instalador de una línea (detecta tu plataforma y descarga el binario):

curl -fsSL https://theus.pe/naupa.sh | bash

Instalación manual: descarga el binario para tu plataforma desde https://theus.pe/dl/naupa/, dale permisos de ejecución y colócalo en tu PATH:

curl -fsSLo naupa https://theus.pe/dl/naupa/<plataforma>/naupa
chmod +x naupa
mv naupa /usr/local/bin/

Después de instalar el binario, regístralo en tus agentes:

naupa install                 # detecta hasta 11 agentes instalados y los configura
naupa install --skip-config   # solo instala; el registro en cada agente lo haces tú
naupa install detecta los agentes de código presentes en tu máquina (hasta 11 soportados) y añade Ñaupa como servidor MCP en la configuración de cada uno. Con --skip-config no toca ninguna configuración y puedes registrarlo manualmente donde quieras.

Uso con Theus CLI

Con Theus no hay nada que configurar: si el binario naupa está instalado, Theus lo monta automáticamente como servidor MCP con el nombre theus-naupa al arrancar la sesión. Sus 14 herramientas aparecen junto a las nativas y el agente las usa cuando necesita entender la estructura del proyecto.

# kill-switch: arranca Theus sin montar Ñaupa
THEUS_NO_NAUPA=1 theus
UI 3D como dashboard (v0.1.14): la visualización 3D del grafo viene embebida en el binario y Theus la abre como dashboard del proyecto al arrancar (localhost:9749). THEUS_DASHBOARD=neural vuelve al dashboard clásico.
En español y con nuevo diseño (Ñaupa 1.1.0): la UI 3D está completa en español por defecto (inglés y chino con naupa config set ui-lang es|en|zh|auto) y estrena diseño: paleta por conectividad, aristas por familia semántica con gradiente en las llamadas, niebla de profundidad, campo de estrellas, halo de selección y panel de detalle como overlay.
Auto-indexado (v0.1.13): al abrir Theus en un proyecto, Ñaupa construye el grafo en segundo plano sin pedir nada (tope de seguridad: 50k archivos) y registra un watcher que lo mantiene al día. No hace falta indexar manualmente.
La variable THEUS_NO_NAUPA=1 desactiva el montaje automático para esa sesión. Es útil para aislar problemas o en proyectos donde no quieras indexar nada.

Las 14 herramientas MCP

HerramientaQué hace
search_graphBúsqueda híbrida (semántica + estructural) sobre el grafo: símbolos, archivos y relaciones relevantes a una consulta en lenguaje natural.
query_cypherEjecuta una consulta Cypher arbitraria sobre el grafo de conocimiento.
get_symbolDetalle de un símbolo: definición, ubicación exacta (archivo:línea) y firma.
find_callersQuién llama a una función (relaciones CALLS entrantes).
find_calleesQué llama una función (relaciones CALLS salientes).
call_pathRuta de llamadas entre dos funciones a través del grafo.
list_http_routesRutas HTTP detectadas (método, path y handler que las atiende).
trace_data_flowSigue el flujo de un dato: desde dónde entra hasta dónde se usa o persiste.
list_symbolsSímbolos del proyecto (funciones, clases, tipos), con filtro por archivo o clase.
file_outlineEsqueleto estructural de un archivo: símbolos que define y qué importa.
project_statsResumen del índice: archivos, lenguajes, conteo de nodos y aristas del grafo.
semantic_searchBúsqueda puramente semántica por embeddings (nomic, local) sobre código y símbolos.
reindexReindexa el proyecto (incremental; solo lo que cambió).
graph_uiAbre la visualización 3D del grafo en http://localhost:9749.

Ejemplos reales

Las herramientas también están disponibles desde la línea de comandos con naupa cli:

# búsqueda híbrida sobre el grafo
naupa cli search_graph 'dónde se valida el token de sesión'

# quién llama a una función
naupa cli find_callers 'handleLogin'

# rutas HTTP del proyecto
naupa cli list_http_routes

Consulta Cypher directa — por ejemplo, las 10 funciones más llamadas del proyecto:

naupa cli query_cypher "
  MATCH (caller)-[:CALLS]->(f:Function)
  RETURN f.name, f.file, count(caller) AS llamadas
  ORDER BY llamadas DESC
  LIMIT 10
"

Datos y privacidad

Todo el análisis ocurre en tu máquina. Ñaupa no envía código, símbolos ni embeddings a ningún servicio externo.

RutaQué contiene
~/.cache/naupa/<proyecto>.dbEl grafo de conocimiento y los embeddings del proyecto (caché local por proyecto).
.naupa.jsonConfiguración por proyecto en la raíz del repo: exclusiones, lenguajes, opciones de indexado.
.naupa/graph.db.zstArtefacto opcional del grafo comprimido, versionable para compartir el índice con el equipo.
Puedes borrar ~/.cache/naupa/ en cualquier momento; el índice se reconstruye con naupa cli reindex o en el siguiente arranque.

Licencia y atribución

Ñaupa se distribuye bajo licencia MIT y es un producto de Theus. La atribución de los componentes de terceros que vendoriza (tree-sitter y sus gramáticas, SQLite, mimalloc, nomic-embed, entre otros) se preserva en los avisos de licencia que acompañan a los binarios.

Theus — agente de código local-first y multimodelo · Hecho en Perú