You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enrutador de conocimiento contextual para agentes de IA.
18
18
19
-
`ai-loadout` es el formato de la tabla de distribución y el motor de coincidencia que permite a los agentes de IA cargar el conocimiento adecuado para la tarea en cuestión. En lugar de incluir todo en el contexto, se mantiene un índice pequeño y se cargan los datos según sea necesario.
19
+
`ai-loadout` es el núcleo de la pila Knowledge OS: formato de tabla de despacho, motor de coincidencia, resolutor jerárquico y contrato de tiempo de ejecución del agente. En lugar de incluir todo en el contexto, se mantiene un índice pequeño y se cargan los datos según sea necesario.
20
20
21
21
Piénselo como la configuración de un juego: se equipa al agente con exactamente el conocimiento que necesita antes de cada misión.
22
22
23
23
## Instalación
24
24
25
25
```bash
26
-
npm install @mcptoolshop/ai-loadout
26
+
npm install -g @mcptoolshop/ai-loadout # CLI
27
+
npm install @mcptoolshop/ai-loadout # library
27
28
```
28
29
29
-
## Conceptos básicos
30
+
## Conceptos clave
30
31
31
-
### La tabla de distribución
32
+
### La tabla de despacho
32
33
33
34
Un `LoadoutIndex` es un índice estructurado de datos de conocimiento:
34
35
@@ -64,11 +65,11 @@ Un `LoadoutIndex` es un índice estructurado de datos de conocimiento:
64
65
|------|----------|---------|
65
66
|`core`| Cargado siempre | "nunca omitir pruebas para que la integración continua sea exitosa" |
66
67
|`domain`| Cargado cuando las palabras clave de la tarea coinciden | Reglas de integración continua al editar flujos de trabajo |
67
-
|`manual`| Nunca se carga automáticamente, solo búsqueda explícita | Aspectos técnicos de la plataforma que pueden ser difíciles de entender|
68
+
|`manual`| Nunca cargado automáticamente, solo búsqueda explícita | Aspectos técnicos oscuros de la plataforma |
68
69
69
-
### Metadatos del archivo de datos
70
+
### Metadatos del dato
70
71
71
-
Cada archivo de datos contiene sus propios metadatos de enrutamiento:
72
+
Cada archivo de dato contiene sus propios metadatos de enrutamiento:
72
73
73
74
```markdown
74
75
---
@@ -88,76 +89,133 @@ CI minutes are finite...
88
89
89
90
El metadato es la fuente de la verdad. El índice se deriva de él.
90
91
91
-
## API
92
+
## Tiempo de ejecución del agente (API principal)
93
+
94
+
El tiempo de ejecución es la forma canónica en que los agentes consumen una configuración. Envuelve toda la secuencia: resolver capas → coincidir con la tarea → decidir qué cargar → registrar el uso.
95
+
96
+
### `planLoad(tarea, opciones?)`
97
+
98
+
Planifica qué cargar para una tarea determinada. Esta es la función principal que utiliza el agente.
Registra que un agente cargó una entrada. Permite la observabilidad (entradas no utilizadas, desviación del presupuesto, seguimiento de la frecuencia). Opcional: solo escribe cuando `usagePath` está configurado en las opciones.
119
+
120
+
### `manualLookup(id, opciones?)`
121
+
122
+
Carga explícitamente una entrada manual por ID del índice resuelto.
123
+
124
+
## Resolutor
125
+
126
+
Descubre y combina índices de configuración de una pila de capas canónica:
Compara una descripción de la tarea con un índice de configuración. Devuelve las entradas que deben cargarse, clasificadas por la fuerza de la coincidencia.
150
+
Coincide una descripción de la tarea con un índice de configuración. Devuelve entradas clasificadas por la fuerza de la coincidencia.
Fusión determinista para configuraciones jerárquicas. Devuelve un `MergedIndex` con seguimiento de origen y reporte de conflictos.
149
191
150
-
Comprobaciones: campos obligatorios, IDs únicos, formato kebab-case, límites del resumen, presencia de palabras clave para entradas de dominio, prioridades válidas, presupuestos no negativos.
Valida la integridad estructural de un `LoadoutIndex`. Verifica: campos obligatorios, IDs únicos, formato kebab-case, límites del resumen, presencia de palabras clave para las entradas de dominio, prioridades válidas, presupuestos no negativos.
201
+
202
+
### `estimateTokens(text)`
203
+
204
+
Estima el número de tokens a partir del texto. Utiliza la heurística de caracteres/4.
Todos los comandos admiten `--json` para la automatización. Los comandos de resolución aceptan `--project`, `--global`, `--org`, `--session`.
161
219
162
220
## Tipos
163
221
@@ -168,31 +226,49 @@ import type {
168
226
Frontmatter,
169
227
MatchResult,
170
228
ValidationIssue,
171
-
Priority, // "core" | "domain" | "manual"
172
-
Triggers, // { task, plan, edit }
229
+
Priority, // "core" | "domain" | "manual"
230
+
Triggers, // { task, plan, edit }
231
+
LoadMode, // "eager" | "lazy" | "manual"
173
232
Budget,
233
+
UsageEvent,
234
+
MergeConflict,
235
+
MergedIndex,
236
+
LoadPlan, // returned by planLoad()
237
+
ResolvedLoadout, // returned by resolveLoadout()
238
+
EntryExplanation, // returned by explainEntry()
239
+
IssueSeverity, // "error" | "warning"
240
+
RuntimeOptions, // options for planLoad / recordLoad / manualLookup
241
+
ResolveOptions, // options for resolveLoadout / discoverLayers
242
+
UsageSummary, // returned by summarizeUsage()
243
+
DeadEntry, // returned by findDeadEntries()
244
+
KeywordOverlap, // returned by findKeywordOverlaps()
245
+
BudgetBreakdown, // returned by analyzeBudget()
246
+
DiscoveredLayer, // a layer found and loaded by the resolver
247
+
SearchedLayer, // a layer search location and its result
248
+
EntryDefinition, // one layer's version of a specific entry
174
249
} from"@mcptoolshop/ai-loadout";
175
250
```
176
251
177
252
## Consumidores
178
253
179
254
-**[@mcptoolshop/claude-rules](https://github.com/mcp-tool-shop-org/claude-rules)** — Optimizador de CLAUDE.md para Claude Code. Utiliza ai-loadout para la tabla de distribución y la coincidencia.
255
+
-**[@mcptoolshop/claude-memories](https://github.com/mcp-tool-shop-org/claude-memories)** — Optimizador de MEMORY.md para Claude Code. Genera tablas de distribución a partir de archivos de temas de memoria.
180
256
181
257
## Seguridad
182
258
183
-
Este paquete es una biblioteca de datos pura. No accede al sistema de archivos, realiza solicitudes de red ni recopila datos de telemetría. Toda la entrada/salida es responsabilidad del consumidor.
259
+
Los módulos principales de coincidencia, fusión y validación son funciones puras sin efectos secundarios. El módulo de uso (`recordUsage` / `readUsage`) realiza operaciones de entrada/salida en el sistema de archivos local para un registro JSONL de solo escritura. El resolvedor lee los archivos de índice de rutas de capa canónicas. No hay solicitudes de red, ni telemetría, ni dependencias nativas.
184
260
185
-
### Modelo de amenazas
261
+
### Modelo de Amenazas
186
262
187
263
| Amenaza | Mitigación |
188
264
|--------|------------|
189
-
|Metadato de entrada con formato incorrecto |`parseFrontmatter()` devuelve `null` en caso de entrada no válida; no se generan excepciones ni se utiliza `eval`|
190
-
| Contaminación de prototipos | El analizador personalizado utiliza literales de objetos simples, no `JSON.parse` de estructuras anidadas no confiables. |
265
+
|Información de encabezado incorrecta |`parseFrontmatter()` devuelve `null` en caso de entrada inválida; no se generan excepciones ni se utiliza `eval`.|
266
+
| Contaminación de prototipos | El analizador personalizado utiliza literales de objetos simples; no se realiza una fusión recursiva de entradas no confiables. |
191
267
| Índice con datos incorrectos |`validateIndex()` detecta problemas estructurales antes de que se propaguen. |
192
-
| Ataque de denegación de servicio con expresiones regulares | No se utilizan expresiones regulares proporcionadas por el usuario; los patrones se comparan como búsquedas de cadenas simples. |
268
+
| Ataque de denegación de servicio (DoS) con expresiones regulares | No se utilizan expresiones regulares proporcionadas por el usuario; los patrones se comparan como búsquedas de cadenas simples. |
193
269
194
270
Consulte [SECURITY.md](SECURITY.md) para obtener la política de seguridad completa.
195
271
196
272
---
197
273
198
-
Creado por [MCP Tool Shop](https://mcp-tool-shop.github.io/)
274
+
Desarrollado por [MCP Tool Shop](https://mcp-tool-shop.github.io/)
0 commit comments