zugzbot 1.0.6 → 1.0.7

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 (44) hide show
  1. package/.opencode/plugins/sdd-bridge.ts +83 -1
  2. package/.utils/docs_opencode/acp.md +165 -0
  3. package/.utils/docs_opencode/acp.pdf +0 -0
  4. package/.utils/docs_opencode/agents.md +803 -0
  5. package/.utils/docs_opencode/agents.pdf +0 -0
  6. package/.utils/docs_opencode/commands.md +354 -0
  7. package/.utils/docs_opencode/commands.pdf +0 -0
  8. package/.utils/docs_opencode/custom-tools.md +209 -0
  9. package/.utils/docs_opencode/custom-tools.pdf +0 -0
  10. package/.utils/docs_opencode/ecosystem.md +81 -0
  11. package/.utils/docs_opencode/ecosystem.pdf +0 -0
  12. package/.utils/docs_opencode/formatters.md +142 -0
  13. package/.utils/docs_opencode/formatters.pdf +0 -0
  14. package/.utils/docs_opencode/keybinds.md +205 -0
  15. package/.utils/docs_opencode/keybinds.pdf +0 -0
  16. package/.utils/docs_opencode/lsp.md +202 -0
  17. package/.utils/docs_opencode/lsp.pdf +0 -0
  18. package/.utils/docs_opencode/mcp-servers.md +565 -0
  19. package/.utils/docs_opencode/mcp-servers.pdf +0 -0
  20. package/.utils/docs_opencode/models.md +234 -0
  21. package/.utils/docs_opencode/models.pdf +0 -0
  22. package/.utils/docs_opencode/permissions.md +248 -0
  23. package/.utils/docs_opencode/permissions.pdf +0 -0
  24. package/.utils/docs_opencode/plugins.md +409 -0
  25. package/.utils/docs_opencode/plugins.pdf +0 -0
  26. package/.utils/docs_opencode/rules.md +189 -0
  27. package/.utils/docs_opencode/rules.pdf +0 -0
  28. package/.utils/docs_opencode/sdk.md +522 -0
  29. package/.utils/docs_opencode/sdk.pdf +0 -0
  30. package/.utils/docs_opencode/server.md +324 -0
  31. package/.utils/docs_opencode/server.pdf +0 -0
  32. package/.utils/docs_opencode/skills.md +235 -0
  33. package/.utils/docs_opencode/skills.pdf +0 -0
  34. package/.utils/docs_opencode/themes.md +378 -0
  35. package/.utils/docs_opencode/themes.pdf +0 -0
  36. package/.utils/docs_opencode/tools.md +364 -0
  37. package/.utils/docs_opencode/tools.pdf +0 -0
  38. package/.utils/export_opencode_session.py +242 -0
  39. package/.utils/toggle_model.py +441 -0
  40. package/README.md +39 -0
  41. package/bin/init.js +25 -6
  42. package/models.json +8 -0
  43. package/opencode.json +4 -5
  44. package/package.json +3 -1
