Saltar al contenido principal

Perfil Hermes Zotero Librarian

Resumen​

zotero-librarian es un perfil Hermes listo para instalar que permite a los agentes de IA gestionar su biblioteca Zotero a través del Host Bridge. Incluye todo lo que un agente necesita: la CLI zotero-bridge, una plantilla de perfil de conexión Host Bridge, un índice local de metadatos SQLite, una caché de catálogo de workflows, scripts de monitoreo de ejecuciones y trabajos cron de mantenimiento programado.

El perfil se distribuye como un paquete independiente desde la rama host-bridge/zotero-librarian-profile del repositorio Zotero Agents.

Qué puede hacer​

FuncionalidadDescripción
Índice local de metadatosMantiene una instantánea SQLite consultable de su biblioteca Zotero — títulos, creadores, etiquetas, colecciones, DOIs, recuentos de notas/adjuntos — para consultas rápidas y con capacidad offline
Caché de catálogo de workflowsAlmacena en caché localmente todos los contratos de carga de workflows integrados para que los agentes puedan enviar workflows conocidos sin volver a consultar esquemas en cada ejecución
Mantenimiento programadoSeis plantillas cron integradas: actualización de índice, actualización de catálogo de workflows, monitoreo de ejecuciones, triaje de bandeja de entrada, higiene de biblioteca y resúmenes de cola de atención
Monitoreo de ejecucionesRastrea las ejecuciones de workflows enviadas e informa cambios de estado, estados terminales o elementos que requieren atención
Cola de atenciónCombina insights.get_attention_queue de Host Bridge con metadatos del índice local para mostrar tareas prioritarias de lectura y análisis

Instalación​

Requisitos previos​

  • Zotero 7+ con el plugin Zotero Agents instalado
  • Host Bridge en ejecución (verificar: Zotero → Configuración → Zotero Agents → Host Bridge → Iniciar / Mostrar endpoint)
  • Hermes instalado en su sistema
  • CLI zotero-bridge disponible (instalar mediante el botón Instalar CLI en el panel de configuración de Host Bridge)

Instalar el perfil​

hermes profile install zotero-librarian

Esto descarga el paquete del perfil y lo extrae en su directorio de perfiles de Hermes.

Configurar Hermes​

Edite config.yaml del perfil para configurar su proveedor de modelos preferido:

# Dentro del directorio del perfil instalado
provider:
type: anthropic # o openai, local, etc.
model: claude-sonnet-4-20250514
# ... Clave API y otras configuraciones del proveedor

Consulte la documentación de Hermes para conocer todas las opciones de configuración del proveedor.

Configurar la conexión Zotero Bridge​

