zerochat 7.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. zerochat-7.3.0.dist-info/METADATA +70 -0
  2. zerochat-7.3.0.dist-info/RECORD +130 -0
  3. zerochat-7.3.0.dist-info/WHEEL +5 -0
  4. zerochat-7.3.0.dist-info/entry_points.txt +2 -0
  5. zerochat-7.3.0.dist-info/licenses/LICENSE +34 -0
  6. zerochat-7.3.0.dist-info/top_level.txt +2 -0
  7. zerochat.py +2004 -0
  8. zerochat_runtime/__init__.py +1 -0
  9. zerochat_runtime/assets/css/base.css +199 -0
  10. zerochat_runtime/assets/css/components/composer.css +1258 -0
  11. zerochat_runtime/assets/css/components/debug.css +777 -0
  12. zerochat_runtime/assets/css/components/header.css +97 -0
  13. zerochat_runtime/assets/css/components/icons.css +39 -0
  14. zerochat_runtime/assets/css/components/markdown.css +685 -0
  15. zerochat_runtime/assets/css/components/messages.css +473 -0
  16. zerochat_runtime/assets/css/components/modals.css +1319 -0
  17. zerochat_runtime/assets/css/components/sidebar.css +622 -0
  18. zerochat_runtime/assets/css/components/tools.css +1223 -0
  19. zerochat_runtime/assets/css/layout.css +171 -0
  20. zerochat_runtime/assets/css/print.css +120 -0
  21. zerochat_runtime/assets/css/styles.css +18 -0
  22. zerochat_runtime/assets/css/theme-overrides.css +555 -0
  23. zerochat_runtime/assets/css/tokens.css +165 -0
  24. zerochat_runtime/assets/help/architecture.html +247 -0
  25. zerochat_runtime/assets/help/composer.html +134 -0
  26. zerochat_runtime/assets/help/conversations.html +105 -0
  27. zerochat_runtime/assets/help/debug.html +108 -0
  28. zerochat_runtime/assets/help/en/architecture.html +247 -0
  29. zerochat_runtime/assets/help/en/composer.html +134 -0
  30. zerochat_runtime/assets/help/en/conversations.html +104 -0
  31. zerochat_runtime/assets/help/en/debug.html +105 -0
  32. zerochat_runtime/assets/help/en/gemini-free.html +39 -0
  33. zerochat_runtime/assets/help/en/index.html +191 -0
  34. zerochat_runtime/assets/help/en/learning.html +71 -0
  35. zerochat_runtime/assets/help/en/mcp.html +143 -0
  36. zerochat_runtime/assets/help/en/openrouter-free.html +39 -0
  37. zerochat_runtime/assets/help/en/profiles.html +173 -0
  38. zerochat_runtime/assets/help/en/rag.html +130 -0
  39. zerochat_runtime/assets/help/en/reasoning-telemetry.html +108 -0
  40. zerochat_runtime/assets/help/en/tools-agent.html +133 -0
  41. zerochat_runtime/assets/help/en/webllm.html +355 -0
  42. zerochat_runtime/assets/help/gemini-free.html +39 -0
  43. zerochat_runtime/assets/help/help.css +604 -0
  44. zerochat_runtime/assets/help/help.js +51 -0
  45. zerochat_runtime/assets/help/index.html +194 -0
  46. zerochat_runtime/assets/help/learning.html +71 -0
  47. zerochat_runtime/assets/help/mcp.html +143 -0
  48. zerochat_runtime/assets/help/openrouter-free.html +39 -0
  49. zerochat_runtime/assets/help/profiles.html +174 -0
  50. zerochat_runtime/assets/help/rag.html +130 -0
  51. zerochat_runtime/assets/help/reasoning-telemetry.html +111 -0
  52. zerochat_runtime/assets/help/tools-agent.html +133 -0
  53. zerochat_runtime/assets/help/webllm.html +359 -0
  54. zerochat_runtime/assets/js/agent-core.js +1553 -0
  55. zerochat_runtime/assets/js/api.js +844 -0
  56. zerochat_runtime/assets/js/app.js +2558 -0
  57. zerochat_runtime/assets/js/attachments.js +220 -0
  58. zerochat_runtime/assets/js/charts.js +338 -0
  59. zerochat_runtime/assets/js/chat-engine.js +566 -0
  60. zerochat_runtime/assets/js/config-store.js +207 -0
  61. zerochat_runtime/assets/js/context-manager.js +584 -0
  62. zerochat_runtime/assets/js/conversation-service.js +484 -0
  63. zerochat_runtime/assets/js/cookies.js +688 -0
  64. zerochat_runtime/assets/js/data-reset-service.js +136 -0
  65. zerochat_runtime/assets/js/debug.js +508 -0
  66. zerochat_runtime/assets/js/defaults.js +16 -0
  67. zerochat_runtime/assets/js/export.js +179 -0
  68. zerochat_runtime/assets/js/file-parser.js +2088 -0
  69. zerochat_runtime/assets/js/generation-controller.js +417 -0
  70. zerochat_runtime/assets/js/i18n.js +1483 -0
  71. zerochat_runtime/assets/js/icons.js +156 -0
  72. zerochat_runtime/assets/js/ingestionEngine.js +436 -0
  73. zerochat_runtime/assets/js/markdown.js +588 -0
  74. zerochat_runtime/assets/js/mcp.js +1271 -0
  75. zerochat_runtime/assets/js/message-turns.js +62 -0
  76. zerochat_runtime/assets/js/profile-backup.js +118 -0
  77. zerochat_runtime/assets/js/profile-export-bundle.js +481 -0
  78. zerochat_runtime/assets/js/profile-repository.js +213 -0
  79. zerochat_runtime/assets/js/providers-webllm.js +486 -0
  80. zerochat_runtime/assets/js/providers.js +1560 -0
  81. zerochat_runtime/assets/js/rag-index.js +295 -0
  82. zerochat_runtime/assets/js/rag-service.js +530 -0
  83. zerochat_runtime/assets/js/rag-ui.js +997 -0
  84. zerochat_runtime/assets/js/ragStorage.js +676 -0
  85. zerochat_runtime/assets/js/sandbox.js +449 -0
  86. zerochat_runtime/assets/js/state.js +704 -0
  87. zerochat_runtime/assets/js/storage-db.js +144 -0
  88. zerochat_runtime/assets/js/tool-cards.js +330 -0
  89. zerochat_runtime/assets/js/tool-security.js +653 -0
  90. zerochat_runtime/assets/js/tools/README.md +50 -0
  91. zerochat_runtime/assets/js/tools/builtin/agent-checkpoint.tool.js +212 -0
  92. zerochat_runtime/assets/js/tools/builtin/download-pdf.tool.js +111 -0
  93. zerochat_runtime/assets/js/tools/builtin/execute-javascript.tool.js +219 -0
  94. zerochat_runtime/assets/js/tools/builtin/fetch-web-page.tool.js +112 -0
  95. zerochat_runtime/assets/js/tools/builtin/list-documents.tool.js +117 -0
  96. zerochat_runtime/assets/js/tools/builtin/read-knowledge-chunk.tool.js +129 -0
  97. zerochat_runtime/assets/js/tools/builtin/read-knowledge-image.tool.js +95 -0
  98. zerochat_runtime/assets/js/tools/builtin/render-chart.tool.js +90 -0
  99. zerochat_runtime/assets/js/tools/builtin/search-knowledge-base.tool.js +124 -0
  100. zerochat_runtime/assets/js/tools/builtin/search-web.tool.js +125 -0
  101. zerochat_runtime/assets/js/tools/tool-manifest.js +53 -0
  102. zerochat_runtime/assets/js/tools/tool-runtime.js +77 -0
  103. zerochat_runtime/assets/js/ui-composer.js +319 -0
  104. zerochat_runtime/assets/js/ui-conversation.js +655 -0
  105. zerochat_runtime/assets/js/ui-dialogs.js +132 -0
  106. zerochat_runtime/assets/js/ui-generation-status.js +119 -0
  107. zerochat_runtime/assets/js/ui-inspector.js +804 -0
  108. zerochat_runtime/assets/js/ui-mcp.js +604 -0
  109. zerochat_runtime/assets/js/ui-profiles.js +824 -0
  110. zerochat_runtime/assets/js/ui-reasoning.js +146 -0
  111. zerochat_runtime/assets/js/ui-settings.js +825 -0
  112. zerochat_runtime/assets/js/ui-shell.js +215 -0
  113. zerochat_runtime/assets/js/ui-sidebar.js +429 -0
  114. zerochat_runtime/assets/js/ui-telemetry.js +404 -0
  115. zerochat_runtime/assets/js/ui-transfer.js +262 -0
  116. zerochat_runtime/assets/js/utils.js +216 -0
  117. zerochat_runtime/assets/js/vendor/orama.browser.js +11 -0
  118. zerochat_runtime/assets/js/web-browser.js +569 -0
  119. zerochat_runtime/assets/js/web-search.js +519 -0
  120. zerochat_runtime/assets/manifest.webmanifest +20 -0
  121. zerochat_runtime/assets/services/dummy_mcp/dummy_mcp_server.py +47 -0
  122. zerochat_runtime/assets/services/dummy_mcp/service.json +22 -0
  123. zerochat_runtime/assets/services/lsp/installer.json +9 -0
  124. zerochat_runtime/assets/services/lsp/service.json +22 -0
  125. zerochat_runtime/assets/services/memory/installer.json +9 -0
  126. zerochat_runtime/assets/services/memory/service.json +24 -0
  127. zerochat_runtime/assets/services/playwright/installer.json +10 -0
  128. zerochat_runtime/assets/services/playwright/service.json +39 -0
  129. zerochat_runtime/assets/sw.js +164 -0
  130. zerochat_runtime/assets/zerochat.html +671 -0
