@mazees/mark 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +209 -0
  3. package/bin/mark.js +27 -0
  4. package/out/renderer/assets/icon-DHo2CYph.svg +1 -0
  5. package/out/renderer/assets/index-G2fADWO-.js +4768 -0
  6. package/out/renderer/assets/index-f3mVse3c.css +1 -0
  7. package/out/renderer/assets/music-cover-CG4vi3kZ.png +0 -0
  8. package/out/renderer/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2 +0 -0
  9. package/out/renderer/assets/poppins-devanagari-400-normal-CqVvlrh5.woff +0 -0
  10. package/out/renderer/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2 +0 -0
  11. package/out/renderer/assets/poppins-devanagari-500-normal-DMPDjHtT.woff +0 -0
  12. package/out/renderer/assets/poppins-devanagari-600-normal-ClASKHrr.woff +0 -0
  13. package/out/renderer/assets/poppins-devanagari-600-normal-STEjXBNN.woff2 +0 -0
  14. package/out/renderer/assets/poppins-devanagari-700-normal-O-jipLrW.woff2 +0 -0
  15. package/out/renderer/assets/poppins-devanagari-700-normal-fHs-vx92.woff +0 -0
  16. package/out/renderer/assets/poppins-latin-400-normal-BOb3E3N0.woff +0 -0
  17. package/out/renderer/assets/poppins-latin-400-normal-cpxAROuN.woff2 +0 -0
  18. package/out/renderer/assets/poppins-latin-500-normal-C8OXljZJ.woff2 +0 -0
  19. package/out/renderer/assets/poppins-latin-500-normal-DGXqpDMm.woff +0 -0
  20. package/out/renderer/assets/poppins-latin-600-normal-BJdTmd5m.woff +0 -0
  21. package/out/renderer/assets/poppins-latin-600-normal-zEkxB9Mr.woff2 +0 -0
  22. package/out/renderer/assets/poppins-latin-700-normal-BVuQR_eA.woff +0 -0
  23. package/out/renderer/assets/poppins-latin-700-normal-Qrb0O0WB.woff2 +0 -0
  24. package/out/renderer/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff +0 -0
  25. package/out/renderer/assets/poppins-latin-ext-400-normal-by3JarPu.woff2 +0 -0
  26. package/out/renderer/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2 +0 -0
  27. package/out/renderer/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff +0 -0
  28. package/out/renderer/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2 +0 -0
  29. package/out/renderer/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff +0 -0
  30. package/out/renderer/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff +0 -0
  31. package/out/renderer/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2 +0 -0
  32. package/out/renderer/favicon.ico +0 -0
  33. package/out/renderer/icon-256.png +0 -0
  34. package/out/renderer/icon.svg +1 -0
  35. package/out/renderer/index.html +25 -0
  36. package/out/renderer/manifest.json +25 -0
  37. package/out/renderer/robot-simulator.html +1640 -0
  38. package/package.json +106 -0
  39. package/src/cli/index.js +332 -0
  40. package/src/cli/monitor.js +413 -0
  41. package/src/cli/theme.js +347 -0
  42. package/src/launcher/MarkTray.cs +227 -0
  43. package/src/main/browser-agent.js +1132 -0
  44. package/src/main/git-service.js +90 -0
  45. package/src/main/google/google-calendar.js +69 -0
  46. package/src/main/google/google-drive.js +263 -0
  47. package/src/main/google/google-gmail.js +131 -0
  48. package/src/main/google/google-service.js +241 -0
  49. package/src/main/node-tools.js +23 -0
  50. package/src/main/pc-agent-scripts/mouse-locker.ps1 +76 -0
  51. package/src/main/pc-agent-scripts/ocr-region.ps1 +185 -0
  52. package/src/main/pc-agent-scripts/pc-daemon.ps1 +726 -0
  53. package/src/main/pc-agent-scripts/pc-overlay.ps1 +253 -0
  54. package/src/main/pc-agent-scripts/pick-folder.ps1 +33 -0
  55. package/src/main/pc-agent-scripts/read-ui.ps1 +181 -0
  56. package/src/main/pc-agent-scripts/take-screenshot.ps1 +24 -0
  57. package/src/main/pc-agent-scripts/win-action.ps1 +380 -0
  58. package/src/main/plugins/plugin-loader.js +306 -0
  59. package/src/main/skills/skill-manager.js +265 -0
  60. package/src/main/syntax-validator.js +455 -0
  61. package/src/main/task-daemon.js +117 -0
  62. package/src/main/telegram/telegram-service.js +835 -0
  63. package/src/main/tools/browser-tools.js +516 -0
  64. package/src/main/tools/file-tools.js +1126 -0
  65. package/src/main/tools/git-tools.js +79 -0
  66. package/src/main/tools/google-tools.js +566 -0
  67. package/src/main/tools/index.js +36 -0
  68. package/src/main/tools/media-tools.js +42 -0
  69. package/src/main/tools/system-tools.js +295 -0
  70. package/src/main/tools/task-tools.js +73 -0
  71. package/src/main/tools/telegram-tools.js +101 -0
  72. package/src/renderer/index.html +24 -0
  73. package/src/renderer/public/favicon.ico +0 -0
  74. package/src/renderer/public/icon-256.png +0 -0
  75. package/src/renderer/public/icon.svg +1 -0
  76. package/src/renderer/public/manifest.json +25 -0
  77. package/src/renderer/public/robot-simulator.html +1640 -0
  78. package/src/renderer/src/App.jsx +304 -0
  79. package/src/renderer/src/api/ai/awareness.js +294 -0
  80. package/src/renderer/src/api/ai/chatSummarizer.js +79 -0
  81. package/src/renderer/src/api/ai/contextCompactor.js +129 -0
  82. package/src/renderer/src/api/ai/contextManager.js +1130 -0
  83. package/src/renderer/src/api/ai/core.js +167 -0
  84. package/src/renderer/src/api/ai/index.js +4 -0
  85. package/src/renderer/src/api/ai/memoryGroomer.js +101 -0
  86. package/src/renderer/src/api/ai/persona.js +115 -0
  87. package/src/renderer/src/api/ai/planning.js +317 -0
  88. package/src/renderer/src/api/ai/relationship.js +177 -0
  89. package/src/renderer/src/api/ai/skillSynthesizer.js +168 -0
  90. package/src/renderer/src/api/ai/tools.js +167 -0
  91. package/src/renderer/src/api/ai/utils.js +359 -0
  92. package/src/renderer/src/api/db.js +1013 -0
  93. package/src/renderer/src/api/oramaStore.js +592 -0
  94. package/src/renderer/src/api/ragPipeline.js +87 -0
  95. package/src/renderer/src/api/subagent/subagentExecutor.js +780 -0
  96. package/src/renderer/src/api/subagent/subagentPrompt.js +44 -0
  97. package/src/renderer/src/api/subagent/subagentStore.js +173 -0
  98. package/src/renderer/src/api/taskExecutor.js +18 -0
  99. package/src/renderer/src/api/taskStore.js +315 -0
  100. package/src/renderer/src/api/tools/core-tools.js +707 -0
  101. package/src/renderer/src/api/tools/index.js +151 -0
  102. package/src/renderer/src/api/turnPairMigrator.js +200 -0
  103. package/src/renderer/src/api/vectorMemory.js +136 -0
  104. package/src/renderer/src/api/wakeWord.js +101 -0
  105. package/src/renderer/src/api/web-bridge.js +885 -0
  106. package/src/renderer/src/api/webSpeech.js +178 -0
  107. package/src/renderer/src/api/workspaceRag.js +76 -0
  108. package/src/renderer/src/assets/electron.svg +10 -0
  109. package/src/renderer/src/assets/icon.svg +1 -0
  110. package/src/renderer/src/assets/main.css +589 -0
  111. package/src/renderer/src/assets/music-cover.png +0 -0
  112. package/src/renderer/src/assets/wavy-lines.svg +25 -0
  113. package/src/renderer/src/components/Chat/ApprovalBubble.jsx +127 -0
  114. package/src/renderer/src/components/Chat/CodeBlock.jsx +83 -0
  115. package/src/renderer/src/components/Chat/DurableTaskBubble.jsx +455 -0
  116. package/src/renderer/src/components/Chat/FileDiffModal.jsx +328 -0
  117. package/src/renderer/src/components/Chat/GeminiWidgets.jsx +82 -0
  118. package/src/renderer/src/components/Chat/MemoryFooterBubble.jsx +34 -0
  119. package/src/renderer/src/components/Chat/MessageBubble.jsx +459 -0
  120. package/src/renderer/src/components/Chat/PluginExecutionBubble.jsx +41 -0
  121. package/src/renderer/src/components/Chat/ThinkingBubble.jsx +316 -0
  122. package/src/renderer/src/components/Chat/YoutubeSearchBubble.jsx +43 -0
  123. package/src/renderer/src/components/Chat/YoutubeSummaryBubble.jsx +40 -0
  124. package/src/renderer/src/components/Chat/index.js +11 -0
  125. package/src/renderer/src/components/ChatList.jsx +434 -0
  126. package/src/renderer/src/components/GlobalCameraManager.jsx +67 -0
  127. package/src/renderer/src/components/Versions.jsx +15 -0
  128. package/src/renderer/src/components/YoutubeMusicPlayer.jsx +375 -0
  129. package/src/renderer/src/components/camera/CameraPreview.jsx +236 -0
  130. package/src/renderer/src/components/config/AiEngineSection.jsx +363 -0
  131. package/src/renderer/src/components/config/CameraSection.jsx +100 -0
  132. package/src/renderer/src/components/config/PermissionsSection.jsx +130 -0
  133. package/src/renderer/src/components/config/ShortcutSection.jsx +102 -0
  134. package/src/renderer/src/components/config/VoiceSection.jsx +110 -0
  135. package/src/renderer/src/components/config/index.js +5 -0
  136. package/src/renderer/src/components/core/Avatar.jsx +2197 -0
  137. package/src/renderer/src/components/core/ConfirmModal.jsx +80 -0
  138. package/src/renderer/src/components/core/DraggableHoloCard.jsx +125 -0
  139. package/src/renderer/src/components/core/FloatingMenu.jsx +272 -0
  140. package/src/renderer/src/components/core/HoloCard.jsx +64 -0
  141. package/src/renderer/src/components/core/InputBar.jsx +1346 -0
  142. package/src/renderer/src/components/core/ProcessPanel.jsx +216 -0
  143. package/src/renderer/src/components/core/ResponseArea.jsx +149 -0
  144. package/src/renderer/src/components/core/StatusIndicator.jsx +59 -0
  145. package/src/renderer/src/components/core/ThoughtNeuralFlow.jsx +168 -0
  146. package/src/renderer/src/components/core/ToolClustersDeck.jsx +210 -0
  147. package/src/renderer/src/components/core/native-skills.js +43 -0
  148. package/src/renderer/src/components/neural-core/EmotionalCortexLobe.jsx +359 -0
  149. package/src/renderer/src/components/neural-core/NodeDissectionModal.jsx +57 -0
  150. package/src/renderer/src/components/neural-core/ProceduralMatrixLobe.jsx +193 -0
  151. package/src/renderer/src/components/neural-core/ProceduralSkillModal.jsx +53 -0
  152. package/src/renderer/src/components/neural-core/ResetAiModal.jsx +198 -0
  153. package/src/renderer/src/components/neural-core/SynapticMemoryLobe.jsx +204 -0
  154. package/src/renderer/src/components/neural-core/traitMeta.js +102 -0
  155. package/src/renderer/src/components/subagent/AgentChatFeed.jsx +603 -0
  156. package/src/renderer/src/components/subagent/AgentInspector.jsx +224 -0
  157. package/src/renderer/src/components/subagent/AgentSidebar.jsx +216 -0
  158. package/src/renderer/src/components/subagent/SubagentIntercom.jsx +572 -0
  159. package/src/renderer/src/components/subagent/SubagentTopologyMap.jsx +423 -0
  160. package/src/renderer/src/contexts/ApprovalContext.jsx +425 -0
  161. package/src/renderer/src/contexts/ChatContext.jsx +61 -0
  162. package/src/renderer/src/contexts/YoutubeMusicContext.jsx +333 -0
  163. package/src/renderer/src/data/faqData.js +202 -0
  164. package/src/renderer/src/hooks/agent/executeAgentTool.js +895 -0
  165. package/src/renderer/src/hooks/agent/index.js +4 -0
  166. package/src/renderer/src/hooks/agent/useMarkMusic.js +75 -0
  167. package/src/renderer/src/hooks/agent/useMarkPlan.js +2739 -0
  168. package/src/renderer/src/hooks/agent/useMarkState.js +173 -0
  169. package/src/renderer/src/hooks/agent/useMarkYoutube.js +82 -0
  170. package/src/renderer/src/hooks/agent/useRelationalGrowth.js +201 -0
  171. package/src/renderer/src/hooks/telegram/useTelegramBot.js +63 -0
  172. package/src/renderer/src/hooks/useAwareness.js +289 -0
  173. package/src/renderer/src/hooks/useChatArchiver.js +52 -0
  174. package/src/renderer/src/hooks/useConfirm.jsx +68 -0
  175. package/src/renderer/src/hooks/useMarkAgent.js +454 -0
  176. package/src/renderer/src/hooks/useMemoryGroomer.js +152 -0
  177. package/src/renderer/src/hooks/useVAD.js +511 -0
  178. package/src/renderer/src/hooks/useWebSpeechWakeWord.js +122 -0
  179. package/src/renderer/src/main.jsx +12 -0
  180. package/src/renderer/src/pages/ChatStudio.jsx +922 -0
  181. package/src/renderer/src/pages/Configuration.jsx +360 -0
  182. package/src/renderer/src/pages/GoogleWorkspace.jsx +293 -0
  183. package/src/renderer/src/pages/Guidebook.jsx +917 -0
  184. package/src/renderer/src/pages/Knowledge.jsx +241 -0
  185. package/src/renderer/src/pages/MarkHome.jsx +491 -0
  186. package/src/renderer/src/pages/NeuralCore.jsx +786 -0
  187. package/src/renderer/src/pages/Plugins.jsx +630 -0
  188. package/src/renderer/src/pages/SkillEditor.jsx +380 -0
  189. package/src/renderer/src/pages/Skills.jsx +219 -0
  190. package/src/renderer/src/pages/Subagents.jsx +342 -0
  191. package/src/renderer/src/pages/TelegramBot.jsx +343 -0
  192. package/src/renderer/src/utils/chatContentParser.js +203 -0
  193. package/src/renderer/src/utils/toolClusters.js +201 -0
  194. package/src/server/bin/sha3_wasm_bg.wasm +0 -0
  195. package/src/server/config-manager.js +57 -0
  196. package/src/server/index.js +195 -0
  197. package/src/server/launcher.js +87 -0
  198. package/src/server/memory/db-store.js +758 -0
  199. package/src/server/memory/orama-store.js +177 -0
  200. package/src/server/memory/vector-engine.js +109 -0
  201. package/src/server/routes/ai.routes.js +280 -0
  202. package/src/server/routes/awareness.routes.js +62 -0
  203. package/src/server/routes/chat.routes.js +61 -0
  204. package/src/server/routes/config.routes.js +41 -0
  205. package/src/server/routes/index.js +35 -0
  206. package/src/server/routes/integrations.routes.js +116 -0
  207. package/src/server/routes/memory.routes.js +256 -0
  208. package/src/server/routes/plugins.routes.js +72 -0
  209. package/src/server/routes/skills.routes.js +139 -0
  210. package/src/server/routes/subagents.routes.js +70 -0
  211. package/src/server/routes/tasks.routes.js +175 -0
  212. package/src/server/routes/workspace.routes.js +127 -0
  213. package/src/server/services/ai/ai-utils.js +161 -0
  214. package/src/server/services/ai/openai-provider.js +757 -0
  215. package/src/server/services/ai/web-provider.js +729 -0
  216. package/src/server/services/ai-bridge.js +46 -0
  217. package/src/server/services/deepseek-web.js +956 -0
  218. package/src/server/services/gemini-web.js +170 -0
  219. package/src/server/services/notification-service.js +91 -0
  220. package/src/server/services/updater.js +125 -0
  221. package/src/server/tools/awareness-tracker.js +292 -0
  222. package/src/server/tools/group-tools.js +1164 -0
  223. package/src/server/tools/media-tools.js +244 -0
  224. package/src/server/tools/pc-agent.js +327 -0
  225. package/src/server/tools/screen-service.js +51 -0
  226. package/src/server/ws-hub.js +168 -0
  227. package/src/shared/parsers/mark-tag-parser.js +275 -0
