Toolkit agéntico · Open source · Python 3.13+
Una librería técnica para el contenido público de jw.org
Un monorepo Python con clientes HTTP, parsers determinísticos, servidor MCP, RAG híbrido, agentes procedurales y fine-tuning local. Construido para que cualquier desarrollador pueda hablar con el contenido bíblico sin pegar HTML con cinta adhesiva.
>>> from jw_core import parse_reference
>>> ref = parse_reference("Juan 3:16")
>>> ref.display()
'John 3:16'
>>> ref.wol_url(lang="es")
'https://wol.jw.org/es/wol/b/r4/lp-s/nwt/43/3#study=discover&v=43:3:16'
>>> ref.book.code, ref.chapter, ref.verses
('JHN', 3, [16])
# Determinístico. Sin LLM. Sin red (cassetes pytest).
# Cita verificable en wol.jw.org · 7 idiomas tier-1.
- Paquetes Python
- 10
- Tests passing
- 2.99k +
- Herramientas MCP
- 135 +
- Idiomas ASR
- 1672
Recomendados
Tres maneras de empezar
Resuelve cualquier cita bíblica en 4 líneas de Python
Del string 'Juan 3:16' a una URL canónica de wol.jw.org en cualquier idioma soportado. Sin LLM, sin red en tests, 100% verificable.
Por qué no hay LLM en el camino crítico
Parsers determinísticos, citas siempre verificables, capas desacopladas. La síntesis con IA es opcional y vive en Claude Desktop, no en el toolkit.
Entrena tu propio modelo local con tus publicaciones
Pipeline completo de 5 fases: extracción JWPUB → dedup → Q&A sintéticos → LoRA → export GGUF. Stack Unsloth en GPU local, sin enviar nada al cloud.
Monorepo · uv workspace
Diez paquetes, una sola dependencia: jw-core.
Las dependencias fluyen hacia abajo: cada paquete depende de jw-core, nada más. Eso permite usar
la CLI, el MCP, el RAG o los agentes de forma independiente o
compuesta.
jw-core
El núcleo determinístico
Librería principal: 6 clientes HTTP, 10 parsers, writers JWPUB/.jwlibrary, 6 providers ASR (Omnilingual 1672 idiomas + whisperX diarizado), NLLB-200, schemas organized-app, voiceprints, infra F9 + multimodal end-to-end (talk-lab F68, broadcasting/visual F69, image-quote F70, book-camera F71), drift diacrónico F72 y voz familiar consentida F76.
- 6 clientes · 10 parsers · 3 writers · 17 locales
- ASR 1672 idiomas + whisperX diarizado
- Multimodal: talk-lab · visual index · image-quote · book-camera
jw-cli
Terminal para mortales
CLI Typer + Rich con 13+ comandos top-level (verse · search · daily · download · jwpub build · library · omnilingual · translate · transcribe · …). Wrapper directo sobre jw-core con output Rich o JSON.
- 13+ comandos: verse · search · daily · …
- F55: jw jwpub build · library · omnilingual · translate
- Typer + Rich · 7 idiomas
jw-mcp
Puente con tu agente
Servidor Model Context Protocol que expone ~135 herramientas a Claude Desktop, Claude Code o cualquier cliente MCP. Cubre F57-F76: meeting, brain, ingest, ASR diarizado, memoria, meta-orchestrator, sparring, reasoner, talk-lab, broadcasting visual, book-camera (con REST endpoints), drift, voice-clone.
- ~135 tools sobre stdio MCP
- FastMCP · Claude/IDE compatible
- RAG + agentes + brain + meeting + agéntica F65-F76
jw-rag
Recuperación híbrida
Indexación vectorial + búsqueda híbrida BM25 + cosenos + Reciprocal Rank Fusion. Sobre Biblia, publicaciones, EPUB y JWPUB descifrados.
- BM25 + vector + RRF
- Sync incremental por source_id
- Embeddings configurables
jw-agents
Orquestación multipaso + agéntica verificable
Agentes procedurales determinísticos + meta-orchestrator F65 con planner+critic NLI, conversation-sparring F66 con 6 personas y doctrinal-reasoner F67 con ReAct + golden set. Sin LLM en el camino crítico.
- 4 agentes procedurales + meta-orchestrator
- Conversation sparring · 6 personas
- Reasoner ReAct con NLI crítico
jw-finetune
Tu modelo, tus datos
Plataforma local estilo Unsloth Studio: extrae JWPUB/EPUB, genera Q&A sintéticos, entrena LoRA y exporta a GGUF/MLX. Sin distribuir pesos.
- Extract → Synth → Train → Export
- Unsloth · LoRA · GGUF · MLX
- Textual TUI + WebSocket monitor
jw-eval
Red de seguridad doctrinal
Suite de evaluación con regresión: 3 capas (estructural, citas, semántico) que gating cada PR contra 47 golden Q&A. Convierte 'confío en mí' en métrica.
- 47 golden cases · 6 agentes
- L1 estructural · L2 citas · L3 semántico
- Embeddings + LLM judge híbrido
jw-gen
Generación con difusión, uso personal
Octavo paquete del monorepo. Genera imagen / audio / video para presentaciones y discursos personales. Watermark obligatorio + metadata EXIF/XMP + safety filters anti-emulación-JW-oficial.
- Image · Audio · Video — APIs SOTA
- Watermark + EXIF + disclaimer obligatorio
- 3 safety filters no-negociables
jw-brain
Second-brain + Bible Knowledge Graph
Karpathy-style second-brain con compiler dual-backend (DuckDB/Neo4j) + Wiki sobre Obsidian. F58 añadió BibleKnowledgeGraph JW-puro: 250 personas, 150 lugares con geocoordenadas, 10 periodos según cronología JW (607 a.E.C. para Jerusalén), CLI jw brain {init, compile, query, lint, import-bible, learn-headwords}.
- GraphRAG DuckDB + Neo4j
- BibleKG JW-puro (607 a.E.C.)
- 475 personas + 259 lugares + 16 geocoords
jw-meeting-media
Reunión-en-vivo · clean-room
Descubrimiento programa semanal mwb/w desde WOL, descarga media (imágenes/videos/audio/JWPUB), presenter Tauri con drag-drop + monitor externo automático + multi-congregación. Implementación clean-room (NO portada del repo M³ AGPL-3.0).
- Clean-room (no port AGPL)
- Presenter Tauri + drag-drop
- Monitor externo automático
jw-interp
Interpretabilidad mecanicista tri-modelo
Probing lineal por principio, steering vectors + activation patching, Qwen-Scope adapter (TopK residual 32k features) y Gemma Scope wrapper (JumpReLU SOTA residual + MLP + attention). Runtime probe store + fidelity_wrap Tier 4 observacional sin acoplamiento jw-agents → jw-interp. Paquete entregado en F80.
- Probing lineal por principio (sklearn)
- Steering vectors + activation patching pure-numpy
- Qwen-Scope (TopK) + Gemma Scope (JumpReLU) cross-family
jw-meeting-scheduler
Solver de asignaciones + importer organized-app
Paquete F81: importer organized-app JSON backup con CRDT diff + dry-run, store SQLite cifrado por congregación con FieldEncryptor + salt PBKDF2, CLI de edición manual del roster (people list / person edit / history), constraints YAML Pydantic strict por congregación, y CP-SAT solver (F81.3, pendiente) que produce ProposedSchedWeek con infactibilidad estructurada.
- organized-app importer · dry-run + CRDT diff
- FieldEncryptor + salt PBKDF2 por congregación
- CLI: people list · person edit · history · constraints
jw-legal
BrainDomain plugin: casos legales TJ vs Estado
Plugin F82.1 que registra el BrainDomain legal-cases-tj en jw-brain via entry-point jw_agent_toolkit.brain_domains. 6 NodeTypeSpec (LegalCase, Law, Territory referenciando jw_core.territories sin duplicar, CourtPrecedent, LegalArgument, PersecutionEvent) + 8 EdgeTypeSpec con CONTRADICTS non-directional sensitive (la política de conflictos del segundo cerebro flag en vez de fusionar).
- Plugin via entry-point jw_agent_toolkit.brain_domains
- 6 NodeTypeSpec + 8 EdgeTypeSpec
- Territory referencia jw_core.territories sin duplicar
Arquitectura
Capas estrictas.
Citas verificables.
- jw-core no importa nada del workspace — es la base limpia.
- jw-mcp es el único punto de unión que liga el RAG global.
- Cada respuesta de cualquier agente lleva una URL canónica a wol.jw.org.
- Los parsers son determinísticos. La síntesis con LLM ocurre fuera del toolkit.
┌──────────────────────────────────────────────────────────────┐
│ Skills (Markdown) Agentes (orquestación) │
│ skills/jw-*/SKILL.md packages/jw-agents/ │
└──────────────────────────────┬───────────────────────────────┘
│
┌──────────────────────────────▼───────────────────────────────┐
│ Superficies │
│ • CLI packages/jw-cli/ (Typer + Rich) │
│ • Servidor MCP packages/jw-mcp/ (FastMCP) │
│ • RAG packages/jw-rag/ (BM25 + vec + RRF) │
└──────────────────────────────┬───────────────────────────────┘
│
┌──────────────────────────────▼───────────────────────────────┐
│ jw-core │
│ ├─ clients/ cdn · mediator · wol · pub-media · ... │
│ ├─ parsers/ reference · article · daily-text · ... │
│ ├─ integrations/ jw-library · obsidian · meps │
│ ├─ cache · throttle · telemetry · auth · models │
└──────────────────────────────┬───────────────────────────────┘
│
jw.org · wol.jw.org · b.jw-cdn.org · data.jw-api.org
Visión a largo plazo
Hacia un ecosistema completo de IA local.
De las 18 categorías actuales, 13 ya están entregadas. F65-F76 cerraron 4 nuevas (multimodal·OCR, razonamiento verificable, análisis diacrónico, verificación visual) y movieron Familia/niños y Accesibilidad a parciales (F76 voz familiar consentida). El único gap restante es Sync E2E.
Leer la visión completaReunión semanal
F57
Ministerio
F12+F66
Audio · TTS · Diarización
F34+F64
Multimodal · OCR
F69+F70+F71
Idiomas · LSM
F53+F8
Apologética
F32+F67
Infra operacional
F9+F10
Privacidad local
F61+F76
Memoria · perfil
F61.8
Familia · niños
F76
Calendario
F51
Accesibilidad
F68+F76
Personalización
F57.16
Bible Knowledge Graph
F58+F72
Razonamiento verificable
F65+F67
Análisis diacrónico
F72
Verificación visual
F70
Sync E2E
Open source · GPL-3.0