Automatiza el paso 4 del Protocolo de Cierre de Fase (PC-01): la reindexación de AnythingLLM después de cambios en la documentación Astro.

Cambio en docs/ → Astro build → upload por lotes → update-embeddings → smoke validation
EndpointMétodoPropósito
/api/v1/authGETVerificar API key
/api/v1/workspacesGETListar workspaces
/api/v1/workspace/{slug}GETDetalle del workspace (documentos incrustados)
/api/v1/document/raw-textPOSTSubir documento como texto plano
/api/v1/workspace/{slug}/update-embeddingsPOSTAñadir documentos al workspace + reindexar
/api/v1/workspace/{slug}/chatPOSTEjecutar consulta RAG (smoke test)
ModoParámetroAcción
DryRun-Mode DryRunValida conexión, auth, workspace, muestra lotes sin cambios
Apply-Mode ApplySube documentos en lotes, actualiza embeddings, smoke queries
SmokeOnly-Mode SmokeOnlySolo ejecuta preguntas de validación
ParámetroDefaultDescripción
-ModeDryRunDryRun, Apply o SmokeOnly
-BaseUrl$env:ANYTHINGLLM_BASE_URLURL base de AnythingLLM
-WorkspaceSlug$env:ANYTHINGLLM_WORKSPACE_SLUG o ai-lab-coreSlug del workspace objetivo
-ApiKey$env:ANYTHINGLLM_API_KEYAPI key
-DocFolderCarpeta local con documentos (usar solo para carpetas pequeñas)
-ChangedFilesPathArchivo de texto con rutas relativas (modo incremental)
-BatchSize10Documentos por lote de embedding
-BatchDelaySeconds5Espera entre lotes
-MaxFiles20Máximo de archivos sin -AllowLargeBatch
-AllowLargeBatchOmite el guard de MaxFiles
-IncludeAuditsIncluye docs/audits/ (excluido por defecto)
-AllowLargeFilesIncluye archivos > 500KB
-MaxFileSizeKB500Umbral de tamaño de archivo
ExclusiónCondiciónOverride
docs/archive/**Siempre
docs/quarantine/**Siempre
docs/audits/**Por defecto-IncludeAudits
Archivos > 500KBPor defecto-AllowLargeFiles
1. Auth → workspace lookup → detalles
2. Colección de archivos (DocFolder o ChangedFilesPath)
3. Filtrado por extensión (.md, .txt, .json, .yaml, .yml, .html)
4. Exclusiones automáticas
5. Guard MaxFiles (a menos que AllowLargeBatch)
6. Bucle por lotes de BatchSize:
a. Subir lote a /v1/document/raw-text
b. Llamar update-embeddings con adds del lote
c. Confirmar que los documentos quedaron en el workspace
d. Esperar BatchDelaySeconds
7. Smoke queries (3 preguntas)

3 preguntas de validación contra el workspace RAG:

  1. ¿Qué exige el protocolo de cierre de fase si hay impacto documental?
  2. ¿Qué es el Cognitive Health Layer 37A?
  3. ¿Por qué validation_score era 56.3?

Cada respuesta debe incluir contenido relevante (match con palabra clave esperada). El script distingue respuestas con fuentes citadas vs. conocimiento general del LLM.

Integración OpenCode → Astro → AnythingLLM

Section titled “Integración OpenCode → Astro → AnythingLLM”
OpenCode (agente)
├── 1. Modifica docs en apps/ialab-docs/
├── 2. npm run build (Astro)
│ └── 0 errores
├── 3. scripts/anythingllm/reindex-workspace.ps1 -Mode Apply
│ ├── Lote 1/N: upload 10 docs → update-embeddings → confirmar
│ ├── Lote 2/N: upload 10 docs → update-embeddings → confirmar
│ ├── ...
│ └── Smoke queries → PASS/FAIL
└── 4. Resultado registrado en el cierre de fase
  • API key nunca hardcodeada
  • Fuentes: variable de entorno, .anythingllm.env (gitignorado) o -ApiKey
  • .anythingllm.env en .gitignore
Terminal window
# Validar conectividad
.\scripts\anythingllm\reindex-workspace.ps1 -Mode DryRun
# Reindexar cambios incrementales (lista de archivos)
.\scripts\anythingllm\reindex-workspace.ps1 -Mode Apply -ChangedFilesPath ./changed.txt -BatchSize 5
# Subir carpeta pequeña (máx 20 archivos)
.\scripts\anythingllm\reindex-workspace.ps1 -Mode Apply -DocFolder ./new-docs -MaxFiles 5
# Reindexar lote grande (con override)
.\scripts\anythingllm\reindex-workspace.ps1 -Mode Apply -DocFolder ./docs -AllowLargeBatch -BatchSize 20
# Solo smoke queries
.\scripts\anythingllm\reindex-workspace.ps1 -Mode SmokeOnly