@asm-agent/coding-agent 0.9.3 → 0.9.5

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 (39) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/bundled-extensions/00-COMECE-AQUI.txt +233 -0
  3. package/bundled-extensions/00-INDEX.md +267 -0
  4. package/bundled-extensions/OLLAMA-TOOL-FORCING-IMPLEMENTATION.md +323 -0
  5. package/bundled-extensions/OLLAMA-TOOL-FORCING-QUICK-START.txt +113 -0
  6. package/bundled-extensions/OLLAMA-TOOL-FORCING-TESTS.md +217 -0
  7. package/bundled-extensions/OLLAMA-TOOL-FORCING.md +155 -0
  8. package/bundled-extensions/README.txt +178 -0
  9. package/bundled-extensions/ollama-tool-forcing.ts +90 -0
  10. package/dist/asm-agent-runtime/run_test.py +19 -0
  11. package/dist/asm-agent-runtime/src/rlm/__pycache__/__init__.cpython-312.pyc +0 -0
  12. package/dist/asm-agent-runtime/src/rlm/__pycache__/bash.cpython-312.pyc +0 -0
  13. package/dist/asm-agent-runtime/src/rlm/__pycache__/repl.cpython-312.pyc +0 -0
  14. package/dist/asm-agent-runtime/test/__pycache__/test_bash.cpython-312.pyc +0 -0
  15. package/dist/asm-agent-runtime/test/test_bash.py +5 -3
  16. package/dist/bundle/{bundled-modules-ZKJOKVMT.js → bundled-modules-QDPN6BGG.js} +2 -2
  17. package/dist/bundle/{chunk-YWSYGTH7.js → chunk-JY5SSN7V.js} +2 -2
  18. package/dist/bundle/{chunk-IP6ZYRWR.js → chunk-VWSFBIFE.js} +13 -58
  19. package/dist/bundle/{cli-main-YZ2VGIP6.js → cli-main-OBM57S4L.js} +2 -2
  20. package/dist/bundle/cli.js +1 -1
  21. package/dist/bundle/{main-JTKNY7OB.js → main-NV3C3DIQ.js} +2 -2
  22. package/dist/core/auth-storage.d.ts +0 -1
  23. package/dist/core/auth-storage.d.ts.map +1 -1
  24. package/dist/core/auth-storage.js +0 -49
  25. package/dist/core/auth-storage.js.map +1 -1
  26. package/dist/modes/interactive/auth-flows.d.ts.map +1 -1
  27. package/dist/modes/interactive/auth-flows.js +1 -1
  28. package/dist/modes/interactive/auth-flows.js.map +1 -1
  29. package/dist/postinstall.d.ts.map +1 -1
  30. package/dist/postinstall.js +40 -3
  31. package/dist/postinstall.js.map +1 -1
  32. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  33. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  34. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  35. package/examples/extensions/sandbox/package-lock.json +2 -2
  36. package/examples/extensions/sandbox/package.json +1 -1
  37. package/examples/extensions/with-deps/package-lock.json +2 -2
  38. package/examples/extensions/with-deps/package.json +1 -1
  39. package/package.json +7 -6
