machinaos 0.0.1 → 0.0.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/.env.template +71 -71
- package/LICENSE +21 -21
- package/README.md +145 -87
- package/bin/cli.js +62 -106
- package/client/.dockerignore +45 -45
- package/client/Dockerfile +68 -68
- package/client/dist/assets/index-DFSC53FP.css +1 -0
- package/client/dist/assets/index-fJ-1gTf5.js +613 -0
- package/client/dist/index.html +14 -0
- package/client/eslint.config.js +34 -16
- package/client/nginx.conf +66 -66
- package/client/package.json +61 -48
- package/client/src/App.tsx +27 -27
- package/client/src/Dashboard.tsx +1200 -1172
- package/client/src/ParameterPanel.tsx +302 -300
- package/client/src/components/AIAgentNode.tsx +315 -321
- package/client/src/components/APIKeyValidator.tsx +117 -117
- package/client/src/components/ClaudeChatModelNode.tsx +17 -17
- package/client/src/components/CredentialsModal.tsx +1200 -306
- package/client/src/components/GeminiChatModelNode.tsx +17 -17
- package/client/src/components/GenericNode.tsx +356 -356
- package/client/src/components/LocationParameterPanel.tsx +153 -153
- package/client/src/components/ModelNode.tsx +285 -285
- package/client/src/components/OpenAIChatModelNode.tsx +17 -17
- package/client/src/components/OutputPanel.tsx +470 -470
- package/client/src/components/ParameterRenderer.tsx +1873 -1873
- package/client/src/components/SkillEditorModal.tsx +3 -3
- package/client/src/components/SquareNode.tsx +812 -796
- package/client/src/components/ToolkitNode.tsx +365 -365
- package/client/src/components/auth/LoginPage.tsx +247 -247
- package/client/src/components/auth/ProtectedRoute.tsx +59 -59
- package/client/src/components/base/BaseChatModelNode.tsx +270 -270
- package/client/src/components/icons/AIProviderIcons.tsx +50 -50
- package/client/src/components/maps/GoogleMapsPicker.tsx +136 -136
- package/client/src/components/maps/MapsPreviewPanel.tsx +109 -109
- package/client/src/components/maps/index.ts +25 -25
- package/client/src/components/parameterPanel/InputSection.tsx +1094 -1094
- package/client/src/components/parameterPanel/LocationPanelLayout.tsx +64 -64
- package/client/src/components/parameterPanel/MapsSection.tsx +91 -91
- package/client/src/components/parameterPanel/MiddleSection.tsx +867 -571
- package/client/src/components/parameterPanel/OutputSection.tsx +80 -80
- package/client/src/components/parameterPanel/ParameterPanelLayout.tsx +81 -81
- package/client/src/components/parameterPanel/ToolSchemaEditor.tsx +436 -436
- package/client/src/components/parameterPanel/index.ts +41 -41
- package/client/src/components/shared/DataPanel.tsx +142 -142
- package/client/src/components/shared/JSONTreeRenderer.tsx +105 -105
- package/client/src/components/ui/AIResultModal.tsx +203 -203
- package/client/src/components/ui/ApiKeyInput.tsx +93 -0
- package/client/src/components/ui/CodeEditor.tsx +81 -81
- package/client/src/components/ui/CollapsibleSection.tsx +87 -87
- package/client/src/components/ui/ComponentItem.tsx +153 -153
- package/client/src/components/ui/ComponentPalette.tsx +320 -320
- package/client/src/components/ui/ConsolePanel.tsx +151 -43
- package/client/src/components/ui/ErrorBoundary.tsx +195 -195
- package/client/src/components/ui/InputNodesPanel.tsx +203 -203
- package/client/src/components/ui/MapSelector.tsx +313 -313
- package/client/src/components/ui/Modal.tsx +151 -148
- package/client/src/components/ui/NodeOutputPanel.tsx +1150 -1150
- package/client/src/components/ui/OutputDisplayPanel.tsx +381 -381
- package/client/src/components/ui/QRCodeDisplay.tsx +182 -0
- package/client/src/components/ui/TopToolbar.tsx +736 -736
- package/client/src/components/ui/WorkflowSidebar.tsx +293 -293
- package/client/src/config/antdTheme.ts +186 -186
- package/client/src/contexts/AuthContext.tsx +221 -221
- package/client/src/contexts/ThemeContext.tsx +42 -42
- package/client/src/contexts/WebSocketContext.tsx +2144 -1971
- package/client/src/factories/baseChatModelFactory.ts +255 -255
- package/client/src/hooks/useAndroidOperations.ts +118 -164
- package/client/src/hooks/useApiKeyValidation.ts +106 -106
- package/client/src/hooks/useApiKeys.ts +238 -238
- package/client/src/hooks/useAppTheme.ts +17 -17
- package/client/src/hooks/useComponentPalette.ts +50 -50
- package/client/src/hooks/useDragAndDrop.ts +123 -123
- package/client/src/hooks/useDragVariable.ts +88 -88
- package/client/src/hooks/useExecution.ts +319 -313
- package/client/src/hooks/useParameterPanel.ts +176 -176
- package/client/src/hooks/useReactFlowNodes.ts +188 -188
- package/client/src/hooks/useToolSchema.ts +209 -209
- package/client/src/hooks/useWhatsApp.ts +196 -196
- package/client/src/hooks/useWorkflowManagement.ts +45 -45
- package/client/src/index.css +314 -314
- package/client/src/nodeDefinitions/aiAgentNodes.ts +335 -335
- package/client/src/nodeDefinitions/aiModelNodes.ts +340 -340
- package/client/src/nodeDefinitions/androidServiceNodes.ts +383 -383
- package/client/src/nodeDefinitions/chatNodes.ts +135 -135
- package/client/src/nodeDefinitions/codeNodes.ts +54 -54
- package/client/src/nodeDefinitions/index.ts +14 -14
- package/client/src/nodeDefinitions/locationNodes.ts +462 -462
- package/client/src/nodeDefinitions/schedulerNodes.ts +220 -220
- package/client/src/nodeDefinitions/skillNodes.ts +17 -5
- package/client/src/nodeDefinitions/utilityNodes.ts +284 -284
- package/client/src/nodeDefinitions/whatsappNodes.ts +821 -865
- package/client/src/nodeDefinitions.ts +101 -103
- package/client/src/services/dynamicParameterService.ts +95 -95
- package/client/src/services/execution/aiAgentExecutionService.ts +34 -34
- package/client/src/services/executionService.ts +227 -231
- package/client/src/services/workflowApi.ts +91 -91
- package/client/src/store/useAppStore.ts +578 -581
- package/client/src/styles/theme.ts +513 -508
- package/client/src/styles/zIndex.ts +16 -16
- package/client/src/types/ComponentTypes.ts +38 -38
- package/client/src/types/INodeProperties.ts +287 -287
- package/client/src/types/NodeTypes.ts +27 -27
- package/client/src/utils/formatters.ts +32 -32
- package/client/src/utils/googleMapsLoader.ts +139 -139
- package/client/src/utils/locationUtils.ts +84 -84
- package/client/src/utils/nodeUtils.ts +30 -30
- package/client/src/utils/workflow.ts +29 -29
- package/client/src/vite-env.d.ts +12 -12
- package/client/tailwind.config.js +59 -59
- package/client/tsconfig.json +25 -25
- package/client/vite.config.js +35 -35
- package/package.json +78 -70
- package/scripts/build.js +153 -45
- package/scripts/clean.js +40 -40
- package/scripts/start.js +234 -210
- package/scripts/stop.js +301 -325
- package/server/.dockerignore +44 -44
- package/server/Dockerfile +45 -45
- package/server/constants.py +244 -249
- package/server/core/cache.py +460 -460
- package/server/core/config.py +127 -127
- package/server/core/container.py +98 -98
- package/server/core/database.py +1296 -1210
- package/server/core/logging.py +313 -313
- package/server/main.py +288 -288
- package/server/middleware/__init__.py +5 -5
- package/server/middleware/auth.py +89 -89
- package/server/models/auth.py +52 -52
- package/server/models/cache.py +24 -24
- package/server/models/database.py +235 -210
- package/server/models/nodes.py +435 -455
- package/server/pyproject.toml +75 -72
- package/server/requirements.txt +83 -83
- package/server/routers/android.py +294 -294
- package/server/routers/auth.py +203 -203
- package/server/routers/database.py +150 -150
- package/server/routers/maps.py +141 -141
- package/server/routers/nodejs_compat.py +288 -288
- package/server/routers/webhook.py +90 -90
- package/server/routers/websocket.py +2239 -2127
- package/server/routers/whatsapp.py +761 -761
- package/server/routers/workflow.py +199 -199
- package/server/services/ai.py +2444 -2414
- package/server/services/android_service.py +588 -588
- package/server/services/auth.py +130 -130
- package/server/services/chat_client.py +160 -160
- package/server/services/deployment/manager.py +706 -706
- package/server/services/event_waiter.py +675 -785
- package/server/services/execution/executor.py +1351 -1351
- package/server/services/execution/models.py +1 -1
- package/server/services/handlers/__init__.py +122 -126
- package/server/services/handlers/ai.py +390 -355
- package/server/services/handlers/android.py +69 -260
- package/server/services/handlers/code.py +278 -278
- package/server/services/handlers/http.py +193 -193
- package/server/services/handlers/tools.py +146 -32
- package/server/services/handlers/triggers.py +107 -107
- package/server/services/handlers/utility.py +822 -822
- package/server/services/handlers/whatsapp.py +423 -476
- package/server/services/maps.py +288 -288
- package/server/services/memory_store.py +103 -103
- package/server/services/node_executor.py +372 -375
- package/server/services/scheduler.py +155 -155
- package/server/services/skill_loader.py +1 -1
- package/server/services/status_broadcaster.py +834 -826
- package/server/services/temporal/__init__.py +23 -23
- package/server/services/temporal/activities.py +344 -344
- package/server/services/temporal/client.py +76 -76
- package/server/services/temporal/executor.py +147 -147
- package/server/services/temporal/worker.py +251 -251
- package/server/services/temporal/workflow.py +355 -355
- package/server/services/temporal/ws_client.py +236 -236
- package/server/services/text.py +110 -110
- package/server/services/user_auth.py +172 -172
- package/server/services/websocket_client.py +29 -29
- package/server/services/workflow.py +597 -597
- package/server/skills/android-skill/SKILL.md +4 -4
- package/server/skills/code-skill/SKILL.md +123 -89
- package/server/skills/maps-skill/SKILL.md +3 -3
- package/server/skills/memory-skill/SKILL.md +1 -1
- package/server/skills/web-search-skill/SKILL.md +154 -0
- package/server/skills/whatsapp-skill/SKILL.md +3 -3
- package/server/uv.lock +461 -100
- package/server/whatsapp-rpc/.dockerignore +30 -30
- package/server/whatsapp-rpc/Dockerfile +44 -44
- package/server/whatsapp-rpc/Dockerfile.web +17 -17
- package/server/whatsapp-rpc/README.md +139 -139
- package/server/whatsapp-rpc/bin/whatsapp-rpc-server +0 -0
- package/server/whatsapp-rpc/cli.js +95 -95
- package/server/whatsapp-rpc/configs/config.yaml +6 -6
- package/server/whatsapp-rpc/docker-compose.yml +35 -35
- package/server/whatsapp-rpc/docs/API.md +410 -410
- package/server/whatsapp-rpc/node_modules/.package-lock.json +259 -0
- package/server/whatsapp-rpc/node_modules/chalk/license +9 -0
- package/server/whatsapp-rpc/node_modules/chalk/package.json +83 -0
- package/server/whatsapp-rpc/node_modules/chalk/readme.md +297 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/index.d.ts +325 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/index.js +225 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/utilities.js +33 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
- package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
- package/server/whatsapp-rpc/node_modules/commander/LICENSE +22 -0
- package/server/whatsapp-rpc/node_modules/commander/Readme.md +1148 -0
- package/server/whatsapp-rpc/node_modules/commander/esm.mjs +16 -0
- package/server/whatsapp-rpc/node_modules/commander/index.js +26 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/argument.js +145 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/command.js +2179 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/error.js +43 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/help.js +462 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/option.js +329 -0
- package/server/whatsapp-rpc/node_modules/commander/lib/suggestSimilar.js +100 -0
- package/server/whatsapp-rpc/node_modules/commander/package-support.json +16 -0
- package/server/whatsapp-rpc/node_modules/commander/package.json +80 -0
- package/server/whatsapp-rpc/node_modules/commander/typings/esm.d.mts +3 -0
- package/server/whatsapp-rpc/node_modules/commander/typings/index.d.ts +884 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/README.md +89 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/index.js +39 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/parse.js +91 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/server/whatsapp-rpc/node_modules/cross-spawn/package.json +73 -0
- package/server/whatsapp-rpc/node_modules/execa/index.d.ts +955 -0
- package/server/whatsapp-rpc/node_modules/execa/index.js +309 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/command.js +119 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/error.js +87 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/kill.js +102 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/pipe.js +42 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/promise.js +36 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/stdio.js +49 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/stream.js +133 -0
- package/server/whatsapp-rpc/node_modules/execa/lib/verbose.js +19 -0
- package/server/whatsapp-rpc/node_modules/execa/license +9 -0
- package/server/whatsapp-rpc/node_modules/execa/package.json +90 -0
- package/server/whatsapp-rpc/node_modules/execa/readme.md +822 -0
- package/server/whatsapp-rpc/node_modules/get-stream/license +9 -0
- package/server/whatsapp-rpc/node_modules/get-stream/package.json +53 -0
- package/server/whatsapp-rpc/node_modules/get-stream/readme.md +291 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/array-buffer.js +84 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/array.js +32 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/buffer.js +20 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/contents.js +101 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/index.d.ts +119 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/index.js +5 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/string.js +36 -0
- package/server/whatsapp-rpc/node_modules/get-stream/source/utils.js +11 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/README.md +95 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/index.js +97 -0
- package/server/whatsapp-rpc/node_modules/get-them-args/package.json +36 -0
- package/server/whatsapp-rpc/node_modules/human-signals/LICENSE +201 -0
- package/server/whatsapp-rpc/node_modules/human-signals/README.md +168 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/core.js +273 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.d.ts +73 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.js +70 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/realtime.js +16 -0
- package/server/whatsapp-rpc/node_modules/human-signals/build/src/signals.js +34 -0
- package/server/whatsapp-rpc/node_modules/human-signals/package.json +61 -0
- package/server/whatsapp-rpc/node_modules/is-stream/index.d.ts +81 -0
- package/server/whatsapp-rpc/node_modules/is-stream/index.js +29 -0
- package/server/whatsapp-rpc/node_modules/is-stream/license +9 -0
- package/server/whatsapp-rpc/node_modules/is-stream/package.json +44 -0
- package/server/whatsapp-rpc/node_modules/is-stream/readme.md +60 -0
- package/server/whatsapp-rpc/node_modules/isexe/LICENSE +15 -0
- package/server/whatsapp-rpc/node_modules/isexe/README.md +51 -0
- package/server/whatsapp-rpc/node_modules/isexe/index.js +57 -0
- package/server/whatsapp-rpc/node_modules/isexe/mode.js +41 -0
- package/server/whatsapp-rpc/node_modules/isexe/package.json +31 -0
- package/server/whatsapp-rpc/node_modules/isexe/test/basic.js +221 -0
- package/server/whatsapp-rpc/node_modules/isexe/windows.js +42 -0
- package/server/whatsapp-rpc/node_modules/kill-port/.editorconfig +12 -0
- package/server/whatsapp-rpc/node_modules/kill-port/.gitattributes +1 -0
- package/server/whatsapp-rpc/node_modules/kill-port/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/kill-port/README.md +140 -0
- package/server/whatsapp-rpc/node_modules/kill-port/cli.js +25 -0
- package/server/whatsapp-rpc/node_modules/kill-port/example.js +21 -0
- package/server/whatsapp-rpc/node_modules/kill-port/index.js +46 -0
- package/server/whatsapp-rpc/node_modules/kill-port/logo.png +0 -0
- package/server/whatsapp-rpc/node_modules/kill-port/package.json +41 -0
- package/server/whatsapp-rpc/node_modules/kill-port/pnpm-lock.yaml +4606 -0
- package/server/whatsapp-rpc/node_modules/kill-port/test.js +16 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/README.md +78 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/index.js +41 -0
- package/server/whatsapp-rpc/node_modules/merge-stream/package.json +19 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/index.d.ts +52 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/index.js +71 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/license +9 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/package.json +45 -0
- package/server/whatsapp-rpc/node_modules/mimic-fn/readme.md +90 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/index.d.ts +90 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/index.js +52 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/license +9 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/license +9 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/package.json +49 -0
- package/server/whatsapp-rpc/node_modules/npm-run-path/readme.md +104 -0
- package/server/whatsapp-rpc/node_modules/onetime/index.d.ts +59 -0
- package/server/whatsapp-rpc/node_modules/onetime/index.js +41 -0
- package/server/whatsapp-rpc/node_modules/onetime/license +9 -0
- package/server/whatsapp-rpc/node_modules/onetime/package.json +45 -0
- package/server/whatsapp-rpc/node_modules/onetime/readme.md +94 -0
- package/server/whatsapp-rpc/node_modules/path-key/index.d.ts +40 -0
- package/server/whatsapp-rpc/node_modules/path-key/index.js +16 -0
- package/server/whatsapp-rpc/node_modules/path-key/license +9 -0
- package/server/whatsapp-rpc/node_modules/path-key/package.json +39 -0
- package/server/whatsapp-rpc/node_modules/path-key/readme.md +61 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/index.js +19 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/license +9 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/package.json +34 -0
- package/server/whatsapp-rpc/node_modules/shebang-command/readme.md +34 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/index.d.ts +22 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/index.js +2 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/license +9 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/package.json +35 -0
- package/server/whatsapp-rpc/node_modules/shebang-regex/readme.md +33 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/LICENSE +21 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/README.md +60 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/index.js +47 -0
- package/server/whatsapp-rpc/node_modules/shell-exec/package.json +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/LICENSE.txt +16 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/README.md +74 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/server/whatsapp-rpc/node_modules/signal-exit/package.json +106 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/index.js +14 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/license +9 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/package.json +43 -0
- package/server/whatsapp-rpc/node_modules/strip-final-newline/readme.md +35 -0
- package/server/whatsapp-rpc/node_modules/which/CHANGELOG.md +166 -0
- package/server/whatsapp-rpc/node_modules/which/LICENSE +15 -0
- package/server/whatsapp-rpc/node_modules/which/README.md +54 -0
- package/server/whatsapp-rpc/node_modules/which/bin/node-which +52 -0
- package/server/whatsapp-rpc/node_modules/which/package.json +43 -0
- package/server/whatsapp-rpc/node_modules/which/which.js +125 -0
- package/server/whatsapp-rpc/package-lock.json +272 -0
- package/server/whatsapp-rpc/package.json +30 -30
- package/server/whatsapp-rpc/schema.json +1294 -1294
- package/server/whatsapp-rpc/scripts/clean.cjs +66 -66
- package/server/whatsapp-rpc/scripts/cli.js +162 -162
- package/server/whatsapp-rpc/src/go/whatsapp/history.go +166 -166
- package/server/whatsapp-rpc/src/python/pyproject.toml +15 -15
- package/server/whatsapp-rpc/src/python/whatsapp_rpc/__init__.py +4 -4
- package/server/whatsapp-rpc/src/python/whatsapp_rpc/client.py +427 -427
- package/server/whatsapp-rpc/web/app.py +609 -609
- package/server/whatsapp-rpc/web/requirements.txt +6 -6
- package/server/whatsapp-rpc/web/rpc_client.py +427 -427
- package/server/whatsapp-rpc/web/static/openapi.yaml +59 -59
- package/server/whatsapp-rpc/web/templates/base.html +149 -149
- package/server/whatsapp-rpc/web/templates/contacts.html +240 -240
- package/server/whatsapp-rpc/web/templates/dashboard.html +319 -319
- package/server/whatsapp-rpc/web/templates/groups.html +328 -328
- package/server/whatsapp-rpc/web/templates/messages.html +465 -465
- package/server/whatsapp-rpc/web/templates/messaging.html +680 -680
- package/server/whatsapp-rpc/web/templates/send.html +258 -258
- package/server/whatsapp-rpc/web/templates/settings.html +459 -459
- package/client/src/components/ui/AndroidSettingsPanel.tsx +0 -401
- package/client/src/components/ui/WhatsAppSettingsPanel.tsx +0 -345
- package/client/src/nodeDefinitions/androidDeviceNodes.ts +0 -140
- package/docker-compose.prod.yml +0 -107
- package/docker-compose.yml +0 -104
- package/docs-MachinaOs/README.md +0 -85
- package/docs-MachinaOs/deployment/docker.mdx +0 -228
- package/docs-MachinaOs/deployment/production.mdx +0 -345
- package/docs-MachinaOs/docs.json +0 -75
- package/docs-MachinaOs/faq.mdx +0 -309
- package/docs-MachinaOs/favicon.svg +0 -5
- package/docs-MachinaOs/installation.mdx +0 -160
- package/docs-MachinaOs/introduction.mdx +0 -114
- package/docs-MachinaOs/logo/dark.svg +0 -6
- package/docs-MachinaOs/logo/light.svg +0 -6
- package/docs-MachinaOs/nodes/ai-agent.mdx +0 -216
- package/docs-MachinaOs/nodes/ai-models.mdx +0 -240
- package/docs-MachinaOs/nodes/android.mdx +0 -411
- package/docs-MachinaOs/nodes/overview.mdx +0 -181
- package/docs-MachinaOs/nodes/schedulers.mdx +0 -316
- package/docs-MachinaOs/nodes/webhooks.mdx +0 -330
- package/docs-MachinaOs/nodes/whatsapp.mdx +0 -305
- package/docs-MachinaOs/quickstart.mdx +0 -119
- package/docs-MachinaOs/tutorials/ai-agent-workflow.mdx +0 -177
- package/docs-MachinaOs/tutorials/android-automation.mdx +0 -242
- package/docs-MachinaOs/tutorials/first-workflow.mdx +0 -134
- package/docs-MachinaOs/tutorials/whatsapp-automation.mdx +0 -185
- package/nul +0 -0
- package/scripts/check-ports.ps1 +0 -33
- package/scripts/kill-port.ps1 +0 -154
package/docs-MachinaOs/docs.json
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://mintlify.com/docs.json",
|
|
3
|
-
"theme": "mint",
|
|
4
|
-
"name": "MachinaOs",
|
|
5
|
-
"colors": {
|
|
6
|
-
"primary": "#16A34A",
|
|
7
|
-
"light": "#07C983",
|
|
8
|
-
"dark": "#15803D"
|
|
9
|
-
},
|
|
10
|
-
"logo": {
|
|
11
|
-
"dark": "/logo/dark.svg",
|
|
12
|
-
"light": "/logo/light.svg"
|
|
13
|
-
},
|
|
14
|
-
"favicon": "/favicon.svg",
|
|
15
|
-
"navigation": {
|
|
16
|
-
"dropdowns": [
|
|
17
|
-
{
|
|
18
|
-
"dropdown": "Documentation",
|
|
19
|
-
"icon": "book",
|
|
20
|
-
"groups": [
|
|
21
|
-
{
|
|
22
|
-
"group": "Getting Started",
|
|
23
|
-
"pages": ["introduction", "installation", "quickstart"]
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"group": "Tutorials",
|
|
27
|
-
"pages": [
|
|
28
|
-
"tutorials/first-workflow",
|
|
29
|
-
"tutorials/ai-agent-workflow",
|
|
30
|
-
"tutorials/whatsapp-automation",
|
|
31
|
-
"tutorials/android-automation"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"group": "Node Catalog",
|
|
36
|
-
"pages": [
|
|
37
|
-
"nodes/overview",
|
|
38
|
-
"nodes/ai-models",
|
|
39
|
-
"nodes/ai-agent",
|
|
40
|
-
"nodes/whatsapp",
|
|
41
|
-
"nodes/android",
|
|
42
|
-
"nodes/webhooks",
|
|
43
|
-
"nodes/schedulers"
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"group": "Deployment",
|
|
48
|
-
"pages": ["deployment/docker", "deployment/production"]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"group": "FAQ",
|
|
52
|
-
"pages": ["faq"]
|
|
53
|
-
}
|
|
54
|
-
]
|
|
55
|
-
}
|
|
56
|
-
]
|
|
57
|
-
},
|
|
58
|
-
"navbar": {
|
|
59
|
-
"links": [
|
|
60
|
-
{
|
|
61
|
-
"label": "GitHub",
|
|
62
|
-
"href": "https://github.com/trohitg/MachinaOs"
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
},
|
|
66
|
-
"footerSocials": {
|
|
67
|
-
"github": "https://github.com/trohitg/MachinaOs"
|
|
68
|
-
},
|
|
69
|
-
"feedback": {
|
|
70
|
-
"thumbsRating": true
|
|
71
|
-
},
|
|
72
|
-
"search": {
|
|
73
|
-
"prompt": "Search MachinaOs docs..."
|
|
74
|
-
}
|
|
75
|
-
}
|
package/docs-MachinaOs/faq.mdx
DELETED
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: FAQ
|
|
3
|
-
description: Frequently asked questions about MachinaOs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Frequently Asked Questions
|
|
7
|
-
|
|
8
|
-
Common questions and troubleshooting for MachinaOs.
|
|
9
|
-
|
|
10
|
-
## General
|
|
11
|
-
|
|
12
|
-
<AccordionGroup>
|
|
13
|
-
<Accordion title="What is MachinaOs?">
|
|
14
|
-
MachinaOs is an open-source workflow automation platform inspired by n8n. It lets you create visual workflows that connect AI models, messaging services, devices, and APIs using a drag-and-drop interface.
|
|
15
|
-
</Accordion>
|
|
16
|
-
|
|
17
|
-
<Accordion title="Is MachinaOs free to use?">
|
|
18
|
-
Yes, MachinaOs is open-source and free to self-host. You only pay for external services you use (AI API calls, cloud hosting, etc.).
|
|
19
|
-
</Accordion>
|
|
20
|
-
|
|
21
|
-
<Accordion title="What's the difference between MachinaOs and n8n?">
|
|
22
|
-
MachinaOs is inspired by n8n's node-based approach but focuses on:
|
|
23
|
-
- Deep AI integration (OpenAI, Claude, Gemini with memory)
|
|
24
|
-
- WhatsApp automation
|
|
25
|
-
- Android device control
|
|
26
|
-
- Real-time WebSocket communication
|
|
27
|
-
|
|
28
|
-
MachinaOs is built with React and Python, while n8n uses Node.js.
|
|
29
|
-
</Accordion>
|
|
30
|
-
|
|
31
|
-
<Accordion title="Can I use MachinaOs commercially?">
|
|
32
|
-
Yes, MachinaOs is released under an open-source license. Check the repository for specific license terms.
|
|
33
|
-
</Accordion>
|
|
34
|
-
</AccordionGroup>
|
|
35
|
-
|
|
36
|
-
## Installation
|
|
37
|
-
|
|
38
|
-
<AccordionGroup>
|
|
39
|
-
<Accordion title="What are the system requirements?">
|
|
40
|
-
**Minimum:**
|
|
41
|
-
- 2GB RAM
|
|
42
|
-
- 2 CPU cores
|
|
43
|
-
- 10GB disk space
|
|
44
|
-
|
|
45
|
-
**Recommended:**
|
|
46
|
-
- 4GB+ RAM
|
|
47
|
-
- 4+ CPU cores
|
|
48
|
-
- SSD storage
|
|
49
|
-
</Accordion>
|
|
50
|
-
|
|
51
|
-
<Accordion title="Can I run MachinaOs on Windows?">
|
|
52
|
-
Yes, using Docker Desktop for Windows or WSL2. Native development is also supported with Node.js and Python installed.
|
|
53
|
-
</Accordion>
|
|
54
|
-
|
|
55
|
-
<Accordion title="How do I update MachinaOs?">
|
|
56
|
-
```bash
|
|
57
|
-
cd MachinaOs
|
|
58
|
-
git pull
|
|
59
|
-
docker-compose down
|
|
60
|
-
docker-compose up --build -d
|
|
61
|
-
```
|
|
62
|
-
</Accordion>
|
|
63
|
-
|
|
64
|
-
<Accordion title="Port 3000 is already in use">
|
|
65
|
-
Change the port in your `.env` file:
|
|
66
|
-
```
|
|
67
|
-
VITE_CLIENT_PORT=3001
|
|
68
|
-
```
|
|
69
|
-
Then restart the services.
|
|
70
|
-
</Accordion>
|
|
71
|
-
</AccordionGroup>
|
|
72
|
-
|
|
73
|
-
## Workflows
|
|
74
|
-
|
|
75
|
-
<AccordionGroup>
|
|
76
|
-
<Accordion title="What's the difference between Save and Deploy?">
|
|
77
|
-
- **Save**: Persists your workflow to the database. The workflow is not running.
|
|
78
|
-
- **Deploy**: Activates triggers and starts listening for events. Required for cron schedules, webhooks, and message triggers.
|
|
79
|
-
</Accordion>
|
|
80
|
-
|
|
81
|
-
<Accordion title="Why isn't my trigger node firing?">
|
|
82
|
-
1. Make sure the workflow is **deployed** (not just saved)
|
|
83
|
-
2. Check if filters are too restrictive
|
|
84
|
-
3. Verify external services are connected (WhatsApp, Android)
|
|
85
|
-
4. Check backend logs for errors
|
|
86
|
-
</Accordion>
|
|
87
|
-
|
|
88
|
-
<Accordion title="How do I pass data between nodes?">
|
|
89
|
-
Use template variables:
|
|
90
|
-
```
|
|
91
|
-
{{nodeName.fieldName}}
|
|
92
|
-
```
|
|
93
|
-
Example: `{{webhookTrigger.body.message}}`
|
|
94
|
-
</Accordion>
|
|
95
|
-
|
|
96
|
-
<Accordion title="Can I run multiple workflows simultaneously?">
|
|
97
|
-
Yes, each deployed workflow runs independently. Multiple workflows can have triggers active at the same time.
|
|
98
|
-
</Accordion>
|
|
99
|
-
|
|
100
|
-
<Accordion title="How do I debug a workflow?">
|
|
101
|
-
1. Use the **Run** button on individual nodes to test them
|
|
102
|
-
2. Check the output panel for node results
|
|
103
|
-
3. Add Python Executor nodes with `print()` statements
|
|
104
|
-
4. Check backend logs: `docker-compose logs -f backend`
|
|
105
|
-
</Accordion>
|
|
106
|
-
</AccordionGroup>
|
|
107
|
-
|
|
108
|
-
## AI Integration
|
|
109
|
-
|
|
110
|
-
<AccordionGroup>
|
|
111
|
-
<Accordion title="Where do I add my API keys?">
|
|
112
|
-
Click the **key icon** in the toolbar to open the Credentials panel. Add keys for:
|
|
113
|
-
- OpenAI
|
|
114
|
-
- Anthropic (Claude)
|
|
115
|
-
- Google AI (Gemini)
|
|
116
|
-
- Google Maps
|
|
117
|
-
- Android Remote
|
|
118
|
-
</Accordion>
|
|
119
|
-
|
|
120
|
-
<Accordion title="Are my API keys secure?">
|
|
121
|
-
Yes, API keys are:
|
|
122
|
-
- Encrypted before storage
|
|
123
|
-
- Stored locally in SQLite
|
|
124
|
-
- Never sent to MachinaOs servers
|
|
125
|
-
- Only transmitted to the respective AI providers
|
|
126
|
-
</Accordion>
|
|
127
|
-
|
|
128
|
-
<Accordion title="How does conversation memory work?">
|
|
129
|
-
The Simple Memory node stores messages in SQLite by session ID. Connect it to an AI Agent's memory handle (diamond shape) to enable multi-turn conversations.
|
|
130
|
-
</Accordion>
|
|
131
|
-
|
|
132
|
-
<Accordion title="Which AI model should I use?">
|
|
133
|
-
| Use Case | Recommended |
|
|
134
|
-
|----------|-------------|
|
|
135
|
-
| General chat | GPT-4o, Claude 3.5 Sonnet |
|
|
136
|
-
| Complex reasoning | Claude 3 Opus, GPT-4 Turbo |
|
|
137
|
-
| Fast responses | GPT-3.5 Turbo, Claude Haiku |
|
|
138
|
-
| Long context | Gemini 1.5 Pro |
|
|
139
|
-
| Cost-effective | GPT-3.5 Turbo |
|
|
140
|
-
</Accordion>
|
|
141
|
-
</AccordionGroup>
|
|
142
|
-
|
|
143
|
-
## WhatsApp
|
|
144
|
-
|
|
145
|
-
<AccordionGroup>
|
|
146
|
-
<Accordion title="How do I connect WhatsApp?">
|
|
147
|
-
1. Click the WhatsApp/Android icon in the toolbar
|
|
148
|
-
2. A QR code appears
|
|
149
|
-
3. Open WhatsApp on your phone
|
|
150
|
-
4. Go to Settings > Linked Devices > Link a Device
|
|
151
|
-
5. Scan the QR code
|
|
152
|
-
</Accordion>
|
|
153
|
-
|
|
154
|
-
<Accordion title="WhatsApp disconnects frequently">
|
|
155
|
-
- Ensure your phone has stable internet
|
|
156
|
-
- Don't use WhatsApp Web simultaneously
|
|
157
|
-
- Keep the MachinaOs server running continuously
|
|
158
|
-
- Check if you're logged out on your phone
|
|
159
|
-
</Accordion>
|
|
160
|
-
|
|
161
|
-
<Accordion title="Can I use WhatsApp Business?">
|
|
162
|
-
Yes, WhatsApp Business accounts work the same way as regular accounts.
|
|
163
|
-
</Accordion>
|
|
164
|
-
|
|
165
|
-
<Accordion title="How do I send to groups?">
|
|
166
|
-
Use the group's JID (ends with `@g.us`) as the recipient. The WhatsApp Receive node provides `group_info.group_jid` for incoming group messages.
|
|
167
|
-
</Accordion>
|
|
168
|
-
</AccordionGroup>
|
|
169
|
-
|
|
170
|
-
## Android
|
|
171
|
-
|
|
172
|
-
<AccordionGroup>
|
|
173
|
-
<Accordion title="How do I connect an Android device?">
|
|
174
|
-
**Local (USB):**
|
|
175
|
-
1. Enable Developer Options and USB Debugging on your phone
|
|
176
|
-
2. Connect via USB
|
|
177
|
-
3. Run `adb devices` to verify
|
|
178
|
-
4. Select device in Android Device Setup node
|
|
179
|
-
|
|
180
|
-
**Remote:**
|
|
181
|
-
1. Configure relay URL in .env
|
|
182
|
-
2. Add API key in Credentials
|
|
183
|
-
3. Install companion app on device
|
|
184
|
-
4. Scan QR code to pair
|
|
185
|
-
</Accordion>
|
|
186
|
-
|
|
187
|
-
<Accordion title="ADB device not detected">
|
|
188
|
-
```bash
|
|
189
|
-
# Check connection
|
|
190
|
-
adb devices
|
|
191
|
-
|
|
192
|
-
# Restart ADB
|
|
193
|
-
adb kill-server
|
|
194
|
-
adb start-server
|
|
195
|
-
|
|
196
|
-
# Try different USB cable/port
|
|
197
|
-
```
|
|
198
|
-
Also ensure USB debugging is enabled in Developer Options.
|
|
199
|
-
</Accordion>
|
|
200
|
-
|
|
201
|
-
<Accordion title="Some actions require root access">
|
|
202
|
-
Some Android automation features require root or special permissions:
|
|
203
|
-
- Airplane mode toggle
|
|
204
|
-
- Some system settings
|
|
205
|
-
- Protected app access
|
|
206
|
-
|
|
207
|
-
Use automation apps like Tasker for restricted features.
|
|
208
|
-
</Accordion>
|
|
209
|
-
</AccordionGroup>
|
|
210
|
-
|
|
211
|
-
## Webhooks
|
|
212
|
-
|
|
213
|
-
<AccordionGroup>
|
|
214
|
-
<Accordion title="What's my webhook URL?">
|
|
215
|
-
Local: `http://localhost:3010/webhook/{path}`
|
|
216
|
-
Production: `https://your-domain.com/webhook/{path}`
|
|
217
|
-
|
|
218
|
-
Replace `{path}` with the path you set in the Webhook Trigger node.
|
|
219
|
-
</Accordion>
|
|
220
|
-
|
|
221
|
-
<Accordion title="Webhook returns 404">
|
|
222
|
-
- Verify the workflow is **deployed**
|
|
223
|
-
- Check the path matches exactly (case-sensitive)
|
|
224
|
-
- Ensure backend is running on the correct port
|
|
225
|
-
</Accordion>
|
|
226
|
-
|
|
227
|
-
<Accordion title="How do I secure my webhooks?">
|
|
228
|
-
Use authentication in the Webhook Trigger node:
|
|
229
|
-
- Basic auth (username/password)
|
|
230
|
-
- Bearer token
|
|
231
|
-
- API key header
|
|
232
|
-
</Accordion>
|
|
233
|
-
</AccordionGroup>
|
|
234
|
-
|
|
235
|
-
## Deployment
|
|
236
|
-
|
|
237
|
-
<AccordionGroup>
|
|
238
|
-
<Accordion title="Can I deploy without Docker?">
|
|
239
|
-
Yes, but it's more complex:
|
|
240
|
-
1. Install Node.js 18+ and Python 3.12+
|
|
241
|
-
2. Install dependencies: `npm install` and `pip install -r requirements.txt`
|
|
242
|
-
3. Build frontend: `npm run build`
|
|
243
|
-
4. Run backend: `uvicorn main:app`
|
|
244
|
-
5. Serve frontend with nginx
|
|
245
|
-
|
|
246
|
-
Docker is recommended for easier deployment.
|
|
247
|
-
</Accordion>
|
|
248
|
-
|
|
249
|
-
<Accordion title="How much does hosting cost?">
|
|
250
|
-
MachinaOs can run on a small VPS:
|
|
251
|
-
- DigitalOcean: ~$6/month (1GB RAM)
|
|
252
|
-
- AWS EC2: ~$10/month (t3.micro)
|
|
253
|
-
- Self-hosted: Hardware cost only
|
|
254
|
-
|
|
255
|
-
Plus costs for AI API calls and domain/SSL.
|
|
256
|
-
</Accordion>
|
|
257
|
-
|
|
258
|
-
<Accordion title="How do I backup my data?">
|
|
259
|
-
```bash
|
|
260
|
-
# Backup SQLite database
|
|
261
|
-
docker cp machinaos-backend-1:/app/data ./backup/
|
|
262
|
-
|
|
263
|
-
# Backup WhatsApp session
|
|
264
|
-
docker cp machinaos-whatsapp-1:/app/data ./backup/whatsapp/
|
|
265
|
-
```
|
|
266
|
-
</Accordion>
|
|
267
|
-
</AccordionGroup>
|
|
268
|
-
|
|
269
|
-
## Troubleshooting
|
|
270
|
-
|
|
271
|
-
<AccordionGroup>
|
|
272
|
-
<Accordion title="Frontend shows blank page">
|
|
273
|
-
- Check browser console for errors
|
|
274
|
-
- Verify frontend container is running
|
|
275
|
-
- Clear browser cache
|
|
276
|
-
- Check if ports are blocked by firewall
|
|
277
|
-
</Accordion>
|
|
278
|
-
|
|
279
|
-
<Accordion title="WebSocket connection fails">
|
|
280
|
-
- Verify backend is running
|
|
281
|
-
- Check nginx WebSocket proxy configuration
|
|
282
|
-
- Ensure no firewall blocks WebSocket (port 3010)
|
|
283
|
-
- Check CORS settings in .env
|
|
284
|
-
</Accordion>
|
|
285
|
-
|
|
286
|
-
<Accordion title="High memory usage">
|
|
287
|
-
- Restart containers: `docker-compose restart`
|
|
288
|
-
- Check for runaway workflows
|
|
289
|
-
- Limit conversation memory window size
|
|
290
|
-
- Increase server RAM if needed
|
|
291
|
-
</Accordion>
|
|
292
|
-
|
|
293
|
-
<Accordion title="Database locked error">
|
|
294
|
-
SQLite doesn't handle concurrent writes well. If you see "database is locked":
|
|
295
|
-
- Restart backend container
|
|
296
|
-
- Consider migrating to PostgreSQL for production
|
|
297
|
-
</Accordion>
|
|
298
|
-
</AccordionGroup>
|
|
299
|
-
|
|
300
|
-
## Getting Help
|
|
301
|
-
|
|
302
|
-
<CardGroup cols={2}>
|
|
303
|
-
<Card title="GitHub Issues" icon="github" href="https://github.com/trohitg/MachinaOs/issues">
|
|
304
|
-
Report bugs and request features
|
|
305
|
-
</Card>
|
|
306
|
-
<Card title="Documentation" icon="book" href="/introduction">
|
|
307
|
-
Browse the full documentation
|
|
308
|
-
</Card>
|
|
309
|
-
</CardGroup>
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
2
|
-
<rect width="32" height="32" rx="6" fill="#16A34A"/>
|
|
3
|
-
<path d="M8 12h16M8 16h16M8 20h12" stroke="white" stroke-width="2" stroke-linecap="round"/>
|
|
4
|
-
<circle cx="24" cy="20" r="3" fill="white"/>
|
|
5
|
-
</svg>
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Installation
|
|
3
|
-
description: Set up MachinaOs on your local machine or server
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Installation
|
|
7
|
-
|
|
8
|
-
MachinaOs can be installed using npm for development or Docker for production.
|
|
9
|
-
|
|
10
|
-
## Prerequisites
|
|
11
|
-
|
|
12
|
-
<Tabs>
|
|
13
|
-
<Tab title="Development">
|
|
14
|
-
- Node.js 18+
|
|
15
|
-
- Python 3.12+
|
|
16
|
-
- Git
|
|
17
|
-
</Tab>
|
|
18
|
-
<Tab title="Docker">
|
|
19
|
-
- Docker 20+
|
|
20
|
-
- Docker Compose 2+
|
|
21
|
-
- 2GB RAM minimum
|
|
22
|
-
</Tab>
|
|
23
|
-
</Tabs>
|
|
24
|
-
|
|
25
|
-
## Quick Install
|
|
26
|
-
|
|
27
|
-
<Tabs>
|
|
28
|
-
<Tab title="npm (Development)">
|
|
29
|
-
```bash
|
|
30
|
-
# Clone the repository
|
|
31
|
-
git clone https://github.com/trohitg/MachinaOS.git
|
|
32
|
-
cd MachinaOs
|
|
33
|
-
|
|
34
|
-
# Install dependencies
|
|
35
|
-
npm run build
|
|
36
|
-
|
|
37
|
-
# Start all services
|
|
38
|
-
npm run start
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
The app will be available at:
|
|
42
|
-
- Frontend: `http://localhost:3000`
|
|
43
|
-
- Backend: `http://localhost:3010`
|
|
44
|
-
- WhatsApp: `http://localhost:9400`
|
|
45
|
-
</Tab>
|
|
46
|
-
<Tab title="Docker (Recommended)">
|
|
47
|
-
```bash
|
|
48
|
-
# Clone the repository
|
|
49
|
-
git clone https://github.com/trohitg/MachinaOS.git
|
|
50
|
-
cd MachinaOs
|
|
51
|
-
|
|
52
|
-
# Build and start all services
|
|
53
|
-
npm run docker:build
|
|
54
|
-
npm run docker:up
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
This starts 4 containers:
|
|
58
|
-
- **frontend** - React app (port 3000)
|
|
59
|
-
- **backend** - FastAPI server (port 3010)
|
|
60
|
-
- **whatsapp** - Go WhatsApp service (port 9400)
|
|
61
|
-
- **redis** - Cache (port 6379, when enabled)
|
|
62
|
-
</Tab>
|
|
63
|
-
</Tabs>
|
|
64
|
-
|
|
65
|
-
## Environment Configuration
|
|
66
|
-
|
|
67
|
-
Copy the example environment file:
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
cp .env.example .env
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Key Settings
|
|
74
|
-
|
|
75
|
-
<ParamField path="VITE_CLIENT_PORT" type="number" default="3000">
|
|
76
|
-
Frontend development server port
|
|
77
|
-
</ParamField>
|
|
78
|
-
|
|
79
|
-
<ParamField path="PYTHON_BACKEND_PORT" type="number" default="3010">
|
|
80
|
-
Backend API server port
|
|
81
|
-
</ParamField>
|
|
82
|
-
|
|
83
|
-
<ParamField path="AUTH_MODE" type="string" default="single">
|
|
84
|
-
Authentication mode: `single` (first user is owner) or `multi` (open registration)
|
|
85
|
-
</ParamField>
|
|
86
|
-
|
|
87
|
-
<ParamField path="REDIS_ENABLED" type="boolean" default="false">
|
|
88
|
-
Enable Redis cache. Set to `true` for production.
|
|
89
|
-
</ParamField>
|
|
90
|
-
|
|
91
|
-
<ParamField path="VITE_ANDROID_RELAY_URL" type="string">
|
|
92
|
-
WebSocket URL for remote Android device connections
|
|
93
|
-
</ParamField>
|
|
94
|
-
|
|
95
|
-
### Full Environment Example
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
# Ports
|
|
99
|
-
VITE_CLIENT_PORT=3000
|
|
100
|
-
PYTHON_BACKEND_PORT=3010
|
|
101
|
-
|
|
102
|
-
# Authentication
|
|
103
|
-
AUTH_MODE=single
|
|
104
|
-
JWT_SECRET_KEY=your-secret-key-min-32-chars
|
|
105
|
-
|
|
106
|
-
# Cache (production)
|
|
107
|
-
REDIS_ENABLED=false
|
|
108
|
-
REDIS_URL=redis://localhost:6379
|
|
109
|
-
|
|
110
|
-
# Optional API Keys
|
|
111
|
-
OPENAI_API_KEY=
|
|
112
|
-
ANTHROPIC_API_KEY=
|
|
113
|
-
GOOGLE_AI_API_KEY=
|
|
114
|
-
GOOGLE_MAPS_API_KEY=
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Verify Installation
|
|
118
|
-
|
|
119
|
-
1. Open `http://localhost:3000` in your browser
|
|
120
|
-
2. You should see the MachinaOs workflow editor
|
|
121
|
-
3. Check the backend health: `curl http://localhost:3010/health`
|
|
122
|
-
|
|
123
|
-
<Check>
|
|
124
|
-
If you see the workflow canvas with the component palette, installation is complete!
|
|
125
|
-
</Check>
|
|
126
|
-
|
|
127
|
-
## Troubleshooting
|
|
128
|
-
|
|
129
|
-
<Accordion title="Port already in use">
|
|
130
|
-
Change the port in `.env`:
|
|
131
|
-
```bash
|
|
132
|
-
VITE_CLIENT_PORT=3001
|
|
133
|
-
PYTHON_BACKEND_PORT=3011
|
|
134
|
-
```
|
|
135
|
-
</Accordion>
|
|
136
|
-
|
|
137
|
-
<Accordion title="Python dependencies fail">
|
|
138
|
-
Create a virtual environment:
|
|
139
|
-
```bash
|
|
140
|
-
cd server
|
|
141
|
-
python -m venv venv
|
|
142
|
-
source venv/bin/activate # or venv\Scripts\activate on Windows
|
|
143
|
-
pip install -r requirements.txt
|
|
144
|
-
```
|
|
145
|
-
</Accordion>
|
|
146
|
-
|
|
147
|
-
<Accordion title="Docker containers won't start">
|
|
148
|
-
Check logs and rebuild:
|
|
149
|
-
```bash
|
|
150
|
-
docker-compose logs -f
|
|
151
|
-
docker-compose down
|
|
152
|
-
docker-compose up --build -d
|
|
153
|
-
```
|
|
154
|
-
</Accordion>
|
|
155
|
-
|
|
156
|
-
## Next Steps
|
|
157
|
-
|
|
158
|
-
<Card title="Quick Start" icon="rocket" href="/quickstart">
|
|
159
|
-
Build your first workflow in 5 minutes
|
|
160
|
-
</Card>
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Introduction
|
|
3
|
-
description: Visual workflow automation platform with AI agents, WhatsApp, and Android integration
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Welcome to MachinaOs
|
|
7
|
-
|
|
8
|
-
MachinaOs is an open-source workflow automation platform inspired by n8n, built with React Flow and Python FastAPI. Create powerful automations using a visual node-based editor with real-time execution feedback.
|
|
9
|
-
|
|
10
|
-
<CardGroup cols={2}>
|
|
11
|
-
<Card title="34 Nodes" icon="cube">
|
|
12
|
-
AI models, WhatsApp, Android automation, webhooks, code execution, and more
|
|
13
|
-
</Card>
|
|
14
|
-
<Card title="WebSocket-First" icon="bolt">
|
|
15
|
-
25 WebSocket message types for real-time status updates
|
|
16
|
-
</Card>
|
|
17
|
-
<Card title="AI-Powered" icon="brain">
|
|
18
|
-
OpenAI, Claude, Gemini with conversation memory and tool calling
|
|
19
|
-
</Card>
|
|
20
|
-
<Card title="Self-Hosted" icon="server">
|
|
21
|
-
Full control with Docker deployment and n8n-pattern caching
|
|
22
|
-
</Card>
|
|
23
|
-
</CardGroup>
|
|
24
|
-
|
|
25
|
-
## Key Features
|
|
26
|
-
|
|
27
|
-
### AI Integration
|
|
28
|
-
Connect to leading AI providers with built-in conversation memory and tool calling support.
|
|
29
|
-
|
|
30
|
-
- **OpenAI** - GPT-5.2, GPT-5, o3, o4-mini with response format options
|
|
31
|
-
- **Anthropic** - Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5
|
|
32
|
-
- **Google** - Gemini 3 Pro, Gemini 3 Flash, Gemini 2.5 Pro with multimodal and safety settings
|
|
33
|
-
- **AI Agent** - Advanced agent with iterative reasoning and memory input
|
|
34
|
-
- **Simple Memory** - Session-based conversation history with buffer/window modes
|
|
35
|
-
|
|
36
|
-
### WhatsApp Automation
|
|
37
|
-
Send and receive WhatsApp messages with event-driven triggers.
|
|
38
|
-
|
|
39
|
-
- QR code pairing via Go WhatsApp bridge (whatsmeow)
|
|
40
|
-
- Message filtering: sender, group, keywords, forwarded status
|
|
41
|
-
- Group/sender name persistence for display
|
|
42
|
-
|
|
43
|
-
### Android Device Control
|
|
44
|
-
Automate Android devices via local ADB or remote WebSocket relay.
|
|
45
|
-
|
|
46
|
-
**17 Service Nodes:**
|
|
47
|
-
- System Monitoring: battery, network, system info, location
|
|
48
|
-
- App Management: launcher, app list
|
|
49
|
-
- Device Automation: WiFi, Bluetooth, audio, device state, screen control, airplane mode
|
|
50
|
-
- Sensors: motion detection, environmental sensors
|
|
51
|
-
- Media: camera control, media playback
|
|
52
|
-
|
|
53
|
-
### Webhooks & HTTP
|
|
54
|
-
Event-driven webhook triggers and HTTP client for external APIs.
|
|
55
|
-
|
|
56
|
-
- Dynamic webhook endpoints at `/webhook/{path}`
|
|
57
|
-
- HTTP Request node with GET, POST, PUT, DELETE, PATCH
|
|
58
|
-
- Webhook Response for custom responses
|
|
59
|
-
|
|
60
|
-
### Code Execution
|
|
61
|
-
Execute Python code directly in workflows.
|
|
62
|
-
|
|
63
|
-
- Syntax-highlighted editor with Dracula theme
|
|
64
|
-
- Access to `input_data` from connected nodes
|
|
65
|
-
- Console output capture
|
|
66
|
-
|
|
67
|
-
## Quick Links
|
|
68
|
-
|
|
69
|
-
<CardGroup cols={2}>
|
|
70
|
-
<Card title="Installation" icon="download" href="/installation">
|
|
71
|
-
Get MachinaOs running locally in minutes
|
|
72
|
-
</Card>
|
|
73
|
-
<Card title="Quick Start" icon="rocket" href="/quickstart">
|
|
74
|
-
Build your first workflow in 5 minutes
|
|
75
|
-
</Card>
|
|
76
|
-
<Card title="Node Catalog" icon="grid" href="/nodes/overview">
|
|
77
|
-
Explore all 34 nodes
|
|
78
|
-
</Card>
|
|
79
|
-
<Card title="Tutorials" icon="graduation-cap" href="/tutorials/first-workflow">
|
|
80
|
-
Step-by-step guides
|
|
81
|
-
</Card>
|
|
82
|
-
</CardGroup>
|
|
83
|
-
|
|
84
|
-
## Architecture Overview
|
|
85
|
-
|
|
86
|
-
MachinaOs follows n8n-inspired architectural patterns with modular backend services:
|
|
87
|
-
|
|
88
|
-
| Layer | Technology |
|
|
89
|
-
|-------|------------|
|
|
90
|
-
| Frontend | React 19, TypeScript, React Flow, Zustand |
|
|
91
|
-
| Backend | Python FastAPI, SQLAlchemy, LangChain |
|
|
92
|
-
| Real-time | WebSocket (25 message handlers) |
|
|
93
|
-
| WhatsApp | Go service with whatsmeow library |
|
|
94
|
-
| Cache | Redis (production) / SQLite (dev) / Memory fallback |
|
|
95
|
-
| Deployment | Docker Compose (4 containers), nginx reverse proxy |
|
|
96
|
-
|
|
97
|
-
### Backend Service Architecture
|
|
98
|
-
|
|
99
|
-
```
|
|
100
|
-
server/services/
|
|
101
|
-
├── workflow.py # Facade (~460 lines)
|
|
102
|
-
├── node_executor.py # Registry-based dispatch
|
|
103
|
-
├── parameter_resolver.py # Template variable resolution
|
|
104
|
-
├── deployment/ # Event-driven lifecycle
|
|
105
|
-
│ ├── manager.py # Deploy, cancel, status
|
|
106
|
-
│ └── triggers.py # Cron and event triggers
|
|
107
|
-
└── execution/ # Parallel orchestration
|
|
108
|
-
├── executor.py # Conductor decide pattern
|
|
109
|
-
└── cache.py # Redis/SQLite persistence
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
<Info>
|
|
113
|
-
MachinaOs is designed for self-hosting. Your data stays on your infrastructure with automatic cache fallback for any environment.
|
|
114
|
-
</Info>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 32" fill="none">
|
|
2
|
-
<rect width="32" height="32" rx="6" fill="#16A34A"/>
|
|
3
|
-
<path d="M8 12h16M8 16h16M8 20h12" stroke="white" stroke-width="2" stroke-linecap="round"/>
|
|
4
|
-
<circle cx="24" cy="20" r="3" fill="white"/>
|
|
5
|
-
<text x="40" y="22" font-family="system-ui, sans-serif" font-size="16" font-weight="600" fill="#ffffff">MachinaOs</text>
|
|
6
|
-
</svg>
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 32" fill="none">
|
|
2
|
-
<rect width="32" height="32" rx="6" fill="#16A34A"/>
|
|
3
|
-
<path d="M8 12h16M8 16h16M8 20h12" stroke="white" stroke-width="2" stroke-linecap="round"/>
|
|
4
|
-
<circle cx="24" cy="20" r="3" fill="white"/>
|
|
5
|
-
<text x="40" y="22" font-family="system-ui, sans-serif" font-size="16" font-weight="600" fill="#1a1a1a">MachinaOs</text>
|
|
6
|
-
</svg>
|