@@ -0,0 +1,234 @@
1
+ # Modelos
2
+
3
+ Configuración de un proveedor y modelo LLM.
4
+
5
+ OpenCode usa el [AI SDK](https://ai-sdk.dev/) y [Models.dev](https://models.dev) para admitir **75+ proveedores LLM** y admite la ejecución de modelos locales.
6
+
7
+ ---
8
+
9
+ ## [Proveedores](#proveedores)
10
+
11
+ Los proveedores más populares están precargados de forma predeterminada. Si agregó las credenciales de un proveedor mediante el comando `/connect`, estarán disponibles cuando inicie OpenCode.
12
+
13
+ Obtenga más información sobre [proveedores](https://opencode.ai/docs/providers).
14
+
15
+ ---
16
+
17
+ ## [Seleccionar un modelo](#seleccionar-un-modelo)
18
+
19
+ Una vez que hayas configurado tu proveedor podrás seleccionar el modelo que desees escribiendo:
20
+
21
+ **File**:
22
+
23
+ ```bash
24
+ /models
25
+ ```
26
+
27
+ ---
28
+
29
+ ## [Modelos recomendados](#modelos-recomendados)
30
+
31
+ Hay muchos modelos disponibles y cada semana salen nuevos modelos.
32
+
33
+ > [!TIP]
34
+ > Considere utilizar uno de los modelos que recomendamos.
35
+
36
+ Sin embargo, sólo unos pocos de ellos son buenos tanto para generar código como para llamar a herramientas.
37
+
38
+ Aqui tienes varios modelos que funcionan bien con OpenCode, sin orden particular. (Esta no es una lista exhaustiva ni necesariamente actualizada):
39
+
40
+ - GPT 5.2
41
+ - GPT 5.1 Codex
42
+ - Claude Opus 4.5
43
+ - Claude Sonnet 4.5
44
+ - Minimax M2.1
45
+ - Gemini 3 Pro
46
+
47
+ ---
48
+
49
+ ## [Establecer un valor predeterminado](#establecer-un-valor-predeterminado)
50
+
51
+ Para configurar uno de estos como modelo predeterminado, puedes definir la clave `model` en tu configuracion de OpenCode.
52
+
53
+ **File**: opencode.json
54
+
55
+ ```json
56
+ {
57
+ "$schema": "https://opencode.ai/config.json",
58
+ "model": "lmstudio/google/gemma-3n-e4b"
59
+ }
60
+ ```
61
+
62
+ Aquí el ID completo es `provider_id/model_id`. Por ejemplo, si usa [OpenCode Zen](https://opencode.ai/docs/zen), usaría `opencode/gpt-5.1-codex` para GPT 5.1 Codex.
63
+
64
+ Si ha configurado un [proveedor personalizado](https://opencode.ai/docs/providers#custom), `provider_id` es la clave de la parte `provider` de su configuración y `model_id` es la clave de `provider.models`.
65
+
66
+ ---
67
+
68
+ ## [Configurar modelos](#configurar-modelos)
69
+
70
+ Puede configurar globalmente las opciones de un modelo a través de la configuración.
71
+
72
+ **File**: opencode.jsonc
73
+
74
+ ```jsonc
75
+ {
76
+ "$schema": "https://opencode.ai/config.json",
77
+ "provider": {
78
+ "openai": {
79
+ "models": {
80
+ "gpt-5": {
81
+ "options": {
82
+ "reasoningEffort": "high",
83
+ "textVerbosity": "low",
84
+ "reasoningSummary": "auto",
85
+ "include": ["reasoning.encrypted_content"],
86
+ },
87
+ },
88
+ },
89
+ },
90
+ "anthropic": {
91
+ "models": {
92
+ "claude-sonnet-4-5-20250929": {
93
+ "options": {
94
+ "thinking": {
95
+ "type": "enabled",
96
+ "budgetTokens": 16000,
97
+ },
98
+ },
99
+ },
100
+ },
101
+ },
102
+ },
103
+ }
104
+ ```
105
+
106
+ Aquí estamos configurando ajustes globales para dos modelos integrados: `gpt-5` cuando se accede a través del proveedor `openai` y `claude-sonnet-4-20250514` cuando se accede a través del proveedor `anthropic`. Los nombres de modelo y proveedor integrados se pueden encontrar en [Models.dev](https://models.dev).
107
+
108
+ También puede configurar estas opciones para cualquier agente que esté utilizando. La configuración del agente anula cualquier opción global aquí. [Más información](https://opencode.ai/docs/agents/#additional).
109
+
110
+ También puede definir variantes personalizadas que amplíen las integradas. Las variantes le permiten configurar diferentes ajustes para el mismo modelo sin crear entradas duplicadas:
111
+
112
+ **File**: opencode.jsonc
113
+
114
+ ```jsonc
115
+ {
116
+ "$schema": "https://opencode.ai/config.json",
117
+ "provider": {
118
+ "opencode": {
119
+ "models": {
120
+ "gpt-5": {
121
+ "variants": {
122
+ "high": {
123
+ "reasoningEffort": "high",
124
+ "textVerbosity": "low",
125
+ "reasoningSummary": "auto",
126
+ },
127
+ "low": {
128
+ "reasoningEffort": "low",
129
+ "textVerbosity": "low",
130
+ "reasoningSummary": "auto",
131
+ },
132
+ },
133
+ },
134
+ },
135
+ },
136
+ },
137
+ }
138
+ ```
139
+
140
+ ---
141
+
142
+ ## [Variantes](#variantes)
143
+
144
+ Muchos modelos admiten múltiples variantes con diferentes configuraciones. OpenCode se envía con variantes predeterminadas integradas para proveedores populares.
145
+
146
+ ### [Variantes integradas](#variantes-integradas)
147
+
148
+ OpenCode se envía con variantes predeterminadas para muchos proveedores:
149
+
150
+ **Anthropic**:
151
+
152
+ - `high` - Presupuesto de pensamiento alto (predeterminado)
153
+ - `max` - Presupuesto de pensamiento máximo
154
+
155
+ **OpenAI**:
156
+
157
+ Varía según el modelo, pero aproximadamente:
158
+
159
+ - `none` - Sin razonamiento
160
+ - `minimal` - Mínimo esfuerzo de razonamiento
161
+ - `low` - Bajo esfuerzo de razonamiento
162
+ - `medium` - Esfuerzo de razonamiento medio
163
+ - `high` - Alto esfuerzo de razonamiento
164
+ - `xhigh` - Esfuerzo de razonamiento extra alto
165
+
166
+ **Google**:
167
+
168
+ - `low` - Menor esfuerzo/presupuesto simbólico
169
+ - `high` - Mayor esfuerzo/presupuesto simbólico
170
+
171
+ > [!TIP]
172
+ > Esta lista no es exhaustiva. Muchos otros proveedores también tienen valores predeterminados integrados.
173
+
174
+ ### [Variantes personalizadas](#variantes-personalizadas)
175
+
176
+ Puede anular las variantes existentes o agregar las suyas propias:
177
+
178
+ **File**: opencode.jsonc
179
+
180
+ ```jsonc
181
+ {
182
+ "$schema": "https://opencode.ai/config.json",
183
+ "provider": {
184
+ "openai": {
185
+ "models": {
186
+ "gpt-5": {
187
+ "variants": {
188
+ "thinking": {
189
+ "reasoningEffort": "high",
190
+ "textVerbosity": "low",
191
+ },
192
+ "fast": {
193
+ "disabled": true,
194
+ },
195
+ },
196
+ },
197
+ },
198
+ },
199
+ },
200
+ }
201
+ ```
202
+
203
+ ### [Alternar variantes](#alternar-variantes)
204
+
205
+ Utilice la combinación de teclas `variant_cycle` para cambiar rápidamente entre variantes. [Más información](https://opencode.ai/docs/keybinds).
206
+
207
+ ---
208
+
209
+ ## [Carga de modelos](#carga-de-modelos)
210
+
211
+ Cuando se inicia OpenCode, busca modelos en el siguiente orden de prioridad:
212
+
213
+ 1.
214
+ El indicador de línea de comando `--model` o `-m`. El formato es el mismo que en el archivo de configuración: `provider_id/model_id`.
215
+
216
+ 1.
217
+ La lista de modelos en la configuración OpenCode.
218
+
219
+ **File**: opencode.json
220
+
221
+ ```json
222
+ {
223
+ "$schema": "https://opencode.ai/config.json",
224
+ "model": "anthropic/claude-sonnet-4-20250514"
225
+ }
226
+ ```
227
+
228
+ El formato aquí es `provider/model`.
229
+
230
+ 1.
231
+ El último modelo utilizado.
232
+
233
+ 1.
234
+ El primer modelo que utiliza una prioridad interna.
Binary file
@@ -0,0 +1,248 @@
1
+ # Permisos
2
+
3
+ Controle qué acciones requieren aprobación para ejecutarse.
4
+
5
+ OpenCode usa la configuración `permission` para decidir si una acción determinada debe ejecutarse automáticamente, avisarle o bloquearse.
6
+
7
+ A partir de `v1.1.1`, la configuración booleana heredada `tools` está obsoleta y se ha fusionado en `permission`. La antigua configuración `tools` todavía se admite por compatibilidad con versiones anteriores.
8
+
9
+ ---
10
+
11
+ ## [Acciones](#acciones)
12
+
13
+ Cada regla de permiso se resuelve en una de:
14
+
15
+ - `"allow"` — ejecutar sin aprobación
16
+ - `"ask"` — solicitar aprobación
17
+ - `"deny"` — bloquea la acción
18
+
19
+ ---
20
+
21
+ ## [Configuración](#configuración)
22
+
23
+ Puede establecer permisos globalmente (con `*`) y anular herramientas específicas.
24
+
25
+ **File**: opencode.json
26
+
27
+ ```json
28
+ {
29
+ "$schema": "https://opencode.ai/config.json",
30
+ "permission": {
31
+ "*": "ask",
32
+ "bash": "allow",
33
+ "edit": "deny"
34
+ }
35
+ }
36
+ ```
37
+
38
+ También puedes configurar todos los permisos a la vez:
39
+
40
+ **File**: opencode.json
41
+
42
+ ```json
43
+ {
44
+ "$schema": "https://opencode.ai/config.json",
45
+ "permission": "allow"
46
+ }
47
+ ```
48
+
49
+ ---
50
+
51
+ ## [Reglas granulares (sintaxis de objeto)](#reglas-granulares-sintaxis-de-objeto)
52
+
53
+ Para la mayoría de los permisos, puede utilizar un objeto para aplicar diferentes acciones según la entrada de la herramienta.
54
+
55
+ **File**: opencode.json
56
+
57
+ ```json
58
+ {
59
+ "$schema": "https://opencode.ai/config.json",
60
+ "permission": {
61
+ "bash": {
62
+ "*": "ask",
63
+ "git *": "allow",
64
+ "npm *": "allow",
65
+ "rm *": "deny",
66
+ "grep *": "allow"
67
+ },
68
+ "edit": {
69
+ "*": "deny",
70
+ "packages/web/src/content/docs/*.mdx": "allow"
71
+ }
72
+ }
73
+ }
74
+ ```
75
+
76
+ Las reglas se evalúan según la coincidencia de patrones, y la **última regla coincidente gana**. Un patrón común es poner primero la regla general `"*"` y después reglas más específicas.
77
+
78
+ ### [Comodines](#comodines)
79
+
80
+ Los patrones de permisos utilizan una simple coincidencia de comodines:
81
+
82
+ - `*` coincide con cero o más de cualquier carácter
83
+ - `?` coincide exactamente con un carácter
84
+ - Todos los demás caracteres coinciden literalmente
85
+
86
+ ### [Expansión del directorio de inicio](#expansión-del-directorio-de-inicio)
87
+
88
+ Puede usar `~` o `$HOME` al comienzo de un patrón para hacer referencia a su directorio de inicio. Esto es particularmente útil para las reglas ``[external_directory](#external-directories).
89
+
90
+ - `~/projects/*` -> `/Users/username/projects/*`
91
+ - `$HOME/projects/*` -> `/Users/username/projects/*`
92
+ - `~` -> `/Users/username`
93
+
94
+ ### [Directorios externos](#directorios-externos)
95
+
96
+ Utilice `external_directory` para permitir llamadas a herramientas que toquen rutas fuera del directorio de trabajo donde se inició OpenCode. Esto se aplica a cualquier herramienta que tome una ruta como entrada (por ejemplo, `read`, `edit`, `glob`, `grep` y muchos comandos `bash`).
97
+
98
+ La expansión del hogar (como `~/...`) solo afecta la forma en que se escribe un patrón. No hace que una ruta externa forme parte del espacio de trabajo actual, por lo que las rutas fuera del directorio de trabajo aún deben permitirse a través de `external_directory`.
99
+
100
+ Por ejemplo, esto permite el acceso a todo lo que se encuentra en `~/projects/personal/`:
101
+
102
+ **File**: opencode.json
103
+
104
+ ```json
105
+ {
106
+ "$schema": "https://opencode.ai/config.json",
107
+ "permission": {
108
+ "external_directory": {
109
+ "~/projects/personal/**": "allow"
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ Cualquier directorio permitido aquí hereda los mismos valores predeterminados que el espacio de trabajo actual. Dado que ````[read tiene por defecto allow](#defaults), también se permiten lecturas para entradas bajo `external_directory` a menos que se anulen. Agregue reglas explícitas cuando una herramienta deba restringirse en estas rutas, como bloquear ediciones mientras se mantienen las lecturas:
116
+
117
+ **File**: opencode.json
118
+
119
+ ```json
120
+ {
121
+ "$schema": "https://opencode.ai/config.json",
122
+ "permission": {
123
+ "external_directory": {
124
+ "~/projects/personal/**": "allow"
125
+ },
126
+ "edit": {
127
+ "~/projects/personal/**": "deny"
128
+ }
129
+ }
130
+ }
131
+ ```
132
+
133
+ Mantenga la lista centrada en rutas confiables y aplique reglas adicionales de permitir o denegar según sea necesario para otras herramientas (por ejemplo, `bash`).
134
+
135
+ ---
136
+
137
+ ## [Permisos disponibles](#permisos-disponibles)
138
+
139
+ Los permisos OpenCode están codificados por el nombre de la herramienta, además de un par de medidas de seguridad:
140
+
141
+ - `read` — leer un archivo (coincide con la ruta del archivo)
142
+ - `edit` — todas las modificaciones de archivos (cubre `edit`, `write`, `patch`)
143
+ - `glob` — globalización de archivos (coincide con el patrón global)
144
+ - `grep` — búsqueda de contenido (coincide con el patrón de expresiones regulares)
145
+ - `bash`: ejecuta comandos de shell (coincide con comandos analizados como `git status --porcelain`)
146
+ - `task` — lanzamiento de subagentes (coincide con el tipo de subagente)
147
+ - `skill` — cargar una habilidad (coincide con el nombre de la habilidad)
148
+ - `lsp`: ejecución de consultas LSP (actualmente no granulares)
149
+ - `webfetch` — obteniendo una URL (coincide con la URL)
150
+ - `websearch` — búsqueda web (coincide con la consulta)
151
+ - `external_directory`: se activa cuando una herramienta toca rutas fuera del directorio de trabajo del proyecto.
152
+ - `doom_loop`: se activa cuando la misma llamada de herramienta se repite 3 veces con entrada idéntica
153
+
154
+ ---
155
+
156
+ ## [Valores predeterminados](#valores-predeterminados)
157
+
158
+ Si no especifica nada, OpenCode comienza desde valores predeterminados permisivos:
159
+
160
+ - La mayoría de los permisos están predeterminados en `"allow"`.
161
+ - `doom_loop` y `external_directory` por defecto son `"ask"`.
162
+ - `read` es `"allow"`, pero los archivos `.env` están denegados de forma predeterminada:
163
+
164
+ **File**: opencode.json
165
+
166
+ ```json
167
+ {
168
+ "permission": {
169
+ "read": {
170
+ "*": "allow",
171
+ "*.env": "deny",
172
+ "*.env.*": "deny",
173
+ "*.env.example": "allow"
174
+ }
175
+ }
176
+ }
177
+ ```
178
+
179
+ ---
180
+
181
+ ## [¿Qué significa “preguntar”?](#qué-significa-preguntar)
182
+
183
+ Cuando OpenCode solicita aprobación, la interfaz de usuario ofrece tres resultados:
184
+
185
+ - `once` — aprobar solo esta solicitud
186
+ - `always`: aprueba solicitudes futuras que coincidan con los patrones sugeridos (para el resto de la sesión actual OpenCode)
187
+ - `reject` — rechazar la solicitud
188
+
189
+ La herramienta proporciona el conjunto de patrones que `always` aprobaría (por ejemplo, las aprobaciones de bash generalmente incluyen en la lista blanca un prefijo de comando seguro como `git status*`).
190
+
191
+ ---
192
+
193
+ ## [Agentes](#agentes)
194
+
195
+ Puede anular los permisos por agente. Los permisos del agente se combinan con la configuración global y las reglas del agente tienen prioridad. [Más información](https://opencode.ai/docs/agents#permissions) sobre los permisos de los agentes.
196
+
197
+ > [!NOTE]
198
+ > Consulte la sección [Reglas granulares (sintaxis de objeto)](#granular-rules-object-syntax) anterior para obtener ejemplos de coincidencia de patrones más detallados.
199
+
200
+ **File**: opencode.json
201
+
202
+ ```json
203
+ {
204
+ "$schema": "https://opencode.ai/config.json",
205
+ "permission": {
206
+ "bash": {
207
+ "*": "ask",
208
+ "git *": "allow",
209
+ "git commit *": "deny",
210
+ "git push *": "deny",
211
+ "grep *": "allow"
212
+ }
213
+ },
214
+ "agent": {
215
+ "build": {
216
+ "permission": {
217
+ "bash": {
218
+ "*": "ask",
219
+ "git *": "allow",
220
+ "git commit *": "ask",
221
+ "git push *": "deny",
222
+ "grep *": "allow"
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+ ```
229
+
230
+ También puede configurar los permisos del agente en Markdown:
231
+
232
+ **File**: ~/.config/opencode/agents/review.md
233
+
234
+ ```markdown
235
+ ---
236
+ description: Code review without edits
237
+ mode: subagent
238
+ permission:
239
+ edit: deny
240
+ bash: ask
241
+ webfetch: deny
242
+ ---
243
+
244
+ Only analyze code and suggest changes.
245
+ ```
246
+
247
+ > [!TIP]
248
+ > Utilice la coincidencia de patrones para comandos con argumentos. `"grep *"` permite `grep pattern file.txt`, mientras que `"grep"` solo lo bloquearía. Los comandos como `git status` funcionan para el comportamiento predeterminado pero requieren permiso explícito (como `"git status *"`) cuando se pasan argumentos.