n8n-nodes-zihin 0.2.0 → 0.4.0
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.
- package/README.md +106 -184
- package/dist/nodes/ZihinChatModel/ZihinChatModel.node.d.ts +6 -1
- package/dist/nodes/ZihinChatModel/ZihinChatModel.node.js +236 -50
- package/dist/nodes/ZihinChatModel/ZihinChatModel.node.js.map +1 -1
- package/dist/nodes/ZihinGateway/ZihinGateway.node.d.ts +6 -1
- package/dist/nodes/ZihinGateway/ZihinGateway.node.js +141 -50
- package/dist/nodes/ZihinGateway/ZihinGateway.node.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,25 +3,21 @@
|
|
|
3
3
|
[](https://badge.fury.io/js/n8n-nodes-zihin)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
n8n
|
|
6
|
+
Nós n8n para integração com **Zihin LLM Gateway** - API unificada de LLMs com roteamento inteligente entre providers (OpenAI, Anthropic, Google, Grok e outros).
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Nós Disponíveis
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- **Acesso Unificado**: Uma única API para múltiplos providers (OpenAI, Anthropic, Google, Grok, OpenRouter)
|
|
15
|
-
- **Monitoramento**: Rastreamento de custos, uso e performance em tempo real
|
|
10
|
+
| Nó | Uso | Tool Calling |
|
|
11
|
+
|----|-----|--------------|
|
|
12
|
+
| **Zihin Gateway** | Workflows tradicionais | Não |
|
|
13
|
+
| **Zihin Chat Model** | AI Agents (LangChain) | Sim |
|
|
16
14
|
|
|
17
15
|
## Instalação
|
|
18
16
|
|
|
19
|
-
### Via n8n Community Nodes
|
|
17
|
+
### Via n8n Community Nodes (Recomendado)
|
|
20
18
|
|
|
21
|
-
1.
|
|
22
|
-
2.
|
|
23
|
-
3. Selecione **Install**
|
|
24
|
-
4. Digite `n8n-nodes-zihin` e clique em **Install**
|
|
19
|
+
1. **Settings** > **Community Nodes** > **Install**
|
|
20
|
+
2. Digite `n8n-nodes-zihin` e instale
|
|
25
21
|
|
|
26
22
|
### Via npm
|
|
27
23
|
|
|
@@ -29,210 +25,136 @@ Zihin é um gateway inteligente de LLMs que oferece:
|
|
|
29
25
|
npm install n8n-nodes-zihin
|
|
30
26
|
```
|
|
31
27
|
|
|
32
|
-
|
|
28
|
+
## Configuração
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
cd n8n-nodes-zihin
|
|
30
|
+
1. Obtenha sua API Key em [zihin.ai](https://console.zihin.ai) > **Settings** > **API Keys**
|
|
31
|
+
2. No n8n: **Credentials** > **Add Credential** > **Zihin API**
|
|
32
|
+
3. Cole sua API Key (formato: `zhn_live_xxx`)
|
|
38
33
|
|
|
39
|
-
|
|
40
|
-
npm install
|
|
34
|
+
---
|
|
41
35
|
|
|
42
|
-
|
|
43
|
-
npm run build
|
|
36
|
+
## Uso: Zihin Gateway
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
38
|
+
Para chamadas diretas em workflows tradicionais.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
[Trigger] → [Zihin Gateway] → [Próximo nó]
|
|
48
42
|
```
|
|
49
43
|
|
|
50
|
-
|
|
44
|
+
1. Adicione o nó **Zihin Gateway**
|
|
45
|
+
2. Selecione um modelo ou use **Auto** para roteamento inteligente
|
|
46
|
+
3. Escolha **Prompt Simples** ou **Messages** (conversacional)
|
|
47
|
+
4. Execute
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
## Uso: Zihin Chat Model
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
2. Navegue até **Settings** > **API Keys**
|
|
56
|
-
3. Crie uma nova API Key (formato: `zhn_live_xxx` ou `zhn_test_xxx`)
|
|
51
|
+
Para AI Agents com suporte a ferramentas.
|
|
57
52
|
|
|
58
|
-
|
|
53
|
+
```
|
|
54
|
+
[Chat Trigger] → [AI Agent] ← [Zihin Chat Model]
|
|
55
|
+
↑
|
|
56
|
+
[Tools]
|
|
57
|
+
```
|
|
59
58
|
|
|
60
|
-
1.
|
|
61
|
-
2.
|
|
62
|
-
3.
|
|
63
|
-
4.
|
|
59
|
+
1. Adicione um nó **AI Agent**
|
|
60
|
+
2. Conecte **Zihin Chat Model** como Chat Model
|
|
61
|
+
3. Adicione **Tools** (Calculator, HTTP Request, etc.)
|
|
62
|
+
4. Conecte um trigger e execute
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
---
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
## Parâmetros
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
2. Selecione um modelo (ex: `OpenAI - GPT-4o`)
|
|
71
|
-
3. Escolha **Input Type**: `Prompt Simples`
|
|
72
|
-
4. Digite seu prompt
|
|
73
|
-
5. Execute o workflow
|
|
68
|
+
### Principais
|
|
74
69
|
|
|
75
|
-
|
|
70
|
+
| Parâmetro | Default | Descrição |
|
|
71
|
+
|-----------|---------|-----------|
|
|
72
|
+
| Model | - | Modelo LLM ou "Auto" para roteamento inteligente |
|
|
73
|
+
| Temperature | 0.7 | Criatividade (0-2) |
|
|
74
|
+
| Max Tokens | 4096 | Limite de tokens na resposta |
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
### Avançados (Ambos os Nós)
|
|
78
77
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
- `Planning / Planejamento`: Planejamento e estratégia
|
|
85
|
-
- `Creative / Criativo`: Escrita criativa
|
|
86
|
-
- `Data Query / Consulta de Dados`: Consultas estruturadas
|
|
87
|
-
- `Tool Calling / Chamada de Ferramentas`: Uso de ferramentas/funções
|
|
88
|
-
3. Adicione suas mensagens no formato **Messages** (o modo Auto requer formato conversacional)
|
|
78
|
+
| Parâmetro | Default | Descrição |
|
|
79
|
+
|-----------|---------|-----------|
|
|
80
|
+
| Timeout | 60s | Tempo máximo de espera |
|
|
81
|
+
| Max Retries | 2 | Tentativas com backoff exponencial |
|
|
82
|
+
| Base URL Override | - | URL alternativa para testes locais |
|
|
89
83
|
|
|
90
|
-
###
|
|
84
|
+
### Exclusivo do Chat Model
|
|
91
85
|
|
|
92
|
-
|
|
86
|
+
| Parâmetro | Default | Descrição |
|
|
87
|
+
|-----------|---------|-----------|
|
|
88
|
+
| Max Context Messages | 0 | Limite de mensagens (0 = sem limite) |
|
|
93
89
|
|
|
94
|
-
|
|
95
|
-
2. Adicione mensagens com diferentes roles:
|
|
96
|
-
- `System`: Instruções de comportamento do assistente
|
|
97
|
-
- `User`: Mensagens do usuário
|
|
98
|
-
- `Assistant`: Respostas anteriores do assistente
|
|
90
|
+
---
|
|
99
91
|
|
|
100
|
-
##
|
|
92
|
+
## Modelos Suportados
|
|
101
93
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
| Parâmetro | Tipo | Obrigatório | Descrição |
|
|
105
|
-
|-----------|------|-------------|-----------|
|
|
106
|
-
| Model | options | Sim | Modelo LLM ou "auto" para roteamento inteligente |
|
|
107
|
-
| Task Type | options | Não | Tipo de tarefa (apenas quando model="auto") |
|
|
108
|
-
| Input Type | options | Sim | "Prompt Simples" ou "Messages" (Auto requer Messages) |
|
|
109
|
-
| Prompt | string | Condicional | Texto do prompt (quando Input Type = "Prompt Simples") |
|
|
110
|
-
| Messages | collection | Condicional | Lista de mensagens (quando Input Type = "Messages") |
|
|
111
|
-
|
|
112
|
-
### Options (Avançado)
|
|
113
|
-
|
|
114
|
-
| Parâmetro | Tipo | Default | Descrição |
|
|
115
|
-
|-----------|------|---------|-----------|
|
|
116
|
-
| Temperature | number | 0.7 | Criatividade (0-2) |
|
|
117
|
-
| Max Tokens | number | 1000 | Limite de tokens na resposta |
|
|
118
|
-
| Top P | number | 1 | Nucleus sampling (0-1) |
|
|
119
|
-
| Frequency Penalty | number | 0 | Reduz repetição (-2 a 2) |
|
|
120
|
-
| Presence Penalty | number | 0 | Incentiva novos tópicos (-2 a 2) |
|
|
121
|
-
| Stop Sequences | string | - | Sequências de parada (vírgula-separadas) |
|
|
122
|
-
| Session ID | string | - | ID para manter contexto entre chamadas |
|
|
123
|
-
|
|
124
|
-
## Modelos Disponíveis
|
|
125
|
-
|
|
126
|
-
### OpenAI
|
|
127
|
-
- GPT-5 (`openai.gpt-5`)
|
|
128
|
-
- GPT-5 Mini (`openai.gpt-5-mini`)
|
|
129
|
-
- GPT-5 Nano (`openai.gpt-5-nano`)
|
|
130
|
-
- GPT-4.1 (`openai.gpt-4.1`)
|
|
131
|
-
- GPT-4.1 Mini (`openai.gpt-4.1-mini`)
|
|
132
|
-
- GPT-4.1 Nano (`openai.gpt-4.1-nano`)
|
|
133
|
-
|
|
134
|
-
### Anthropic
|
|
135
|
-
- Claude Sonnet 4.5 (`anthropic.claude-sonnet-4-5-20250929`)
|
|
136
|
-
- Claude Haiku 4.5 (`anthropic.claude-haiku-4-5-20251001`)
|
|
137
|
-
- Claude Opus 4.1 (`anthropic.claude-opus-4-1-20250805`)
|
|
138
|
-
- Claude Sonnet 4 (`anthropic.claude-sonnet-4-20250514`)
|
|
139
|
-
- Claude 3.5 Haiku (`anthropic.claude-3-5-haiku-20241022`)
|
|
140
|
-
|
|
141
|
-
### Google
|
|
142
|
-
- Gemini 2.5 Flash Lite (`google.gemini-2.5-flash-lite`)
|
|
143
|
-
- Gemini 2.0 Flash (`google.gemini-2.0-flash`)
|
|
144
|
-
- Gemini 2.0 Flash Lite (`google.gemini-2.0-flash-lite`)
|
|
145
|
-
|
|
146
|
-
### Grok
|
|
147
|
-
- Grok 4 Fast Reasoning (`grok.grok-4-fast-reasoning`)
|
|
148
|
-
- Grok 4 Fast (`grok.grok-4-fast-non-reasoning`)
|
|
149
|
-
- Grok 4 (`grok.grok-4-0709`)
|
|
150
|
-
- Grok Code Fast (`grok.grok-code-fast-1`)
|
|
151
|
-
- Grok 3 (`grok.grok-3`)
|
|
152
|
-
- Grok 3 Mini (`grok.grok-3-mini`)
|
|
153
|
-
- Grok 2 (`grok.grok-2-1212`)
|
|
154
|
-
- Grok 2 Vision (`grok.grok-2-vision-1212`)
|
|
155
|
-
|
|
156
|
-
## Output
|
|
157
|
-
|
|
158
|
-
O nó retorna um objeto JSON com a seguinte estrutura:
|
|
159
|
-
|
|
160
|
-
```json
|
|
161
|
-
{
|
|
162
|
-
"content": "Resposta do modelo...",
|
|
163
|
-
"model": "gpt-4.1-mini",
|
|
164
|
-
"provider": "openai",
|
|
165
|
-
"threadId": null,
|
|
166
|
-
"finishReason": "stop",
|
|
167
|
-
"usage": {
|
|
168
|
-
"prompt_tokens": 50,
|
|
169
|
-
"completion_tokens": 100,
|
|
170
|
-
"total_tokens": 150,
|
|
171
|
-
"cached_tokens": 0
|
|
172
|
-
},
|
|
173
|
-
"cost": {
|
|
174
|
-
"input_cost_usd": 0.00025,
|
|
175
|
-
"output_cost_usd": 0.0015,
|
|
176
|
-
"total_cost_usd": 0.00175
|
|
177
|
-
},
|
|
178
|
-
"cached": false,
|
|
179
|
-
"requestId": "req_abc123",
|
|
180
|
-
"executionTimeMs": 1234,
|
|
181
|
-
"autoRouting": null
|
|
182
|
-
}
|
|
183
|
-
```
|
|
94
|
+
A lista de modelos é carregada **dinamicamente** da API Zihin, garantindo sempre os modelos mais recentes disponíveis.
|
|
184
95
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
"selectedModel": "openai.gpt-4o",
|
|
192
|
-
"confidence": 0.95,
|
|
193
|
-
"reasoning": "Task requires coding capabilities..."
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
```
|
|
96
|
+
**Providers disponíveis:**
|
|
97
|
+
- **OpenAI**: GPT-5, GPT-4.1, GPT-4.1-mini, GPT-5-nano
|
|
98
|
+
- **Anthropic**: Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5, Claude Sonnet 4
|
|
99
|
+
- **Google**: Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.0 Flash
|
|
100
|
+
- **Grok**: Grok 4, Grok 4.1, Grok 3, Grok Code Fast
|
|
101
|
+
- **OpenRouter**: DeepSeek R1, Qwen 2.5, Mistral Large, Llama 3.3
|
|
197
102
|
|
|
198
|
-
|
|
103
|
+
Use **Auto** para roteamento automático baseado no tipo de tarefa.
|
|
199
104
|
|
|
200
|
-
###
|
|
201
|
-
- Verifique se a API Key está correta
|
|
202
|
-
- Confirme que a key não expirou no dashboard do Zihin
|
|
203
|
-
- Teste a key diretamente na API
|
|
105
|
+
### Task Types (modo Auto)
|
|
204
106
|
|
|
205
|
-
|
|
206
|
-
- Aguarde o tempo indicado na mensagem
|
|
207
|
-
- Considere upgrade do plano no Zihin
|
|
208
|
-
- Implemente retry com backoff no workflow
|
|
107
|
+
Quando o modelo **Auto** é selecionado, você pode especificar o tipo de tarefa para otimizar a seleção:
|
|
209
108
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
109
|
+
| Task Type | Valor | Uso |
|
|
110
|
+
|-----------|-------|-----|
|
|
111
|
+
| Chat Geral | `chat_general` | Conversas normais |
|
|
112
|
+
| Escrita / Redação | `write` | Criação de conteúdo |
|
|
113
|
+
| Reescrita / Edição | `rewrite_edit` | Edição e revisão |
|
|
114
|
+
| Extração Estruturada | `extract_structure` | Extrair dados em formato específico |
|
|
115
|
+
| Raciocínio / Análise | `reasoning_analysis` | Análise complexa |
|
|
116
|
+
| Código / Programação | `code` | Geração e análise de código |
|
|
117
|
+
| Consulta de Dados | `data_query` | Consultas SQL, queries |
|
|
118
|
+
| Pesquisa / Research | `research` | Pesquisa e investigação |
|
|
213
119
|
|
|
214
|
-
|
|
215
|
-
- Verifique sua conexão com a internet
|
|
216
|
-
- Confirme que `llm.zihin.ai` está acessível
|
|
217
|
-
- Verifique firewall/proxy da sua rede
|
|
120
|
+
---
|
|
218
121
|
|
|
219
|
-
##
|
|
122
|
+
## Troubleshooting
|
|
220
123
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
124
|
+
| Erro | Solução |
|
|
125
|
+
|------|---------|
|
|
126
|
+
| "Tools Agent requires Chat Model..." | Use **Zihin Chat Model**, não Gateway |
|
|
127
|
+
| "API Key inválida" | Verifique a key no dashboard Zihin |
|
|
128
|
+
| "Timeout após Xms" | Aumente o timeout em Options |
|
|
129
|
+
| "Rate limit" | Aguarde ou faça upgrade do plano |
|
|
225
130
|
|
|
226
|
-
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Changelog
|
|
134
|
+
|
|
135
|
+
### v0.4.0 (2025-12-24)
|
|
136
|
+
- **Modelos dinâmicos**: Lista de modelos carregada da API `/api/v3/llm/models`
|
|
137
|
+
- **Task Types atualizados**: 8 novos tipos compatíveis com o servidor
|
|
138
|
+
- `chat_general`, `write`, `rewrite_edit`, `extract_structure`
|
|
139
|
+
- `reasoning_analysis`, `code`, `data_query`, `research`
|
|
140
|
+
- **Default atualizado**: `chat_general` para ambos os nós
|
|
227
141
|
|
|
228
|
-
|
|
229
|
-
- **
|
|
230
|
-
- **
|
|
142
|
+
### v0.3.0 (2025-12-16)
|
|
143
|
+
- **Ambos os nós**: Timeout, Max Retries com backoff, Base URL Override
|
|
144
|
+
- **Chat Model**: Max Context Messages para proteção de custos
|
|
145
|
+
- Telemetria com call_source dinâmico
|
|
231
146
|
|
|
232
|
-
|
|
147
|
+
### v0.2.0 (2024-12-05)
|
|
148
|
+
- Zihin Chat Model para AI Agents com Tool Calling
|
|
233
149
|
|
|
234
|
-
|
|
150
|
+
### v0.1.0
|
|
151
|
+
- Release inicial com Zihin Gateway
|
|
235
152
|
|
|
236
153
|
---
|
|
237
154
|
|
|
238
|
-
|
|
155
|
+
## Links
|
|
156
|
+
|
|
157
|
+
- [Documentação Zihin](https://docs.zihin.ai)
|
|
158
|
+
- [Dashboard](https://console.zihin.ai/admin/home)
|
|
159
|
+
|
|
160
|
+
**Licença**: MIT | Desenvolvido por [Zihin AI Inc](https://zihin.ai)
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
|
|
1
|
+
import { ILoadOptionsFunctions, INodePropertyOptions, INodeType, INodeTypeDescription, ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
|
|
2
2
|
/**
|
|
3
3
|
* n8n Node: Zihin Chat Model
|
|
4
4
|
* Sub-node for AI Agents that provides Zihin LLM as a chat model with Tool Calling support
|
|
5
5
|
*/
|
|
6
6
|
export declare class ZihinChatModel implements INodeType {
|
|
7
7
|
description: INodeTypeDescription;
|
|
8
|
+
methods: {
|
|
9
|
+
loadOptions: {
|
|
10
|
+
getModels(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
8
13
|
/**
|
|
9
14
|
* Supply the LangChain chat model to the AI Agent
|
|
10
15
|
*/
|
|
@@ -23,16 +23,95 @@ class ZihinLangChainChatModel extends chat_models_1.BaseChatModel {
|
|
|
23
23
|
this.boundTools = [];
|
|
24
24
|
this.apiKey = fields.apiKey;
|
|
25
25
|
this.modelName = fields.modelName;
|
|
26
|
-
this.taskType = fields.taskType || '
|
|
26
|
+
this.taskType = fields.taskType || 'chat_general';
|
|
27
27
|
this.temperature = fields.temperature ?? 0.7;
|
|
28
28
|
this.maxTokens = fields.maxTokens ?? 4096;
|
|
29
29
|
this.topP = fields.topP ?? 1;
|
|
30
30
|
this.frequencyPenalty = fields.frequencyPenalty ?? 0;
|
|
31
31
|
this.presencePenalty = fields.presencePenalty ?? 0;
|
|
32
|
+
// Novos campos - Alta Prioridade
|
|
33
|
+
this.timeout = fields.timeout ?? 60000;
|
|
34
|
+
this.maxRetries = fields.maxRetries ?? 2;
|
|
35
|
+
this.baseUrl = fields.baseUrl || 'https://llm.zihin.ai';
|
|
36
|
+
// Novos campos - Média Prioridade
|
|
37
|
+
this.maxContextMessages = fields.maxContextMessages ?? 0;
|
|
38
|
+
// Novos campos - Baixa Prioridade
|
|
39
|
+
this.stop = fields.stop ? fields.stop.split(',').map((s) => s.trim()) : [];
|
|
40
|
+
this.sessionId = fields.sessionId ?? '';
|
|
41
|
+
// Contexto para call_source dinâmico
|
|
42
|
+
this.callSourceContext = fields.callSourceContext ?? {};
|
|
32
43
|
}
|
|
33
44
|
_llmType() {
|
|
34
45
|
return 'zihin';
|
|
35
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Constrói o call_source dinâmico com contexto do workflow/node/execution
|
|
49
|
+
* Formato: n8n_chat_model.{workflow_id}.{node_name}.{execution_id}
|
|
50
|
+
*/
|
|
51
|
+
buildCallSource() {
|
|
52
|
+
const parts = ['n8n_chat_model'];
|
|
53
|
+
if (this.callSourceContext.workflowId) {
|
|
54
|
+
parts.push(this.callSourceContext.workflowId);
|
|
55
|
+
}
|
|
56
|
+
if (this.callSourceContext.nodeName) {
|
|
57
|
+
// Sanitiza o nome do node (remove espaços e caracteres especiais)
|
|
58
|
+
const sanitizedNodeName = this.callSourceContext.nodeName
|
|
59
|
+
.replace(/[^a-zA-Z0-9_-]/g, '_')
|
|
60
|
+
.substring(0, 50);
|
|
61
|
+
parts.push(sanitizedNodeName);
|
|
62
|
+
}
|
|
63
|
+
if (this.callSourceContext.executionId) {
|
|
64
|
+
parts.push(this.callSourceContext.executionId);
|
|
65
|
+
}
|
|
66
|
+
return parts.join('.');
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Helper para delay (usado no retry)
|
|
70
|
+
*/
|
|
71
|
+
async _delay(ms) {
|
|
72
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Executa chamada HTTP com timeout e retry com exponential backoff
|
|
76
|
+
*/
|
|
77
|
+
async _callWithRetry(requestBody) {
|
|
78
|
+
let lastError = null;
|
|
79
|
+
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
|
|
80
|
+
try {
|
|
81
|
+
const controller = new AbortController();
|
|
82
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
83
|
+
const response = await fetch(this.baseUrl + '/api/v3/llm/public/call', {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
headers: {
|
|
86
|
+
'Content-Type': 'application/json',
|
|
87
|
+
'X-Api-Key': this.apiKey,
|
|
88
|
+
},
|
|
89
|
+
body: JSON.stringify(requestBody),
|
|
90
|
+
signal: controller.signal,
|
|
91
|
+
});
|
|
92
|
+
clearTimeout(timeoutId);
|
|
93
|
+
// Retry apenas em erros 5xx ou rate limit (429)
|
|
94
|
+
if (response.status >= 500 || response.status === 429) {
|
|
95
|
+
throw new Error(`HTTP ${response.status}`);
|
|
96
|
+
}
|
|
97
|
+
return response;
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
lastError = error;
|
|
101
|
+
// Timeout - não faz retry, lança imediatamente
|
|
102
|
+
if (error.name === 'AbortError') {
|
|
103
|
+
throw new Error(`Zihin API timeout após ${this.timeout}ms`);
|
|
104
|
+
}
|
|
105
|
+
// Retry com exponential backoff
|
|
106
|
+
if (attempt < this.maxRetries) {
|
|
107
|
+
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
|
|
108
|
+
console.warn(`⚠️ Zihin API retry ${attempt + 1}/${this.maxRetries} após ${delay}ms`);
|
|
109
|
+
await this._delay(delay);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
throw lastError || new Error('Max retries exceeded');
|
|
114
|
+
}
|
|
36
115
|
/**
|
|
37
116
|
* Convert a schema to JSON Schema format
|
|
38
117
|
*/
|
|
@@ -168,7 +247,15 @@ class ZihinLangChainChatModel extends chat_models_1.BaseChatModel {
|
|
|
168
247
|
* Call the Zihin API
|
|
169
248
|
*/
|
|
170
249
|
async _generate(messages, options, _runManager) {
|
|
171
|
-
|
|
250
|
+
let zihinMessages = this.convertMessages(messages);
|
|
251
|
+
// Truncamento de contexto (proteção contra custos excessivos)
|
|
252
|
+
if (this.maxContextMessages > 0 && zihinMessages.length > this.maxContextMessages) {
|
|
253
|
+
const systemMsg = zihinMessages.find((m) => m.role === 'system');
|
|
254
|
+
const otherMsgs = zihinMessages.filter((m) => m.role !== 'system');
|
|
255
|
+
const recentMsgs = otherMsgs.slice(-this.maxContextMessages);
|
|
256
|
+
zihinMessages = systemMsg ? [systemMsg, ...recentMsgs] : recentMsgs;
|
|
257
|
+
console.warn(`⚠️ [ZihinChatModel] Contexto truncado: ${messages.length} → ${zihinMessages.length} mensagens`);
|
|
258
|
+
}
|
|
172
259
|
const requestBody = {
|
|
173
260
|
model: this.modelName,
|
|
174
261
|
messages: zihinMessages,
|
|
@@ -178,11 +265,16 @@ class ZihinLangChainChatModel extends chat_models_1.BaseChatModel {
|
|
|
178
265
|
topP: options.topP ?? this.topP,
|
|
179
266
|
frequencyPenalty: options.frequencyPenalty ?? this.frequencyPenalty,
|
|
180
267
|
presencePenalty: options.presencePenalty ?? this.presencePenalty,
|
|
268
|
+
// Novos campos opcionais
|
|
269
|
+
...(this.stop.length > 0 && { stop: this.stop }),
|
|
270
|
+
...(this.sessionId && { session_id: this.sessionId }),
|
|
271
|
+
call_source: this.buildCallSource(),
|
|
181
272
|
},
|
|
182
273
|
};
|
|
183
274
|
// Add tools if bound
|
|
184
275
|
if (this.boundTools.length > 0) {
|
|
185
276
|
requestBody.tools = this.boundTools;
|
|
277
|
+
requestBody.tool_choice = 'auto';
|
|
186
278
|
}
|
|
187
279
|
// Add context for auto-routing
|
|
188
280
|
if (this.modelName === 'auto') {
|
|
@@ -190,14 +282,8 @@ class ZihinLangChainChatModel extends chat_models_1.BaseChatModel {
|
|
|
190
282
|
task: this.taskType,
|
|
191
283
|
};
|
|
192
284
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
headers: {
|
|
196
|
-
'Content-Type': 'application/json',
|
|
197
|
-
'X-Api-Key': this.apiKey,
|
|
198
|
-
},
|
|
199
|
-
body: JSON.stringify(requestBody),
|
|
200
|
-
});
|
|
285
|
+
// Usar _callWithRetry com timeout e exponential backoff
|
|
286
|
+
const response = await this._callWithRetry(requestBody);
|
|
201
287
|
if (!response.ok) {
|
|
202
288
|
throw new Error(`Zihin API error: ${response.status} ${response.statusText}`);
|
|
203
289
|
}
|
|
@@ -293,39 +379,12 @@ class ZihinChatModel {
|
|
|
293
379
|
required: true,
|
|
294
380
|
default: 'auto',
|
|
295
381
|
description: 'Modelo LLM a ser usado. Use "auto" para roteamento inteligente baseado na tarefa.',
|
|
382
|
+
typeOptions: {
|
|
383
|
+
loadOptionsMethod: 'getModels',
|
|
384
|
+
},
|
|
385
|
+
// Fallback quando API não responde durante edição
|
|
296
386
|
options: [
|
|
297
387
|
{ name: 'Auto (Roteamento Inteligente)', value: 'auto' },
|
|
298
|
-
// OpenAI - GPT-5 Family
|
|
299
|
-
{ name: 'OpenAI - GPT-5', value: 'openai.gpt-5' },
|
|
300
|
-
{ name: 'OpenAI - GPT-5 Mini', value: 'openai.gpt-5-mini' },
|
|
301
|
-
{ name: 'OpenAI - GPT-5 Nano', value: 'openai.gpt-5-nano' },
|
|
302
|
-
// OpenAI - GPT-4.1 Family
|
|
303
|
-
{ name: 'OpenAI - GPT-4.1', value: 'openai.gpt-4.1' },
|
|
304
|
-
{ name: 'OpenAI - GPT-4.1 Mini', value: 'openai.gpt-4.1-mini' },
|
|
305
|
-
{ name: 'OpenAI - GPT-4.1 Nano', value: 'openai.gpt-4.1-nano' },
|
|
306
|
-
// Anthropic - Claude 4.5 Family
|
|
307
|
-
{ name: 'Anthropic - Claude Sonnet 4.5', value: 'anthropic.claude-sonnet-4-5-20250929' },
|
|
308
|
-
{ name: 'Anthropic - Claude Haiku 4.5', value: 'anthropic.claude-haiku-4-5-20251001' },
|
|
309
|
-
// Anthropic - Claude 4 Family
|
|
310
|
-
{ name: 'Anthropic - Claude Opus 4.1', value: 'anthropic.claude-opus-4-1-20250805' },
|
|
311
|
-
{ name: 'Anthropic - Claude Sonnet 4', value: 'anthropic.claude-sonnet-4-20250514' },
|
|
312
|
-
// Anthropic - Legacy
|
|
313
|
-
{ name: 'Anthropic - Claude 3.5 Haiku', value: 'anthropic.claude-3-5-haiku-20241022' },
|
|
314
|
-
// Google - Gemini Family
|
|
315
|
-
{ name: 'Google - Gemini 2.5 Flash Lite', value: 'google.gemini-2.5-flash-lite' },
|
|
316
|
-
{ name: 'Google - Gemini 2.0 Flash', value: 'google.gemini-2.0-flash' },
|
|
317
|
-
{ name: 'Google - Gemini 2.0 Flash Lite', value: 'google.gemini-2.0-flash-lite' },
|
|
318
|
-
// Grok - Grok-4 Family
|
|
319
|
-
{ name: 'Grok - Grok 4 Fast Reasoning', value: 'grok.grok-4-fast-reasoning' },
|
|
320
|
-
{ name: 'Grok - Grok 4 Fast', value: 'grok.grok-4-fast-non-reasoning' },
|
|
321
|
-
{ name: 'Grok - Grok 4', value: 'grok.grok-4-0709' },
|
|
322
|
-
{ name: 'Grok - Grok Code Fast', value: 'grok.grok-code-fast-1' },
|
|
323
|
-
// Grok - Grok-3 Family
|
|
324
|
-
{ name: 'Grok - Grok 3', value: 'grok.grok-3' },
|
|
325
|
-
{ name: 'Grok - Grok 3 Mini', value: 'grok.grok-3-mini' },
|
|
326
|
-
// Grok - Grok-2 Legacy
|
|
327
|
-
{ name: 'Grok - Grok 2', value: 'grok.grok-2-1212' },
|
|
328
|
-
{ name: 'Grok - Grok 2 Vision', value: 'grok.grok-2-vision-1212' },
|
|
329
388
|
],
|
|
330
389
|
},
|
|
331
390
|
// Task Type (conditional - only when model="auto")
|
|
@@ -333,7 +392,7 @@ class ZihinChatModel {
|
|
|
333
392
|
displayName: 'Task Type',
|
|
334
393
|
name: 'taskType',
|
|
335
394
|
type: 'options',
|
|
336
|
-
default: '
|
|
395
|
+
default: 'chat_general',
|
|
337
396
|
description: 'Tipo de tarefa para otimizar a seleção automática do modelo (usado apenas no modo Auto)',
|
|
338
397
|
displayOptions: {
|
|
339
398
|
show: {
|
|
@@ -341,13 +400,14 @@ class ZihinChatModel {
|
|
|
341
400
|
},
|
|
342
401
|
},
|
|
343
402
|
options: [
|
|
344
|
-
{ name: '
|
|
345
|
-
{ name: '
|
|
346
|
-
{ name: '
|
|
347
|
-
{ name: '
|
|
348
|
-
{ name: '
|
|
349
|
-
{ name: '
|
|
350
|
-
{ name: '
|
|
403
|
+
{ name: 'Chat Geral', value: 'chat_general' },
|
|
404
|
+
{ name: 'Escrita / Redação', value: 'write' },
|
|
405
|
+
{ name: 'Reescrita / Edição', value: 'rewrite_edit' },
|
|
406
|
+
{ name: 'Extração Estruturada', value: 'extract_structure' },
|
|
407
|
+
{ name: 'Raciocínio / Análise', value: 'reasoning_analysis' },
|
|
408
|
+
{ name: 'Código / Programação', value: 'code' },
|
|
409
|
+
{ name: 'Consulta de Dados', value: 'data_query' },
|
|
410
|
+
{ name: 'Pesquisa / Research', value: 'research' },
|
|
351
411
|
],
|
|
352
412
|
},
|
|
353
413
|
// Options (collapsible collection)
|
|
@@ -417,10 +477,96 @@ class ZihinChatModel {
|
|
|
417
477
|
default: 0,
|
|
418
478
|
description: 'Incentiva novos tópicos na resposta',
|
|
419
479
|
},
|
|
480
|
+
// Novas opções - Alta Prioridade
|
|
481
|
+
{
|
|
482
|
+
displayName: 'Timeout',
|
|
483
|
+
name: 'timeout',
|
|
484
|
+
type: 'number',
|
|
485
|
+
typeOptions: {
|
|
486
|
+
minValue: 1000,
|
|
487
|
+
maxValue: 300000,
|
|
488
|
+
},
|
|
489
|
+
default: 60000,
|
|
490
|
+
description: 'Tempo máximo de espera em milissegundos (padrão: 60s)',
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
displayName: 'Max Retries',
|
|
494
|
+
name: 'maxRetries',
|
|
495
|
+
type: 'number',
|
|
496
|
+
typeOptions: {
|
|
497
|
+
minValue: 0,
|
|
498
|
+
maxValue: 5,
|
|
499
|
+
},
|
|
500
|
+
default: 2,
|
|
501
|
+
description: 'Número máximo de tentativas em caso de falha (com exponential backoff)',
|
|
502
|
+
},
|
|
503
|
+
// Novas opções - Média Prioridade
|
|
504
|
+
{
|
|
505
|
+
displayName: 'Base URL Override',
|
|
506
|
+
name: 'baseUrl',
|
|
507
|
+
type: 'string',
|
|
508
|
+
default: '',
|
|
509
|
+
description: 'URL base alternativa (deixar vazio para usar padrão: llm.zihin.ai). Útil para testes locais.',
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
displayName: 'Max Context Messages',
|
|
513
|
+
name: 'maxContextMessages',
|
|
514
|
+
type: 'number',
|
|
515
|
+
typeOptions: {
|
|
516
|
+
minValue: 0,
|
|
517
|
+
maxValue: 100,
|
|
518
|
+
},
|
|
519
|
+
default: 0,
|
|
520
|
+
description: 'Limite de mensagens no contexto (0 = sem limite). Proteção contra custos excessivos.',
|
|
521
|
+
},
|
|
522
|
+
// Novas opções - Baixa Prioridade
|
|
523
|
+
{
|
|
524
|
+
displayName: 'Stop Sequences',
|
|
525
|
+
name: 'stop',
|
|
526
|
+
type: 'string',
|
|
527
|
+
default: '',
|
|
528
|
+
description: 'Sequências que interrompem a geração (separadas por vírgula)',
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
displayName: 'Session ID',
|
|
532
|
+
name: 'sessionId',
|
|
533
|
+
type: 'string',
|
|
534
|
+
default: '',
|
|
535
|
+
description: 'ID de sessão para manter contexto entre chamadas na API',
|
|
536
|
+
},
|
|
420
537
|
],
|
|
421
538
|
},
|
|
422
539
|
],
|
|
423
540
|
};
|
|
541
|
+
this.methods = {
|
|
542
|
+
loadOptions: {
|
|
543
|
+
async getModels() {
|
|
544
|
+
const options = [
|
|
545
|
+
{ name: 'Auto (Roteamento Inteligente)', value: 'auto' },
|
|
546
|
+
];
|
|
547
|
+
try {
|
|
548
|
+
const response = await this.helpers.httpRequest({
|
|
549
|
+
method: 'GET',
|
|
550
|
+
url: 'https://llm.zihin.ai/api/v3/llm/models',
|
|
551
|
+
json: true,
|
|
552
|
+
timeout: 10000,
|
|
553
|
+
});
|
|
554
|
+
if (response.success && response.models) {
|
|
555
|
+
for (const model of response.models) {
|
|
556
|
+
options.push({
|
|
557
|
+
name: `${model.provider} - ${model.name}`,
|
|
558
|
+
value: model.id,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
catch (error) {
|
|
564
|
+
console.warn('Falha ao carregar modelos da API Zihin:', error);
|
|
565
|
+
}
|
|
566
|
+
return options;
|
|
567
|
+
},
|
|
568
|
+
},
|
|
569
|
+
};
|
|
424
570
|
}
|
|
425
571
|
/**
|
|
426
572
|
* Supply the LangChain chat model to the AI Agent
|
|
@@ -431,8 +577,39 @@ class ZihinChatModel {
|
|
|
431
577
|
const apiKey = credentials.apiKey;
|
|
432
578
|
// Get node parameters
|
|
433
579
|
const model = this.getNodeParameter('model', itemIndex);
|
|
434
|
-
const taskType = this.getNodeParameter('taskType', itemIndex, '
|
|
580
|
+
const taskType = this.getNodeParameter('taskType', itemIndex, 'chat_general');
|
|
435
581
|
const options = this.getNodeParameter('options', itemIndex, {});
|
|
582
|
+
// Extrair contexto para call_source dinâmico
|
|
583
|
+
const callSourceContext = {};
|
|
584
|
+
try {
|
|
585
|
+
const workflowDataProxy = this.getWorkflowDataProxy(itemIndex);
|
|
586
|
+
// Extrair informações do workflow (acesso seguro)
|
|
587
|
+
if (workflowDataProxy?.$workflow) {
|
|
588
|
+
const workflow = workflowDataProxy.$workflow;
|
|
589
|
+
if (typeof workflow === 'object') {
|
|
590
|
+
callSourceContext.workflowId = workflow.id ?? workflow.name;
|
|
591
|
+
callSourceContext.workflowName = workflow.name;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
// Extrair nome do node atual
|
|
595
|
+
if (workflowDataProxy?.$node) {
|
|
596
|
+
const node = workflowDataProxy.$node;
|
|
597
|
+
if (typeof node === 'object' && node.name) {
|
|
598
|
+
callSourceContext.nodeName = node.name;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
// Extrair ID da execução (acesso alternativo)
|
|
602
|
+
if (workflowDataProxy?.$execution) {
|
|
603
|
+
const execution = workflowDataProxy.$execution;
|
|
604
|
+
if (typeof execution === 'object') {
|
|
605
|
+
callSourceContext.executionId = execution.id;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
catch (error) {
|
|
610
|
+
// Se falhar ao extrair contexto, continuar com valores vazios
|
|
611
|
+
// Não é crítico - o call_source terá menos informações
|
|
612
|
+
}
|
|
436
613
|
// Create the LangChain chat model
|
|
437
614
|
const chatModel = new ZihinLangChainChatModel({
|
|
438
615
|
apiKey,
|
|
@@ -443,6 +620,15 @@ class ZihinChatModel {
|
|
|
443
620
|
topP: options.topP,
|
|
444
621
|
frequencyPenalty: options.frequencyPenalty,
|
|
445
622
|
presencePenalty: options.presencePenalty,
|
|
623
|
+
// Novos campos
|
|
624
|
+
timeout: options.timeout,
|
|
625
|
+
maxRetries: options.maxRetries,
|
|
626
|
+
baseUrl: options.baseUrl,
|
|
627
|
+
maxContextMessages: options.maxContextMessages,
|
|
628
|
+
stop: options.stop,
|
|
629
|
+
sessionId: options.sessionId,
|
|
630
|
+
// Contexto para call_source dinâmico
|
|
631
|
+
callSourceContext,
|
|
446
632
|
});
|
|
447
633
|
return {
|
|
448
634
|
response: chatModel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZihinChatModel.node.js","sourceRoot":"","sources":["../../../src/nodes/ZihinChatModel/ZihinChatModel.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ZihinChatModel.node.js","sourceRoot":"","sources":["../../../src/nodes/ZihinChatModel/ZihinChatModel.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
1
|
+
import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodePropertyOptions, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
2
|
export declare class ZihinGateway implements INodeType {
|
|
3
3
|
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
loadOptions: {
|
|
6
|
+
getModels(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
4
9
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
5
10
|
}
|
|
@@ -32,39 +32,12 @@ class ZihinGateway {
|
|
|
32
32
|
required: true,
|
|
33
33
|
default: 'auto',
|
|
34
34
|
description: 'Modelo LLM a ser usado. Use "auto" para roteamento inteligente.',
|
|
35
|
+
typeOptions: {
|
|
36
|
+
loadOptionsMethod: 'getModels',
|
|
37
|
+
},
|
|
38
|
+
// Fallback quando API não responde durante edição
|
|
35
39
|
options: [
|
|
36
40
|
{ name: 'Auto (Roteamento Inteligente)', value: 'auto' },
|
|
37
|
-
// OpenAI - GPT-5 Family
|
|
38
|
-
{ name: 'OpenAI - GPT-5', value: 'openai.gpt-5' },
|
|
39
|
-
{ name: 'OpenAI - GPT-5 Mini', value: 'openai.gpt-5-mini' },
|
|
40
|
-
{ name: 'OpenAI - GPT-5 Nano', value: 'openai.gpt-5-nano' },
|
|
41
|
-
// OpenAI - GPT-4.1 Family
|
|
42
|
-
{ name: 'OpenAI - GPT-4.1', value: 'openai.gpt-4.1' },
|
|
43
|
-
{ name: 'OpenAI - GPT-4.1 Mini', value: 'openai.gpt-4.1-mini' },
|
|
44
|
-
{ name: 'OpenAI - GPT-4.1 Nano', value: 'openai.gpt-4.1-nano' },
|
|
45
|
-
// Anthropic - Claude 4.5 Family
|
|
46
|
-
{ name: 'Anthropic - Claude Sonnet 4.5', value: 'anthropic.claude-sonnet-4-5-20250929' },
|
|
47
|
-
{ name: 'Anthropic - Claude Haiku 4.5', value: 'anthropic.claude-haiku-4-5-20251001' },
|
|
48
|
-
// Anthropic - Claude 4 Family
|
|
49
|
-
{ name: 'Anthropic - Claude Opus 4.1', value: 'anthropic.claude-opus-4-1-20250805' },
|
|
50
|
-
{ name: 'Anthropic - Claude Sonnet 4', value: 'anthropic.claude-sonnet-4-20250514' },
|
|
51
|
-
// Anthropic - Legacy
|
|
52
|
-
{ name: 'Anthropic - Claude 3.5 Haiku', value: 'anthropic.claude-3-5-haiku-20241022' },
|
|
53
|
-
// Google - Gemini Family
|
|
54
|
-
{ name: 'Google - Gemini 2.5 Flash Lite', value: 'google.gemini-2.5-flash-lite' },
|
|
55
|
-
{ name: 'Google - Gemini 2.0 Flash', value: 'google.gemini-2.0-flash' },
|
|
56
|
-
{ name: 'Google - Gemini 2.0 Flash Lite', value: 'google.gemini-2.0-flash-lite' },
|
|
57
|
-
// Grok - Grok-4 Family
|
|
58
|
-
{ name: 'Grok - Grok 4 Fast Reasoning', value: 'grok.grok-4-fast-reasoning' },
|
|
59
|
-
{ name: 'Grok - Grok 4 Fast', value: 'grok.grok-4-fast-non-reasoning' },
|
|
60
|
-
{ name: 'Grok - Grok 4', value: 'grok.grok-4-0709' },
|
|
61
|
-
{ name: 'Grok - Grok Code Fast', value: 'grok.grok-code-fast-1' },
|
|
62
|
-
// Grok - Grok-3 Family
|
|
63
|
-
{ name: 'Grok - Grok 3', value: 'grok.grok-3' },
|
|
64
|
-
{ name: 'Grok - Grok 3 Mini', value: 'grok.grok-3-mini' },
|
|
65
|
-
// Grok - Grok-2 Legacy
|
|
66
|
-
{ name: 'Grok - Grok 2', value: 'grok.grok-2-1212' },
|
|
67
|
-
{ name: 'Grok - Grok 2 Vision', value: 'grok.grok-2-vision-1212' },
|
|
68
41
|
],
|
|
69
42
|
},
|
|
70
43
|
// Task Type (conditional - only when model="auto")
|
|
@@ -72,7 +45,7 @@ class ZihinGateway {
|
|
|
72
45
|
displayName: 'Task Type',
|
|
73
46
|
name: 'taskType',
|
|
74
47
|
type: 'options',
|
|
75
|
-
default: '
|
|
48
|
+
default: 'chat_general',
|
|
76
49
|
description: 'Tipo de tarefa para otimizar a seleção automática do modelo',
|
|
77
50
|
displayOptions: {
|
|
78
51
|
show: {
|
|
@@ -80,13 +53,14 @@ class ZihinGateway {
|
|
|
80
53
|
},
|
|
81
54
|
},
|
|
82
55
|
options: [
|
|
83
|
-
{ name: 'Chat
|
|
84
|
-
{ name: '
|
|
85
|
-
{ name: '
|
|
86
|
-
{ name: '
|
|
87
|
-
{ name: '
|
|
88
|
-
{ name: '
|
|
89
|
-
{ name: '
|
|
56
|
+
{ name: 'Chat Geral', value: 'chat_general' },
|
|
57
|
+
{ name: 'Escrita / Redação', value: 'write' },
|
|
58
|
+
{ name: 'Reescrita / Edição', value: 'rewrite_edit' },
|
|
59
|
+
{ name: 'Extração Estruturada', value: 'extract_structure' },
|
|
60
|
+
{ name: 'Raciocínio / Análise', value: 'reasoning_analysis' },
|
|
61
|
+
{ name: 'Código / Programação', value: 'code' },
|
|
62
|
+
{ name: 'Consulta de Dados', value: 'data_query' },
|
|
63
|
+
{ name: 'Pesquisa / Research', value: 'research' },
|
|
90
64
|
],
|
|
91
65
|
},
|
|
92
66
|
// Input Type (when model is NOT auto)
|
|
@@ -277,12 +251,70 @@ class ZihinGateway {
|
|
|
277
251
|
name: 'sessionId',
|
|
278
252
|
type: 'string',
|
|
279
253
|
default: '',
|
|
280
|
-
description: 'ID de sessão para
|
|
254
|
+
description: 'ID de sessão para telemetria (API é stateless)',
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
displayName: 'Timeout',
|
|
258
|
+
name: 'timeout',
|
|
259
|
+
type: 'number',
|
|
260
|
+
typeOptions: {
|
|
261
|
+
minValue: 1000,
|
|
262
|
+
maxValue: 300000,
|
|
263
|
+
},
|
|
264
|
+
default: 60000,
|
|
265
|
+
description: 'Tempo máximo de espera em milissegundos (padrão: 60s)',
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
displayName: 'Max Retries',
|
|
269
|
+
name: 'maxRetries',
|
|
270
|
+
type: 'number',
|
|
271
|
+
typeOptions: {
|
|
272
|
+
minValue: 0,
|
|
273
|
+
maxValue: 5,
|
|
274
|
+
},
|
|
275
|
+
default: 2,
|
|
276
|
+
description: 'Número máximo de tentativas em caso de falha (0-5)',
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
displayName: 'Base URL Override',
|
|
280
|
+
name: 'baseUrl',
|
|
281
|
+
type: 'string',
|
|
282
|
+
default: '',
|
|
283
|
+
description: 'URL base alternativa (deixar vazio para usar padrão: llm.zihin.ai)',
|
|
281
284
|
},
|
|
282
285
|
],
|
|
283
286
|
},
|
|
284
287
|
],
|
|
285
288
|
};
|
|
289
|
+
this.methods = {
|
|
290
|
+
loadOptions: {
|
|
291
|
+
async getModels() {
|
|
292
|
+
const options = [
|
|
293
|
+
{ name: 'Auto (Roteamento Inteligente)', value: 'auto' },
|
|
294
|
+
];
|
|
295
|
+
try {
|
|
296
|
+
const response = await this.helpers.httpRequest({
|
|
297
|
+
method: 'GET',
|
|
298
|
+
url: 'https://llm.zihin.ai/api/v3/llm/models',
|
|
299
|
+
json: true,
|
|
300
|
+
timeout: 10000,
|
|
301
|
+
});
|
|
302
|
+
if (response.success && response.models) {
|
|
303
|
+
for (const model of response.models) {
|
|
304
|
+
options.push({
|
|
305
|
+
name: `${model.provider} - ${model.name}`,
|
|
306
|
+
value: model.id,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
console.warn('Falha ao carregar modelos da API Zihin:', error);
|
|
313
|
+
}
|
|
314
|
+
return options;
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
};
|
|
286
318
|
}
|
|
287
319
|
async execute() {
|
|
288
320
|
const items = this.getInputData();
|
|
@@ -293,6 +325,21 @@ class ZihinGateway {
|
|
|
293
325
|
const model = this.getNodeParameter('model', itemIndex);
|
|
294
326
|
const inputType = this.getNodeParameter('inputType', itemIndex);
|
|
295
327
|
const options = this.getNodeParameter('options', itemIndex, {});
|
|
328
|
+
// Configuration with defaults
|
|
329
|
+
const timeout = options.timeout ?? 60000;
|
|
330
|
+
const maxRetries = options.maxRetries ?? 2;
|
|
331
|
+
const baseUrl = options.baseUrl || 'https://llm.zihin.ai';
|
|
332
|
+
// Build call_source for telemetry
|
|
333
|
+
let callSource = 'n8n_gateway';
|
|
334
|
+
try {
|
|
335
|
+
const workflowData = this.getWorkflow();
|
|
336
|
+
if (workflowData.id) {
|
|
337
|
+
callSource = `n8n_gateway.${workflowData.id}`;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
catch {
|
|
341
|
+
// Ignore errors extracting workflow context
|
|
342
|
+
}
|
|
296
343
|
// Build request body
|
|
297
344
|
const body = {
|
|
298
345
|
model,
|
|
@@ -348,19 +395,63 @@ class ZihinGateway {
|
|
|
348
395
|
if (options.sessionId) {
|
|
349
396
|
requestOptions.session_id = options.sessionId;
|
|
350
397
|
}
|
|
398
|
+
// Always add call_source for telemetry
|
|
399
|
+
requestOptions.call_source = callSource;
|
|
351
400
|
if (Object.keys(requestOptions).length > 0) {
|
|
352
401
|
body.options = requestOptions;
|
|
353
402
|
}
|
|
354
|
-
// Make API request
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
403
|
+
// Make API request with retry logic
|
|
404
|
+
let response = null;
|
|
405
|
+
let lastError = null;
|
|
406
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
407
|
+
try {
|
|
408
|
+
response = await this.helpers.httpRequestWithAuthentication.call(this, 'zihinApi', {
|
|
409
|
+
method: 'POST',
|
|
410
|
+
url: `${baseUrl}/api/v3/llm/public/call`,
|
|
411
|
+
headers: {
|
|
412
|
+
'Content-Type': 'application/json',
|
|
413
|
+
},
|
|
414
|
+
body,
|
|
415
|
+
json: true,
|
|
416
|
+
timeout,
|
|
417
|
+
});
|
|
418
|
+
// Check if we should retry (5xx or 429)
|
|
419
|
+
if (!response.success && response.error) {
|
|
420
|
+
const shouldRetry = response.error === 'RATE_LIMIT_EXCEEDED' ||
|
|
421
|
+
response.error.includes('500') ||
|
|
422
|
+
response.error.includes('502') ||
|
|
423
|
+
response.error.includes('503') ||
|
|
424
|
+
response.error.includes('504');
|
|
425
|
+
if (shouldRetry && attempt < maxRetries) {
|
|
426
|
+
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
|
|
427
|
+
console.warn(`⚠️ Zihin Gateway retry ${attempt + 1}/${maxRetries} após ${delay}ms`);
|
|
428
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
// Success or non-retryable error
|
|
433
|
+
break;
|
|
434
|
+
}
|
|
435
|
+
catch (error) {
|
|
436
|
+
lastError = error;
|
|
437
|
+
// Check if it's a timeout or network error that should be retried
|
|
438
|
+
const errorMessage = error.message?.toLowerCase() || '';
|
|
439
|
+
const isRetryable = errorMessage.includes('timeout') ||
|
|
440
|
+
errorMessage.includes('econnreset') ||
|
|
441
|
+
errorMessage.includes('econnrefused') ||
|
|
442
|
+
errorMessage.includes('socket');
|
|
443
|
+
if (isRetryable && attempt < maxRetries) {
|
|
444
|
+
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
|
|
445
|
+
console.warn(`⚠️ Zihin Gateway retry ${attempt + 1}/${maxRetries} após ${delay}ms (${errorMessage})`);
|
|
446
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
throw error;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
if (!response) {
|
|
453
|
+
throw lastError || new Error('Max retries exceeded');
|
|
454
|
+
}
|
|
364
455
|
// Handle response
|
|
365
456
|
if (!response.success) {
|
|
366
457
|
if (response.error === 'RATE_LIMIT_EXCEEDED') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZihinGateway.node.js","sourceRoot":"","sources":["../../../src/nodes/ZihinGateway/ZihinGateway.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ZihinGateway.node.js","sourceRoot":"","sources":["../../../src/nodes/ZihinGateway/ZihinGateway.node.ts"],"names":[],"mappings":"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"}
|