CommunityProgramación y desarrollogithub.com

ingesta-de-fuente-de-conocimiento

Ingesta incremental de fuentes externas enumerables en Conocimiento, con identidad canónica de fuente, manifiestos de instantánea retenidos, comparación consciente de superposición y reconciliación de elementos modificados o eliminados. Incluye una herramienta genérica de manifiestos y un adaptador solo lectura para Discrawl.

¿Qué es ingesta-de-fuente-de-conocimiento?

Esta habilidad está diseñada para que un agente de IA ingiera colecciones acotadas de fuentes externas (como canales de chat, flujos de incidencias, fuentes RSS o bandejas de entrada) en una base de conocimiento, manejando ejecuciones repetidas con cobertura superpuesta de forma eficiente. Es útil porque garantiza la identidad de fuente estable, retiene manifiestos de instantánea que registran el alcance y los hashes de contenido, y detecta elementos añadidos, modificados o eliminados entre ejecuciones, evitando duplicados y reconciliando cambios. La habilidad es independiente del agente anfitrión, pero se ajusta a las convenciones compartidas de Clawdbot; funciona con cualquier agente que admita scripts Node.js y acceso a la base de conocimiento (knowledge). Su funcionamiento se basa en: (1) mantener una página de fuente canónica con un identificador único (provider/source_key), (2) preservar instantáneas como páginas 'source' con manifiestos adjuntos, (3) comparar manifiestos previos para planificar la ingesta incremental, y (4) enrutar documentos y conversaciones a través de 'knowledge-ingest' y reuniones a través de 'knowledge-meeting-ingest', usando 'knowledge-entities' para enriquecimiento. Incluye un ejemplo práctico con Discrawl para canales de Discord, donde se normalizan mensajes y se generan manifiestos para planificar la ingesta.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/extensions/knowledge/skills/knowledge-source-ingest

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Habilidad de Ingesta de Fuente

Utilícela para colecciones acotadas como canales de chat, flujos de incidencias, fuentes de noticias o buzones donde ejecuciones posteriores pueden superponerse a la cobertura anterior. Lea las convenciones compartidas, publicación y el protocolo de manifiesto. Después de la adquisición, enrute documentos y conversaciones a través de knowledge-ingest, que utiliza knowledge-entities para el enriquecimiento de entidades. Enrute reuniones a través de knowledge-meeting-ingest. Esta habilidad posee la identidad y cobertura de la fuente; los flujos de trabajo de ingesta convierten el contenido retenido en conocimiento conectado útil. Para crear trabajos de ingesta recurrentes, primero use knowledge-automation.

Contrato

  • Resuelva una clave estable de proveedor/fuente antes de leer el contenido. Las etiquetas de visualización son etiquetas, nunca identidad.
  • Mantenga una página source canónica con source_role: canonical, provider y source_key. Reutilícela en cada ejecución.
  • Para cada observación acotada, conserve el manifiesto generado como un adjunto en una página source con source_role: snapshot, cobertura exacta, tiempo de observación, hash del manifiesto, recuento, integridad, marca de agua y dependencia de la página de fuente canónica.
  • Los manifiestos retienen identificadores de elemento estables y hashes de contenido, no el texto fuente. Conserve el contenido original/exportado por separado como evidencia cuando esté autorizado.
  • Consulte las páginas de instantánea anteriores para la misma clave de proveedor/fuente antes de planificar. Descargue sus manifiestos, verifique los hashes de los adjuntos y pase todas las instantáneas superpuestas al planificador. No confíe en la memoria de la conversación.
  • Reutilice los bytes de fuente sin cambios y los registros existentes. Continúe el enriquecimiento omitido anteriormente de esas fuentes retenidas cuando se solicite; un manifiesto sin cambios no significa que el enriquecimiento de entidades ya haya ocurrido. Ingrese los elementos añadidos. Reconcilie los elementos modificados con páginas/afirmaciones existentes. Trate la eliminación como un estado de fuente observado, no como permiso para borrar el Conocimiento; corrija o retire solo cuando la evidencia lo justifique.
  • Una instantánea completa puede establecer la ausencia dentro de su cobertura exacta. Las instantáneas parciales o desconocidas no pueden; los ID faltantes no resueltos permanecen sin resolver.

