@igoruehara/canvas-flow 0.1.4 → 0.1.6
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 +152 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,15 +1,54 @@
|
|
|
1
1
|
# Canvas Flow
|
|
2
2
|
|
|
3
|
-
Canvas Flow
|
|
3
|
+
Canvas Flow e uma aplicacao web local para criar, testar e executar fluxos de IA multiagente em formato visual. O pacote npm sobe frontend e backend juntos em um unico comando.
|
|
4
|
+
|
|
5
|
+
Use quando quiser:
|
|
6
|
+
|
|
7
|
+
- criar automacoes com agentes de IA;
|
|
8
|
+
- conectar prompts, ferramentas, webhooks e documentos;
|
|
9
|
+
- testar fluxos localmente antes de publicar;
|
|
10
|
+
- usar RAG com documentos;
|
|
11
|
+
- expor fluxos por API ou webhook.
|
|
12
|
+
|
|
13
|
+
## Inicio Rapido
|
|
14
|
+
|
|
15
|
+
Com Docker, o Canvas Flow sobe MongoDB local automaticamente e abre o navegador:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx @igoruehara/canvas-flow@latest --with-docker --open
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Sem Docker, use quando voce ja tem MongoDB local, MongoDB Atlas ou outro Mongo remoto:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx @igoruehara/canvas-flow@latest --open
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Na primeira execucao o CLI cria `~/.canvas-flow/config.json`, gera secrets locais e inicia o app em:
|
|
28
|
+
|
|
29
|
+
```txt
|
|
30
|
+
http://localhost:3333
|
|
31
|
+
```
|
|
4
32
|
|
|
5
33
|
## Requisitos
|
|
6
34
|
|
|
7
35
|
- Node.js 20+
|
|
8
|
-
-
|
|
36
|
+
- MongoDB local, MongoDB remoto ou Docker Desktop
|
|
37
|
+
- Docker Desktop opcional para subir MongoDB, Milvus, MinIO e etcd localmente
|
|
38
|
+
|
|
39
|
+
## O Que Ele Entrega
|
|
9
40
|
|
|
10
|
-
|
|
41
|
+
- editor visual para montar fluxos multiagente;
|
|
42
|
+
- execucao local de frontend e API no mesmo processo Node;
|
|
43
|
+
- configuracao de provedores de IA pela UI ou pelo `config.json`;
|
|
44
|
+
- RAG com Milvus/Zilliz ou Azure AI Search;
|
|
45
|
+
- entrada por API, webhook, web widget e canais configurados no app;
|
|
46
|
+
- chaves de API para consumir fluxos publicados;
|
|
47
|
+
- validacao do ambiente com `doctor`.
|
|
11
48
|
|
|
12
|
-
|
|
49
|
+
## Rodar Com Docker
|
|
50
|
+
|
|
51
|
+
Para ambiente local simples, suba MongoDB junto com o Canvas Flow:
|
|
13
52
|
|
|
14
53
|
```bash
|
|
15
54
|
npx @igoruehara/canvas-flow@latest --with-docker --open
|
|
@@ -32,7 +71,7 @@ npx @igoruehara/canvas-flow@latest infra down
|
|
|
32
71
|
|
|
33
72
|
`infra down` para os containers, mas mantem os volumes Docker.
|
|
34
73
|
|
|
35
|
-
## Rodar
|
|
74
|
+
## Rodar Sem Docker
|
|
36
75
|
|
|
37
76
|
Use este caminho quando voce ja tem MongoDB local, Atlas ou outro Mongo remoto.
|
|
38
77
|
|
|
@@ -74,6 +113,8 @@ No Windows:
|
|
|
74
113
|
C:\Users\<usuario>\.canvas-flow\config.json
|
|
75
114
|
```
|
|
76
115
|
|
|
116
|
+
Esse arquivo guarda porta, MongoDB, tokens e provedores. Nao publique `config.json`: ele contem secrets gerados e chaves de API.
|
|
117
|
+
|
|
77
118
|
Abrir a config:
|
|
78
119
|
|
|
79
120
|
```bash
|
|
@@ -86,38 +127,104 @@ Ver o caminho da config:
|
|
|
86
127
|
npx @igoruehara/canvas-flow@latest config
|
|
87
128
|
```
|
|
88
129
|
|
|
89
|
-
|
|
130
|
+
Ver a config no terminal:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx @igoruehara/canvas-flow@latest config --show
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Tambem da para configurar ao iniciar. Esses parametros valem para aquela execucao:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npx @igoruehara/canvas-flow@latest --port 3334 --public-url http://localhost:3334 --open
|
|
140
|
+
npx @igoruehara/canvas-flow@latest --config C:\canvas-flow\config.json --open
|
|
141
|
+
npx @igoruehara/canvas-flow@latest --home C:\canvas-flow-data --open
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Campos Principais Do Config
|
|
145
|
+
|
|
146
|
+
`server`: controla porta, URL publica, Swagger, CORS e abertura do navegador.
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"server": {
|
|
151
|
+
"port": 3333,
|
|
152
|
+
"publicUrl": "http://localhost:3333",
|
|
153
|
+
"openBrowser": false
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
`database`: obrigatorio. Use Mongo local, Mongo do Docker ou MongoDB Atlas.
|
|
159
|
+
|
|
160
|
+
```json
|
|
161
|
+
{
|
|
162
|
+
"database": {
|
|
163
|
+
"mongoUrl": "mongodb://127.0.0.1:27017/canvas_flow"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
`auth`: gerado automaticamente. Mantenha `apiToken`, `jwtSecret` e `mediaProxySecret` privados. `login` e opcional.
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
{
|
|
172
|
+
"auth": {
|
|
173
|
+
"login": false,
|
|
174
|
+
"apiToken": "generated-by-canvas-flow-init",
|
|
175
|
+
"jwtSecret": "generated-by-canvas-flow-init"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
`providers`: opcional. Preencha somente os provedores que vai usar. Sem chave de LLM, fluxos que chamam IA/LLM nao vao executar geracao.
|
|
90
181
|
|
|
91
182
|
```json
|
|
92
183
|
{
|
|
93
184
|
"providers": {
|
|
94
185
|
"openai": {
|
|
95
|
-
"apiKey": "sk-..."
|
|
186
|
+
"apiKey": "sk-...",
|
|
187
|
+
"chatModel": "gpt-4o"
|
|
188
|
+
},
|
|
189
|
+
"claude": {
|
|
190
|
+
"apiKey": "",
|
|
191
|
+
"chatModel": "claude-sonnet-4-6"
|
|
192
|
+
},
|
|
193
|
+
"gemini": {
|
|
194
|
+
"apiKey": "",
|
|
195
|
+
"chatModel": "gemini-3.5-flash"
|
|
96
196
|
}
|
|
97
197
|
}
|
|
98
198
|
}
|
|
99
199
|
```
|
|
100
200
|
|
|
101
|
-
|
|
201
|
+
Tambem e possivel configurar provedores pela propria aplicacao depois que ela estiver rodando. Nesse caso, a configuracao fica salva no MongoDB.
|
|
202
|
+
|
|
203
|
+
`providers.milvus`: opcional para RAG com Milvus/Zilliz. Milvus local via Docker pode rodar sem token. Milvus remoto normalmente precisa de `token` ou `username/password`.
|
|
102
204
|
|
|
103
205
|
```json
|
|
104
206
|
{
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
|
|
207
|
+
"providers": {
|
|
208
|
+
"milvus": {
|
|
209
|
+
"address": "",
|
|
210
|
+
"token": "",
|
|
211
|
+
"collectionName": "canvas_flow_docs"
|
|
212
|
+
}
|
|
108
213
|
}
|
|
109
214
|
}
|
|
110
215
|
```
|
|
111
216
|
|
|
112
|
-
|
|
217
|
+
`providers.azureSearch` e `providers.azureBlob`: opcionais para RAG/arquivos usando Azure AI Search e Azure Blob.
|
|
113
218
|
|
|
114
|
-
|
|
115
|
-
npx @igoruehara/canvas-flow@latest --config C:\canvas-flow\config.json --open
|
|
116
|
-
```
|
|
219
|
+
`files`: opcional. Por padrao usa armazenamento local em `./tmp/canvas-flow-documents`. Configure S3 apenas se quiser arquivos em bucket.
|
|
117
220
|
|
|
118
|
-
|
|
221
|
+
`sqs`: opcional. Ative apenas se quiser filas AWS SQS para transicoes assincronas.
|
|
119
222
|
|
|
120
|
-
|
|
223
|
+
`rateLimit`, `httpBatch` e `agentOps`: opcionais. Ajustam limites de API, timeouts de chamadas HTTP em lote e historico/trace operacional.
|
|
224
|
+
|
|
225
|
+
`runtime` e `aws`: opcionais. Ajustam timezone, execucao de cron, limites do runtime e regiao AWS.
|
|
226
|
+
|
|
227
|
+
## Validar Ambiente
|
|
121
228
|
|
|
122
229
|
```bash
|
|
123
230
|
npx @igoruehara/canvas-flow@latest doctor
|
|
@@ -129,7 +236,28 @@ Sem checar rede/Mongo:
|
|
|
129
236
|
npx @igoruehara/canvas-flow@latest doctor --offline
|
|
130
237
|
```
|
|
131
238
|
|
|
132
|
-
|
|
239
|
+
Para tratar avisos como erro:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
npx @igoruehara/canvas-flow@latest doctor --strict
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Comandos Do CLI
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
npx @igoruehara/canvas-flow@latest init
|
|
249
|
+
npx @igoruehara/canvas-flow@latest config
|
|
250
|
+
npx @igoruehara/canvas-flow@latest config --edit
|
|
251
|
+
npx @igoruehara/canvas-flow@latest config --show
|
|
252
|
+
npx @igoruehara/canvas-flow@latest doctor
|
|
253
|
+
npx @igoruehara/canvas-flow@latest infra up
|
|
254
|
+
npx @igoruehara/canvas-flow@latest infra up --full
|
|
255
|
+
npx @igoruehara/canvas-flow@latest infra status
|
|
256
|
+
npx @igoruehara/canvas-flow@latest infra logs
|
|
257
|
+
npx @igoruehara/canvas-flow@latest infra down
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Instalar Globalmente
|
|
133
261
|
|
|
134
262
|
Opcional:
|
|
135
263
|
|
|
@@ -137,3 +265,9 @@ Opcional:
|
|
|
137
265
|
npm i -g @igoruehara/canvas-flow
|
|
138
266
|
canvas-flow --with-docker --open
|
|
139
267
|
```
|
|
268
|
+
|
|
269
|
+
## Seguranca
|
|
270
|
+
|
|
271
|
+
- Nao publique `~/.canvas-flow/config.json`.
|
|
272
|
+
- Nao exponha `auth.apiToken`, `jwtSecret`, `mediaProxySecret` ou chaves de provedores.
|
|
273
|
+
- Para uso publico ou producao, revise login, CORS, Swagger, limites de API, armazenamento de arquivos e provedores antes de expor o app.
|