Package · Library
jw-agents
Orquestación multipaso + agéntica verificable
Agentes hechos a mano, no LLM-orchestrated. Cada uno orquesta múltiples llamadas a jw-core + jw-rag para producir findings estructurados con citas verificables a wol.jw.org. La síntesis del lenguaje natural ocurre fuera del toolkit (Claude Desktop, Claude Code, tu propio cliente). F65-F67 añaden una capa agéntica verificable: el meta-orchestrator decompone objetivos en DAGs de tools, ejecuta en orden topológico y crítica con NLI F39 antes de devolver; conversation-sparring simula 6 personas para práctica de predicación; doctrinal-reasoner emite chain-of-thought con árbol de pruebas exportable.
Features
What it does, in detail.
verse_explainer
Dada una cita bíblica, devuelve el versículo objetivo + notas de estudio nwtsty mapeadas + cross-references panel (lazy). 100% matching headword↔versículo desde Fase 3.5.
research_topic
Dado un tema en lenguaje natural, busca en TopicIndex (Guía de Investigación) y devuelve subjects/subheadings/citations estructurados.
meeting_helper
Dada una URL del Workbook o una ref bíblica, prepara material para reunión semanal: outline, citas, sugerencias de discusión.
apologetics
Dada una objeción común ('Trinidad', 'infierno', 'Biblia se contradice'), devuelve respuesta estructurada con citas bíblicas + notas de estudio + texto enriquecido.
Memoria persistente opt-in (F61)
MemoryStore Protocol + 3 backends: FakeMemoryStore (in-memory, default tests), SqliteMemoryStore (default user, Fernet opt-in via JW_MEMORY_KEY siguiendo precedente F25 RevisitStore), LettaMemoryStore (opt-in para multi-device via letta-client, extra [memory-letta]). conversation_assistant ahora acepta param memory: MemoryStore | None — preserva compat 100% (memory=None → comportamiento legacy). build_memory_store() factory env-driven.
Auto-recap entre sesiones (F61.8)
Agente nuevo recap_session.recap_previous_session() NO usa LLM (decisión arquitectónica: procedural y determinístico). Agrupa records de MemoryStore por session_id, filtra la sesión actual, ordena por last_timestamp desc, devuelve findings con summary corto + excerpts_by_kind en metadata. Útil al arrancar nueva sesión: 'continuemos con la sesión X de ayer'.
Meta-orchestrator (F65)
Planner LLM con JSON-schema validation + executor topológico + critique NLI F39 con replan opt-in. Reusa Plugin SDK F41 y los 12 adapters reales en builtin_tools.py. Factories LLM (Anthropic + Ollama + Fake) y NLI env-driven con degradación grácil. Tracing F43 via tracer= opt-in. Persistencia --save-plan/--save-result JSON + replay determinista con MetaOrchestrator.run_plan(plan). Export Mermaid del DAG (plan_to_mermaid + result_to_mermaid). CLI jw meta {tools,plan,run,replay} + --mermaid + jw plan-sunday.
Conversation sparring (F66)
Simulador de interlocutor para predicación: 6 personas (atheist · jw_student · biblical_scholar · evangelical · agnostic · returning) × 3 idiomas en 18 TOMLs con resolución multi-idioma. Voice mode jw spar voice-turn (ASR → LLM → TTS, audio nunca sale del disco). Persistencia SQLite cross-process en spar/persistence.py + autosave opt-in JW_SPAR_PERSIST=1. Markdown export del transcript. Golden conversations con FakeSparLLM determinista. Tool spar.session para uso desde el meta-orchestrator F65.
Doctrinal reasoner (F67)
Chain-of-thought verificable: reformulator de framing tóxico (12 patrones es/en/pt) + planner Jinja2 multi-idioma + ReAct executor con NLI F39 (modes off/warn/reject). Tool dispatcher real wireado a verse_explainer/research_topic/apologetics/life_topics (use_real_dispatcher=True). Golden set 10 preguntas multi-paso en fixtures/golden.jsonl. Summary prose determinista trilingüe. CLI jw reason {ask,languages} + MCP doctrinal_reason. Integrado en F65 como reason.doctrinal.
In practice
Four lines.
Verifiable result.
Resolver y enriquecer una cita con notas de estudio.
from jw_agents import verse_explainer
result = await verse_explainer.run(
"Juan 3:16", lang="es",
)
for f in result.findings:
print(f.kind, f.verse_ref, f.url)
# Output:
# verse Juan 3:16 https://wol.jw.org/es/.../3:16
# study_note Juan 3:16 https://wol.jw.org/es/.../sn-3-16
# cross_ref Juan 3:16 https://wol.jw.org/es/.../bc-... Public API
What the module exports.
Resumen de los símbolos principales. La exhaustive reference covers each one with signature, parameters, and examples.
- verse_explainer · research_topic
- meeting_helper · apologetics
- Finding · AgentResult
- memory.MemoryStore · SqliteMemoryStore · LettaMemoryStore
- build_memory_store · recap_session.recap_previous_session
- meta.MetaOrchestrator · meta.mermaid (plan_to_mermaid / result_to_mermaid)
- spar.{SparSession, FakeSparLLM, persistence.save_session/load_session}
- reasoner.{Engine, dispatchers.real_tool_dispatcher}
- Composición con agent_pipeline
Other packages
Explore the rest of the monorepo.
jw-core
El núcleo determinístico
jw-cli
Terminal para mortales
jw-mcp
Puente con tu agente
jw-rag
Recuperación híbrida
jw-finetune
Tu modelo, tus datos
jw-eval
Red de seguridad doctrinal
jw-gen
Generación con difusión, uso personal
jw-brain
Second-brain + Bible Knowledge Graph
jw-meeting-media
Reunión-en-vivo · clean-room
jw-interp
Interpretabilidad mecanicista tri-modelo
jw-meeting-scheduler
Solver de asignaciones + importer organized-app
jw-legal
BrainDomain plugin: casos legales TJ vs Estado