@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.
Files changed (2) hide show
  1. package/README.md +152 -18
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,15 +1,54 @@
1
1
  # Canvas Flow
2
2
 
3
- Canvas Flow roda frontend e backend juntos a partir de um pacote npm.
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
- - Docker Desktop opcional, apenas para subir Mongo/Milvus localmente
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
- ## Rodar com Docker
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
- Este caminho sobe MongoDB local automaticamente e abre o navegador.
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 sem Docker
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
- Exemplo com OpenAI:
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
- Exemplo com porta customizada:
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
- "server": {
106
- "port": 3334,
107
- "publicUrl": "http://localhost:3334"
207
+ "providers": {
208
+ "milvus": {
209
+ "address": "",
210
+ "token": "",
211
+ "collectionName": "canvas_flow_docs"
212
+ }
108
213
  }
109
214
  }
110
215
  ```
111
216
 
112
- Tambem da para usar outro arquivo:
217
+ `providers.azureSearch` e `providers.azureBlob`: opcionais para RAG/arquivos usando Azure AI Search e Azure Blob.
113
218
 
114
- ```bash
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
- Nao publique `config.json`: ele contem tokens e secrets gerados.
221
+ `sqs`: opcional. Ative apenas se quiser filas AWS SQS para transicoes assincronas.
119
222
 
120
- ## Validar
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
- ## Instalar globalmente
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igoruehara/canvas-flow",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Standalone npm launcher for Canvas Flow multi-agent GenAI workflows.",
5
5
  "keywords": [
6
6
  "IA",