Guía de Intercambio de Corpus de Documentos
A primera vista
Qué: Reemplazar o extender el corpus de documentos utilizado por decision_gate_docs_search y MCP resources/list + resources/read.
Por qué: Adapte la guía de tiempo de ejecución del LLM a su entorno, políticas o documentación interna.
Dónde: decision-gate.toml bajo [docs].
Cómo se Construye el Corpus de Documentos
- Valores predeterminados integrados (tiempo de compilación, sin E/S de red).
- Documentos adicionales opcionales cargados desde
docs.extra_paths(archivos o directorios).
Los documentos se cargan una vez al inicio del servidor y se almacenan en un catálogo en memoria.
Paso 1: Prepara tus documentos
Requisitos:
- Archivos Markdown (
.md) solamente. - Cada documento debe incluir un encabezado
# Título. - Utiliza encabezados
##/###para secciones buscables. - Mantenga los archivos por debajo del límite configurado
docs.max_doc_bytes.
Notas:
- Los nombres de archivo se convierten en IDs de documento (sanitizados a minúsculas + guiones bajos).
- Los documentos personalizados reciben el rol de
patternpor defecto. - Los archivos vacíos se omiten con advertencias.
Paso 2: Actualizar decision-gate.toml
Reemplace el corpus predeterminado con un directorio personalizado:
[docs]
enabled = true
enable_search = true
enable_resources = true
include_default_docs = false
extra_paths = ["./my-docs"]
max_doc_bytes = 262144
max_total_bytes = 1048576
max_docs = 32
max_sections = 10
Amplía el corpus predeterminado con algunos archivos adicionales:
[docs]
enabled = true
enable_search = true
enable_resources = true
include_default_docs = true
extra_paths = ["./overrides/llm_playbook.md", "./runbooks"]
Comportamiento que se puede esperar:
- Las rutas faltantes fallan al iniciar con un error de configuración.
- Los documentos de gran tamaño se omiten con advertencias.
- Se aplican límites de tamaño total / conteo.
Paso 3: Asegurar la Visibilidad de la Herramienta (Opcional)
La búsqueda de Docs es una herramienta. Si filtras herramientas, asegúrate de que sea visible:
[server.tools]
mode = "filter"
allowlist = ["decision_gate_docs_search", "scenario_define", "scenario_start"]
denylist = []
Si docs.enabled = false o docs.enable_search = false, la herramienta está oculta y las llamadas devuelven UnknownTool.
Paso 4: Reiniciar el Servidor
Los documentos se cargan solo al inicio. Reinicie para recoger nuevo contenido. Las advertencias sobre documentos omitidos se imprimen en stderr.
Paso 5: Validar el Corpus
Buscar (herramientas/llamada):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "decision_gate_docs_search",
"arguments": { "query": "precheck vs live", "max_sections": 3 }
}
}
Lista de recursos (resources/list):
{ "jsonrpc": "2.0", "id": 2, "method": "resources/list" }
Recursos leídos (resources/read):
{
"jsonrpc": "2.0",
"id": 3,
"method": "resources/read",
"params": { "uri": "decision-gate://docs/custom/my_doc" }
}
Solución de problemas
- Search returns no results: empty query returns an overview; otherwise confirme que los encabezados existen y que el corpus está cargado.
- El servidor falla al iniciar: falta una ruta en
docs.extra_paths. - Herramienta faltante en tools/list: verifica los toggles de
[docs]y[server.tools]. - Error al leer el recurso: asegúrese de que la URI coincida con
resources/list.