Proyecto independiente No afiliado, patrocinado ni avalado por la Watch Tower Bible and Tract Society o Jehovah's Witnesses.
jw-agent-toolkit
EN

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.

python — jw-core
>>> 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

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.

Paquete · 01

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
Paquete · 02

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
Paquete · 03

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
Paquete · 04

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
Paquete · 05

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
Paquete · 06

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
Paquete · 07

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
Paquete · 08

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
Paquete · 09

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
Paquete · 10

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
Paquete · 11

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
Paquete · 12

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
Paquete · 13

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 completa
01

Reunión semanal

F57

02

Ministerio

F12+F66

03

Audio · TTS · Diarización

F34+F64

04

Multimodal · OCR

F69+F70+F71

05

Idiomas · LSM

F53+F8

06

Apologética

F32+F67

07

Infra operacional

F9+F10

08

Privacidad local

F61+F76

09

Memoria · perfil

F61.8

10

Familia · niños

F76

11

Calendario

F51

12

Accesibilidad

F68+F76

13

Personalización

F57.16

14

Bible Knowledge Graph

F58+F72

15

Razonamiento verificable

F65+F67

16

Análisis diacrónico

F72

17

Verificación visual

F70

18

Sync E2E

Open source · GPL-3.0

Si construyes algo con IA y contenido público de jw.org, este es tu punto de partida.