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.
- zerochat-7.3.0.dist-info/METADATA +70 -0
- zerochat-7.3.0.dist-info/RECORD +130 -0
- zerochat-7.3.0.dist-info/WHEEL +5 -0
- zerochat-7.3.0.dist-info/entry_points.txt +2 -0
- zerochat-7.3.0.dist-info/licenses/LICENSE +34 -0
- zerochat-7.3.0.dist-info/top_level.txt +2 -0
- zerochat.py +2004 -0
- zerochat_runtime/__init__.py +1 -0
- zerochat_runtime/assets/css/base.css +199 -0
- zerochat_runtime/assets/css/components/composer.css +1258 -0
- zerochat_runtime/assets/css/components/debug.css +777 -0
- zerochat_runtime/assets/css/components/header.css +97 -0
- zerochat_runtime/assets/css/components/icons.css +39 -0
- zerochat_runtime/assets/css/components/markdown.css +685 -0
- zerochat_runtime/assets/css/components/messages.css +473 -0
- zerochat_runtime/assets/css/components/modals.css +1319 -0
- zerochat_runtime/assets/css/components/sidebar.css +622 -0
- zerochat_runtime/assets/css/components/tools.css +1223 -0
- zerochat_runtime/assets/css/layout.css +171 -0
- zerochat_runtime/assets/css/print.css +120 -0
- zerochat_runtime/assets/css/styles.css +18 -0
- zerochat_runtime/assets/css/theme-overrides.css +555 -0
- zerochat_runtime/assets/css/tokens.css +165 -0
- zerochat_runtime/assets/help/architecture.html +247 -0
- zerochat_runtime/assets/help/composer.html +134 -0
- zerochat_runtime/assets/help/conversations.html +105 -0
- zerochat_runtime/assets/help/debug.html +108 -0
- zerochat_runtime/assets/help/en/architecture.html +247 -0
- zerochat_runtime/assets/help/en/composer.html +134 -0
- zerochat_runtime/assets/help/en/conversations.html +104 -0
- zerochat_runtime/assets/help/en/debug.html +105 -0
- zerochat_runtime/assets/help/en/gemini-free.html +39 -0
- zerochat_runtime/assets/help/en/index.html +191 -0
- zerochat_runtime/assets/help/en/learning.html +71 -0
- zerochat_runtime/assets/help/en/mcp.html +143 -0
- zerochat_runtime/assets/help/en/openrouter-free.html +39 -0
- zerochat_runtime/assets/help/en/profiles.html +173 -0
- zerochat_runtime/assets/help/en/rag.html +130 -0
- zerochat_runtime/assets/help/en/reasoning-telemetry.html +108 -0
- zerochat_runtime/assets/help/en/tools-agent.html +133 -0
- zerochat_runtime/assets/help/en/webllm.html +355 -0
- zerochat_runtime/assets/help/gemini-free.html +39 -0
- zerochat_runtime/assets/help/help.css +604 -0
- zerochat_runtime/assets/help/help.js +51 -0
- zerochat_runtime/assets/help/index.html +194 -0
- zerochat_runtime/assets/help/learning.html +71 -0
- zerochat_runtime/assets/help/mcp.html +143 -0
- zerochat_runtime/assets/help/openrouter-free.html +39 -0
- zerochat_runtime/assets/help/profiles.html +174 -0
- zerochat_runtime/assets/help/rag.html +130 -0
- zerochat_runtime/assets/help/reasoning-telemetry.html +111 -0
- zerochat_runtime/assets/help/tools-agent.html +133 -0
- zerochat_runtime/assets/help/webllm.html +359 -0
- zerochat_runtime/assets/js/agent-core.js +1553 -0
- zerochat_runtime/assets/js/api.js +844 -0
- zerochat_runtime/assets/js/app.js +2558 -0
- zerochat_runtime/assets/js/attachments.js +220 -0
- zerochat_runtime/assets/js/charts.js +338 -0
- zerochat_runtime/assets/js/chat-engine.js +566 -0
- zerochat_runtime/assets/js/config-store.js +207 -0
- zerochat_runtime/assets/js/context-manager.js +584 -0
- zerochat_runtime/assets/js/conversation-service.js +484 -0
- zerochat_runtime/assets/js/cookies.js +688 -0
- zerochat_runtime/assets/js/data-reset-service.js +136 -0
- zerochat_runtime/assets/js/debug.js +508 -0
- zerochat_runtime/assets/js/defaults.js +16 -0
- zerochat_runtime/assets/js/export.js +179 -0
- zerochat_runtime/assets/js/file-parser.js +2088 -0
- zerochat_runtime/assets/js/generation-controller.js +417 -0
- zerochat_runtime/assets/js/i18n.js +1483 -0
- zerochat_runtime/assets/js/icons.js +156 -0
- zerochat_runtime/assets/js/ingestionEngine.js +436 -0
- zerochat_runtime/assets/js/markdown.js +588 -0
- zerochat_runtime/assets/js/mcp.js +1271 -0
- zerochat_runtime/assets/js/message-turns.js +62 -0
- zerochat_runtime/assets/js/profile-backup.js +118 -0
- zerochat_runtime/assets/js/profile-export-bundle.js +481 -0
- zerochat_runtime/assets/js/profile-repository.js +213 -0
- zerochat_runtime/assets/js/providers-webllm.js +486 -0
- zerochat_runtime/assets/js/providers.js +1560 -0
- zerochat_runtime/assets/js/rag-index.js +295 -0
- zerochat_runtime/assets/js/rag-service.js +530 -0
- zerochat_runtime/assets/js/rag-ui.js +997 -0
- zerochat_runtime/assets/js/ragStorage.js +676 -0
- zerochat_runtime/assets/js/sandbox.js +449 -0
- zerochat_runtime/assets/js/state.js +704 -0
- zerochat_runtime/assets/js/storage-db.js +144 -0
- zerochat_runtime/assets/js/tool-cards.js +330 -0
- zerochat_runtime/assets/js/tool-security.js +653 -0
- zerochat_runtime/assets/js/tools/README.md +50 -0
- zerochat_runtime/assets/js/tools/builtin/agent-checkpoint.tool.js +212 -0
- zerochat_runtime/assets/js/tools/builtin/download-pdf.tool.js +111 -0
- zerochat_runtime/assets/js/tools/builtin/execute-javascript.tool.js +219 -0
- zerochat_runtime/assets/js/tools/builtin/fetch-web-page.tool.js +112 -0
- zerochat_runtime/assets/js/tools/builtin/list-documents.tool.js +117 -0
- zerochat_runtime/assets/js/tools/builtin/read-knowledge-chunk.tool.js +129 -0
- zerochat_runtime/assets/js/tools/builtin/read-knowledge-image.tool.js +95 -0
- zerochat_runtime/assets/js/tools/builtin/render-chart.tool.js +90 -0
- zerochat_runtime/assets/js/tools/builtin/search-knowledge-base.tool.js +124 -0
- zerochat_runtime/assets/js/tools/builtin/search-web.tool.js +125 -0
- zerochat_runtime/assets/js/tools/tool-manifest.js +53 -0
- zerochat_runtime/assets/js/tools/tool-runtime.js +77 -0
- zerochat_runtime/assets/js/ui-composer.js +319 -0
- zerochat_runtime/assets/js/ui-conversation.js +655 -0
- zerochat_runtime/assets/js/ui-dialogs.js +132 -0
- zerochat_runtime/assets/js/ui-generation-status.js +119 -0
- zerochat_runtime/assets/js/ui-inspector.js +804 -0
- zerochat_runtime/assets/js/ui-mcp.js +604 -0
- zerochat_runtime/assets/js/ui-profiles.js +824 -0
- zerochat_runtime/assets/js/ui-reasoning.js +146 -0
- zerochat_runtime/assets/js/ui-settings.js +825 -0
- zerochat_runtime/assets/js/ui-shell.js +215 -0
- zerochat_runtime/assets/js/ui-sidebar.js +429 -0
- zerochat_runtime/assets/js/ui-telemetry.js +404 -0
- zerochat_runtime/assets/js/ui-transfer.js +262 -0
- zerochat_runtime/assets/js/utils.js +216 -0
- zerochat_runtime/assets/js/vendor/orama.browser.js +11 -0
- zerochat_runtime/assets/js/web-browser.js +569 -0
- zerochat_runtime/assets/js/web-search.js +519 -0
- zerochat_runtime/assets/manifest.webmanifest +20 -0
- zerochat_runtime/assets/services/dummy_mcp/dummy_mcp_server.py +47 -0
- zerochat_runtime/assets/services/dummy_mcp/service.json +22 -0
- zerochat_runtime/assets/services/lsp/installer.json +9 -0
- zerochat_runtime/assets/services/lsp/service.json +22 -0
- zerochat_runtime/assets/services/memory/installer.json +9 -0
- zerochat_runtime/assets/services/memory/service.json +24 -0
- zerochat_runtime/assets/services/playwright/installer.json +10 -0
- zerochat_runtime/assets/services/playwright/service.json +39 -0
- zerochat_runtime/assets/sw.js +164 -0
- zerochat_runtime/assets/zerochat.html +671 -0
|
@@ -0,0 +1,194 @@
|
|
|
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>Centro de Ayuda y Documentación · ZeroChat</title>
|
|
7
|
+
<meta name="description" content="Manual de usuario y documentación técnica completa de ZeroChat: cliente web universal, autónomo y privado para modelos de IA y agentes locales.">
|
|
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
|
+
<div class="lang-switch">
|
|
20
|
+
<span class="lang-current">Español</span> | <a href="en/index.html" class="lang-link">English</a>
|
|
21
|
+
</div>
|
|
22
|
+
<span class="top-nav-link">Versión 7.x</span>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<h1>Centro de Ayuda de ZeroChat</h1>
|
|
26
|
+
<p class="subtitle">Manual de usuario y documentación técnica de ZeroChat.</p>
|
|
27
|
+
</header>
|
|
28
|
+
|
|
29
|
+
<div class="card">
|
|
30
|
+
<h2>¿Qué es ZeroChat?</h2>
|
|
31
|
+
<p>
|
|
32
|
+
<strong>ZeroChat</strong> es un cliente web autónomo, seguro y portátil para interactuar con modelos de inteligencia artificial, orquestar agentes autónomos y consultar bases de conocimiento documental locales.
|
|
33
|
+
</p>
|
|
34
|
+
<p>
|
|
35
|
+
ZeroChat se sirve como una aplicación web estática (<code>zerochat.html</code>) que funciona directamente en cualquier servidor estático, evitando o simplificando el proceso de instalación. Toda la información personal, conversaciones, configuraciones y documentos indexados permanecen estrictamente bajo tu control dentro de tu propio navegador.
|
|
36
|
+
</p>
|
|
37
|
+
|
|
38
|
+
<div class="download-action-box">
|
|
39
|
+
<a href="../zerochat.html" class="btn-open-app" id="btn-open-app">
|
|
40
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg>
|
|
41
|
+
Abrir ZeroChat (zerochat.html)
|
|
42
|
+
</a>
|
|
43
|
+
<span class="download-hint">Listo para usar directamente en el navegador o conectar con tu backend local en <code>zerochat.py</code>.</span>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="alert alert-info" style="margin-top: 1rem;">
|
|
47
|
+
<h3 style="margin-top: 0; margin-bottom: 0.5rem; font-size: 1.05rem;">Dos formas de arranque</h3>
|
|
48
|
+
<ul style="margin: 0 0 0.5rem 1.25rem; padding: 0;">
|
|
49
|
+
<li>
|
|
50
|
+
<strong><code>zerochat.html</code> (Web directa / PWA):</strong> Funciona directamente en el navegador con inferencia comercial o local (WebLLM/WebGPU), base documental RAG, modo Agente con sandbox JS y persistencia en IndexedDB sin requerir Python ni instalación.
|
|
51
|
+
</li>
|
|
52
|
+
<li>
|
|
53
|
+
<strong><code>zerochat.py</code> (Backend local):</strong> Servidor local que añade control del sistema operativo: lectura y edición de archivos locales, comandos de terminal y servidores MCP externos.
|
|
54
|
+
</li>
|
|
55
|
+
</ul>
|
|
56
|
+
<div style="font-size: 0.9rem;">
|
|
57
|
+
<a href="architecture.html">Ver comparativa técnica completa y capacidades en Arquitectura →</a>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<div class="alert alert-info" style="margin-top: 1rem;">
|
|
62
|
+
<h3 style="margin-top: 0; margin-bottom: 0.5rem; font-size: 1.05rem;">Descarga y ejecución rápida</h3>
|
|
63
|
+
<p style="margin: 0.5rem 0;">
|
|
64
|
+
<strong>Descargar zerochat.py:</strong>
|
|
65
|
+
<a href="../zerochat.py" download style="margin-left: 0.5rem;">zerochat.py</a>
|
|
66
|
+
</p>
|
|
67
|
+
<p style="margin: 0.5rem 0;">
|
|
68
|
+
<strong>Ejecutar directamente (curl):</strong>
|
|
69
|
+
</p>
|
|
70
|
+
<div class="code-wrapper">
|
|
71
|
+
<pre><code>curl -sL https://albalday.github.io/zerochat/zerochat.py -o zerochat.py && python3 zerochat.py</code></pre>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<div class="alert alert-info">
|
|
76
|
+
<strong>Proyecto de autoaprendizaje:</strong> ZeroChat nació para aprender y experimentar con IA y agentes de codificación. <a href="learning.html">Ver el detalle →</a>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div class="card">
|
|
81
|
+
<h2>Funcionalidades del Sistema</h2>
|
|
82
|
+
<p>Explora cada uno de los módulos de ZeroChat. Haz clic en cualquier tarjeta para acceder a su guía técnica detallada:</p>
|
|
83
|
+
|
|
84
|
+
<div class="features-grid">
|
|
85
|
+
<!-- 1. Arquitectura y Portabilidad -->
|
|
86
|
+
<a href="architecture.html" class="feature-card">
|
|
87
|
+
<div class="feature-icon-wrapper">
|
|
88
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="feature-title">Arquitectura y Portabilidad</div>
|
|
91
|
+
<div class="feature-desc">Aplicación web servida estáticamente vía HTTPS, persistencia local en IndexedDB y soberanía absoluta de datos sin intermediarios.</div>
|
|
92
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
93
|
+
</a>
|
|
94
|
+
|
|
95
|
+
<!-- 2. Perfiles de Conexión -->
|
|
96
|
+
<a href="profiles.html" class="feature-card">
|
|
97
|
+
<div class="feature-icon-wrapper">
|
|
98
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="feature-title">Perfiles y Proveedores</div>
|
|
101
|
+
<div class="feature-desc">Conexión con OpenAI, Ollama, OpenRouter, Claude, Gemini y Espejo local con detección automática de modelos y capacidades.</div>
|
|
102
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
103
|
+
</a>
|
|
104
|
+
|
|
105
|
+
<!-- 3. WebLLM y WebGPU -->
|
|
106
|
+
<a href="webllm.html" class="feature-card">
|
|
107
|
+
<div class="feature-icon-wrapper">
|
|
108
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="feature-title">Inferencia Local WebLLM</div>
|
|
111
|
+
<div class="feature-desc">Ejecución 100% en el navegador aprovechando la GPU vía WebGPU, con catálogo integrado, descarga progresiva y persistencia en caché.</div>
|
|
112
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
113
|
+
</a>
|
|
114
|
+
|
|
115
|
+
<!-- 4. Modo Agente y Herramientas -->
|
|
116
|
+
<a href="tools-agent.html" class="feature-card">
|
|
117
|
+
<div class="feature-icon-wrapper">
|
|
118
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="10" rx="2"/><circle cx="12" cy="5" r="2"/><path d="M12 7v4"/><line x1="8" y1="16" x2="8" y2="16"/><line x1="16" y1="16" x2="16" y2="16"/></svg>
|
|
119
|
+
</div>
|
|
120
|
+
<div class="feature-title">Modo Agente y Herramientas</div>
|
|
121
|
+
<div class="feature-desc">Ciclo autónomo multivuelta con ejecución de JavaScript en sandbox seguro, búsqueda en la web, extracción de páginas y gráficas interactivas SVG.</div>
|
|
122
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
123
|
+
</a>
|
|
124
|
+
|
|
125
|
+
<!-- 5. Base de Conocimiento RAG -->
|
|
126
|
+
<a href="rag.html" class="feature-card">
|
|
127
|
+
<div class="feature-icon-wrapper">
|
|
128
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="feature-title">Conocimiento Local (RAG)</div>
|
|
131
|
+
<div class="feature-desc">Ingestión de PDFs y documentos en ramas independientes con indexación vectorial y léxica mediante Orama en el navegador.</div>
|
|
132
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
133
|
+
</a>
|
|
134
|
+
|
|
135
|
+
<!-- 6. Protocolo MCP -->
|
|
136
|
+
<a href="mcp.html" class="feature-card">
|
|
137
|
+
<div class="feature-icon-wrapper">
|
|
138
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="8" rx="2"/><rect x="2" y="14" width="20" height="8" rx="2"/><line x1="6" y1="6" x2="6.01" y2="6"/><line x1="6" y1="18" x2="6.01" y2="18"/></svg>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="feature-title">Protocolo MCP</div>
|
|
141
|
+
<div class="feature-desc">Servidor local con herramientas de archivos y terminal, servicios MCP externos y control de permisos.</div>
|
|
142
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
143
|
+
</a>
|
|
144
|
+
|
|
145
|
+
<!-- 7. Depuración y Logs -->
|
|
146
|
+
<a href="debug.html" class="feature-card">
|
|
147
|
+
<div class="feature-icon-wrapper">
|
|
148
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="feature-title">Depuración e Interceptor</div>
|
|
151
|
+
<div class="feature-desc">Consola de depuración con filtros, vista Raw e interceptor de mensajes antes del envío.</div>
|
|
152
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
153
|
+
</a>
|
|
154
|
+
|
|
155
|
+
<!-- 8. Conversaciones e Historial -->
|
|
156
|
+
<a href="conversations.html" class="feature-card">
|
|
157
|
+
<div class="feature-icon-wrapper">
|
|
158
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="feature-title">Conversaciones y Ramas</div>
|
|
161
|
+
<div class="feature-desc">Historial, ramas, búsqueda y exportación en JSON, Markdown o PDF; importación de copias JSON.</div>
|
|
162
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
163
|
+
</a>
|
|
164
|
+
|
|
165
|
+
<!-- 9. Entrada de Mensajes y Adjuntos -->
|
|
166
|
+
<a href="composer.html" class="feature-card">
|
|
167
|
+
<div class="feature-icon-wrapper">
|
|
168
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"/></svg>
|
|
169
|
+
</div>
|
|
170
|
+
<div class="feature-title">Composer y Multimedia</div>
|
|
171
|
+
<div class="feature-desc">Cuadro de entrada autoexpansible, atajos de teclado y adjuntos multiformato (imágenes para visión, PDFs, código fuente, CSV y texto).</div>
|
|
172
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
173
|
+
</a>
|
|
174
|
+
|
|
175
|
+
<!-- 10. Razonamiento y Telemetría -->
|
|
176
|
+
<a href="reasoning-telemetry.html" class="feature-card">
|
|
177
|
+
<div class="feature-icon-wrapper">
|
|
178
|
+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 4.44-2.04z"/></svg>
|
|
179
|
+
</div>
|
|
180
|
+
<div class="feature-title">Razonamiento y Telemetría</div>
|
|
181
|
+
<div class="feature-desc">Control del nivel de pensamiento (Thinking), punto de control agéntico y monitorización en tiempo real de tokens, caché y ventana de contexto.</div>
|
|
182
|
+
<div class="feature-link">Ver guía detallada →</div>
|
|
183
|
+
</a>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
<footer>
|
|
189
|
+
<p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
|
|
190
|
+
</footer>
|
|
191
|
+
</div>
|
|
192
|
+
<script src="help.js"></script>
|
|
193
|
+
</body>
|
|
194
|
+
</html>
|
|
@@ -0,0 +1,71 @@
|
|
|
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>Proyecto y aprendizaje · ZeroChat Docs</title>
|
|
7
|
+
<meta name="description" content="Dos líneas de autoaprendizaje: construir un cliente de IA y aprender a dirigir su desarrollo con agentes.">
|
|
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" aria-hidden="true"><path d="M4 17l6-6-6-6M12 19h8"/></svg>
|
|
16
|
+
ZeroChat Docs
|
|
17
|
+
</a>
|
|
18
|
+
<div class="header-actions">
|
|
19
|
+
<a href="en/learning.html" class="top-nav-link" lang="en">English</a>
|
|
20
|
+
<a href="index.html" class="top-nav-link">← Volver al índice</a>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<h1>Proyecto y aprendizaje</h1>
|
|
24
|
+
<p class="subtitle">Dos líneas de autoaprendizaje: construir un cliente de IA y aprender a dirigir su desarrollo con agentes.</p>
|
|
25
|
+
</header>
|
|
26
|
+
|
|
27
|
+
<main>
|
|
28
|
+
<p>ZeroChat es un proyecto personal de aprendizaje sobre clientes de IA y ejecución agéntica. El trabajo combina objetivos claros, revisión de decisiones y validación de resultados.</p>
|
|
29
|
+
|
|
30
|
+
<section class="card">
|
|
31
|
+
<h2>1. Aprender la tecnología de un cliente de chat</h2>
|
|
32
|
+
<p>El recorrido va desde un cliente de chat hecho con un prompt simple hasta un cliente con conocimiento local y herramientas:</p>
|
|
33
|
+
<ul>
|
|
34
|
+
<li><strong>Chat y proveedores:</strong> streaming SSE, razonamiento, visión y adaptación de APIs mediante una arquitectura común de proveedores.</li>
|
|
35
|
+
<li><strong>Datos y documentos:</strong> persistencia en IndexedDB, extracción de PDF y recuperación de conocimiento (RAG) con Orama y ZeroChatDB.</li>
|
|
36
|
+
<li><strong>Ejecución agéntica:</strong> bucles de herramientas, JavaScript aislado en Web Workers, MCP, permisos y un servidor local con herramientas de desarrollo.</li>
|
|
37
|
+
<li><strong>Inferencia y contexto:</strong> caché, límites de tokens y puntos de control para conversaciones largas; además de modelos dentro del navegador con WebLLM y WebGPU.</li>
|
|
38
|
+
<li><strong>Interfaz común para escritorio y móvil:</strong> diseño web adaptable, navegación y controles compartidos para ofrecer una experiencia coherente en pantallas de escritorio y dispositivos móviles.</li>
|
|
39
|
+
</ul>
|
|
40
|
+
</section>
|
|
41
|
+
|
|
42
|
+
<section class="card">
|
|
43
|
+
<h2>2. Aprender a dirigir agentes de codificación</h2>
|
|
44
|
+
<p>Al crecer la infraestructura —navegador, almacenamiento, proveedores, servidor MCP y backend local—, el aprendizaje también consiste en mantener el control del conjunto:</p>
|
|
45
|
+
<ul>
|
|
46
|
+
<li><strong>Planificar antes de ejecutar:</strong> concretar alcance, fases, criterios de aceptación y las pruebas que confirmarán el resultado antes de pedir el cambio.</li>
|
|
47
|
+
<li><strong>Convertir decisiones en normas:</strong> documentar arquitectura, contratos y flujo de trabajo para orientar al agente, con estado centralizado en <code>ChatState</code> y responsabilidades separadas.</li>
|
|
48
|
+
<li><strong>Discutir y simplificar con el modelo:</strong> cuestionar propuestas, reutilizar módulos y retirar complejidad innecesaria antes de que se convierta en infraestructura permanente.</li>
|
|
49
|
+
<li><strong>Verificar cada avance:</strong> usar pruebas unitarias, de infraestructura, de integración, de navegador y auditorías de seguridad para comprobar el comportamiento real.</li>
|
|
50
|
+
</ul>
|
|
51
|
+
<h3>Pruebas automatizadas como punto de control</h3>
|
|
52
|
+
<p>Las pruebas son el punto de control de cada fase del trabajo con agentes. Antes de implementar, concretan qué debe conservarse y qué debe cambiar; durante el trabajo, permiten comprobar el módulo afectado; al cerrar una fase, la suite completa confirma que el cambio no ha roto otros límites del sistema. Los cambios de interfaz se validan en el navegador y los de integración, en las pruebas de infraestructura del servidor local. Si una prueba falla, el agente debe corregir o simplificar la propuesta antes de avanzar.</p>
|
|
53
|
+
<p>El plan es continuar este ciclo: elegir una capacidad, acordar un diseño sencillo, encargar cambios acotados, revisar las pruebas y documentar lo aprendido.</p>
|
|
54
|
+
</section>
|
|
55
|
+
|
|
56
|
+
<p>Este plan resume la evolución práctica del proyecto y sus criterios de calidad.</p>
|
|
57
|
+
</main>
|
|
58
|
+
|
|
59
|
+
<nav class="page-navigation" aria-label="Navegación de ayuda">
|
|
60
|
+
<a href="index.html" class="nav-button index">
|
|
61
|
+
<span class="nav-direction">Volver al índice</span>
|
|
62
|
+
<span class="nav-title">Ver todos los temas</span>
|
|
63
|
+
</a>
|
|
64
|
+
</nav>
|
|
65
|
+
|
|
66
|
+
<footer>
|
|
67
|
+
<p>ZeroChat · Proyecto y aprendizaje</p>
|
|
68
|
+
</footer>
|
|
69
|
+
</div>
|
|
70
|
+
</body>
|
|
71
|
+
</html>
|
|
@@ -0,0 +1,143 @@
|
|
|
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>Protocolo MCP (Model Context Protocol) · Ayuda de ZeroChat</title>
|
|
7
|
+
<meta name="description" content="Guía de MCP en ZeroChat: servidor local, herramientas, servicios externos y permisos.">
|
|
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/mcp.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>Protocolo MCP (Model Context Protocol)</h1>
|
|
24
|
+
<p class="subtitle">Usa herramientas de tu equipo y servicios MCP externos desde ZeroChat, con el servidor local y controles de autorización integrados.</p>
|
|
25
|
+
</header>
|
|
26
|
+
|
|
27
|
+
<div class="card">
|
|
28
|
+
<p>Las herramientas locales usan <code>zmcp_<herramienta></code> y las externas <code>mcp_<servicio>_<herramienta></code>, por ejemplo <code>mcp_browser_service_browser_navigate</code>. Los permisos se guardan por este nombre completo: autorizar una herramienta no autoriza su homónima en otro servicio. No se admiten alias antiguos. Los caracteres especiales se codifican para evitar colisiones.</p>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div class="card">
|
|
32
|
+
<h2>1. ¿Qué es MCP?</h2>
|
|
33
|
+
<p>
|
|
34
|
+
El <strong>Model Context Protocol (MCP)</strong> es un estándar abierto promovido por Anthropic para conectar modelos de inteligencia artificial con fuentes de datos y herramientas del mundo real de manera uniforme.
|
|
35
|
+
</p>
|
|
36
|
+
<p>
|
|
37
|
+
En ZeroChat, <code>zerochat.py</code> inicia un servidor local en <code>127.0.0.1</code>, abre la aplicación con un token de sesión y el navegador se conecta automáticamente. No se configura manualmente una URL MCP remota. El servidor ofrece herramientas de archivos y terminal, y alberga los servicios MCP externos que actives desde la aplicación.
|
|
38
|
+
</p>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="card">
|
|
42
|
+
<h2>2. Conexión y Estado en la Interfaz</h2>
|
|
43
|
+
<p>
|
|
44
|
+
Abre <strong>Ajustes → MCP</strong> para consultar el estado del servidor local y las herramientas detectadas:
|
|
45
|
+
</p>
|
|
46
|
+
<ul>
|
|
47
|
+
<li><strong>Desconectado:</strong> El servidor local no está disponible. Deja <code>zerochat.py</code> ejecutándose y recarga la página si se ha reiniciado.</li>
|
|
48
|
+
<li><strong>Conectado:</strong> ZeroChat ha descubierto las herramientas locales y puede mostrar los servicios MCP externos disponibles.</li>
|
|
49
|
+
</ul>
|
|
50
|
+
<p>
|
|
51
|
+
No hay botón ni formulario de conexión manual. Ejecuta el comando siguiente y abre la aplicación desde el enlace que inicia el script. El token de sesión protege las peticiones al servidor local: no compartas esa URL ni el token.
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<div class="card">
|
|
56
|
+
<h2>3. Servidor Local en Python (zerochat.py)</h2>
|
|
57
|
+
<p>
|
|
58
|
+
ZeroChat unifica toda su infraestructura local en un único script ejecutable: <code>zerochat.py</code>.
|
|
59
|
+
</p>
|
|
60
|
+
<p>
|
|
61
|
+
Al ejecutarse, <code>zerochat.py</code> comprueba la versión, crea y gestiona automáticamente un entorno virtual en <code>./zerochat</code>, arranca el servidor local SSE y abre el navegador apuntando a <code>zerochat.html</code> con un token efímero de sesión.
|
|
62
|
+
</p>
|
|
63
|
+
<p>
|
|
64
|
+
<strong>Herramientas Locales Esenciales:</strong>
|
|
65
|
+
</p>
|
|
66
|
+
<ul>
|
|
67
|
+
<li><strong><code>execute_command</code>:</strong> Terminal shell unificado para Git, CLI, pruebas y compilación, enriquecido con diagnóstico del sistema operativo.</li>
|
|
68
|
+
<li><strong><code>read_file</code>:</strong> Lectura segura de archivos con rangos de líneas y límites de contexto.</li>
|
|
69
|
+
<li><strong><code>edit_file</code>:</strong> Creación y edición atómica de archivos (sobrescritura, anexado o reemplazo de bloques).</li>
|
|
70
|
+
<li><strong><code>list_directory</code>:</strong> Exploración estructurada de carpetas y metadatos de archivos.</li>
|
|
71
|
+
</ul>
|
|
72
|
+
<p>
|
|
73
|
+
<strong>Seguridad por Token:</strong> Todas las peticiones desde <code>zerochat.html</code> requieren el token efímero de sesión generado por <code>zerochat.py</code> en el arranque. Sin este token, el servidor local rechaza cualquier conexión externa.
|
|
74
|
+
</p>
|
|
75
|
+
<div class="code-wrapper">
|
|
76
|
+
<pre><code># Descargar y arrancar el backend local de ZeroChat
|
|
77
|
+
curl -sL https://albalday.github.io/zerochat/zerochat.py -o zerochat.py && python3 zerochat.py</code></pre>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div class="card">
|
|
82
|
+
<h2>4. Control de Permisos y Autorización por Herramienta</h2>
|
|
83
|
+
<p>
|
|
84
|
+
Dado que las herramientas locales pueden ejecutar acciones sensibles en tu máquina (como modificar archivos o ejecutar comandos), ZeroChat incorpora un panel de control granular para cada herramienta:
|
|
85
|
+
</p>
|
|
86
|
+
<p>
|
|
87
|
+
Abre <strong>Ajustes → Permisos</strong> para elegir la política global, revisar las decisiones recordadas y restablecerlas cuando sea necesario. Desde el panel MCP también puedes elegir <em>Preguntar</em>, <em>Permitir</em> o <em>Denegar</em> para cada herramienta.
|
|
88
|
+
</p>
|
|
89
|
+
<ul>
|
|
90
|
+
<li><strong>Interruptor On/Off:</strong> Permite activar o desactivar individualmente cada herramienta expuesta al modelo sin detener el servidor.</li>
|
|
91
|
+
<li><strong>Política de autorización:</strong>
|
|
92
|
+
<ul>
|
|
93
|
+
<li><em>Pedir autorización (recomendado):</em> ZeroChat pausa la ejecución para solicitar tu aprobación explícita.</li>
|
|
94
|
+
<li><em>Todo autorizado:</em> Cualquier herramienta se ejecuta sin confirmaciones. Úsalo solo en un entorno de confianza.</li>
|
|
95
|
+
</ul>
|
|
96
|
+
</li>
|
|
97
|
+
</ul>
|
|
98
|
+
<div class="alert alert-warning">
|
|
99
|
+
<strong>Seguridad en red local:</strong> Asegúrate de que tu servidor MCP escuche únicamente en la interfaz local <code>127.0.0.1</code> y no en <code>0.0.0.0</code> si estás conectado a una red pública no confiable.
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="card">
|
|
104
|
+
<h2>5. Servicios MCP Externos y Activación Individual</h2>
|
|
105
|
+
<p>
|
|
106
|
+
El servidor local <code>zerochat.py</code> gestiona los servicios MCP externos definidos en <code>services/</code>. No necesitas ejecutar un daemon externo global: cada servicio se inicia y se detiene desde ZeroChat.
|
|
107
|
+
</p>
|
|
108
|
+
<p>
|
|
109
|
+
En <strong>Ajustes → MCP</strong>, <em>"Servidores MCP Disponibles"</em> permite iniciar o detener cada servicio y configurar sus opciones. Al iniciarlo, ZeroChat instala las dependencias necesarias cuando corresponda, descubre sus herramientas y las añade al panel. Los servicios basados en Node.js requieren Node.js 18 o posterior y npm.
|
|
110
|
+
</p>
|
|
111
|
+
<p>
|
|
112
|
+
El servidor local incluye definiciones listas para usar en <code>services/</code>:
|
|
113
|
+
</p>
|
|
114
|
+
<ul>
|
|
115
|
+
<li><code>dummy_mcp</code>: Servicio mínimo de prueba en Python puro sin dependencias.</li>
|
|
116
|
+
<li><code>playwright</code>: Automatización de navegador con Playwright MCP oficial; la opción <em>Headless</em> controla si se muestra la ventana.</li>
|
|
117
|
+
<li><code>memory</code>: Grafo de conocimiento y memoria persistente estructurada.</li>
|
|
118
|
+
<li><code>lsp</code>: Language Server Protocol para navegación de código e inteligencia de tipos.</li>
|
|
119
|
+
</ul>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<nav class="page-navigation" aria-label="Navegación de ayuda">
|
|
123
|
+
<a href="rag.html" class="nav-button prev">
|
|
124
|
+
<span class="nav-direction">← Anterior</span>
|
|
125
|
+
<span class="nav-title">Conocimiento Local (RAG)</span>
|
|
126
|
+
</a>
|
|
127
|
+
<a href="index.html" class="nav-button index">
|
|
128
|
+
<span class="nav-direction">Índice</span>
|
|
129
|
+
<span class="nav-title">Ver todos los temas</span>
|
|
130
|
+
</a>
|
|
131
|
+
<a href="debug.html" class="nav-button next">
|
|
132
|
+
<span class="nav-direction">Siguiente →</span>
|
|
133
|
+
<span class="nav-title">Depuración e Interceptor</span>
|
|
134
|
+
</a>
|
|
135
|
+
</nav>
|
|
136
|
+
|
|
137
|
+
<footer>
|
|
138
|
+
<p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
|
|
139
|
+
</footer>
|
|
140
|
+
</div>
|
|
141
|
+
<script src="help.js"></script>
|
|
142
|
+
</body>
|
|
143
|
+
</html>
|
|
@@ -0,0 +1,39 @@
|
|
|
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>API key de OpenRouter · ZeroChat</title>
|
|
7
|
+
<meta name="description" content="Cómo crear una API key de OpenRouter para usarla en ZeroChat.">
|
|
8
|
+
<link rel="stylesheet" href="help.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div class="container">
|
|
12
|
+
<header>
|
|
13
|
+
<h1>Obtener una API key de OpenRouter</h1>
|
|
14
|
+
<p class="subtitle">Crea una clave de OpenRouter para usarla en ZeroChat.</p>
|
|
15
|
+
</header>
|
|
16
|
+
|
|
17
|
+
<main>
|
|
18
|
+
<section class="card">
|
|
19
|
+
<h2>Pasos</h2>
|
|
20
|
+
<ol>
|
|
21
|
+
<li>
|
|
22
|
+
Abre <a href="https://openrouter.ai/keys" target="_blank" rel="noopener noreferrer">la página oficial de API keys de OpenRouter</a> e inicia sesión o crea una cuenta.
|
|
23
|
+
</li>
|
|
24
|
+
<li>Pulsa <strong>Create API Key</strong> o <strong>Create Key</strong>.</li>
|
|
25
|
+
<li>Escribe un nombre reconocible, por ejemplo <code>ZeroChat</code>, y crea la clave.</li>
|
|
26
|
+
<li>Copia la clave inmediatamente y guárdala en un lugar privado. OpenRouter solo muestra el valor completo una vez.</li>
|
|
27
|
+
<li>En ZeroChat, crea o edita un perfil de proveedor <strong>OpenRouter</strong>, pega la clave y selecciona un modelo.</li>
|
|
28
|
+
</ol>
|
|
29
|
+
</section>
|
|
30
|
+
|
|
31
|
+
<section class="card">
|
|
32
|
+
<h2>Importante</h2>
|
|
33
|
+
<p>Los modelos, límites y precios cambian. Consulta siempre el <a href="https://openrouter.ai/models" target="_blank" rel="noopener noreferrer">catálogo y las condiciones actuales de OpenRouter</a> antes de usarlo en producción.</p>
|
|
34
|
+
<p>No compartas la API key ni la publiques en chats, capturas de pantalla, repositorios o archivos de configuración públicos.</p>
|
|
35
|
+
</section>
|
|
36
|
+
</main>
|
|
37
|
+
</div>
|
|
38
|
+
</body>
|
|
39
|
+
</html>
|
|
@@ -0,0 +1,174 @@
|
|
|
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>Perfiles y Proveedores de IA · Ayuda de ZeroChat</title>
|
|
7
|
+
<meta name="description" content="Guía para configurar perfiles de conexión en ZeroChat: OpenAI, Ollama, LM Studio, OpenRouter, Anthropic Claude, Google Gemini, WebLLM y perfil Espejo.">
|
|
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/profiles.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>Perfiles y Proveedores de IA</h1>
|
|
24
|
+
<p class="subtitle">Aprende a conectar ZeroChat con cualquier modelo de lenguaje, ya sea en tu ordenador o en la nube.</p>
|
|
25
|
+
</header>
|
|
26
|
+
|
|
27
|
+
<div class="card">
|
|
28
|
+
<h2>1. Gestión de Perfiles de Conexión</h2>
|
|
29
|
+
<p>
|
|
30
|
+
ZeroChat te permite definir múltiples <strong>perfiles de conexión</strong>. Un perfil encapsula la interfaz/protocolo de la API, la URL del servidor o endpoint, la clave de acceso (opcional en servidores locales) y el modelo seleccionado.
|
|
31
|
+
</p>
|
|
32
|
+
<p>
|
|
33
|
+
Para gestionar perfiles, haz clic en el nombre del perfil activo en la cabecera. El selector permite crear y exportar perfiles, cerrar el menú y editar o borrar cada perfil de la lista. Al elegir uno, pasa a ser el perfil activo.
|
|
34
|
+
</p>
|
|
35
|
+
<div class="alert alert-info">
|
|
36
|
+
<strong>Conmutación instantánea:</strong> Puedes cambiar de modelo o de proveedor entre mensajes sin perder el hilo de la conversación. Solo tienes que desplegar el menú de perfil y elegir otro.
|
|
37
|
+
</div>
|
|
38
|
+
<p>
|
|
39
|
+
El selector permite <strong>Exportar</strong> todas las definiciones editables. Se descarga un archivo HTML cifrado: ábrelo para iniciar la importación en ZeroChat. Tras confirmar, se añaden los perfiles nuevos y se actualizan los que comparten identificador, sin alterar el perfil Espejo.
|
|
40
|
+
</p>
|
|
41
|
+
<p>
|
|
42
|
+
Las claves de API se guardan cifradas en el almacenamiento local del navegador y permanecen cifradas dentro de la copia, que añade una segunda capa de cifrado. La casilla <strong>Bloquear cambios</strong>, ubicada en la cabecera del editor, marca el perfil como no editable al volver a cargarlo; el bloqueo protege todos los parámetros del perfil. Los ajustes se aplican mediante el botón <strong>Guardar</strong> de la cabecera.
|
|
43
|
+
</p>
|
|
44
|
+
<div class="alert alert-warning">
|
|
45
|
+
<strong>Protección de transporte:</strong> la clave maestra está integrada en ZeroChat para facilitar la reutilización de los perfiles. El cifrado evita que las claves se vean al abrir el archivo, pero no debe considerarse protección frente a quien tenga acceso al código de la aplicación. Comparte estas copias solo mediante canales de confianza.
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<div class="card">
|
|
50
|
+
<h2>2. Proveedores y Protocolos Compatibles</h2>
|
|
51
|
+
<div class="table-responsive">
|
|
52
|
+
<table>
|
|
53
|
+
<thead>
|
|
54
|
+
<tr>
|
|
55
|
+
<th>Tipo de Interfaz</th>
|
|
56
|
+
<th>Servidores / Servicios Habituales</th>
|
|
57
|
+
<th>Endpoint Típico</th>
|
|
58
|
+
<th>Clave de API</th>
|
|
59
|
+
</tr>
|
|
60
|
+
</thead>
|
|
61
|
+
<tbody>
|
|
62
|
+
<tr>
|
|
63
|
+
<td><strong>OpenAI / Compatible</strong></td>
|
|
64
|
+
<td>LM Studio, LocalAI, vLLM, OpenAI oficial</td>
|
|
65
|
+
<td><code>http://localhost:1234/v1</code></td>
|
|
66
|
+
<td>Opcional en local / Requerida en OpenAI</td>
|
|
67
|
+
</tr>
|
|
68
|
+
<tr>
|
|
69
|
+
<td><strong>Ollama</strong></td>
|
|
70
|
+
<td>Servidor local Ollama</td>
|
|
71
|
+
<td><code>http://localhost:11434</code></td>
|
|
72
|
+
<td>No requerida</td>
|
|
73
|
+
</tr>
|
|
74
|
+
<tr>
|
|
75
|
+
<td><strong>OpenRouter</strong></td>
|
|
76
|
+
<td>Plataforma multimodelo OpenRouter</td>
|
|
77
|
+
<td><code>https://openrouter.ai/api/v1</code></td>
|
|
78
|
+
<td>Requerida (<code>sk-or-...</code>)</td>
|
|
79
|
+
</tr>
|
|
80
|
+
<tr>
|
|
81
|
+
<td><strong>Anthropic Claude</strong></td>
|
|
82
|
+
<td>API oficial de Anthropic</td>
|
|
83
|
+
<td><code>https://api.anthropic.com/v1</code></td>
|
|
84
|
+
<td>Requerida (<code>sk-ant-...</code>)</td>
|
|
85
|
+
</tr>
|
|
86
|
+
<tr>
|
|
87
|
+
<td><strong>Google Gemini</strong></td>
|
|
88
|
+
<td>Google AI Studio</td>
|
|
89
|
+
<td>Endpoint OpenAI-compatible de Gemini</td>
|
|
90
|
+
<td>Requerida</td>
|
|
91
|
+
</tr>
|
|
92
|
+
<tr>
|
|
93
|
+
<td><strong>WebLLM</strong></td>
|
|
94
|
+
<td>Navegador web directo (WebGPU)</td>
|
|
95
|
+
<td><code>webllm://local</code> (automático)</td>
|
|
96
|
+
<td>No aplicable (100% local)</td>
|
|
97
|
+
</tr>
|
|
98
|
+
<tr>
|
|
99
|
+
<td><strong>Espejo (Mirror)</strong></td>
|
|
100
|
+
<td>Pruebas internas sin conexión</td>
|
|
101
|
+
<td>Sin endpoint (modo simulado)</td>
|
|
102
|
+
<td>No aplicable</td>
|
|
103
|
+
</tr>
|
|
104
|
+
</tbody>
|
|
105
|
+
</table>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div class="card">
|
|
110
|
+
<h2>3. Consulta de Servidor (Botón Query) y Validación</h2>
|
|
111
|
+
<p>
|
|
112
|
+
Al crear o editar un perfil, ZeroChat incorpora el botón <strong>Query</strong> junto al campo de URL. Esta función realiza una inspección activa del servidor antes de guardar:
|
|
113
|
+
</p>
|
|
114
|
+
<ul>
|
|
115
|
+
<li><strong>Detección de modelos:</strong> Descarga la lista oficial de modelos alojados o disponibles en el servidor y rellena el desplegable automáticamente.</li>
|
|
116
|
+
<li><strong>Inspección de capacidades:</strong> Detecta si el modelo soporta visión multimodal, herramientas (function calling), razonamiento nativo y la capacidad de ventana de contexto anunciada por el servidor.</li>
|
|
117
|
+
<li><strong>Protección de guardado:</strong> En proveedores que dependen de red externa o servidores locales, ZeroChat exige una consulta satisfactoria antes de guardar para garantizar que la conexión funciona y evitar errores durante el chat.</li>
|
|
118
|
+
</ul>
|
|
119
|
+
<div class="alert alert-success">
|
|
120
|
+
<strong>Excepción ágil en WebLLM:</strong> Si utilizas WebLLM y seleccionas un modelo que ya ha sido descargado previamente en la caché del navegador, el botón <em>Query</em> se vuelve opcional y puedes guardar el perfil de inmediato.
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<div class="card">
|
|
125
|
+
<h2>4. Configuración Especial para Ollama (CORS)</h2>
|
|
126
|
+
<p>
|
|
127
|
+
Si utilizas <strong>Ollama</strong>, el navegador puede bloquear las peticiones debido a la política de seguridad CORS (Cross-Origin Resource Sharing) si Ollama solo escucha en su origen por defecto.
|
|
128
|
+
</p>
|
|
129
|
+
<p>Para solucionarlo, inicia el servicio de Ollama permitiendo el origen de tu navegador:</p>
|
|
130
|
+
<div class="code-wrapper">
|
|
131
|
+
<pre><code># En Linux / macOS (terminal)
|
|
132
|
+
OLLAMA_ORIGINS="*" ollama serve
|
|
133
|
+
|
|
134
|
+
# En Windows (PowerShell)
|
|
135
|
+
$env:OLLAMA_ORIGINS="*"
|
|
136
|
+
ollama serve</code></pre>
|
|
137
|
+
</div>
|
|
138
|
+
<p>Si ejecutas Ollama como servicio de systemd en Linux, añade <code>Environment="OLLAMA_ORIGINS=*"</code> en la sección <code>[Service]</code> de su configuración.</p>
|
|
139
|
+
</div>
|
|
140
|
+
|
|
141
|
+
<div class="card">
|
|
142
|
+
<h2>5. El Perfil "Espejo" (Mirror) para Pruebas</h2>
|
|
143
|
+
<p>
|
|
144
|
+
ZeroChat incluye de serie el perfil de solo lectura <strong>Espejo</strong>. Este perfil es ideal para pruebas de interfaz y diagnóstico:
|
|
145
|
+
</p>
|
|
146
|
+
<ul>
|
|
147
|
+
<li>No realiza ninguna petición a la red ni requiere servidores locales encendidos.</li>
|
|
148
|
+
<li>Devuelve de inmediato un resumen formateado del mensaje enviado y de la estructura de la petición OpenAI normalizada.</li>
|
|
149
|
+
<li>Actúa como perfil de respaldo seguro si eliminas el perfil activo o si un perfil configurado no está accesible.</li>
|
|
150
|
+
</ul>
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
<nav class="page-navigation" aria-label="Navegación de ayuda">
|
|
154
|
+
<a href="architecture.html" class="nav-button prev">
|
|
155
|
+
<span class="nav-direction">← Anterior</span>
|
|
156
|
+
<span class="nav-title">Arquitectura y Portabilidad</span>
|
|
157
|
+
</a>
|
|
158
|
+
<a href="index.html" class="nav-button index">
|
|
159
|
+
<span class="nav-direction">Índice</span>
|
|
160
|
+
<span class="nav-title">Ver todos los temas</span>
|
|
161
|
+
</a>
|
|
162
|
+
<a href="webllm.html" class="nav-button next">
|
|
163
|
+
<span class="nav-direction">Siguiente →</span>
|
|
164
|
+
<span class="nav-title">Inferencia Local WebLLM</span>
|
|
165
|
+
</a>
|
|
166
|
+
</nav>
|
|
167
|
+
|
|
168
|
+
<footer>
|
|
169
|
+
<p>ZeroChat · Cliente Web Universal de IA · Manual de Usuario</p>
|
|
170
|
+
</footer>
|
|
171
|
+
</div>
|
|
172
|
+
<script src="help.js"></script>
|
|
173
|
+
</body>
|
|
174
|
+
</html>
|