Procedimiento

  1. Inspeccione knowledge_status y knowledge_ontology para el ámbito de la caja fuerte previsto y los campos source, luego busque en Conocimiento la fuente canónica y las instantáneas anteriores por proveedor/clave de fuente. Si una ingesta privada del propietario se resuelve inesperadamente en un ámbito de conversación o en una caja fuerte vacía después de un reinicio, deténgase antes de escribir y restaure el ámbito autorizado previsto; nunca infiera que la cobertura anterior está ausente del ámbito incorrecto.
  2. Adquiera una exportación acotada con un lector aprobado. Para Discrawl, ejecute scripts/discrawl-normalize.mjs con su archivo solo lectura configurado, el ID exacto del canal cuando se conozca y los límites [desde, hasta) en formato RFC3339. La carga útil normalizada incluye IDs de autor estables más campos de visualización observados en el archivo. Conserve el JSONL sin procesar y cree una transcripción legible separada por línea cuando se necesite revisión humana o citas de línea.
  3. Genere un manifiesto determinista con scripts/source-manifest.mjs snapshot. Adjúntelo antes de publicar la página de instantánea; registre el SHA-256 devuelto.
  4. Descargue todos los manifiestos anteriores superpuestos y ejecute scripts/source-manifest.mjs plan. Inspeccione los intervalos cubiertos/no cubiertos y las listas de elementos añadidos/modificados/eliminados/sin cambios/sin resolver.
  5. Pruebe de 3 a 5 elementos o discusiones sustantivas, luego ingiera a través de knowledge-ingest (o knowledge-meeting-ingest para reuniones). Para chat, agrupe mensajes relacionados con su contexto de respuesta; use knowledge-entities para enriquecer personas, empresas, proyectos y conceptos relevantes a partir de sus contribuciones. Incorpore los desarrollos respaldados en Estado, cronologías fechadas y enlaces contextuales de retroceso, no solo un resumen del canal. Use IDs externos estables en las citas de fuente y la instantánea retenida como dependencia. Reutilice sus originales en lugar de subir una copia por discusión.
  6. Publique o actualice los registros derivados, luego publique la página de instantánea. Una instantánea está completa solo cuando la adquisición y la creación del manifiesto cubrieron el intervalo declarado; la extracción derivada aún puede ser parcial y debe informarse como tal.
  7. Vuelva a leer la página canónica, la página de instantánea, el adjunto, los registros derivados y las conexiones dependientes de la fuente. Verifique los hashes y la cobertura exacta.

Ejemplo de Discrawl

node scripts/discrawl-normalize.mjs --config /approved/discrawl.yaml \
  --channel 1234567890 --since 2026-09-21T00:00:00-07:00 \
  --before 2026-09-28T00:00:00-07:00 --output messages.jsonl
node scripts/source-manifest.mjs snapshot --provider discord \
  --source-key discord:GUILD_ID:1234567890 \
  --coverage-start 2026-09-21T00:00:00-07:00 \
  --coverage-end 2026-09-28T00:00:00-07:00 \
  --input messages.jsonl --output manifest.jsonl.gz --summary snapshot.json
node scripts/source-manifest.mjs plan --current manifest.jsonl.gz \
  --previous prior-1.jsonl.gz --previous prior-2.jsonl.gz --output plan.json

No incluya credenciales, rutas de archivo ni contenido privado sin procesar en el texto de la página de Conocimiento. No se crea ningún programador, demonio conector ni trabajo de ingesta propiedad del complemento; la habilidad y los scripts admiten un flujo de trabajo ejecutado por un agente autorizado.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

Skills relacionados