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.
Files changed (420) hide show
  1. package/.env.template +71 -71
  2. package/LICENSE +21 -21
  3. package/README.md +145 -87
  4. package/bin/cli.js +62 -106
  5. package/client/.dockerignore +45 -45
  6. package/client/Dockerfile +68 -68
  7. package/client/dist/assets/index-DFSC53FP.css +1 -0
  8. package/client/dist/assets/index-fJ-1gTf5.js +613 -0
  9. package/client/dist/index.html +14 -0
  10. package/client/eslint.config.js +34 -16
  11. package/client/nginx.conf +66 -66
  12. package/client/package.json +61 -48
  13. package/client/src/App.tsx +27 -27
  14. package/client/src/Dashboard.tsx +1200 -1172
  15. package/client/src/ParameterPanel.tsx +302 -300
  16. package/client/src/components/AIAgentNode.tsx +315 -321
  17. package/client/src/components/APIKeyValidator.tsx +117 -117
  18. package/client/src/components/ClaudeChatModelNode.tsx +17 -17
  19. package/client/src/components/CredentialsModal.tsx +1200 -306
  20. package/client/src/components/GeminiChatModelNode.tsx +17 -17
  21. package/client/src/components/GenericNode.tsx +356 -356
  22. package/client/src/components/LocationParameterPanel.tsx +153 -153
  23. package/client/src/components/ModelNode.tsx +285 -285
  24. package/client/src/components/OpenAIChatModelNode.tsx +17 -17
  25. package/client/src/components/OutputPanel.tsx +470 -470
  26. package/client/src/components/ParameterRenderer.tsx +1873 -1873
  27. package/client/src/components/SkillEditorModal.tsx +3 -3
  28. package/client/src/components/SquareNode.tsx +812 -796
  29. package/client/src/components/ToolkitNode.tsx +365 -365
  30. package/client/src/components/auth/LoginPage.tsx +247 -247
  31. package/client/src/components/auth/ProtectedRoute.tsx +59 -59
  32. package/client/src/components/base/BaseChatModelNode.tsx +270 -270
  33. package/client/src/components/icons/AIProviderIcons.tsx +50 -50
  34. package/client/src/components/maps/GoogleMapsPicker.tsx +136 -136
  35. package/client/src/components/maps/MapsPreviewPanel.tsx +109 -109
  36. package/client/src/components/maps/index.ts +25 -25
  37. package/client/src/components/parameterPanel/InputSection.tsx +1094 -1094
  38. package/client/src/components/parameterPanel/LocationPanelLayout.tsx +64 -64
  39. package/client/src/components/parameterPanel/MapsSection.tsx +91 -91
  40. package/client/src/components/parameterPanel/MiddleSection.tsx +867 -571
  41. package/client/src/components/parameterPanel/OutputSection.tsx +80 -80
  42. package/client/src/components/parameterPanel/ParameterPanelLayout.tsx +81 -81
  43. package/client/src/components/parameterPanel/ToolSchemaEditor.tsx +436 -436
  44. package/client/src/components/parameterPanel/index.ts +41 -41
  45. package/client/src/components/shared/DataPanel.tsx +142 -142
  46. package/client/src/components/shared/JSONTreeRenderer.tsx +105 -105
  47. package/client/src/components/ui/AIResultModal.tsx +203 -203
  48. package/client/src/components/ui/ApiKeyInput.tsx +93 -0
  49. package/client/src/components/ui/CodeEditor.tsx +81 -81
  50. package/client/src/components/ui/CollapsibleSection.tsx +87 -87
  51. package/client/src/components/ui/ComponentItem.tsx +153 -153
  52. package/client/src/components/ui/ComponentPalette.tsx +320 -320
  53. package/client/src/components/ui/ConsolePanel.tsx +151 -43
  54. package/client/src/components/ui/ErrorBoundary.tsx +195 -195
  55. package/client/src/components/ui/InputNodesPanel.tsx +203 -203
  56. package/client/src/components/ui/MapSelector.tsx +313 -313
  57. package/client/src/components/ui/Modal.tsx +151 -148
  58. package/client/src/components/ui/NodeOutputPanel.tsx +1150 -1150
  59. package/client/src/components/ui/OutputDisplayPanel.tsx +381 -381
  60. package/client/src/components/ui/QRCodeDisplay.tsx +182 -0
  61. package/client/src/components/ui/TopToolbar.tsx +736 -736
  62. package/client/src/components/ui/WorkflowSidebar.tsx +293 -293
  63. package/client/src/config/antdTheme.ts +186 -186
  64. package/client/src/contexts/AuthContext.tsx +221 -221
  65. package/client/src/contexts/ThemeContext.tsx +42 -42
  66. package/client/src/contexts/WebSocketContext.tsx +2144 -1971
  67. package/client/src/factories/baseChatModelFactory.ts +255 -255
  68. package/client/src/hooks/useAndroidOperations.ts +118 -164
  69. package/client/src/hooks/useApiKeyValidation.ts +106 -106
  70. package/client/src/hooks/useApiKeys.ts +238 -238
  71. package/client/src/hooks/useAppTheme.ts +17 -17
  72. package/client/src/hooks/useComponentPalette.ts +50 -50
  73. package/client/src/hooks/useDragAndDrop.ts +123 -123
  74. package/client/src/hooks/useDragVariable.ts +88 -88
  75. package/client/src/hooks/useExecution.ts +319 -313
  76. package/client/src/hooks/useParameterPanel.ts +176 -176
  77. package/client/src/hooks/useReactFlowNodes.ts +188 -188
  78. package/client/src/hooks/useToolSchema.ts +209 -209
  79. package/client/src/hooks/useWhatsApp.ts +196 -196
  80. package/client/src/hooks/useWorkflowManagement.ts +45 -45
  81. package/client/src/index.css +314 -314
  82. package/client/src/nodeDefinitions/aiAgentNodes.ts +335 -335
  83. package/client/src/nodeDefinitions/aiModelNodes.ts +340 -340
  84. package/client/src/nodeDefinitions/androidServiceNodes.ts +383 -383
  85. package/client/src/nodeDefinitions/chatNodes.ts +135 -135
  86. package/client/src/nodeDefinitions/codeNodes.ts +54 -54
  87. package/client/src/nodeDefinitions/index.ts +14 -14
  88. package/client/src/nodeDefinitions/locationNodes.ts +462 -462
  89. package/client/src/nodeDefinitions/schedulerNodes.ts +220 -220
  90. package/client/src/nodeDefinitions/skillNodes.ts +17 -5
  91. package/client/src/nodeDefinitions/utilityNodes.ts +284 -284
  92. package/client/src/nodeDefinitions/whatsappNodes.ts +821 -865
  93. package/client/src/nodeDefinitions.ts +101 -103
  94. package/client/src/services/dynamicParameterService.ts +95 -95
  95. package/client/src/services/execution/aiAgentExecutionService.ts +34 -34
  96. package/client/src/services/executionService.ts +227 -231
  97. package/client/src/services/workflowApi.ts +91 -91
  98. package/client/src/store/useAppStore.ts +578 -581
  99. package/client/src/styles/theme.ts +513 -508
  100. package/client/src/styles/zIndex.ts +16 -16
  101. package/client/src/types/ComponentTypes.ts +38 -38
  102. package/client/src/types/INodeProperties.ts +287 -287
  103. package/client/src/types/NodeTypes.ts +27 -27
  104. package/client/src/utils/formatters.ts +32 -32
  105. package/client/src/utils/googleMapsLoader.ts +139 -139
  106. package/client/src/utils/locationUtils.ts +84 -84
  107. package/client/src/utils/nodeUtils.ts +30 -30
  108. package/client/src/utils/workflow.ts +29 -29
  109. package/client/src/vite-env.d.ts +12 -12
  110. package/client/tailwind.config.js +59 -59
  111. package/client/tsconfig.json +25 -25
  112. package/client/vite.config.js +35 -35
  113. package/package.json +78 -70
  114. package/scripts/build.js +153 -45
  115. package/scripts/clean.js +40 -40
  116. package/scripts/start.js +234 -210
  117. package/scripts/stop.js +301 -325
  118. package/server/.dockerignore +44 -44
  119. package/server/Dockerfile +45 -45
  120. package/server/constants.py +244 -249
  121. package/server/core/cache.py +460 -460
  122. package/server/core/config.py +127 -127
  123. package/server/core/container.py +98 -98
  124. package/server/core/database.py +1296 -1210
  125. package/server/core/logging.py +313 -313
  126. package/server/main.py +288 -288
  127. package/server/middleware/__init__.py +5 -5
  128. package/server/middleware/auth.py +89 -89
  129. package/server/models/auth.py +52 -52
  130. package/server/models/cache.py +24 -24
  131. package/server/models/database.py +235 -210
  132. package/server/models/nodes.py +435 -455
  133. package/server/pyproject.toml +75 -72
  134. package/server/requirements.txt +83 -83
  135. package/server/routers/android.py +294 -294
  136. package/server/routers/auth.py +203 -203
  137. package/server/routers/database.py +150 -150
  138. package/server/routers/maps.py +141 -141
  139. package/server/routers/nodejs_compat.py +288 -288
  140. package/server/routers/webhook.py +90 -90
  141. package/server/routers/websocket.py +2239 -2127
  142. package/server/routers/whatsapp.py +761 -761
  143. package/server/routers/workflow.py +199 -199
  144. package/server/services/ai.py +2444 -2414
  145. package/server/services/android_service.py +588 -588
  146. package/server/services/auth.py +130 -130
  147. package/server/services/chat_client.py +160 -160
  148. package/server/services/deployment/manager.py +706 -706
  149. package/server/services/event_waiter.py +675 -785
  150. package/server/services/execution/executor.py +1351 -1351
  151. package/server/services/execution/models.py +1 -1
  152. package/server/services/handlers/__init__.py +122 -126
  153. package/server/services/handlers/ai.py +390 -355
  154. package/server/services/handlers/android.py +69 -260
  155. package/server/services/handlers/code.py +278 -278
  156. package/server/services/handlers/http.py +193 -193
  157. package/server/services/handlers/tools.py +146 -32
  158. package/server/services/handlers/triggers.py +107 -107
  159. package/server/services/handlers/utility.py +822 -822
  160. package/server/services/handlers/whatsapp.py +423 -476
  161. package/server/services/maps.py +288 -288
  162. package/server/services/memory_store.py +103 -103
  163. package/server/services/node_executor.py +372 -375
  164. package/server/services/scheduler.py +155 -155
  165. package/server/services/skill_loader.py +1 -1
  166. package/server/services/status_broadcaster.py +834 -826
  167. package/server/services/temporal/__init__.py +23 -23
  168. package/server/services/temporal/activities.py +344 -344
  169. package/server/services/temporal/client.py +76 -76
  170. package/server/services/temporal/executor.py +147 -147
  171. package/server/services/temporal/worker.py +251 -251
  172. package/server/services/temporal/workflow.py +355 -355
  173. package/server/services/temporal/ws_client.py +236 -236
  174. package/server/services/text.py +110 -110
  175. package/server/services/user_auth.py +172 -172
  176. package/server/services/websocket_client.py +29 -29
  177. package/server/services/workflow.py +597 -597
  178. package/server/skills/android-skill/SKILL.md +4 -4
  179. package/server/skills/code-skill/SKILL.md +123 -89
  180. package/server/skills/maps-skill/SKILL.md +3 -3
  181. package/server/skills/memory-skill/SKILL.md +1 -1
  182. package/server/skills/web-search-skill/SKILL.md +154 -0
  183. package/server/skills/whatsapp-skill/SKILL.md +3 -3
  184. package/server/uv.lock +461 -100
  185. package/server/whatsapp-rpc/.dockerignore +30 -30
  186. package/server/whatsapp-rpc/Dockerfile +44 -44
  187. package/server/whatsapp-rpc/Dockerfile.web +17 -17
  188. package/server/whatsapp-rpc/README.md +139 -139
  189. package/server/whatsapp-rpc/bin/whatsapp-rpc-server +0 -0
  190. package/server/whatsapp-rpc/cli.js +95 -95
  191. package/server/whatsapp-rpc/configs/config.yaml +6 -6
  192. package/server/whatsapp-rpc/docker-compose.yml +35 -35
  193. package/server/whatsapp-rpc/docs/API.md +410 -410
  194. package/server/whatsapp-rpc/node_modules/.package-lock.json +259 -0
  195. package/server/whatsapp-rpc/node_modules/chalk/license +9 -0
  196. package/server/whatsapp-rpc/node_modules/chalk/package.json +83 -0
  197. package/server/whatsapp-rpc/node_modules/chalk/readme.md +297 -0
  198. package/server/whatsapp-rpc/node_modules/chalk/source/index.d.ts +325 -0
  199. package/server/whatsapp-rpc/node_modules/chalk/source/index.js +225 -0
  200. package/server/whatsapp-rpc/node_modules/chalk/source/utilities.js +33 -0
  201. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  202. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  203. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  204. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  205. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  206. package/server/whatsapp-rpc/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  207. package/server/whatsapp-rpc/node_modules/commander/LICENSE +22 -0
  208. package/server/whatsapp-rpc/node_modules/commander/Readme.md +1148 -0
  209. package/server/whatsapp-rpc/node_modules/commander/esm.mjs +16 -0
  210. package/server/whatsapp-rpc/node_modules/commander/index.js +26 -0
  211. package/server/whatsapp-rpc/node_modules/commander/lib/argument.js +145 -0
  212. package/server/whatsapp-rpc/node_modules/commander/lib/command.js +2179 -0
  213. package/server/whatsapp-rpc/node_modules/commander/lib/error.js +43 -0
  214. package/server/whatsapp-rpc/node_modules/commander/lib/help.js +462 -0
  215. package/server/whatsapp-rpc/node_modules/commander/lib/option.js +329 -0
  216. package/server/whatsapp-rpc/node_modules/commander/lib/suggestSimilar.js +100 -0
  217. package/server/whatsapp-rpc/node_modules/commander/package-support.json +16 -0
  218. package/server/whatsapp-rpc/node_modules/commander/package.json +80 -0
  219. package/server/whatsapp-rpc/node_modules/commander/typings/esm.d.mts +3 -0
  220. package/server/whatsapp-rpc/node_modules/commander/typings/index.d.ts +884 -0
  221. package/server/whatsapp-rpc/node_modules/cross-spawn/LICENSE +21 -0
  222. package/server/whatsapp-rpc/node_modules/cross-spawn/README.md +89 -0
  223. package/server/whatsapp-rpc/node_modules/cross-spawn/index.js +39 -0
  224. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/enoent.js +59 -0
  225. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/parse.js +91 -0
  226. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/escape.js +47 -0
  227. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  228. package/server/whatsapp-rpc/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  229. package/server/whatsapp-rpc/node_modules/cross-spawn/package.json +73 -0
  230. package/server/whatsapp-rpc/node_modules/execa/index.d.ts +955 -0
  231. package/server/whatsapp-rpc/node_modules/execa/index.js +309 -0
  232. package/server/whatsapp-rpc/node_modules/execa/lib/command.js +119 -0
  233. package/server/whatsapp-rpc/node_modules/execa/lib/error.js +87 -0
  234. package/server/whatsapp-rpc/node_modules/execa/lib/kill.js +102 -0
  235. package/server/whatsapp-rpc/node_modules/execa/lib/pipe.js +42 -0
  236. package/server/whatsapp-rpc/node_modules/execa/lib/promise.js +36 -0
  237. package/server/whatsapp-rpc/node_modules/execa/lib/stdio.js +49 -0
  238. package/server/whatsapp-rpc/node_modules/execa/lib/stream.js +133 -0
  239. package/server/whatsapp-rpc/node_modules/execa/lib/verbose.js +19 -0
  240. package/server/whatsapp-rpc/node_modules/execa/license +9 -0
  241. package/server/whatsapp-rpc/node_modules/execa/package.json +90 -0
  242. package/server/whatsapp-rpc/node_modules/execa/readme.md +822 -0
  243. package/server/whatsapp-rpc/node_modules/get-stream/license +9 -0
  244. package/server/whatsapp-rpc/node_modules/get-stream/package.json +53 -0
  245. package/server/whatsapp-rpc/node_modules/get-stream/readme.md +291 -0
  246. package/server/whatsapp-rpc/node_modules/get-stream/source/array-buffer.js +84 -0
  247. package/server/whatsapp-rpc/node_modules/get-stream/source/array.js +32 -0
  248. package/server/whatsapp-rpc/node_modules/get-stream/source/buffer.js +20 -0
  249. package/server/whatsapp-rpc/node_modules/get-stream/source/contents.js +101 -0
  250. package/server/whatsapp-rpc/node_modules/get-stream/source/index.d.ts +119 -0
  251. package/server/whatsapp-rpc/node_modules/get-stream/source/index.js +5 -0
  252. package/server/whatsapp-rpc/node_modules/get-stream/source/string.js +36 -0
  253. package/server/whatsapp-rpc/node_modules/get-stream/source/utils.js +11 -0
  254. package/server/whatsapp-rpc/node_modules/get-them-args/LICENSE +21 -0
  255. package/server/whatsapp-rpc/node_modules/get-them-args/README.md +95 -0
  256. package/server/whatsapp-rpc/node_modules/get-them-args/index.js +97 -0
  257. package/server/whatsapp-rpc/node_modules/get-them-args/package.json +36 -0
  258. package/server/whatsapp-rpc/node_modules/human-signals/LICENSE +201 -0
  259. package/server/whatsapp-rpc/node_modules/human-signals/README.md +168 -0
  260. package/server/whatsapp-rpc/node_modules/human-signals/build/src/core.js +273 -0
  261. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.d.ts +73 -0
  262. package/server/whatsapp-rpc/node_modules/human-signals/build/src/main.js +70 -0
  263. package/server/whatsapp-rpc/node_modules/human-signals/build/src/realtime.js +16 -0
  264. package/server/whatsapp-rpc/node_modules/human-signals/build/src/signals.js +34 -0
  265. package/server/whatsapp-rpc/node_modules/human-signals/package.json +61 -0
  266. package/server/whatsapp-rpc/node_modules/is-stream/index.d.ts +81 -0
  267. package/server/whatsapp-rpc/node_modules/is-stream/index.js +29 -0
  268. package/server/whatsapp-rpc/node_modules/is-stream/license +9 -0
  269. package/server/whatsapp-rpc/node_modules/is-stream/package.json +44 -0
  270. package/server/whatsapp-rpc/node_modules/is-stream/readme.md +60 -0
  271. package/server/whatsapp-rpc/node_modules/isexe/LICENSE +15 -0
  272. package/server/whatsapp-rpc/node_modules/isexe/README.md +51 -0
  273. package/server/whatsapp-rpc/node_modules/isexe/index.js +57 -0
  274. package/server/whatsapp-rpc/node_modules/isexe/mode.js +41 -0
  275. package/server/whatsapp-rpc/node_modules/isexe/package.json +31 -0
  276. package/server/whatsapp-rpc/node_modules/isexe/test/basic.js +221 -0
  277. package/server/whatsapp-rpc/node_modules/isexe/windows.js +42 -0
  278. package/server/whatsapp-rpc/node_modules/kill-port/.editorconfig +12 -0
  279. package/server/whatsapp-rpc/node_modules/kill-port/.gitattributes +1 -0
  280. package/server/whatsapp-rpc/node_modules/kill-port/LICENSE +21 -0
  281. package/server/whatsapp-rpc/node_modules/kill-port/README.md +140 -0
  282. package/server/whatsapp-rpc/node_modules/kill-port/cli.js +25 -0
  283. package/server/whatsapp-rpc/node_modules/kill-port/example.js +21 -0
  284. package/server/whatsapp-rpc/node_modules/kill-port/index.js +46 -0
  285. package/server/whatsapp-rpc/node_modules/kill-port/logo.png +0 -0
  286. package/server/whatsapp-rpc/node_modules/kill-port/package.json +41 -0
  287. package/server/whatsapp-rpc/node_modules/kill-port/pnpm-lock.yaml +4606 -0
  288. package/server/whatsapp-rpc/node_modules/kill-port/test.js +16 -0
  289. package/server/whatsapp-rpc/node_modules/merge-stream/LICENSE +21 -0
  290. package/server/whatsapp-rpc/node_modules/merge-stream/README.md +78 -0
  291. package/server/whatsapp-rpc/node_modules/merge-stream/index.js +41 -0
  292. package/server/whatsapp-rpc/node_modules/merge-stream/package.json +19 -0
  293. package/server/whatsapp-rpc/node_modules/mimic-fn/index.d.ts +52 -0
  294. package/server/whatsapp-rpc/node_modules/mimic-fn/index.js +71 -0
  295. package/server/whatsapp-rpc/node_modules/mimic-fn/license +9 -0
  296. package/server/whatsapp-rpc/node_modules/mimic-fn/package.json +45 -0
  297. package/server/whatsapp-rpc/node_modules/mimic-fn/readme.md +90 -0
  298. package/server/whatsapp-rpc/node_modules/npm-run-path/index.d.ts +90 -0
  299. package/server/whatsapp-rpc/node_modules/npm-run-path/index.js +52 -0
  300. package/server/whatsapp-rpc/node_modules/npm-run-path/license +9 -0
  301. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.d.ts +31 -0
  302. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
  303. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/license +9 -0
  304. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
  305. package/server/whatsapp-rpc/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
  306. package/server/whatsapp-rpc/node_modules/npm-run-path/package.json +49 -0
  307. package/server/whatsapp-rpc/node_modules/npm-run-path/readme.md +104 -0
  308. package/server/whatsapp-rpc/node_modules/onetime/index.d.ts +59 -0
  309. package/server/whatsapp-rpc/node_modules/onetime/index.js +41 -0
  310. package/server/whatsapp-rpc/node_modules/onetime/license +9 -0
  311. package/server/whatsapp-rpc/node_modules/onetime/package.json +45 -0
  312. package/server/whatsapp-rpc/node_modules/onetime/readme.md +94 -0
  313. package/server/whatsapp-rpc/node_modules/path-key/index.d.ts +40 -0
  314. package/server/whatsapp-rpc/node_modules/path-key/index.js +16 -0
  315. package/server/whatsapp-rpc/node_modules/path-key/license +9 -0
  316. package/server/whatsapp-rpc/node_modules/path-key/package.json +39 -0
  317. package/server/whatsapp-rpc/node_modules/path-key/readme.md +61 -0
  318. package/server/whatsapp-rpc/node_modules/shebang-command/index.js +19 -0
  319. package/server/whatsapp-rpc/node_modules/shebang-command/license +9 -0
  320. package/server/whatsapp-rpc/node_modules/shebang-command/package.json +34 -0
  321. package/server/whatsapp-rpc/node_modules/shebang-command/readme.md +34 -0
  322. package/server/whatsapp-rpc/node_modules/shebang-regex/index.d.ts +22 -0
  323. package/server/whatsapp-rpc/node_modules/shebang-regex/index.js +2 -0
  324. package/server/whatsapp-rpc/node_modules/shebang-regex/license +9 -0
  325. package/server/whatsapp-rpc/node_modules/shebang-regex/package.json +35 -0
  326. package/server/whatsapp-rpc/node_modules/shebang-regex/readme.md +33 -0
  327. package/server/whatsapp-rpc/node_modules/shell-exec/LICENSE +21 -0
  328. package/server/whatsapp-rpc/node_modules/shell-exec/README.md +60 -0
  329. package/server/whatsapp-rpc/node_modules/shell-exec/index.js +47 -0
  330. package/server/whatsapp-rpc/node_modules/shell-exec/package.json +29 -0
  331. package/server/whatsapp-rpc/node_modules/signal-exit/LICENSE.txt +16 -0
  332. package/server/whatsapp-rpc/node_modules/signal-exit/README.md +74 -0
  333. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  334. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  335. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  336. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  337. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  338. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  339. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js +279 -0
  340. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  341. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/package.json +3 -0
  342. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  343. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  344. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  345. package/server/whatsapp-rpc/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  346. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  347. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  348. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  349. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  350. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  351. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  352. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js +275 -0
  353. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  354. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/package.json +3 -0
  355. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  356. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  357. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  358. package/server/whatsapp-rpc/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  359. package/server/whatsapp-rpc/node_modules/signal-exit/package.json +106 -0
  360. package/server/whatsapp-rpc/node_modules/strip-final-newline/index.js +14 -0
  361. package/server/whatsapp-rpc/node_modules/strip-final-newline/license +9 -0
  362. package/server/whatsapp-rpc/node_modules/strip-final-newline/package.json +43 -0
  363. package/server/whatsapp-rpc/node_modules/strip-final-newline/readme.md +35 -0
  364. package/server/whatsapp-rpc/node_modules/which/CHANGELOG.md +166 -0
  365. package/server/whatsapp-rpc/node_modules/which/LICENSE +15 -0
  366. package/server/whatsapp-rpc/node_modules/which/README.md +54 -0
  367. package/server/whatsapp-rpc/node_modules/which/bin/node-which +52 -0
  368. package/server/whatsapp-rpc/node_modules/which/package.json +43 -0
  369. package/server/whatsapp-rpc/node_modules/which/which.js +125 -0
  370. package/server/whatsapp-rpc/package-lock.json +272 -0
  371. package/server/whatsapp-rpc/package.json +30 -30
  372. package/server/whatsapp-rpc/schema.json +1294 -1294
  373. package/server/whatsapp-rpc/scripts/clean.cjs +66 -66
  374. package/server/whatsapp-rpc/scripts/cli.js +162 -162
  375. package/server/whatsapp-rpc/src/go/whatsapp/history.go +166 -166
  376. package/server/whatsapp-rpc/src/python/pyproject.toml +15 -15
  377. package/server/whatsapp-rpc/src/python/whatsapp_rpc/__init__.py +4 -4
  378. package/server/whatsapp-rpc/src/python/whatsapp_rpc/client.py +427 -427
  379. package/server/whatsapp-rpc/web/app.py +609 -609
  380. package/server/whatsapp-rpc/web/requirements.txt +6 -6
  381. package/server/whatsapp-rpc/web/rpc_client.py +427 -427
  382. package/server/whatsapp-rpc/web/static/openapi.yaml +59 -59
  383. package/server/whatsapp-rpc/web/templates/base.html +149 -149
  384. package/server/whatsapp-rpc/web/templates/contacts.html +240 -240
  385. package/server/whatsapp-rpc/web/templates/dashboard.html +319 -319
  386. package/server/whatsapp-rpc/web/templates/groups.html +328 -328
  387. package/server/whatsapp-rpc/web/templates/messages.html +465 -465
  388. package/server/whatsapp-rpc/web/templates/messaging.html +680 -680
  389. package/server/whatsapp-rpc/web/templates/send.html +258 -258
  390. package/server/whatsapp-rpc/web/templates/settings.html +459 -459
  391. package/client/src/components/ui/AndroidSettingsPanel.tsx +0 -401
  392. package/client/src/components/ui/WhatsAppSettingsPanel.tsx +0 -345
  393. package/client/src/nodeDefinitions/androidDeviceNodes.ts +0 -140
  394. package/docker-compose.prod.yml +0 -107
  395. package/docker-compose.yml +0 -104
  396. package/docs-MachinaOs/README.md +0 -85
  397. package/docs-MachinaOs/deployment/docker.mdx +0 -228
  398. package/docs-MachinaOs/deployment/production.mdx +0 -345
  399. package/docs-MachinaOs/docs.json +0 -75
  400. package/docs-MachinaOs/faq.mdx +0 -309
  401. package/docs-MachinaOs/favicon.svg +0 -5
  402. package/docs-MachinaOs/installation.mdx +0 -160
  403. package/docs-MachinaOs/introduction.mdx +0 -114
  404. package/docs-MachinaOs/logo/dark.svg +0 -6
  405. package/docs-MachinaOs/logo/light.svg +0 -6
  406. package/docs-MachinaOs/nodes/ai-agent.mdx +0 -216
  407. package/docs-MachinaOs/nodes/ai-models.mdx +0 -240
  408. package/docs-MachinaOs/nodes/android.mdx +0 -411
  409. package/docs-MachinaOs/nodes/overview.mdx +0 -181
  410. package/docs-MachinaOs/nodes/schedulers.mdx +0 -316
  411. package/docs-MachinaOs/nodes/webhooks.mdx +0 -330
  412. package/docs-MachinaOs/nodes/whatsapp.mdx +0 -305
  413. package/docs-MachinaOs/quickstart.mdx +0 -119
  414. package/docs-MachinaOs/tutorials/ai-agent-workflow.mdx +0 -177
  415. package/docs-MachinaOs/tutorials/android-automation.mdx +0 -242
  416. package/docs-MachinaOs/tutorials/first-workflow.mdx +0 -134
  417. package/docs-MachinaOs/tutorials/whatsapp-automation.mdx +0 -185
  418. package/nul +0 -0
  419. package/scripts/check-ports.ps1 +0 -33
  420. package/scripts/kill-port.ps1 +0 -154
@@ -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
- }
@@ -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>