package/LICENSE ADDED
@@ -0,0 +1,29 @@
1
+ MARK Agent Source Available License v1.0
2
+
3
+ Copyright (c) 2026 Mada Putra.
4
+ All rights reserved.
5
+
6
+ Permission is granted, free of charge, to any person obtaining a copy
7
+ of this software to:
8
+
9
+ - Use the software for personal, educational, and research purposes.
10
+ - Study and modify the source code.
11
+ - Create forks and submit contributions.
12
+ - Distribute unmodified or modified copies under this same license.
13
+
14
+ The following activities are strictly prohibited without prior written
15
+ permission from the copyright holder:
16
+
17
+ - Selling this software.
18
+ - Offering this software as a paid service (SaaS).
19
+ - Using this software, in whole or in part, in any commercial product
20
+ or commercial service.
21
+ - Removing or altering this license or copyright notice.
22
+ - Relicensing this software under another license.
23
+
24
+ Any derivative work must include this license and clearly state the
25
+ changes that were made.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
28
+ EXPRESS OR IMPLIED. THE AUTHORS SHALL NOT BE LIABLE FOR ANY CLAIM,
29
+ DAMAGES, OR OTHER LIABILITY ARISING FROM THE USE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,209 @@
1
+ # MARK - Metacognitive Artificial Relational Knowledge (v5.0.0)
2
+
3
+ ![MARK AI Banner](./assets/banner-repo.png)
4
+ [![Download Terbaru](https://img.shields.io/badge/Download-Versi_Terbaru-blue?style=for-the-badge&logo=windows)](https://github.com/Mazees/mark-agent/releases/)
5
+
6
+ > **Mark BUKAN sekadar asisten virtual biasa. Mark adalah entitas AI yang dirancang untuk memiliki emosi, bertindak selayaknya manusia, dan memimpin tim agen cerdas.**
7
+ > Lebih dari sekadar chatbot kaku, Mark adalah _Personal AI OS Companion_ yang berjalan di ekosistem lokal Anda—dilengkapi dengan arsitektur modern **Node.js Core + WebUI (React 19 / Vite 7)** dalam antarmuka Microsoft Edge App Mode (dengan fallback otomatis ke browser default) dan CLI Live Activity Monitor (`mark`). Didukung oleh **Centralized SQLite Database**, sistem memori jangka panjang berbasis _Vector Memory_, **Relational Growth System**, **Autonomous Multi-Agent Sub-Agent Engine**, serta **Multi-Session Browser Automation**. Ditenagai oleh _Hybrid AI Engine_, Mark dapat beroperasi secara lokal untuk privasi maksimal, atau menggunakan _Cloud APIs_ untuk mengeksekusi tugas kompleks, menyusun rencana (_Agentic Planning_), mengotomatisasi desktop PC, merangkum video YouTube, mengobservasi layar atau dunia nyata (_Vision_), hingga kendali jarak jauh via **Telegram Bot**.
8
+
9
+ > [!IMPORTANT]
10
+ > Proyek ini dioptimalkan khusus untuk **Windows** (Windows 10/11 64-bit).
11
+
12
+ ---
13
+
14
+ ## Fitur Unggulan
15
+
16
+ - **Arsitektur Decoupled V5 (Node.js Core + Modern WebUI):** Inti aplikasi dipisahkan menjadi server Node.js performa tinggi (`src/server/`) dengan WebSocket Hub (`/stream`) dan antarmuka React 19 / Vite 7 (`src/renderer/`). Berjalan ringan dalam mode Microsoft Edge App Mode terisolasi (dengan fallback otomatis ke browser default) dan CLI Live Activity Monitor (`mark`).
17
+ - **Autonomous Multi-Agent Sub-Agent Engine (Mission Control):** Mark bertindak sebagai _Lead Agent_ yang mampu memecah tugas kompleks dan mendelegasikannya ke banyak **Sub-Agent spesialis** yang bekerja secara paralel di latar belakang. Dilengkapi dengan antarmuka **Mission Control** dan **Live Sub-Agent Intercom HUD** yang menampilkan pemikiran mendalam (_Reasoning Analisis_), langkah eksekusi berkala (_Execution Steps_), dan laporan hasil akhir dengan dukungan penuh Markdown & Syntax Highlighting.
18
+ - **Centralized SQLite & Real-Time Hybrid Vector Engine:** Seluruh data (memori kognitif, riwayat obrolan, turn pairs, konfigurasi, sub-agent, dan tasks) tersimpan terpusat di `%USERPROFILE%\.config\mark-agent\mark.db` menggunakan `better-sqlite3` dalam WAL mode berkecepatan tinggi. Diindeks secara _real-time_ ke mesin pencari hybrid `@orama/orama` menggunakan model embedding lokal 384-dimensi (`Xenova/paraphrase-multilingual-MiniLM-L12-v2`) via Transformers.js tanpa ketergantungan API luar.
19
+ - **Universal Zero-Hallucination Policy & Strict Groundedness:** Menerapkan kebijakan anti-halusinasi ketat di seluruh ekosistem Mark. Jika data riwayat percakapan lama, berkas kode, atau fakta dokumen tidak ditemukan, Mark wajib jujur mengakuinya dan dilarang keras mengarang informasi, menambah-nambahkan poin fiktif (_anti-extrapolation_), atau berpura-pura mengingat hal yang belum pernah dibahas.
20
+ - **Multi-Session Isolated Browser Automation:** Sistem browser Chromium fisik Mark mendukung sesi independen tanpa batas berbasis `puppeteer-core`. Beberapa Sub-Agent dapat melakukan riset web, menavigasi Google, mengekstrak data, dan mengisi formulir secara bersamaan tanpa saling mengganggu, didukung oleh **Multi-Card Holo Preview** yang menampilkan status visual tiap sesi di antarmuka desktop.
21
+ - **Dynamic Agentic Planning (ReAct Loop):** Mengganti sistem penjawab statis dengan arsitektur penalaran cerdas. Mark mampu memecah masalah, memikirkan strategi, menggunakan _tools_ secara otonom berulang kali, dan mengevaluasi hasilnya sebelum memberikan jawaban akhir yang komprehensif.
22
+ - **Agent Task Workflows (Durable Tasks & Mission Control):** Untuk pekerjaan multi-langkah yang panjang, Mark secara otonom mendekomposisi tugas menjadi tahapan konkret via tool `create_agent_task` (atau dipicu manual via perintah `/task` dan alias `/plan`). Setiap langkah divalidasi, di-checkpoint persisten ke basis data SQLite, dapat di-retry otomatis, dan menghasilkan berkas artefak markdown resmi di folder `Documents/Mark Tasks/<task-id>/` yang terpantau real-time pada komponen antarmuka `DurableTaskBubble` di chat stream.
23
+ - **Zero-Vision Physical PC & Desktop Automation (Windows UIAutomation + C# Daemon):** Menggunakan daemon PowerShell C# persisten (`pc-daemon.ps1`), Mark dapat membaca elemen GUI desktop secara struktural, mengklik koordinat, mengetik teks Unicode, menekan kombinasi _shortcut_, hingga mengelola jendela aplikasi di Windows secara fisik dengan kecepatan tinggi tanpa biaya vision API. Dilengkapi _Floating Security Banner_ dan tombol darurat **Emergency Stop (`Ctrl+Shift+S`)**.
24
+ - **Infinite Memory & Injection Knowledge RAG:** Sistem Vector Retrieval-Augmented Generation (RAG) berjalan secara _offline_. Mark menyimpan riwayat memori obrolan masif tanpa batas dan pengguna dapat menambahkan dokumen (.pdf, .docx, .txt, .md) ke dalam _knowledge base_ tanpa membebani _context window_ LLM.
25
+ - **Automatic Memory Groomer (Hippocampus Engine):** Sistem pembersihan dan konsolidasi memori mandiri berbasis _Orama Clustering_ dan _LLM Batch Processing_. Hippocampus Engine mendeteksi klaster memori serupa (`profile` & `preference`) lalu menggabungkannya secara kronologis tanpa kehilangan riwayat penting.
26
+ - **Visualisasi Jaringan Otak (Memory Visualizer):** Antarmuka _Live Feed_ "Mark Neural Core" berbasis grafis Neural Network 2D interaktif (`react-force-graph-2d`) untuk menjelajahi jaringan _Chat History_, _Knowledge Base_, hingga _Document Vault_.
27
+ - **Relational Growth System & Dynamic Persona:** Hubungan Anda dengan Mark dievaluasi layaknya manusia sungguhan melalui 4 parameter krusial (_Warmth, Sarcasm, Trust, Energy_). Tingkat kesopanan, kelancangan (_roasting_), dan kepribadian Mark akan berevolusi organik sesuai gaya komunikasi Anda.
28
+ - **Multi AI Provider (Built-in Gemini / Local / Cloud):** Mark hadir dengan **Google Gemini Engine (Gratis)** sebagai _provider_ bawaan yang siap pakai tanpa API Key. Anda juga memiliki fleksibilitas penuh untuk menggunakan **Local AI** (LM Studio), **Cloud AI** (Groq / Cerebras), maupun _Custom OpenAI-Compatible API_.
29
+ - **Asisten Bot Telegram Mandiri (Telegraf Engine):** Terhubung langsung dengan Telegram Bot API. Mark dapat dikontrol jarak jauh via Telegram, merangkum obrolan, mengunduh MP3 YouTube, mengambil tangkapan layar PC, dan secara otomatis menyinkronkan seluruh balasan & _Awareness Engine_ ke Telegram Admin secara _real-time_.
30
+ - **Proaktif dengan Awareness Engine:** Mark tidak hanya pasif merespons. Mark dapat proaktif menyapa, mengingatkan tugas, atau memutarkan musik di latar belakang saat Anda sedang bersantai atau bekerja fokus.
31
+
32
+ ---
33
+
34
+ ## Kemampuan Utama (Tools)
35
+
36
+ - **Autonomous Multi-Agent Tools:** `spawn_subagent`, `wait_subagents`, `send_message`, `list_subagents`, `kill_subagent`.
37
+ - **Durable Task Workflow Engine:** `create_agent_task` (pemecahan tugas multi-tahap terstruktur, checkpointing berkala, validasi kelayakan deliverable, dan generasi berkas artefak).
38
+ - **Memory & Recall Tools (`memory-search`):** Pencarian semantik memori, preferensi, catatan teknis, dan pasangan percakapan asli (Turn Pairs) dengan _similarity threshold_ dinamis (`keyword||threshold||limit`, default threshold `0.5`, limit `5`).
39
+ - **Multi-Session Web Browsing (`browser-*`):** `browser-navigate`, `browser-read`, `browser-click`, `browser-type`, `browser-scroll`, `browser-extract`, `browser-ask-user`, `browser-close`.
40
+ - **Desktop Automation (`os-*`):** `os-read`, `os-click`, `os-type`, `os-key`, `os-scroll`, `os-open`, `os-list-windows`, `os-focus-window`.
41
+ - **Native File Handling & PowerShell:** `read-file`, `write-file`, `replace-content`, `delete-file`, `list-dir`, `grep-search`, `run-powershell`.
42
+ - **Vision Awareness:** `analyze-screen` (analisis layar multi-monitor) dan `camera-look` (observasi visual webcam).
43
+ - **Interaksi Suara Natural:** Voice Activity Detection (VAD) dengan Groq Whisper STT / Local Whisper dan Edge-TTS (`id-ID-ArdiNeural`).
44
+ - **Perangkum YouTube & YouTube Music:** Transkripsi kilat video YouTube dan pemutar YouTube Music tanpa iklan dengan _ad-blaster_.
45
+ - **Mark Skills System:** Kustomisasi kepribadian dan kapabilitas menggunakan instruksi Markdown (`.md`) dengan pemanggilan slash command (`/nama-skill`) serta native built-in skills (`/task`, `/plan`).
46
+ - **Sistem Plugin Kustom:** Penambahan modul fungsi Node.js baru langsung dari antarmuka pengguna dengan Monaco Editor.
47
+
48
+ ---
49
+
50
+ ## Arsitektur Memory Persistence & Integritas Fakta
51
+
52
+ Arsitektur memori Mark V5 dirancang untuk kontinuitas ingatan jangka panjang (_Long-Term Memory Persistence_) secara lokal tanpa bergantung pada cloud:
53
+
54
+ 1. **Episodic Memory (Turn-Pair Vector Index)**:
55
+ - Setiap sesi percakapan dipecah ke dalam unit dialog utuh (Pertanyaan Pengguna + Jawaban AI).
56
+ - Dihitung embedding-nya (vektor 384-dimensi) menggunakan model lokal Transformers.js (`MiniLM-L12-v2`).
57
+ - Disimpan secara persisten di tabel `chat_turns` SQLite dan diindeks ke `@orama/orama` untuk pencarian semantik hybrid (BM25 + Cosine Similarity).
58
+ 2. **Semantic & Core Memory (`profile`, `preference`, `notes`)**:
59
+ - Menyimpan fakta identitas pengguna, preferensi gaya bicara, dan catatan eksplisit di tabel `memories`.
60
+ - Dikelola dan dirampingkan secara otomatis oleh _Hippocampus Memory Groomer_.
61
+ 3. **Self Improving Skill**:
62
+ - Menyimpan alur kerja teknis dan trik solusi yang berhasil dipelajari Mark saat memecahkan masalah kompleks ke tabel `learned_skills`.
63
+ 4. **Universal Zero-Hallucination & Groundedness**:
64
+ - Sistem prompt dan ReAct loop Mark dibentengi oleh aturan integritas fakta ketat. Mark dilarang mengarang fakta jika riwayat obrolan atau data file tidak ditemukan di memori, menjamin hasil penarikan informasi yang akurat dan dapat dipercaya.
65
+
66
+ ---
67
+
68
+ ## Arsitektur Proyek (V5)
69
+
70
+ ```text
71
+ mark/
72
+ ├── bin/
73
+ │ └── mark.js # CLI Launcher & Terminal Live Monitor entrypoint
74
+ ├── src/
75
+ │ ├── cli/ # Terminal Dashboard & Live Activity Monitor
76
+ │ │ ├── monitor.js # Real-time Terminal Dashboard
77
+ │ │ └── theme.js # CLI Theme & ASCII HUD
78
+ │ ├── server/ # Node.js Core Backend Server
79
+ │ │ ├── index.js # Server Entrypoint, Express REST API, Auto-Port Fallback
80
+ │ │ ├── ws-hub.js # WebSocket Hub Server (/stream)
81
+ │ │ ├── launcher.js # Edge App Mode & Browser Window Manager
82
+ │ │ ├── routes/ # Modular Express Routers (tasks.routes.js, etc.)
83
+ │ │ ├── memory/
84
+ │ │ │ ├── db-store.js # Centralized SQLite Engine (better-sqlite3, 12 tables)
85
+ │ │ │ ├── orama-store.js # Hybrid Orama Vector & Text Search
86
+ │ │ │ └── vector-engine.js # Transformers.js 384d Local Embeddings
87
+ │ │ ├── services/
88
+ │ │ │ ├── ai-bridge.js # Multi-Provider Router, Rate Limiter, JSON Repair
89
+ │ │ │ └── gemini-web.js # Native Gemini Web RPC Engine
90
+ │ │ └── tools/
91
+ │ │ ├── pc-agent.js # Win32 Desktop Automation Driver
92
+ │ │ ├── awareness-tracker.js # OS-level Active Window & Idle Tracker
93
+ │ │ ├── screen-service.js # GDI+ Zero-Dependency Screen Capture
94
+ │ │ └── media-tools.js # Audio, STT & TTS Service
95
+ │ ├── main/ # Native Subsystems & Automation
96
+ │ │ ├── browser-agent.js # Multi-Session Puppeteer Chromium Engine
97
+ │ │ ├── node-tools.js # Native OS Tool Registry (File, PS, Folder Dialog, dll)
98
+ │ │ ├── git-service.js # Git Workspace Repository Tools
99
+ │ │ ├── pc-agent-scripts/ # PowerShell & Win32 C# persistent daemon
100
+ │ │ ├── plugins/ # Dynamic User Plugins Engine
101
+ │ │ ├── skills/ # Pure Node.js Markdown Skills Engine
102
+ │ │ ├── google/ # Google Workspace (OAuth2, Drive, Calendar, Gmail)
103
+ │ │ ├── task-daemon.js # Long-Running Background Tasks Daemon
104
+ │ │ └── telegram/ # Telegraf Telegram Bot Service
105
+ │ └── renderer/ # Modern WebUI Frontend
106
+ │ └── src/
107
+ │ ├── api/ # Client DB Transparent Proxy & AI Brain
108
+ │ │ ├── db.js # SQLite REST Transparent Proxy (Dexie-compatible API)
109
+ │ │ ├── taskStore.js # Durable Task & Workflow State Machine
110
+ │ │ ├── web-bridge.js # Dynamic WebSocket & API Client (window.api)
111
+ │ │ ├── ai/ # Planning, Persona, Relationship, Awareness
112
+ │ │ └── subagent/ # Autonomous Sub-Agent Runner & Intercom Store
113
+ │ ├── components/ # Reusable Holo UI Components & HUDs
114
+ │ │ ├── Chat/ # Chat Bubbles (DurableTaskBubble, MessageBubble, dll)
115
+ │ │ └── core/ # InputBar & Native Skills (/task)
116
+ │ ├── hooks/ # Custom Hooks (useMarkPlan, useVAD, useAwareness)
117
+ │ └── pages/ # MarkHome, ChatStudio, Subagents, Configuration, dll
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Teknologi Terkait
123
+
124
+ | Kategori | Teknologi |
125
+ | :--------------------- | :-------------------------------------------------------------------------------------- |
126
+ | **Arsitektur Core** | Node.js 20+, Express 4, WebSocket Hub (`ws`) |
127
+ | **Antarmuka (UI)** | React 19, Vite 7, Tailwind CSS 4, DaisyUI 5, Monaco Editor, Lucide Icons |
128
+ | **Desktop Launcher** | Node.js CLI Live Monitor (`mark`), Microsoft Edge App Mode |
129
+ | **Database & Storage** | Centralized SQLite (`better-sqlite3` WAL Mode), REST Proxy Layer |
130
+ | **Pencarian & Vektor** | `@orama/orama` WASM, Transformers.js (`@huggingface/transformers`, 384d) |
131
+ | **Mesin AI** | Google Gemini (Bawaan Gratis) / Custom Open AI API Format / LM Studio (Offline) |
132
+ | **Browser Automation** | `puppeteer-core` (Multi-Session Chromium Isolation) |
133
+ | **Desktop Automation** | Win32 UIAutomation, persistent PowerShell C# Daemon, WinRT OCR |
134
+ | **Suara & Audio** | Groq Whisper-Large-v3 / Local Whisper, Edge-TTS (`id-ID-ArdiNeural`), Web Audio API VAD |
135
+
136
+ ---
137
+
138
+ ## Instalasi & Penggunaan
139
+
140
+ ### Persyaratan Sistem
141
+
142
+ - **Sistem Operasi**: Windows 10/11 (64-bit)
143
+ - **Node.js**: Versi 20 atau lebih baru
144
+ - **Browser**: Microsoft Edge (bawaan Windows) atau Google Chrome
145
+ - (Opsional) **LM Studio** untuk model AI lokal _offline_.
146
+ - (Opsional) **API Key Groq / Cerebras** untuk inferensi awan berkecepatan tinggi.
147
+
148
+ ### Menjalankan dari Source Code (Development)
149
+
150
+ 1. **Kloning repositori:**
151
+
152
+ ```bash
153
+ git clone https://github.com/Mazees/mark-agent.git
154
+ cd mark-agent/mark
155
+ ```
156
+
157
+ 2. **Instalasi dependensi:**
158
+
159
+ ```bash
160
+ npm install
161
+ ```
162
+
163
+ 3. **Jalankan aplikasi (Development):**
164
+
165
+ ```bash
166
+ npm start
167
+ ```
168
+
169
+ _Perintah ini akan menyalakan server Node.js Core di port dinamis (default: 3000) dan membuka antarmuka MARK di Microsoft Edge App Mode._
170
+
171
+ 4. **Menjalankan UI & Server secara terpisah (Dev Mode):**
172
+
173
+ ```bash
174
+ # Terminal 1: Core Backend Server
175
+ npm run dev:server
176
+
177
+ # Terminal 2: Vite Hot-Reload UI
178
+ npm run dev:ui
179
+ ```
180
+
181
+ ### Menjalankan Perintah Global `mark` di Terminal
182
+
183
+ 1. **Build WebUI:**
184
+
185
+ ```bash
186
+ npm run build:ui
187
+ ```
188
+
189
+ 2. **Daftarkan perintah `mark` (Global Symlink):**
190
+
191
+ ```bash
192
+ npm link
193
+ ```
194
+
195
+ 3. **Jalankan dari folder mana saja di terminal:**
196
+ ```bash
197
+ mark
198
+ ```
199
+ _Perintah ini akan membuka Live Activity Monitor di terminal dan otomatis meluncurkan antarmuka WebUI MARK di layar._
200
+
201
+ ---
202
+
203
+ ## Panduan Migrasi Data (Versi Sebelumnya ke V5)
204
+
205
+ Bagi pengguna MARK versi sebelumnya (berbasis Electron/Dexie) yang ingin memindahkan seluruh memori, dokumen, dan riwayat obrolan ke MARK V5 (berbasis SQLite), silakan baca panduan lengkap di [docs/MIGRATION_GUIDE.md](./docs/MIGRATION_GUIDE.md).
206
+
207
+ ---
208
+
209
+ **Dilarang keras menjual atau memperdagangkan perangkat lunak ini untuk keuntungan komersial tanpa izin tertulis.**
package/bin/mark.js ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * MARK Launcher Entrypoint
5
+ * Menjalankan Node.js Core Server, WebUI (Edge App Mode), dan Live Monitor Dashboard.
6
+ */
7
+
8
+ import { runMonitor } from '../src/cli/monitor.js'
9
+ import { stopDaemon } from '../src/server/tools/pc-agent.js'
10
+ import { server } from '../src/server/index.js'
11
+ import { closeUI } from '../src/server/launcher.js'
12
+
13
+ process.on('SIGINT', () => {
14
+ console.log('\n\x1b[33m● Mematikan MARK Core Engine...\x1b[0m')
15
+ closeUI()
16
+ stopDaemon()
17
+ if (server) {
18
+ server.close(() => {
19
+ process.exit(0)
20
+ })
21
+ }
22
+ setTimeout(() => process.exit(0), 1000)
23
+ })
24
+
25
+ runMonitor().catch((err) => {
26
+ console.error('\x1b[31m[Startup Error]:\x1b[0m', err)
27
+ })