El perfil incluye una plantilla de conexión Host Bridge en assets/host-bridge/profile.example.json. Debe proporcionar el endpoint y el token reales:

  1. Abra Zotero → Configuración → Zotero Agents → Host Bridge
  2. Haga clic en Iniciar / Mostrar endpoint para asegurarse de que el bridge esté en ejecución y anote la URL del endpoint (ej. http://127.0.0.1:26570/bridge/v1)
  3. Haga clic en Copiar token maestro (o use el token de sesión mostrado en el panel)
  4. Establezca el token como variable de entorno:
# Linux / macOS
export ZOTERO_BRIDGE_TOKEN="<su-token>"

# Windows PowerShell
$env:ZOTERO_BRIDGE_TOKEN = "<su-token>"
  1. Para acceso remoto/LAN, incluya también el endpoint directamente:
export ZOTERO_BRIDGE_ENDPOINT="http://127.0.0.1:26570/bridge/v1"

La plantilla del perfil utiliza auth.tokenEnv: "ZOTERO_BRIDGE_TOKEN", por lo que la CLI toma el token automáticamente del entorno. Consulte Configuración de Host Bridge para documentación detallada sobre endpoint, token y archivos de perfil.

Verificar la configuración​

# Verificar conectividad con Host Bridge
zotero-bridge status

# Instalar binarios CLI en el perfil (solo la primera vez)
python scripts/install_zotero_bridge_cli.py

# Actualización inicial del índice (extrae todos los metadatos de la biblioteca a SQLite local)
python scripts/zotero_librarian_index_service.py refresh

# Probar una búsqueda en el índice local
python scripts/zotero_librarian_index_service.py search "machine learning"

Comandos del servicio de índice​

La utilidad principal del perfil es zotero_librarian_index_service.py. Mantiene una base de datos SQLite local para consultas rápidas y repetidas de la biblioteca sin llamar a Zotero en cada solicitud.

ComandoDescripción
refreshPagina a través de zotero-bridge library snapshot y actualiza atómicamente el índice SQLite. Los elementos ausentes en la última actualización se marcan como eliminados.
search "<consulta>"Búsqueda de texto completo en títulos, creadores, identificadores, etiquetas, colecciones y campos de publicación
item <key-or-id>Devuelve un único registro indexado por clave de elemento Zotero o ID numérico
statsInforma recuentos de elementos activos/eliminados, etiquetas, colecciones y estado del catálogo de workflows
workflow-refreshLlama a workflow list y workflow describe para actualizar la caché del catálogo de workflows local
workflow-show <id>Muestra el contrato de carga en caché para un workflow conocido
run-register --run-id <id> --workflow-id <id>Registra una ejecución de workflow enviada para su monitoreo
run-watchVerifica todas las ejecuciones registradas activas e informa cambios de estado o estados terminales

Casos de uso​

Gestión de biblioteca​

Triaje diario de estados de workflow (cron/workflow-status-triage.yaml)

Este cron de solo lectura busca status:need-* e informa las tareas de workflow pendientes. No infiere estados, no modifica etiquetas ni cambia Zotero.

Higiene semanal de biblioteca (cron/library-hygiene.yaml)

Se ejecuta semanalmente los lunes y escanea la biblioteca en busca de problemas de calidad de datos:

  • Entradas duplicadas (por DOI, título o ISBN)
  • Títulos sospechosos con caracteres corruptos
  • Elementos huérfanos (sin colección principal)
  • Colecciones vacías
  • Recuentos excesivos de etiquetas en elementos individuales
  • Elementos con tipos de elemento Zotero inusuales

Todas las sugerencias son de solo lectura hasta que apruebe explícitamente las acciones correctivas.

Cola de atención (cron/attention-queue.yaml)

Combina insights.get_attention_queue de Host Bridge con metadatos del índice local para mostrar una lista clasificada de tareas de alta prioridad: artículos para leer, vacíos de metadatos para completar, workflows para ejecutar.

Búsqueda e importación de literatura​

  1. Busque primero en su índice local para evitar volver a agregar artículos que ya posee:

    python scripts/zotero_librarian_index_service.py search "attention mechanism survey"
  2. Si no se encuentra un artículo, use el workflow literature-search-ingest para buscar en fuentes externas y agregarlo a Zotero:

    zotero-bridge workflow submit \
    --workflow literature-search-ingest \
    --none \
    --workflow-options '{"query":"attention mechanism survey","searchMode":"arxiv-and-doi"}'
  3. Después de importar, ejecute los workflows tag-bootstrapper o tag-regulator para normalizar las etiquetas de los nuevos elementos.

Workflows automatizados de análisis de literatura​

El perfil cataloga todos los workflows integrados del plugin Zotero Agents. Una vez actualizado el catálogo, puede enviar cualquier workflow directamente sin volver a consultar su esquema.

Análisis de literatura por lotes

Envíe el workflow literature-analysis en una colección de artículos para generar resúmenes estructurados:

zotero-bridge workflow submit \
--workflow literature-analysis \
--items @items.json \
--workflow-options '{"language":"es"}'

Registre y monitoree la ejecución:

python scripts/zotero_librarian_index_service.py run-register --run-id <run-id> --workflow-id literature-analysis
python scripts/zotero_librarian_index_service.py run-watch

Lectura profunda de un solo artículo

Para un análisis en profundidad de un artículo específico:

zotero-bridge workflow submit \
--workflow literature-deep-reading \
--items '[{"key":"ABCD1234","libraryId":1}]' \
--workflow-options '{"target_language":"es","mode":"comprehensive"}'

Síntesis de temas entre artículos

Sintetice temas a través de una colección de artículos:

zotero-bridge workflow submit \
--workflow create-topic-synthesis \
--items @collection-items.json \
--workflow-options '{"topicSeed":"self-supervised learning","language":"es"}'

Asistencia de traducción

Traduzca metadatos o resúmenes de artículos:

zotero-bridge workflow submit \
--workflow literature-translator \
--items '[{"key":"ABCD1234","libraryId":1}]' \
--workflow-options '{"target_language":"es","mode":"metadata"}'

Preguntas y respuestas sobre artículos

Haga preguntas sobre el contenido de un artículo:

zotero-bridge workflow submit \
--workflow literature-explainer \
--items '[{"key":"ABCD1234","libraryId":1}]' \
--workflow-options '{"language":"es"}'

Trabajos de mantenimiento programados​

El perfil incluye seis plantillas cron preconfiguradas en el directorio cron/:

Trabajo CronProgramaciónComportamiento
index-refreshCada 6 horasPagina a través de library snapshot para mantener actualizado el índice SQLite local. Informa [SILENT] cuando no se detectan cambios.
workflow-catalog-refreshDiario a las 03:00Llama a workflow list + workflow describe para actualizar la caché del catálogo de workflows. Informa [SILENT] cuando no hay cambios.
run-monitorCada 5 minutosLlama a run-watch para verificar las ejecuciones registradas activas. Informa solo cambios de estado, estados terminales o elementos que requieren atención.
workflow-status-triageDiario a las 09:00Busca status:need-* y genera un informe de workflows pendientes de solo lectura.
library-hygieneSemanal los lunesEscanea entradas duplicadas, elementos huérfanos, colecciones vacías y problemas de calidad de datos.
attention-queueDiario a las 18:00Combina los conocimientos de la cola de atención con datos del índice local para clasificar tareas de alta prioridad.

Todos los trabajos de mantenimiento no interactivos utilizan marcadores [SILENT] para evitar molestar al usuario cuando no se encuentran resultados accionables.

Límites de seguridad​

  • La plantilla de perfil (profile.example.json) nunca contiene tokens reales. Utilice siempre ZOTERO_BRIDGE_TOKEN como variable de entorno.
  • Los trabajos cron de mantenimiento son de solo lectura por defecto. Las mutaciones requieren aprobación explícita del usuario.
  • Nunca lea directamente los archivos de la base de datos de Zotero. Utilice siempre Host Bridge, zotero-bridge y el índice local producido a partir de library.sync_snapshot.

Próximos pasos​

  • Host Bridge — referencia completa de la CLI zotero-bridge y las capacidades de Host Bridge
  • Workflows — descripción general de todos los workflows integrados y personalizados
  • Servidor MCP — interfaz de protocolo alternativa para clientes compatibles con MCP