@@ -0,0 +1,130 @@
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Base de Conocimiento Local (RAG) · Ayuda de ZeroChat</title>
7
+ <meta name="description" content="Manual de RAG (Generación Aumentada por Recuperación) en ZeroChat: ramas de conocimiento, indexación de documentos con Orama, búsqueda híbrida e imágenes.">
8
+ <link rel="stylesheet" href="help.css">
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <header>
13
+ <div class="header-top">
14
+ <a href="index.html" class="logo-badge">
15
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6M12 19h8"/></svg>
16
+ ZeroChat Docs
17
+ </a>
18
+ <div class="header-actions">
19
+ <a href="en/rag.html" class="top-nav-link">English 🌐</a>
20
+ <a href="index.html" class="top-nav-link">← Volver al Índice</a>
21
+ </div>
22
+ </div>
23
+ <h1>Base de Conocimiento Local (RAG)</h1>
24
+ <p class="subtitle">Consulta tus propios documentos de forma privada sin subirlos a la nube gracias al motor RAG integrado en el navegador.</p>
25
+ </header>
26
+
27
+ <div class="card">
28
+ <h2>1. ¿Qué es RAG y por qué en ZeroChat es diferente?</h2>
29
+ <p>
30
+ <strong>RAG</strong> (<em>Retrieval-Augmented Generation</em> o Generación Aumentada por Recuperación) es una técnica que permite al modelo de lenguaje responder preguntas basándose en tus propios manuales, libros, notas o documentación técnica.
31
+ </p>
32
+ <p>
33
+ En la inmensa mayoría de herramientas comerciales, tus documentos se suben a servidores externos para ser vectorizados. En ZeroChat, <strong>todo el proceso de ingesta, particionado (chunking) e indexación se realiza localmente en tu ordenador</strong> dentro del navegador utilizando el motor de búsqueda <strong>Orama</strong> y almacenamiento persistente en <strong>IndexedDB</strong>.
34
+ </p>
35
+ <div class="alert alert-success">
36
+ <strong>Confidencialidad absoluta:</strong> Tus contratos, código propietario o datos médicos jamás abandonan tu equipo. Solo los fragmentos relevantes seleccionados para responder a tu pregunta se envían al modelo de lenguaje que elijas.
37
+ </div>
38
+ </div>
39
+
40
+ <div class="card">
41
+ <h2>2. Ramas de Conocimiento (Knowledge Branches)</h2>
42
+ <p>
43
+ Para mantener tus proyectos organizados, ZeroChat estructura el conocimiento en <strong>Ramas</strong> independientes:
44
+ </p>
45
+ <ul>
46
+ <li>Puedes crear diferentes ramas según la temática (por ejemplo: <em>"Documentación API"</em>, <em>"Finanzas 2026"</em>, <em>"Apuntes de Física"</em>).</li>
47
+ <li>Puedes activar varias ramas desde el botón <strong>RAG</strong> de la barra inferior. Para crear ramas, cargar o gestionar documentos, abre <strong>RAG</strong> desde el menú general de configuración.</li>
48
+ <li>Al combinar ramas de idiomas distintos, ZeroChat muestra un aviso sin cambiar las ramas activas.</li>
49
+ <li>Cuando una rama está activa, el agente o el chat tienen acceso directo a los documentos contenidos en ella.</li>
50
+ </ul>
51
+ </div>
52
+
53
+ <div class="card">
54
+ <h2>3. Ingestión y Procesamiento de Documentos</h2>
55
+ <p>
56
+ Dentro del panel de gestión RAG, accesible desde el menú general de configuración, puedes arrastrar archivos o pulsar sobre el área de carga:
57
+ </p>
58
+ <ul>
59
+ <li><strong>PDFs y Libros:</strong> Se analiza cada página, se extrae el texto continuo y se identifican las posibles imágenes o esquemas relevantes.</li>
60
+ <li><strong>Markdown y Texto Plano:</strong> Se respetan los títulos (<code>#</code>, <code>##</code>, <code>###</code>) para realizar divisiones semánticas naturales.</li>
61
+ <li><strong>Archivos de Código Fuente:</strong> Se agrupan respetando funciones y clases para que el contexto técnico no se rompa al dividirse en fragmentos.</li>
62
+ <li><strong>Chunking Inteligente:</strong> El motor divide los textos en fragmentos de tamaño óptimo con solapamiento (overlap) para asegurar que ninguna idea clave quede cortada a la mitad.</li>
63
+ <li><strong>Gestión de Duplicados:</strong> Si intentas cargar un archivo con el mismo nombre y ruta que uno ya existente en la rama, el sistema te preguntará si deseas <em>Reemplazar</em> el documento existente o <em>Ignorar</em> la nueva copia. Puedes marcar la casilla para aplicar tu decisión al resto de duplicados de la carga.</li>
64
+ <li><strong>Cancelación Cooperativa:</strong> Durante la ingesta de múltiples archivos o documentos extensos, dispones de un botón <em>Detener</em> para interrumpir de inmediato el procesamiento sin corromper el índice ni los datos ya procesados.</li>
65
+ </ul>
66
+ </div>
67
+
68
+ <div class="card">
69
+ <h2>4. Búsqueda y Herramientas Agénticas de Consulta</h2>
70
+ <p>
71
+ El modelo consulta los documentos activos mediante herramientas de RAG:
72
+ </p>
73
+ <ol>
74
+ <li>
75
+ <strong>Consulta Activa por Herramientas (Tool Calling):</strong> El modelo invoca dinámicamente las herramientas del agente:
76
+ <ul>
77
+ <li><code>list_documents</code>: Conoce los documentos disponibles en la rama.</li>
78
+ <li><code>search_knowledge_base</code>: Realiza búsquedas específicas con términos clave.</li>
79
+ <li><code>read_knowledge_chunk</code>: Lee un fragmento concreto en profundidad.</li>
80
+ <li><code>read_knowledge_image</code>: Si un PDF contenía diagramas o figuras, el modelo puede solicitar ver la imagen para analizarla visualmente.</li>
81
+ </ul>
82
+ </li>
83
+ </ol>
84
+ </div>
85
+
86
+ <div class="card">
87
+ <h2>5. Configuración y Recomendaciones</h2>
88
+
89
+ <h3>IndexedDB + Orama</h3>
90
+ <p>
91
+ Los archivos, metadatos y fragmentos se guardan en IndexedDB. Orama construye en memoria un índice de búsqueda local para la rama activa.
92
+ </p>
93
+
94
+ <h3>Sin permisos ni costes de ingesta</h3>
95
+ <p>
96
+ Seleccionar un archivo solo permite leer esa carga. No se solicitan permisos sobre carpetas y no se llama a ningún LLM para resumir o indexar.
97
+ </p>
98
+
99
+ <h3>Configurar el modelo para responder sobre documentos</h3>
100
+ <p>
101
+ Para preguntas factuales sobre documentos, usa una temperatura baja (0 a 0,2): reduce variaciones y hace más probable que el modelo se atenga a los fragmentos recuperados. Una temperatura de 0,7 o superior conviene para redacción creativa, no para extraer cifras o hechos. El modelo también debe admitir llamadas a herramientas; si no las admite, no podrá consultar esta base documental.
102
+ </p>
103
+
104
+ <h3>Punto de control agéntico para modelos de poco contexto</h3>
105
+ <p>
106
+ Los modelos compactos o con ventana de contexto reducida se saturan con facilidad al acumular múltiples fragmentos de documentos. Activa el <strong>Punto de Control agéntico (agent_checkpoint)</strong> desde el menú de Razonamiento: permite que el modelo consolide sus hallazgos intermedios y registre el siguiente paso para continuar investigando con coherencia. Especialmente recomendado con modelos de menos de 14B parámetros o ventanas de contexto inferiores a 32k tokens.
107
+ </p>
108
+ </div>
109
+
110
+ <nav class="page-navigation" aria-label="Navegación de ayuda">
111
+ <a href="tools-agent.html" class="nav-button prev">
112
+ <span class="nav-direction">← Anterior</span>
113
+ <span class="nav-title">Modo Agente y Herramientas</span>
114
+ </a>
115
+ <a href="index.html" class="nav-button index">
116
+ <span class="nav-direction">Índice</span>
117
+ <span class="nav-title">Ver todos los temas</span>
118
+ </a>
119
+ <a href="mcp.html" class="nav-button next">
120
+ <span class="nav-direction">Siguiente →</span>
121
+ <span class="nav-title">Protocolo MCP</span>
122
+ </a>
123
+ </nav>
124
+
125
+ <footer>
126
+ <p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
127
+ </footer>
128
+ </div>
129
+ </body>
130
+ </html>
@@ -0,0 +1,111 @@
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Razonamiento (Thinking) y Telemetría de Contexto · Ayuda de ZeroChat</title>
7
+ <meta name="description" content="Guía sobre modelos de razonamiento (Thinking) y monitorización de tokens, caché de contexto y velocidad en tiempo real en ZeroChat.">
8
+ <link rel="stylesheet" href="help.css">
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <header>
13
+ <div class="header-top">
14
+ <a href="index.html" class="logo-badge">
15
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6M12 19h8"/></svg>
16
+ ZeroChat Docs
17
+ </a>
18
+ <div class="header-actions">
19
+ <a href="en/reasoning-telemetry.html" class="top-nav-link">English 🌐</a>
20
+ <a href="index.html" class="top-nav-link">← Volver al Índice</a>
21
+ </div>
22
+ </div>
23
+ <h1>Razonamiento (Thinking) y Telemetría</h1>
24
+ <p class="subtitle">Descubre cómo controlar el esfuerzo de reflexión de los modelos y supervisar la ventana de contexto y el consumo de tokens en tiempo real.</p>
25
+ </header>
26
+
27
+ <div class="card">
28
+ <h2>1. Modelos con Capacidad de Razonamiento</h2>
29
+ <p>
30
+ Los modelos de última generación (como DeepSeek-R1, OpenAI o1/o3-mini, Claude 3.7 Sonnet con thinking o Qwen QwQ) generan una cadena de pensamiento interna previa a emitir su respuesta final.
31
+ </p>
32
+ <p>
33
+ ZeroChat captura estos fragmentos de pensamiento en tiempo real (<code>reasoning_content</code> / <code>thinking</code>) a través de los adaptadores de proveedor y los presenta en un bloque visual independiente y colapsable en el chat.
34
+ </p>
35
+ <h3>El Selector de Nivel de Razonamiento</h3>
36
+ <p>
37
+ En la barra inferior del composer encontrarás un indicador de velocímetro. Su aguja refleja la intensidad elegida; al pulsarlo se abre un panel compacto con una barra de intensidad y un cierre X.
38
+ </p>
39
+ <ul>
40
+ <li><strong>Ninguno:</strong> No se envía ninguna configuración de razonamiento; es la opción adecuada para respuestas rápidas y concisas.</li>
41
+ <li><strong>Bajo a Máximo:</strong> Desliza la barra para graduar el esfuerzo de razonamiento según la complejidad de la tarea.</li>
42
+ <li><strong>Compatibilidad:</strong> ZeroChat adapta el nivel al formato que entiende el proveedor. Si el modelo no admite razonamiento, continúa con una respuesta normal.</li>
43
+ </ul>
44
+ <div class="alert alert-info">
45
+ <strong>Punto de Control Agéntico (<code>agent_checkpoint</code>):</strong> En el menú de razonamiento puedes activar esta herramienta especial. Permite al modelo guardar reflexiones o hallazgos clave antes de ejecutar acciones complejas o búsquedas documentales.
46
+ </div>
47
+ </div>
48
+
49
+ <div class="card">
50
+ <h2>2. El Hub Unificado de Telemetría (Context Hub)</h2>
51
+ <p>
52
+ Junto al selector de perfil se muestra un botón indicador de telemetría (por ejemplo, <code>1.4k / 128k</code>). Este botón sintetiza la salud de la ventana de contexto de la conversación activa mediante un código de colores tipo semáforo:
53
+ </p>
54
+ <ul>
55
+ <li><strong>Verde (Óptimo):</strong> Menos del 75% de la capacidad de contexto utilizada.</li>
56
+ <li><strong>Ámbar (Advertencia):</strong> Entre el 75% y el 90% de la capacidad consumida. Conviene podar mensajes o ramificar la conversación.</li>
57
+ <li><strong>Rojo (Crítico):</strong> Por encima del 90% del límite del modelo. Riesgo inminente de truncado o fallo en la API.</li>
58
+ </ul>
59
+ </div>
60
+
61
+ <div class="card">
62
+ <h2>3. Métricas Detalladas del Popover de Telemetría</h2>
63
+ <p>
64
+ Al pulsar sobre la píldora de tokens, se despliega el <strong>Context Hub Popover</strong>, ofreciendo tres secciones de diagnóstico exhaustivo:
65
+ </p>
66
+
67
+ <h3>Sección 1: Ventana de Contexto Global</h3>
68
+ <ul>
69
+ <li><strong>Barra de progreso visual:</strong> Muestra el porcentaje exacto de ocupación de la ventana de contexto.</li>
70
+ <li><strong>Tokens usados, capacidad y disponibles:</strong> Cifras exactas calculadas con el tokenizer y las respuestas del servidor.</li>
71
+ <li><strong>Ajuste de capacidad asumida:</strong> Si tu servidor local no anuncia su límite de contexto o deseas limitar artificialmente la ventana (por ejemplo, a 8k o 32k), puedes escribir el valor y pulsar <em>"Usar"</em> para ajustar el semáforo al instante.</li>
72
+ </ul>
73
+
74
+ <h3>Sección 2: Ahorro por Caché de Contexto (Prompt Caching / KV)</h3>
75
+ <p>
76
+ En modelos que soportan reutilización de prefijos (como Anthropic Claude, OpenAI o DeepSeek):
77
+ </p>
78
+ <ul>
79
+ <li><strong>Tokens leídos de caché (Ahorro):</strong> Tokens recuperados de la memoria intermedia del proveedor sin coste completo o con descuento masivo de latencia y precio.</li>
80
+ <li><strong>Tokens escritos en caché:</strong> Bloques recién indexados para acelerar los siguientes turnos de la sesión.</li>
81
+ </ul>
82
+
83
+ <h3>Sección 3: Rendimiento del Último Turno</h3>
84
+ <ul>
85
+ <li><strong>Tokens de entrada (Prompt) y salida (Completion):</strong> Desglose exacto del último mensaje intercambiado.</li>
86
+ <li><strong>Velocidad de generación:</strong> Medida en tokens por segundo (<code>t/s</code>).</li>
87
+ <li><strong>Latencia TTFT (Time To First Token):</strong> Tiempo transcurrido en milisegundos desde que envías el mensaje hasta que el servidor emite el primer token útil.</li>
88
+ </ul>
89
+ </div>
90
+
91
+ <nav class="page-navigation" aria-label="Navegación de ayuda">
92
+ <a href="composer.html" class="nav-button prev">
93
+ <span class="nav-direction">← Anterior</span>
94
+ <span class="nav-title">Composer y Multimedia</span>
95
+ </a>
96
+ <a href="index.html" class="nav-button index">
97
+ <span class="nav-direction">Índice</span>
98
+ <span class="nav-title">Ver todos los temas</span>
99
+ </a>
100
+ <div class="nav-button disabled">
101
+ <span class="nav-direction">Última página</span>
102
+ <span class="nav-title">—</span>
103
+ </div>
104
+ </nav>
105
+
106
+ <footer>
107
+ <p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
108
+ </footer>
109
+ </div>
110
+ </body>
111
+ </html>
@@ -0,0 +1,133 @@
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Modo Agente y Herramientas Nativas · Ayuda de ZeroChat</title>
7
+ <meta name="description" content="Guía del ciclo agéntico autónomo en ZeroChat: ejecución de JavaScript bajo supervisión técnica, búsqueda web, descarga de páginas y gráficas interactivas.">
8
+ <link rel="stylesheet" href="help.css">
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <header>
13
+ <div class="header-top">
14
+ <a href="index.html" class="logo-badge">
15
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6M12 19h8"/></svg>
16
+ ZeroChat Docs
17
+ </a>
18
+ <div class="header-actions">
19
+ <a href="en/tools-agent.html" class="top-nav-link">English 🌐</a>
20
+ <a href="index.html" class="top-nav-link">← Volver al Índice</a>
21
+ </div>
22
+ </div>
23
+ <h1>Modo Agente y Herramientas Nativas</h1>
24
+ <p class="subtitle">Convierte a los modelos de lenguaje en asistentes activos capaces de razonar, ejecutar código, buscar información y dibujar gráficos.</p>
25
+ </header>
26
+
27
+ <div class="card">
28
+ <h2>1. ¿Qué es el Modo Agente en ZeroChat?</h2>
29
+ <p>
30
+ El <strong>Modo Agente</strong> transforma la interacción pasiva de pregunta-respuesta en un bucle autónomo multivuelta (<em>Agentic Loop</em>).
31
+ </p>
32
+ <p>
33
+ Cuando planteas una tarea compleja, el modelo evalúa qué herramientas necesita, emite una llamada estructurada (Function Calling), ZeroChat ejecuta la herramienta en tu navegador y devuelve el resultado al modelo para que continúe resolviendo el problema hasta completar el objetivo.
34
+ </p>
35
+ <div class="alert alert-info">
36
+ <strong>Límite de turnos de seguridad (<code>maxAgentTurns</code>):</strong> En Ajustes puedes definir el máximo de turnos consecutivos del agente, entre 5 y 35 (15 por defecto), para limitar bucles y consumo de tokens.
37
+ </div>
38
+ </div>
39
+
40
+ <div class="card">
41
+ <h2>2. Catálogo de Herramientas Integradas (Built-in Tools)</h2>
42
+ <div class="table-responsive">
43
+ <table>
44
+ <thead>
45
+ <tr>
46
+ <th>Herramienta</th>
47
+ <th>Descripción y Capacidades</th>
48
+ <th>Entorno de Ejecución</th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+ <tr>
53
+ <td><code>execute_javascript</code></td>
54
+ <td>Ejecuta JavaScript local para cálculos matemáticos, algoritmos, transformaciones de datos o procesamiento de cadenas, bajo supervisión técnica.</td>
55
+ <td>Web Worker local con límites de ejecución</td>
56
+ </tr>
57
+ <tr>
58
+ <td><code>search_web</code></td>
59
+ <td>Realiza búsquedas en tiempo real en Internet para obtener información de actualidad o documentación técnica reciente.</td>
60
+ <td>SearXNG o DuckDuckGo sin API key</td>
61
+ </tr>
62
+ <tr>
63
+ <td><code>fetch_web_page</code></td>
64
+ <td>Descarga el contenido de una URL pública y lo convierte a Markdown limpio eliminando publicidad y scripts innecesarios.</td>
65
+ <td>Cliente HTTP con protección anti-SSRF</td>
66
+ </tr>
67
+ <tr>
68
+ <td><code>download_pdf</code></td>
69
+ <td>Descarga un documento PDF desde una URL y extrae su texto para que el modelo pueda consultarlo.</td>
70
+ <td>Parser PDF en el navegador</td>
71
+ </tr>
72
+ <tr>
73
+ <td><code>render_chart</code></td>
74
+ <td>Genera visualizaciones gráficas interactivas nativas en SVG (líneas, barras, dispersión, etc.) insertadas directamente en la conversación.</td>
75
+ <td>Motor SVG cliente (<code>charts.js</code>)</td>
76
+ </tr>
77
+ <tr>
78
+ <td><code>list_documents</code><br><code>search_knowledge_base</code><br><code>read_knowledge_chunk</code><br><code>read_knowledge_image</code></td>
79
+ <td>Herramientas para inspeccionar, buscar e indexar fragmentos de documentos cargados en la base de conocimiento local (RAG).</td>
80
+ <td>Motor Orama & IndexedDB local</td>
81
+ </tr>
82
+ </tbody>
83
+ </table>
84
+ </div>
85
+ <p><code>agent_checkpoint</code> permite al agente resumir hallazgos y decidir si continúa investigando o responde.</p>
86
+ </div>
87
+
88
+ <div class="card">
89
+ <h2>3. Ejecución de JavaScript bajo supervisión técnica</h2>
90
+ <p>
91
+ <code>execute_javascript</code> es una herramienta de apoyo para cálculos, procesamiento de datos y algoritmos. Su uso requiere el conocimiento y la supervisión activa de una persona usuaria técnica, que puede habilitarla o deshabilitarla desde la configuración.
92
+ </p>
93
+ <ul>
94
+ <li><strong>Ejecución en Web Worker:</strong> Normalmente se realiza en un hilo independiente para no bloquear la interfaz durante cálculos o algoritmos pesados.</li>
95
+ <li><strong>Límite de tiempo:</strong> Si el script supera el tiempo configurado, ZeroChat detiene el Worker.</li>
96
+ <li><strong>Límites de salida:</strong> Se truncan los resultados excesivos y se limita el número de mensajes de consola para preservar la capacidad de respuesta.</li>
97
+ <li><strong>APIs restringidas para cálculos:</strong> El Worker neutraliza APIs de red y de creación de subprocesos que no son necesarias para esta herramienta.</li>
98
+ </ul>
99
+ </div>
100
+
101
+ <div class="card">
102
+ <h2>4. Tarjetas de Herramientas Interactivas (Tool Cards)</h2>
103
+ <p>
104
+ Cuando el agente invoca una herramienta durante una conversación, ZeroChat muestra una <strong>Tool Card</strong> en el flujo de mensajes que refleja el estado de la operación en tiempo real:
105
+ </p>
106
+ <ul>
107
+ <li><strong>Cabecera con estado:</strong> Muestra un spinner animado durante la ejecución y un check verde o icono de alerta al terminar.</li>
108
+ <li><strong>Entrada y salida colapsables:</strong> Puedes desplegar la tarjeta para ver los argumentos exactos pasados a la función y el resultado devuelto por la herramienta.</li>
109
+ <li><strong>Persistencia en historial:</strong> Si recargas la página o navegas entre conversaciones, las tarjetas de herramientas se restauran fielmente con sus desplegables operativos.</li>
110
+ </ul>
111
+ </div>
112
+
113
+ <nav class="page-navigation" aria-label="Navegación de ayuda">
114
+ <a href="webllm.html" class="nav-button prev">
115
+ <span class="nav-direction">← Anterior</span>
116
+ <span class="nav-title">Inferencia Local WebLLM</span>
117
+ </a>
118
+ <a href="index.html" class="nav-button index">
119
+ <span class="nav-direction">Índice</span>
120
+ <span class="nav-title">Ver todos los temas</span>
121
+ </a>
122
+ <a href="rag.html" class="nav-button next">
123
+ <span class="nav-direction">Siguiente →</span>
124
+ <span class="nav-title">Conocimiento Local (RAG)</span>
125
+ </a>
126
+ </nav>
127
+
128
+ <footer>
129
+ <p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
130
+ </footer>
131
+ </div>
132
+ </body>
133
+ </html>