@@ -0,0 +1,323 @@
1
+ # Guia de Implementação - Ollama Tool-Forcing Extension
2
+
3
+ ## 🎯 Objetivo
4
+
5
+ Forçar modelos abertos (Qwen, Llama, etc) rodando via Ollama a **sempre chamar ferramentas**
6
+ antes de parar, mantendo o loop autônomo do ASM Agent funcionando continuamente.
7
+
8
+ ---
9
+
10
+ ## 📦 O Que Foi Criado
11
+
12
+ ```
13
+ ~/.asm-agent/extensions/
14
+ ├── ollama-tool-forcing.ts ← Extensão (implementação)
15
+ ├── OLLAMA-TOOL-FORCING.md ← Manual completo
16
+ ├── OLLAMA-TOOL-FORCING-QUICK-START.txt ← Referência rápida
17
+ └── OLLAMA-TOOL-FORCING-TESTS.md ← Exemplos de teste
18
+ ```
19
+
20
+ ### 📋 Tamanho Total: ~18 KB (minúsculo, impacto zero em performance)
21
+
22
+ ---
23
+
24
+ ## 🚀 Instalação (Já Feita!)
25
+
26
+ A extensão foi colocada automaticamente em:
27
+ ```
28
+ ~/.asm-agent/extensions/ollama-tool-forcing.ts
29
+ ```
30
+
31
+ ASM Agent a descobrirá automaticamente na próxima inicialização.
32
+
33
+ ### ✅ O que você precisa fazer:
34
+
35
+ 1. **Nada!** Está pronto para usar.
36
+
37
+ OR
38
+
39
+ 2. Se ASM Agent já está rodando:
40
+ - Use `/reload` para recarregar extensões
41
+ - Use `/ollama-tools-info` para verificar se está ativa
42
+
43
+ ---
44
+
45
+ ## 🎮 Como Usar
46
+
47
+ ### Ativação Automática
48
+
49
+ Quando você inicia o ASM Agent, a extensão:
50
+ 1. É auto-descoberta (está em ~/.asm-agent/extensions/)
51
+ 2. É carregada automaticamente
52
+ 3. Injeta a regra de tool-forcing no system prompt
53
+ 4. Funciona em TODAS as requisições
54
+
55
+ Você não precisa fazer nada especial.
56
+
57
+ ### Verificar Status
58
+
59
+ ```
60
+ /ollama-tools-info
61
+ ```
62
+
63
+ Mostra:
64
+ - Status: ✅ ATIVADO ou ❌ DESATIVADO
65
+ - Permite fazer toggle (ligar/desligar)
66
+
67
+ ### Recarregar (se fizer edições)
68
+
69
+ ```
70
+ /reload
71
+ ```
72
+
73
+ Recompila e recarrega todas as extensões.
74
+
75
+ ---
76
+
77
+ ## 🔧 Como Funciona Internamente
78
+
79
+ ### Fluxo:
80
+
81
+ ```
82
+ 1. Você envia um prompt ao ASM Agent
83
+
84
+ 2. ASM Agent prepara o system prompt
85
+
86
+ 3. EXTENSÃO intercepta via before_agent_start
87
+
88
+ 4. Extensão adiciona a regra de tool-forcing
89
+
90
+ 5. Modelo recebe: system_prompt + regra_de_forcing
91
+
92
+ 6. Modelo fica "forçado" a chamar ferramentas
93
+
94
+ 7. Loop autônomo continua até completar tarefa
95
+ ```
96
+
97
+ ### Regra Injetada:
98
+
99
+ ```
100
+ ## ⚠️ REGRA CRÍTICA: TOOL-FORCING PARA MODELOS LOCAIS
101
+
102
+ Você está rodando num modelo aberto (Ollama/local). Para garantir que trabalhe autonomamente:
103
+
104
+ 1. NUNCA pare sem chamar uma ferramenta
105
+ 2. Sem gerações vazias
106
+ 3. Ferramentas = continuidade
107
+ 4. Padrão: pensar → agir → observar → repetir
108
+ 5. Proibido terminar sem chamar ferramenta
109
+ ```
110
+
111
+ ---
112
+
113
+ ## 🧪 Teste Rápido
114
+
115
+ Rode isto no ASM Agent com seu Qwen/Llama via Ollama:
116
+
117
+ ```
118
+ Crie um arquivo test.txt com "Olá!" e depois exiba seu conteúdo com bash.
119
+ ```
120
+
121
+ **Resultado esperado:**
122
+ - Modelo chama edit para criar
123
+ - Modelo chama bash para exibir
124
+ - Modelo reporta sucesso
125
+ - Não fica preso
126
+
127
+ ---
128
+
129
+ ## ⚙️ Personalização
130
+
131
+ ### Editar a Regra
132
+
133
+ Para mudar o tom, adicionar regras, etc:
134
+
135
+ ```bash
136
+ nano ~/.asm-agent/extensions/ollama-tool-forcing.ts
137
+ ```
138
+
139
+ Modifique a seção `const toolForceRule = ...`
140
+
141
+ Depois use `/reload` para aplicar.
142
+
143
+ ### Criar Variantes
144
+
145
+ Para diferentes comportamentos:
146
+
147
+ ```bash
148
+ # Cópia para projeto local
149
+ cp ~/.asm-agent/extensions/ollama-tool-forcing.ts .asm-agent/extensions/
150
+ # Edite conforme necessário
151
+ ```
152
+
153
+ ASM Agent prioriza extensões locais (.asm-agent/) sobre globais (~/.asm-agent/).
154
+
155
+ ### Desativar Temporariamente
156
+
157
+ Use o comando:
158
+ ```
159
+ /ollama-tools-info
160
+ ```
161
+
162
+ Faz toggle entre ✅ e ❌ sem reiniciar.
163
+
164
+ ### Remover Permanentemente
165
+
166
+ ```bash
167
+ rm ~/.asm-agent/extensions/ollama-tool-forcing.ts
168
+ /reload
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 🎯 Casos de Uso
174
+
175
+ ### ✅ USE QUANDO:
176
+
177
+ - Rodando **Qwen 27b/32b** via Ollama
178
+ - Rodando **Llama** via Ollama
179
+ - Qualquer **modelo aberto local**
180
+ - Modelo que **às vezes congela**
181
+ - Quer **loop autônomo garantido**
182
+ - Quer **evitar gerações vazias**
183
+
184
+ ### ❌ PODE DESATIVAR QUANDO:
185
+
186
+ - Rodando **Claude/GPT** (APIs cloud)
187
+ - Modelo está **funcionando bem** já
188
+ - Quer testar **comportamento natural**
189
+ - Rodando teste que espera modelo parar naturalmente
190
+
191
+ Use `/ollama-tools-info` para toggle sem reiniciar.
192
+
193
+ ---
194
+
195
+ ## 🐛 Troubleshooting
196
+
197
+ | Problema | Causa | Solução |
198
+ |----------|-------|---------|
199
+ | Extensão não carrega | Erro TypeScript | Verifique sintaxe em ollama-tool-forcing.ts |
200
+ | Modelo ainda fica preso | Extensão não foi recarregada | Use `/reload` depois de iniciar |
201
+ | Regra muito agressiva | Instrução forte demais | Edite e suavize o tom |
202
+ | Funciona às vezes | Dependente do prompt | Teste com prompts mais específicos |
203
+
204
+ ---
205
+
206
+ ## 📊 Benchmarks Esperados
207
+
208
+ ### COM A EXTENSÃO:
209
+
210
+ ```
211
+ Tarefa: Criar arquivo + editar + verificar
212
+
213
+ Tempo: ~10-30 segundos
214
+ Chamadas: modelo → bash/edit/ipython → modelo → ... → completo
215
+ Resultado: ✅ Tarefa completada autonomamente
216
+ ```
217
+
218
+ ### SEM A EXTENSÃO (Qwen/Llama pequeno):
219
+
220
+ ```
221
+ Tarefa: Criar arquivo + editar + verificar
222
+
223
+ Tempo: ~5-10 segundos
224
+ Chamadas: modelo → pensar → PARAR
225
+ Resultado: ❌ Aguardando sua resposta "e aí?"
226
+ ```
227
+
228
+ A extensão sacrifica um pouco de velocidade pelo ganho MASSIVO de confiabilidade.
229
+
230
+ ---
231
+
232
+ ## 🔐 Segurança
233
+
234
+ A extensão:
235
+ - ✅ Não executa código seu (apenas injeta texto no prompt)
236
+ - ✅ Não altera ferramentas existentes
237
+ - ✅ Não acessa arquivos/rede
238
+ - ✅ É 100% local
239
+ - ✅ Pode ser auditada (arquivo texto simples)
240
+
241
+ ---
242
+
243
+ ## 📚 Documentação Relacionada
244
+
245
+ - **Manual Completo**: OLLAMA-TOOL-FORCING.md
246
+ - **Quick Start**: OLLAMA-TOOL-FORCING-QUICK-START.txt
247
+ - **Testes**: OLLAMA-TOOL-FORCING-TESTS.md
248
+ - **Extensões (ASM Agent)**: ~/dev/ai/asm-agent/packages/coding-agent/examples/extensions/
249
+
250
+ ---
251
+
252
+ ## 🎓 Aprendizados
253
+
254
+ ### Por Que Modelos Menores Congelam
255
+
256
+ Modelos como Qwen 27b (vs Claude 3.5, GPT-4):
257
+ - Não foram treinados tão bem em tool-calling
258
+ - Podem confundir o formato de chamada de ferramenta
259
+ - Podem não entender que devem chamar uma ferramenta
260
+ - Podem gerar um "stop token" por default
261
+
262
+ ### Como Essa Extensão Resolve
263
+
264
+ Ela:
265
+ 1. Intercepta ANTES do modelo pensar
266
+ 2. Injeta uma instrução MUITO CLARA e FORTE
267
+ 3. Torna PROIBIDO parar sem ferramentas
268
+ 4. Força o modelo a "obedecer" via prompt engineering
269
+
270
+ Não é uma "fix" técnica real — é uma "fix" por prompt.
271
+
272
+ ---
273
+
274
+ ## 🚀 Próximos Passos
275
+
276
+ 1. **Inicialize ASM Agent** (a extensão carrega automaticamente)
277
+ 2. **Teste com uma tarefa simples** (criar arquivo + verificar)
278
+ 3. **Observe o modelo chamar ferramentas continuamente**
279
+ 4. **Ajuste se necessário** usando `/ollama-tools-info` ou edições
280
+
281
+ ---
282
+
283
+ ## 💡 Dicas Pro
284
+
285
+ ### Combine com Qwen Coder
286
+
287
+ ```bash
288
+ ollama pull qwen2.5-coder:32b
289
+ # MUITO melhor em tool-calling
290
+ ```
291
+
292
+ ### Combine com Atualização Ollama
293
+
294
+ ```bash
295
+ ollama --version
296
+ # Atualize se < 0.1.20 (versões antigas engolem tool calls)
297
+ ```
298
+
299
+ ### Combine com Outras Extensões
300
+
301
+ Você pode ter múltiplas extensões simultaneamente:
302
+ - ollama-tool-forcing.ts (sua nova regra)
303
+ - git-checkpoint.ts (backup automático)
304
+ - permission-gate.ts (confirmação antes de rm -rf)
305
+ - etc
306
+
307
+ Copie exemplos de:
308
+ ~/dev/ai/asm-agent/packages/coding-agent/examples/extensions/
309
+
310
+ ---
311
+
312
+ ## 📞 Suporte
313
+
314
+ Se tiver dúvidas:
315
+
316
+ 1. Leia: OLLAMA-TOOL-FORCING.md
317
+ 2. Teste: OLLAMA-TOOL-FORCING-TESTS.md
318
+ 3. Edite: ollama-tool-forcing.ts (é um arquivo simples)
319
+ 4. Recarregue: /reload
320
+
321
+ ---
322
+
323
+ ✨ **Tudo pronto! Sua Custom Rule está funcionando.** ✨
@@ -0,0 +1,113 @@
1
+
2
+ ╔════════════════════════════════════════════════════════════════════════════════╗
3
+ ║ ✅ CUSTOM RULE CRIADA COM SUCESSO! ║
4
+ ║ Ollama Tool-Forcing Extension para ASM Agent ║
5
+ ╚════════════════════════════════════════════════════════════════════════════════╝
6
+
7
+ 📦 ARQUIVO CRIADO:
8
+ ~/.asm-agent/extensions/ollama-tool-forcing.ts
9
+
10
+ 📖 DOCUMENTAÇÃO:
11
+ ~/.asm-agent/extensions/OLLAMA-TOOL-FORCING.md
12
+
13
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
14
+
15
+ 🎯 O QUE FAZ:
16
+
17
+ A extensão **força automaticamente** modelos open-weights (Qwen, Llama, etc)
18
+ rodando via Ollama a:
19
+
20
+ ✅ NUNCA parar sem chamar uma ferramenta
21
+ ✅ Chamar bash/edit/ipython para continuar trabalho
22
+ ✅ Manter o loop autônomo do ASM Agent funcionando
23
+ ✅ Evitar gerações "vazias" que congelam sessões
24
+
25
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
26
+
27
+ 🚀 COMO USAR:
28
+
29
+ 1️⃣ A extensão é auto-descoberta
30
+ Ela será carregada automaticamente na próxima sessão
31
+
32
+ 2️⃣ Para ativar já em sessão aberta, use:
33
+ /reload
34
+
35
+ 3️⃣ Para verificar status e fazer toggle:
36
+ /ollama-tools-info
37
+
38
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
39
+
40
+ 📋 SYSTEM PROMPT INJETADO:
41
+
42
+ A extensão adiciona automaticamente esta regra ao final do system prompt:
43
+
44
+ ## ⚠️ REGRA CRÍTICA: TOOL-FORCING PARA MODELOS LOCAIS
45
+
46
+ 1. NUNCA pare sem chamar uma ferramenta
47
+ 2. Sem gerações vazias (só thinking não é permitido)
48
+ 3. Ferramentas = continuidade (use bash, edit, ipython constantemente)
49
+ 4. Padrão: pensar → agir → observar → repetir
50
+ 5. Proibido terminar sem chamar ferramenta
51
+
52
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53
+
54
+ ⚙️ PERSONALIZAÇÕES OPCIONAIS:
55
+
56
+ Você pode editar o arquivo para:
57
+ • Mudar o tom da instrução
58
+ • Adicionar regras específicas do seu workflow
59
+ • Desabilitar para certos tipos de tarefas
60
+ • Adicionar logging de quando a regra foi aplicada
61
+
62
+ Edite: ~/.asm-agent/extensions/ollama-tool-forcing.ts
63
+
64
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
65
+
66
+ 📚 DOCUMENTAÇÃO COMPLEMENTAR:
67
+
68
+ Para mais detalhes, leia:
69
+ ~/.asm-agent/extensions/OLLAMA-TOOL-FORCING.md
70
+
71
+ Contém:
72
+ • Explicação detalhada do problema
73
+ • Quando usar/não usar
74
+ • Dicas de otimização (Qwen Coder, versão Ollama, etc)
75
+ • Como remover se necessário
76
+
77
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
78
+
79
+ 🔧 RELACIONADO:
80
+
81
+ Se quiser mais controle, você também pode:
82
+
83
+ 1. Usar --system-prompt flag ao iniciar ASM Agent
84
+ 2. Criar um arquivo SYSTEM.md no projeto
85
+ 3. Usar múltiplas extensões juntas
86
+ 4. Combinar com outras regras (permission-gate, git-checkpoint, etc)
87
+
88
+ Veja exemplos em:
89
+ ~/dev/ai/asm-agent/packages/coding-agent/examples/extensions/
90
+
91
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
92
+
93
+ ✨ RESUMO DO CICLO:
94
+
95
+ ANTES (problema):
96
+ Modelo → pensa → para → ASM Agent aguarda → você fica preso
97
+
98
+ DEPOIS (com a extensão):
99
+ Modelo → pensa → chama bash → observa resultado → pensa novamente
100
+ → chama edit/ipython → continua autônomo até completar tarefa
101
+
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+
104
+ 🎬 PRÓXIMOS PASSOS:
105
+
106
+ 1. Reinicie o ASM Agent (a extensão será carregada automaticamente)
107
+ 2. Rode uma tarefa com seu Qwen/Llama via Ollama
108
+ 3. Observe o modelo sendo forçado a chamar ferramentas constantemente
109
+ 4. Se quiser desativar, use /ollama-tools-info ou delete o arquivo
110
+
111
+ ╔════════════════════════════════════════════════════════════════════════════════╗
112
+ ║ 🎉 Extensão pronta! Teste agora com seu modelo! ║
113
+ ╚════════════════════════════════════════════════════════════════════════════════╝
@@ -0,0 +1,217 @@
1
+ # Exemplos de Teste - Ollama Tool-Forcing Extension
2
+
3
+ Após ativar a extensão, teste com estes comandos no ASM Agent.
4
+
5
+ ## Teste 1: Tarefa Simples com Verificação
6
+
7
+ ```
8
+ Crie um arquivo chamado "test.txt" com o texto "Olá, Ollama!" e depois verifique
9
+ o conteúdo usando bash.
10
+ ```
11
+
12
+ **Resultado esperado:**
13
+ - Modelo vai pensar
14
+ - Modelo chama bash/edit para criar arquivo
15
+ - Modelo chama bash para verificar conteúdo
16
+ - Modelo continua até completar (não fica preso)
17
+
18
+ ---
19
+
20
+ ## Teste 2: Script Python
21
+
22
+ ```
23
+ Escreva um script Python que imprime "Hello" 10 vezes e depois execute-o.
24
+ Mostre os resultados.
25
+ ```
26
+
27
+ **Resultado esperado:**
28
+ - Modelo chama edit para criar o script
29
+ - Modelo chama bash (ou ipython) para rodar
30
+ - Modelo observa saída e confirma sucesso
31
+ - Loop completo
32
+
33
+ ---
34
+
35
+ ## Teste 3: Navegação de Projeto
36
+
37
+ ```
38
+ Você está no diretório atual. Liste os arquivos do diretório pai usando bash,
39
+ analise quantos são diretórios vs arquivos, e reporte os dados.
40
+ ```
41
+
42
+ **Resultado esperado:**
43
+ - Modelo chama bash (pwd, ls, etc)
44
+ - Modelo processa informação
45
+ - Modelo chama bash novamente se precisar de mais dados
46
+ - Completa a análise
47
+
48
+ ---
49
+
50
+ ## Teste 4: Édição de Arquivo Múltipla
51
+
52
+ ```
53
+ 1. Crie um arquivo chamado "config.json" com objeto vazio {}
54
+ 2. Adicione um campo "version": "1.0"
55
+ 3. Adicione um campo "name": "test-app"
56
+ 4. Verifique o resultado final
57
+ ```
58
+
59
+ **Resultado esperado:**
60
+ - Modelo chama edit para criar
61
+ - Modelo chama edit novamente para adicionar campos
62
+ - Modelo chama bash para verificar
63
+ - Nunca fica preso entre passos
64
+
65
+ ---
66
+
67
+ ## Teste 5: Loop Autônomo Completo
68
+
69
+ ```
70
+ Implemente uma função em Python que:
71
+ 1. Calcula o fatorial de 5
72
+ 2. Verifica se o resultado é par ou ímpar
73
+ 3. Escreve o resultado em um arquivo
74
+ 4. Lê o arquivo para confirmar
75
+
76
+ Faça tudo isso automaticamente sem parar.
77
+ ```
78
+
79
+ **Resultado esperado:**
80
+ - Modelo chama ipython/edit múltiplas vezes
81
+ - Modelo usa bash para ler arquivo
82
+ - Modelo continua autonomamente
83
+ - Completa TODOS os passos sem intervenção
84
+
85
+ ---
86
+
87
+ ## Como Verificar se Está Funcionando
88
+
89
+ ### ✅ Sinais de SUCESSO:
90
+
91
+ ```
92
+ [Thinking: ... análise do problema ...]
93
+ [Tool Call: bash - pwd]
94
+ [Tool Call: edit - criar arquivo]
95
+ [Tool Call: bash - verificar]
96
+ [Thinking: ... análise dos resultados ...]
97
+ Tarefa completada! Aqui estão os resultados...
98
+ ```
99
+
100
+ Há uma **sequência clara** de: pensar → agir → observar → repetir
101
+
102
+ ### ❌ Sinais de PROBLEMA:
103
+
104
+ ```
105
+ [Thinking: ... análise do problema ...]
106
+ [Esperando sua resposta...]
107
+ ```
108
+
109
+ Se o modelo apenas faz **thinking** e para, a extensão não está funcionando.
110
+
111
+ ---
112
+
113
+ ## Comandos Úteis Durante Testes
114
+
115
+ ```bash
116
+ # Ver status da extensão
117
+ /ollama-tools-info
118
+
119
+ # Recarregar extensões se fizer edições
120
+ /reload
121
+
122
+ # Ver informações do sistema prompt
123
+ /ollama-tools-info
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Ajustes Se Não Funcionar
129
+
130
+ Se o modelo ainda ficar preso:
131
+
132
+ ### Opção 1: Instrução Manual
133
+
134
+ ```
135
+ "Está tudo bem com o andamento? Chame uma ferramenta (bash ou ipython) para
136
+ continuar verificando o progresso e avançar a tarefa."
137
+ ```
138
+
139
+ ### Opção 2: Usar Qwen Coder
140
+
141
+ ```bash
142
+ ollama pull qwen2.5-coder:32b
143
+ ollama run qwen2.5-coder:32b
144
+ ```
145
+
146
+ A versão Coder é muito melhor em tool-calling.
147
+
148
+ ### Opção 3: Atualizar Ollama
149
+
150
+ ```bash
151
+ ollama --version
152
+ # Se versão antiga, atualize
153
+ ```
154
+
155
+ ### Opção 4: Editar a Extensão
156
+
157
+ Se quiser fazer a regra ainda mais forte, edite:
158
+ ```
159
+ ~/.asm-agent/extensions/ollama-tool-forcing.ts
160
+ ```
161
+
162
+ E aumente o "peso" da instrução ou adicione consequências explícitas.
163
+
164
+ ---
165
+
166
+ ## Dicas de Debug
167
+
168
+ ### Ver logs:
169
+
170
+ ```bash
171
+ # Se algo falhar na compilação da extensão
172
+ tail -f ~/.asm-agent/logs/* # (se existir)
173
+ ```
174
+
175
+ ### Verificar se o arquivo está correto:
176
+
177
+ ```bash
178
+ ls -la ~/.asm-agent/extensions/ollama-tool-forcing.ts
179
+ wc -l ~/.asm-agent/extensions/ollama-tool-forcing.ts
180
+ ```
181
+
182
+ ### Recarregar sem reiniciar:
183
+
184
+ ```
185
+ /reload
186
+ ```
187
+
188
+ Isso recompila e carrega todas as extensões.
189
+
190
+ ---
191
+
192
+ ## Problemas Comuns
193
+
194
+ | Problema | Solução |
195
+ |----------|---------|
196
+ | Modelo ainda fica preso | Tente `/reload`, depois teste novamente |
197
+ | Extensão não carrega | Verifique sintaxe TypeScript do arquivo |
198
+ | Tool-forcing muito agressivo | Edite o arquivo e suavize o tom |
199
+ | Funciona em alguns casos mas não outros | Pode ser dependente do modelo/prompt |
200
+
201
+ ---
202
+
203
+ ## Para Mais Ajuda
204
+
205
+ Leia o arquivo completo:
206
+ ```
207
+ ~/.asm-agent/extensions/OLLAMA-TOOL-FORCING.md
208
+ ```
209
+
210
+ Ou veja exemplos de outras extensões:
211
+ ```
212
+ ~/dev/ai/asm-agent/packages/coding-agent/examples/extensions/
213
+ ```
214
+
215
+ ---
216
+
217
+ **Boa sorte! 🚀**