octo-vec 1.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 (319) hide show
  1. package/README.md +646 -0
  2. package/core/prompts/architect.md +124 -0
  3. package/core/prompts/ba.md +117 -0
  4. package/core/prompts/backend.md +154 -0
  5. package/core/prompts/compliance.md +127 -0
  6. package/core/prompts/dataanalyst.md +126 -0
  7. package/core/prompts/dataengineer.md +155 -0
  8. package/core/prompts/dba.md +155 -0
  9. package/core/prompts/designer.md +145 -0
  10. package/core/prompts/dev.md +148 -0
  11. package/core/prompts/devops.md +127 -0
  12. package/core/prompts/frontend.md +151 -0
  13. package/core/prompts/mlengineer.md +156 -0
  14. package/core/prompts/mobile.md +155 -0
  15. package/core/prompts/pm.md +182 -0
  16. package/core/prompts/productowner.md +122 -0
  17. package/core/prompts/qa.md +135 -0
  18. package/core/prompts/releasemanager.md +138 -0
  19. package/core/prompts/researcher.md +122 -0
  20. package/core/prompts/scrummaster.md +125 -0
  21. package/core/prompts/security.md +127 -0
  22. package/core/prompts/sre.md +141 -0
  23. package/core/prompts/support.md +138 -0
  24. package/core/prompts/techwriter.md +123 -0
  25. package/core/roster.json +1161 -0
  26. package/dashboard/dist/assets/index--L-aFRgh.css +1 -0
  27. package/dashboard/dist/assets/index-BoOVmAFf.js +523 -0
  28. package/dashboard/dist/icons/integrations/gitleaks.svg +6 -0
  29. package/dashboard/dist/icons/integrations/searxng.svg +5 -0
  30. package/dashboard/dist/icons/integrations/semgrep.svg +4 -0
  31. package/dashboard/dist/icons/integrations/slack.svg +6 -0
  32. package/dashboard/dist/icons/integrations/sonarqube.svg +5 -0
  33. package/dashboard/dist/icons/integrations/telegram.svg +4 -0
  34. package/dashboard/dist/icons/integrations/trivy.svg +5 -0
  35. package/dashboard/dist/icons/providers/anthropic.svg +1 -0
  36. package/dashboard/dist/icons/providers/antigravity.svg +1 -0
  37. package/dashboard/dist/icons/providers/azure.svg +1 -0
  38. package/dashboard/dist/icons/providers/bedrock.svg +1 -0
  39. package/dashboard/dist/icons/providers/cerebras.svg +1 -0
  40. package/dashboard/dist/icons/providers/chatglm.svg +1 -0
  41. package/dashboard/dist/icons/providers/codex.svg +1 -0
  42. package/dashboard/dist/icons/providers/gemini.svg +1 -0
  43. package/dashboard/dist/icons/providers/githubcopilot.svg +1 -0
  44. package/dashboard/dist/icons/providers/googlecloud.svg +1 -0
  45. package/dashboard/dist/icons/providers/groq.svg +1 -0
  46. package/dashboard/dist/icons/providers/huggingface.svg +1 -0
  47. package/dashboard/dist/icons/providers/kimi.svg +1 -0
  48. package/dashboard/dist/icons/providers/minimax.svg +1 -0
  49. package/dashboard/dist/icons/providers/mistral.svg +1 -0
  50. package/dashboard/dist/icons/providers/openai.svg +1 -0
  51. package/dashboard/dist/icons/providers/openrouter.svg +1 -0
  52. package/dashboard/dist/icons/providers/vercel.svg +1 -0
  53. package/dashboard/dist/icons/providers/xai.svg +1 -0
  54. package/dashboard/dist/index.html +17 -0
  55. package/dist/agents/pmAgent.d.ts +40 -0
  56. package/dist/agents/pmAgent.d.ts.map +1 -0
  57. package/dist/agents/pmAgent.js +181 -0
  58. package/dist/agents/pmAgent.js.map +1 -0
  59. package/dist/ar/baseSpecialist.d.ts +36 -0
  60. package/dist/ar/baseSpecialist.d.ts.map +1 -0
  61. package/dist/ar/baseSpecialist.js +292 -0
  62. package/dist/ar/baseSpecialist.js.map +1 -0
  63. package/dist/ar/promptLoader.d.ts +10 -0
  64. package/dist/ar/promptLoader.d.ts.map +1 -0
  65. package/dist/ar/promptLoader.js +22 -0
  66. package/dist/ar/promptLoader.js.map +1 -0
  67. package/dist/ar/registry.d.ts +12 -0
  68. package/dist/ar/registry.d.ts.map +1 -0
  69. package/dist/ar/registry.js +22 -0
  70. package/dist/ar/registry.js.map +1 -0
  71. package/dist/ar/roster.d.ts +104 -0
  72. package/dist/ar/roster.d.ts.map +1 -0
  73. package/dist/ar/roster.js +245 -0
  74. package/dist/ar/roster.js.map +1 -0
  75. package/dist/ar/toolProfiles.d.ts +18 -0
  76. package/dist/ar/toolProfiles.d.ts.map +1 -0
  77. package/dist/ar/toolProfiles.js +89 -0
  78. package/dist/ar/toolProfiles.js.map +1 -0
  79. package/dist/atp/agentGroups.d.ts +39 -0
  80. package/dist/atp/agentGroups.d.ts.map +1 -0
  81. package/dist/atp/agentGroups.js +109 -0
  82. package/dist/atp/agentGroups.js.map +1 -0
  83. package/dist/atp/agentInterrupt.d.ts +31 -0
  84. package/dist/atp/agentInterrupt.d.ts.map +1 -0
  85. package/dist/atp/agentInterrupt.js +51 -0
  86. package/dist/atp/agentInterrupt.js.map +1 -0
  87. package/dist/atp/agentMessageQueue.d.ts +74 -0
  88. package/dist/atp/agentMessageQueue.d.ts.map +1 -0
  89. package/dist/atp/agentMessageQueue.js +218 -0
  90. package/dist/atp/agentMessageQueue.js.map +1 -0
  91. package/dist/atp/agentRuntime.d.ts +67 -0
  92. package/dist/atp/agentRuntime.d.ts.map +1 -0
  93. package/dist/atp/agentRuntime.js +279 -0
  94. package/dist/atp/agentRuntime.js.map +1 -0
  95. package/dist/atp/agentStreamBus.d.ts +35 -0
  96. package/dist/atp/agentStreamBus.d.ts.map +1 -0
  97. package/dist/atp/agentStreamBus.js +159 -0
  98. package/dist/atp/agentStreamBus.js.map +1 -0
  99. package/dist/atp/agentToolConfig.d.ts +38 -0
  100. package/dist/atp/agentToolConfig.d.ts.map +1 -0
  101. package/dist/atp/agentToolConfig.js +225 -0
  102. package/dist/atp/agentToolConfig.js.map +1 -0
  103. package/dist/atp/chatLog.d.ts +34 -0
  104. package/dist/atp/chatLog.d.ts.map +1 -0
  105. package/dist/atp/chatLog.js +59 -0
  106. package/dist/atp/chatLog.js.map +1 -0
  107. package/dist/atp/codexAuth.d.ts +6 -0
  108. package/dist/atp/codexAuth.d.ts.map +1 -0
  109. package/dist/atp/codexAuth.js +44 -0
  110. package/dist/atp/codexAuth.js.map +1 -0
  111. package/dist/atp/database.d.ts +54 -0
  112. package/dist/atp/database.d.ts.map +1 -0
  113. package/dist/atp/database.js +323 -0
  114. package/dist/atp/database.js.map +1 -0
  115. package/dist/atp/eventLog.d.ts +12 -0
  116. package/dist/atp/eventLog.d.ts.map +1 -0
  117. package/dist/atp/eventLog.js +60 -0
  118. package/dist/atp/eventLog.js.map +1 -0
  119. package/dist/atp/inboxLoop.d.ts +72 -0
  120. package/dist/atp/inboxLoop.d.ts.map +1 -0
  121. package/dist/atp/inboxLoop.js +482 -0
  122. package/dist/atp/inboxLoop.js.map +1 -0
  123. package/dist/atp/llmDebug.d.ts +18 -0
  124. package/dist/atp/llmDebug.d.ts.map +1 -0
  125. package/dist/atp/llmDebug.js +97 -0
  126. package/dist/atp/llmDebug.js.map +1 -0
  127. package/dist/atp/messageDebouncer.d.ts +34 -0
  128. package/dist/atp/messageDebouncer.d.ts.map +1 -0
  129. package/dist/atp/messageDebouncer.js +60 -0
  130. package/dist/atp/messageDebouncer.js.map +1 -0
  131. package/dist/atp/messageQueue.d.ts +17 -0
  132. package/dist/atp/messageQueue.d.ts.map +1 -0
  133. package/dist/atp/messageQueue.js +69 -0
  134. package/dist/atp/messageQueue.js.map +1 -0
  135. package/dist/atp/modelConfig.d.ts +46 -0
  136. package/dist/atp/modelConfig.d.ts.map +1 -0
  137. package/dist/atp/modelConfig.js +232 -0
  138. package/dist/atp/modelConfig.js.map +1 -0
  139. package/dist/atp/models.d.ts +87 -0
  140. package/dist/atp/models.d.ts.map +1 -0
  141. package/dist/atp/models.js +45 -0
  142. package/dist/atp/models.js.map +1 -0
  143. package/dist/atp/postTaskHooks.d.ts +21 -0
  144. package/dist/atp/postTaskHooks.d.ts.map +1 -0
  145. package/dist/atp/postTaskHooks.js +89 -0
  146. package/dist/atp/postTaskHooks.js.map +1 -0
  147. package/dist/atp/tokenTracker.d.ts +46 -0
  148. package/dist/atp/tokenTracker.d.ts.map +1 -0
  149. package/dist/atp/tokenTracker.js +120 -0
  150. package/dist/atp/tokenTracker.js.map +1 -0
  151. package/dist/channels/activeChannel.d.ts +14 -0
  152. package/dist/channels/activeChannel.d.ts.map +1 -0
  153. package/dist/channels/activeChannel.js +18 -0
  154. package/dist/channels/activeChannel.js.map +1 -0
  155. package/dist/channels/channelConfig.d.ts +61 -0
  156. package/dist/channels/channelConfig.d.ts.map +1 -0
  157. package/dist/channels/channelConfig.js +130 -0
  158. package/dist/channels/channelConfig.js.map +1 -0
  159. package/dist/channels/channelManager.d.ts +22 -0
  160. package/dist/channels/channelManager.d.ts.map +1 -0
  161. package/dist/channels/channelManager.js +77 -0
  162. package/dist/channels/channelManager.js.map +1 -0
  163. package/dist/channels/discord.d.ts +24 -0
  164. package/dist/channels/discord.d.ts.map +1 -0
  165. package/dist/channels/discord.js +276 -0
  166. package/dist/channels/discord.js.map +1 -0
  167. package/dist/channels/slack.d.ts +25 -0
  168. package/dist/channels/slack.d.ts.map +1 -0
  169. package/dist/channels/slack.js +313 -0
  170. package/dist/channels/slack.js.map +1 -0
  171. package/dist/channels/telegram.d.ts +20 -0
  172. package/dist/channels/telegram.d.ts.map +1 -0
  173. package/dist/channels/telegram.js +273 -0
  174. package/dist/channels/telegram.js.map +1 -0
  175. package/dist/channels/types.d.ts +12 -0
  176. package/dist/channels/types.d.ts.map +1 -0
  177. package/dist/channels/types.js +5 -0
  178. package/dist/channels/types.js.map +1 -0
  179. package/dist/config.d.ts +82 -0
  180. package/dist/config.d.ts.map +1 -0
  181. package/dist/config.js +144 -0
  182. package/dist/config.js.map +1 -0
  183. package/dist/dashboard/security.d.ts +68 -0
  184. package/dist/dashboard/security.d.ts.map +1 -0
  185. package/dist/dashboard/security.js +178 -0
  186. package/dist/dashboard/security.js.map +1 -0
  187. package/dist/dashboard/securityHelpers.d.ts +10 -0
  188. package/dist/dashboard/securityHelpers.d.ts.map +1 -0
  189. package/dist/dashboard/securityHelpers.js +22 -0
  190. package/dist/dashboard/securityHelpers.js.map +1 -0
  191. package/dist/dashboard/server.d.ts +18 -0
  192. package/dist/dashboard/server.d.ts.map +1 -0
  193. package/dist/dashboard/server.js +3207 -0
  194. package/dist/dashboard/server.js.map +1 -0
  195. package/dist/flows/codeScanFlow.d.ts +14 -0
  196. package/dist/flows/codeScanFlow.d.ts.map +1 -0
  197. package/dist/flows/codeScanFlow.js +204 -0
  198. package/dist/flows/codeScanFlow.js.map +1 -0
  199. package/dist/flows/gitleaksScanFlow.d.ts +12 -0
  200. package/dist/flows/gitleaksScanFlow.d.ts.map +1 -0
  201. package/dist/flows/gitleaksScanFlow.js +205 -0
  202. package/dist/flows/gitleaksScanFlow.js.map +1 -0
  203. package/dist/flows/index.d.ts +30 -0
  204. package/dist/flows/index.d.ts.map +1 -0
  205. package/dist/flows/index.js +43 -0
  206. package/dist/flows/index.js.map +1 -0
  207. package/dist/flows/semgrepScanFlow.d.ts +13 -0
  208. package/dist/flows/semgrepScanFlow.d.ts.map +1 -0
  209. package/dist/flows/semgrepScanFlow.js +211 -0
  210. package/dist/flows/semgrepScanFlow.js.map +1 -0
  211. package/dist/flows/trivyScanFlow.d.ts +13 -0
  212. package/dist/flows/trivyScanFlow.d.ts.map +1 -0
  213. package/dist/flows/trivyScanFlow.js +198 -0
  214. package/dist/flows/trivyScanFlow.js.map +1 -0
  215. package/dist/identity.d.ts +22 -0
  216. package/dist/identity.d.ts.map +1 -0
  217. package/dist/identity.js +34 -0
  218. package/dist/identity.js.map +1 -0
  219. package/dist/init.d.ts +8 -0
  220. package/dist/init.d.ts.map +1 -0
  221. package/dist/init.js +27 -0
  222. package/dist/init.js.map +1 -0
  223. package/dist/integrations/integrationConfig.d.ts +80 -0
  224. package/dist/integrations/integrationConfig.d.ts.map +1 -0
  225. package/dist/integrations/integrationConfig.js +146 -0
  226. package/dist/integrations/integrationConfig.js.map +1 -0
  227. package/dist/mcp/mcpBridge.d.ts +36 -0
  228. package/dist/mcp/mcpBridge.d.ts.map +1 -0
  229. package/dist/mcp/mcpBridge.js +157 -0
  230. package/dist/mcp/mcpBridge.js.map +1 -0
  231. package/dist/memory/agentMemory.d.ts +32 -0
  232. package/dist/memory/agentMemory.d.ts.map +1 -0
  233. package/dist/memory/agentMemory.js +116 -0
  234. package/dist/memory/agentMemory.js.map +1 -0
  235. package/dist/memory/autoCompaction.d.ts +46 -0
  236. package/dist/memory/autoCompaction.d.ts.map +1 -0
  237. package/dist/memory/autoCompaction.js +220 -0
  238. package/dist/memory/autoCompaction.js.map +1 -0
  239. package/dist/memory/compaction.d.ts +17 -0
  240. package/dist/memory/compaction.d.ts.map +1 -0
  241. package/dist/memory/compaction.js +27 -0
  242. package/dist/memory/compaction.js.map +1 -0
  243. package/dist/memory/messageHistory.d.ts +28 -0
  244. package/dist/memory/messageHistory.d.ts.map +1 -0
  245. package/dist/memory/messageHistory.js +60 -0
  246. package/dist/memory/messageHistory.js.map +1 -0
  247. package/dist/memory/sessionLifecycle.d.ts +30 -0
  248. package/dist/memory/sessionLifecycle.d.ts.map +1 -0
  249. package/dist/memory/sessionLifecycle.js +63 -0
  250. package/dist/memory/sessionLifecycle.js.map +1 -0
  251. package/dist/migrate.d.ts +8 -0
  252. package/dist/migrate.d.ts.map +1 -0
  253. package/dist/migrate.js +83 -0
  254. package/dist/migrate.js.map +1 -0
  255. package/dist/onboarding.d.ts +8 -0
  256. package/dist/onboarding.d.ts.map +1 -0
  257. package/dist/onboarding.js +188 -0
  258. package/dist/onboarding.js.map +1 -0
  259. package/dist/tools/domain/baFileTools.d.ts +7 -0
  260. package/dist/tools/domain/baFileTools.d.ts.map +1 -0
  261. package/dist/tools/domain/baFileTools.js +46 -0
  262. package/dist/tools/domain/baFileTools.js.map +1 -0
  263. package/dist/tools/domain/baTools.d.ts +6 -0
  264. package/dist/tools/domain/baTools.d.ts.map +1 -0
  265. package/dist/tools/domain/baTools.js +160 -0
  266. package/dist/tools/domain/baTools.js.map +1 -0
  267. package/dist/tools/domain/baseSpecialistTools.d.ts +22 -0
  268. package/dist/tools/domain/baseSpecialistTools.d.ts.map +1 -0
  269. package/dist/tools/domain/baseSpecialistTools.js +183 -0
  270. package/dist/tools/domain/baseSpecialistTools.js.map +1 -0
  271. package/dist/tools/domain/devTools.d.ts +6 -0
  272. package/dist/tools/domain/devTools.d.ts.map +1 -0
  273. package/dist/tools/domain/devTools.js +191 -0
  274. package/dist/tools/domain/devTools.js.map +1 -0
  275. package/dist/tools/domain/gitTools.d.ts +36 -0
  276. package/dist/tools/domain/gitTools.d.ts.map +1 -0
  277. package/dist/tools/domain/gitTools.js +279 -0
  278. package/dist/tools/domain/gitTools.js.map +1 -0
  279. package/dist/tools/domain/qaTools.d.ts +6 -0
  280. package/dist/tools/domain/qaTools.d.ts.map +1 -0
  281. package/dist/tools/domain/qaTools.js +275 -0
  282. package/dist/tools/domain/qaTools.js.map +1 -0
  283. package/dist/tools/domain/securityFlowTools.d.ts +6 -0
  284. package/dist/tools/domain/securityFlowTools.d.ts.map +1 -0
  285. package/dist/tools/domain/securityFlowTools.js +156 -0
  286. package/dist/tools/domain/securityFlowTools.js.map +1 -0
  287. package/dist/tools/pm/employeeTools.d.ts +15 -0
  288. package/dist/tools/pm/employeeTools.d.ts.map +1 -0
  289. package/dist/tools/pm/employeeTools.js +117 -0
  290. package/dist/tools/pm/employeeTools.js.map +1 -0
  291. package/dist/tools/pm/taskTools.d.ts +31 -0
  292. package/dist/tools/pm/taskTools.d.ts.map +1 -0
  293. package/dist/tools/pm/taskTools.js +534 -0
  294. package/dist/tools/pm/taskTools.js.map +1 -0
  295. package/dist/tools/shared/dateTools.d.ts +7 -0
  296. package/dist/tools/shared/dateTools.d.ts.map +1 -0
  297. package/dist/tools/shared/dateTools.js +35 -0
  298. package/dist/tools/shared/dateTools.js.map +1 -0
  299. package/dist/tools/shared/fileTools.d.ts +33 -0
  300. package/dist/tools/shared/fileTools.d.ts.map +1 -0
  301. package/dist/tools/shared/fileTools.js +312 -0
  302. package/dist/tools/shared/fileTools.js.map +1 -0
  303. package/dist/tools/shared/memoryTools.d.ts +18 -0
  304. package/dist/tools/shared/memoryTools.d.ts.map +1 -0
  305. package/dist/tools/shared/memoryTools.js +275 -0
  306. package/dist/tools/shared/memoryTools.js.map +1 -0
  307. package/dist/tools/shared/messagingTools.d.ts +14 -0
  308. package/dist/tools/shared/messagingTools.d.ts.map +1 -0
  309. package/dist/tools/shared/messagingTools.js +95 -0
  310. package/dist/tools/shared/messagingTools.js.map +1 -0
  311. package/dist/tools/shared/webTools.d.ts +12 -0
  312. package/dist/tools/shared/webTools.d.ts.map +1 -0
  313. package/dist/tools/shared/webTools.js +140 -0
  314. package/dist/tools/shared/webTools.js.map +1 -0
  315. package/dist/tower.d.ts +8 -0
  316. package/dist/tower.d.ts.map +1 -0
  317. package/dist/tower.js +774 -0
  318. package/dist/tower.js.map +1 -0
  319. package/package.json +71 -0
package/README.md ADDED
@@ -0,0 +1,646 @@
1
+ <div align="center">
2
+
3
+ # OCTO VEC
4
+
5
+ ### Your AI Team, Not Just Another AI Tool
6
+
7
+ **A virtual software company — 9 autonomous AI agents that collaborate like real employees.**
8
+ You talk to the PM. They handle the rest. No meetings. Just tentacles.
9
+
10
+ [![Open Source](https://img.shields.io/badge/status-open%20source-3fb950?style=for-the-badge)](https://github.com/akhil2129/octo-vec)
11
+ [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
12
+ [![SQLite](https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite&logoColor=white)](https://www.sqlite.org/)
13
+ [![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/)
14
+
15
+ [Landing Page](https://octovec.ai) · [Discord](https://discord.gg/spdRmufS) · [Twitter](https://x.com/OctoVec_ai) · [LinkedIn](https://www.linkedin.com/in/octo-vec-9883073b4/)
16
+
17
+ <br/>
18
+
19
+ <a href="https://www.youtube.com/watch?v=6UJH4bcs-hM">
20
+ <img src="https://img.youtube.com/vi/6UJH4bcs-hM/maxresdefault.jpg" alt="OCTO VEC Demo" width="700"/>
21
+ </a>
22
+
23
+ **[Watch the Demo](https://www.youtube.com/watch?v=6UJH4bcs-hM)**
24
+
25
+ <br/>
26
+
27
+ <img src="landing/neural-network.gif" alt="OCTO VEC Neural Agent Network" width="500"/>
28
+
29
+ *9 AI agents communicating in real-time — PM at center, specialists in orbit*
30
+
31
+ </div>
32
+
33
+ ---
34
+
35
+ ## What is OCTO VEC?
36
+
37
+ OCTO VEC is an **open-source virtual software company** — 9 autonomous AI agents that simulate a real dev team. Give a task to the Project Manager and it breaks it down, delegates to specialists, and they collaborate to deliver tested, scanned, documented code.
38
+
39
+ Not a coding assistant. Not a copilot. A **full team** — with a PM, Developer, BA, QA, Security Engineer, DevOps, Architect, Researcher, and Tech Writer.
40
+
41
+ ```
42
+ you > Build a REST API with auth and write tests
43
+
44
+ [PM] Breaking down into 3 tasks...
45
+ [PM] > TASK-001 assigned to BA (requirements)
46
+ [PM] > TASK-002 assigned to Dev (build API)
47
+ [PM] > TASK-003 assigned to QA (test suite)
48
+
49
+ [BA] Requirements written > shared/requirements.md
50
+ [Dev] Building API... reading BA specs... writing code...
51
+ [Dev] All tests passing (12/12)
52
+ [Security] Running SAST scan... 0 critical findings
53
+ [QA] Integration tests passing. No issues found.
54
+
55
+ All tasks completed. Your coffee is getting cold.
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Meet the Team
61
+
62
+ Your default roster — 9 agents ready to work:
63
+
64
+ | Agent | Name | Role | What They Do |
65
+ |:---:|---|---|---|
66
+ | PM | **Arjun Sharma** | Project Manager | The octopus in charge. Breaks down tasks, assigns work, keeps everyone on track |
67
+ | Architect | **Priya Nair** | Solutions Architect | System design, database schemas, API contracts, tech stack decisions |
68
+ | BA | **Kavya Nair** | Business Analyst | Turns vague requests into crystal-clear requirements and user stories |
69
+ | Researcher | **Shreya Joshi** | Research Specialist | Technology research, best practices, benchmarks, comparison reports |
70
+ | Developer | **Rohan Mehta** | Senior Developer | Writes production code (Python, JS, TS), runs tests, fixes bugs |
71
+ | QA | **Preethi Raj** | QA Engineer | Test plans, test cases, reviews scan reports, validates deliverables |
72
+ | Security | **Vikram Singh** | Security Engineer | Vulnerability scans, code audits, OWASP compliance |
73
+ | DevOps | **Aditya Kumar** | DevOps Engineer | CI/CD pipelines, Dockerfiles, Kubernetes, deployment configs |
74
+ | Tech Writer | **Anjali Patel** | Technical Writer | API docs, READMEs, user guides, architecture decision records |
75
+
76
+ **15 more agents available** — enable from the Dashboard > Directory view:
77
+
78
+ Frontend Developer, Backend Developer, Mobile Developer, Data Engineer, DBA, ML Engineer, SRE, Product Owner, UI/UX Designer, Scrum Master, Data Analyst, Release Manager, Compliance Officer, Support Engineer.
79
+
80
+ ---
81
+
82
+ ## Features
83
+
84
+ ### Core
85
+
86
+ - **Real File I/O** — Agents read, write, edit, and create actual files on your filesystem
87
+ - **Agent-to-Agent Messaging** — Agents message each other when they need something
88
+ - **Task Delegation** — PM automatically breaks requests into tasks and assigns specialists
89
+ - **Agent Sandbox** — Each agent has a private workspace. Shared workspace for cross-team deliverables
90
+ - **Git Integration** — Agents commit code with their own identity (per-agent git name + email)
91
+
92
+ ### Memory
93
+
94
+ - **Three-Tier Memory** — Short-term (session), Long-term (daily journals), Super Long-term (permanent knowledge)
95
+ - **Sunset/Sunrise Lifecycle** — Agents journal at end of day, start fresh each morning with context
96
+ - **Auto-Compaction** — Older messages automatically summarized when context gets long
97
+
98
+ ### Dashboard
99
+
100
+ - **10 Real-Time Views** — Overview, Kanban, Live Activity, Events, Snoop, Directory, Chat, Network, Finance, Settings
101
+ - **Live Streaming** — Watch agents think, call tools, and generate responses in real time (SSE)
102
+ - **Three Themes** — Dark, Light, Midnight
103
+
104
+ ### Communication
105
+
106
+ - **4 Channels** — CLI, Telegram, Slack, Discord — all route to the same PM
107
+ - **DM Support** — Slack and Discord bots respond to direct messages too
108
+ - **Hot-Reload** — Change channel credentials from dashboard without restarting
109
+
110
+ ### Security
111
+
112
+ - **Automated Scanning** — SAST (Semgrep), secret detection (Gitleaks), SCA (Trivy) run after every coding task
113
+ - **SonarQube** — Optional code quality gates integration
114
+ - **Scan Reports** — Markdown reports saved to `workspace/shared/reports/`
115
+
116
+ ### AI & Models
117
+
118
+ - **22+ LLM Providers** — Groq, OpenAI, Anthropic, Google, Mistral, and more
119
+ - **Per-Agent Models** — Give your architect a stronger model, researcher a faster one
120
+ - **MCP Support** — Connect any Model Context Protocol server for extended tools
121
+ - **Cost Tracking** — Per-agent token usage and USD cost in the Finance dashboard
122
+
123
+ ---
124
+
125
+ ## Why OCTO VEC?
126
+
127
+ Most AI coding tools give you a fast code generator. OCTO VEC gives you **a whole company** — named agents with distinct roles, persistent memory, and a real-time dashboard to watch them work.
128
+
129
+ | Feature | Copilot | Cursor | Devin | OpenHands | MetaGPT | ChatDev | **OCTO VEC** |
130
+ |---------|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
131
+ | Multi-agent team | — | Yes | — | Yes | Yes | Yes | **Yes (9+ roles)** |
132
+ | Named role simulation (PM, BA, QA, Security…) | — | — | — | — | Partial | Partial | **Yes** |
133
+ | Three-tier memory (STM/LTM/SLTM) | — | — | — | — | — | — | **Yes** |
134
+ | Daily lifecycle (Sunset/Sunrise) | — | — | — | — | — | — | **Yes** |
135
+ | Built-in security scanning (SAST/SCA/Secrets) | Yes | — | — | — | — | — | **Yes** |
136
+ | Auto-compaction | — | Yes | — | Partial | — | — | **Yes** |
137
+ | Multi-channel (CLI + Telegram + Slack + Discord) | — | — | Slack | Slack | — | — | **Yes (4)** |
138
+ | Real-time web dashboard | — | — | Yes | Yes | — | — | **Yes (10 views)** |
139
+ | Self-hosted, vendor-agnostic | — | — | — | Yes | Yes | Yes | **Yes** |
140
+ | MCP support | Yes | Yes | Yes | Yes | — | — | **Yes** |
141
+ | Per-agent cost tracking | — | — | — | — | — | — | **Yes** |
142
+
143
+ ---
144
+
145
+ ## Architecture
146
+
147
+ ```
148
+ +------------------------------------------------------+
149
+ | HUMAN INTERFACES |
150
+ | CLI (readline) Telegram Slack Discord Web |
151
+ +----------+------------+---------+-------+------+-----+
152
+ | | | | |
153
+ v v v v v
154
+ +------------------------------------------------------+
155
+ | PM MESSAGE QUEUE (FIFO) |
156
+ +-------------------------+----------------------------+
157
+ v
158
+ +------------------------------------------------------+
159
+ | PM AGENT (Arjun) |
160
+ | Task Tools . Employee Tools . Messaging |
161
+ +--------------------------+---------------------------+
162
+ | creates tasks + delegates
163
+ +--------+---------+--------+---------+
164
+ v v v v v
165
+ +------+ +------+ +------+ +------+ +------+
166
+ | Dev | | BA | | QA | | Sec | | ... |
167
+ +------+ +------+ +------+ +------+ +------+
168
+ | | | | |
169
+ v v v v v
170
+ +------------------------------------------------------+
171
+ | ATP DATABASE (SQLite) |
172
+ | tasks . employees . events . messages |
173
+ +------------------------------------------------------+
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Quick Start
179
+
180
+ ### Prerequisites
181
+
182
+ - **Node.js** 18+
183
+ - An LLM API key (Groq free tier works great to start)
184
+ - Docker (optional — for security scanning)
185
+
186
+ ### Install from npm
187
+
188
+ ```bash
189
+ npm install -g octo-vec
190
+ octo-vec start
191
+ ```
192
+
193
+ ### Or run from source
194
+
195
+ ```bash
196
+ git clone https://github.com/akhil2129/octo-vec.git
197
+ cd octo-vec
198
+ npm install
199
+ npm start
200
+ ```
201
+
202
+ On first run, OCTO VEC will:
203
+ 1. Create your data directory (`~/.octo-vec` on Mac/Linux, `%APPDATA%/octo-vec` on Windows)
204
+ 2. Open the dashboard in your browser
205
+ 3. Walk you through onboarding — set your name, configure an API key
206
+
207
+ The dashboard opens automatically. Your PM (Arjun) is ready to take requests.
208
+
209
+ ### First Message
210
+
211
+ ```
212
+ You > Build me a REST API for a todo app with authentication
213
+ ```
214
+
215
+ Arjun will analyze the request, break it into tasks, and delegate to the right specialists. Watch the magic happen in the Dashboard's **Live** view.
216
+
217
+ ---
218
+
219
+ ## Dashboard
220
+
221
+ The web dashboard gives you full visibility and control. Access it at the URL printed on startup (includes an authentication key).
222
+
223
+ | View | What It Shows |
224
+ |------|---------------|
225
+ | **Overview** | Task stats (total, in-progress, completed, failed), active agents, system health |
226
+ | **Kanban** | Task board with columns: Todo, In Progress, Done, Failed, Cancelled |
227
+ | **Live** | Real-time agent activity — streaming LLM output, tool calls, agent thinking |
228
+ | **Events** | Audit trail of all system events, filterable by agent and type |
229
+ | **Snoop** | Peek into any agent's inbox — see inter-agent messages as they flow |
230
+ | **Directory** | Employee roster — hire new agents, enable/disable, configure models, manage roles |
231
+ | **Chat** | Message history with agents. Create groups for team conversations |
232
+ | **Network** | Visual graph of agent-to-agent communication patterns |
233
+ | **Finance** | Token usage and cost tracking per agent, per session |
234
+ | **Settings** | Model providers, API keys, channel credentials, MCP servers, tool config |
235
+
236
+ ### Themes
237
+
238
+ Three built-in themes — switch from the sidebar:
239
+ - **Dark** (default)
240
+ - **Light**
241
+ - **Midnight**
242
+
243
+ ---
244
+
245
+ ## Communication Channels
246
+
247
+ Talk to your PM from anywhere. All channels support the same commands and route messages to the same PM agent.
248
+
249
+ ### CLI (Default)
250
+
251
+ Built-in terminal interface. Enabled by default — just type after starting TOWER.
252
+
253
+ ### Telegram
254
+
255
+ 1. Create a bot via [@BotFather](https://t.me/BotFather) on Telegram
256
+ 2. Copy the bot token
257
+ 3. Send a message to your bot, then get your Chat ID from `https://api.telegram.org/bot<TOKEN>/getUpdates`
258
+ 4. Configure in **Dashboard > Settings > Channels** or add to `.env`:
259
+ ```env
260
+ TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
261
+ TELEGRAM_CHAT_ID=5253950103
262
+ ```
263
+ 5. Click **Save & Connect** in dashboard (or restart TOWER)
264
+
265
+ **Commands:** `/board`, `/queue`, `/events`, `/dir`, `/agents`, `/help`
266
+
267
+ ### Slack
268
+
269
+ 1. Create a Slack App at [api.slack.com/apps](https://api.slack.com/apps)
270
+ 2. Enable **Socket Mode** — generate an App-Level Token (`xapp-...`)
271
+ 3. Add **Bot Token Scopes**: `chat:write`, `channels:history`, `channels:read`, `im:history`
272
+ 4. **Event Subscriptions** > Subscribe to bot events: `message.channels`, `message.im`
273
+ 5. Install to workspace — copy the Bot User OAuth Token (`xoxb-...`)
274
+ 6. Invite the bot to your channel: `/invite @YourBotName`
275
+ 7. Right-click the channel > Copy Channel ID
276
+ 8. Configure in **Dashboard > Settings > Channels** or add to `.env`:
277
+ ```env
278
+ SLACK_BOT_TOKEN=xoxb-...
279
+ SLACK_APP_TOKEN=xapp-...
280
+ SLACK_CHANNEL_ID=C0ALAM1EMS7
281
+ ```
282
+
283
+ **Commands:** `!board`, `!queue`, `!events`, `!dir`, `!agents`, `!help`
284
+
285
+ Works in both the authorized channel and direct messages.
286
+
287
+ ### Discord
288
+
289
+ 1. Go to [Discord Developer Portal](https://discord.com/developers/applications) > New Application
290
+ 2. **Bot** tab > Reset Token > copy the bot token
291
+ 3. Enable **Message Content Intent** (Privileged Gateway Intents)
292
+ 4. **OAuth2** > URL Generator > Scopes: `bot` > Permissions: `Send Messages`, `Read Message History`, `View Channels`
293
+ 5. Open the generated URL in browser > select your server > Authorize
294
+ 6. Enable **Developer Mode** in Discord (Settings > Advanced)
295
+ 7. Right-click your text channel > **Copy Channel ID**
296
+ 8. Configure in **Dashboard > Settings > Channels** or add to `.env`:
297
+ ```env
298
+ DISCORD_BOT_TOKEN=MTIz...
299
+ DISCORD_CHANNEL_ID=1234567890123456789
300
+ ```
301
+
302
+ **Commands:** `!board`, `!queue`, `!events`, `!dir`, `!agents`, `!help`
303
+
304
+ Works in both the authorized channel and direct messages.
305
+
306
+ ---
307
+
308
+ ## CLI Commands
309
+
310
+ | Command | Description |
311
+ |---------|-------------|
312
+ | `/board` | View the task board (Kanban-style from SQLite) |
313
+ | `/queue` | View PM's message inbox |
314
+ | `/events` | Last 20 system events |
315
+ | `/dir` | Employee directory with status and skills |
316
+ | `/org` | Org chart showing reporting hierarchy |
317
+ | `/message <agent> <text>` | Send a direct message to any agent |
318
+ | `/interrupt <agent> [reason]` | Stop a running agent mid-task |
319
+ | `/forget` | Clear PM conversation history |
320
+ | `/live` | Toggle live message queue monitor |
321
+ | `/reset` | Full company reset (requires confirmation) |
322
+ | `/quit` | Exit the system |
323
+
324
+ Any text that doesn't start with `/` is sent directly to the PM (Arjun).
325
+
326
+ ---
327
+
328
+ ## Configuration
329
+
330
+ ### Essential Environment Variables
331
+
332
+ | Variable | Description | Default |
333
+ |----------|-------------|---------|
334
+ | `VEC_MODEL_PROVIDER` | LLM provider (`groq`, `openai`, `anthropic`, `google`, etc.) | `groq` |
335
+ | `VEC_MODEL` | Model identifier | `moonshotai/kimi-k2-instruct-0905` |
336
+ | `VEC_THINKING_LEVEL` | Extended thinking (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`) | `off` |
337
+ | `VEC_WORKSPACE` | Root workspace directory | `./workspace` |
338
+ | `VEC_CLI_ENABLED` | Enable terminal interface (`1`/`0`) | `1` |
339
+ | `VEC_DASHBOARD_PORT` | Dashboard HTTP port | `3000` |
340
+ | `VEC_PM_PROACTIVE_ENABLED` | PM auto-monitors events and sends status updates | `0` |
341
+ | `VEC_PM_PROACTIVE_INTERVAL_SECS` | How often PM checks events (seconds) | `30` |
342
+ | `VEC_POST_TASK_SCANS` | Auto-run security scans after coding tasks | `1` |
343
+ | `VEC_DEBOUNCE_MS` | Message batching window (ms) | `1500` |
344
+ | `VEC_CONTEXT_WINDOW` | Model context window size (tokens) | `128000` |
345
+ | `VEC_COMPACT_THRESHOLD` | Auto-compact when exceeding this fraction of context | `0.75` |
346
+
347
+ ### Provider API Keys
348
+
349
+ Set in `.env` or configure in **Dashboard > Settings > Models**:
350
+
351
+ ```env
352
+ GROQ_API_KEY=gsk_...
353
+ OPENAI_API_KEY=sk-...
354
+ ANTHROPIC_API_KEY=sk-ant-...
355
+ GOOGLE_GENERATIVE_AI_API_KEY=AI...
356
+ ```
357
+
358
+ Per-agent model overrides are configurable in the dashboard — give your architect a stronger model while the researcher uses a faster one.
359
+
360
+ ### Optional Integrations
361
+
362
+ ```env
363
+ # Security scanning (requires Docker)
364
+ SONAR_HOST_URL=http://localhost:9000
365
+ SONAR_TOKEN=squ_...
366
+ SONAR_PROJECT_BASE_KEY=vec
367
+
368
+ # Web search
369
+ SEARXNG_URL=http://localhost:8888
370
+ ```
371
+
372
+ ---
373
+
374
+ ## How It Works
375
+
376
+ 1. **You send a message** to the PM via CLI, Telegram, Slack, Discord, or dashboard
377
+ 2. **PM analyzes** your request and breaks it into tasks
378
+ 3. **Tasks are assigned** to the right specialist agents via the ATP database
379
+ 4. **Agents execute** tasks — reading files, writing code, running tests, messaging each other
380
+ 5. **Post-task hooks** automatically run security scans on code changes
381
+ 6. **PM monitors** progress and reports back to you when everything is done
382
+
383
+ ### Each Agent Has
384
+
385
+ - An **inbox** for receiving messages (polled every 15 seconds)
386
+ - **Persistent memory** (SLTM + daily LTM journals + in-session STM)
387
+ - A **tool set** scoped to their role (file I/O, git, web search, messaging, etc.)
388
+ - A **private workspace** (`workspace/agents/{EMP-ID}/`)
389
+ - Access to **shared workspace** (`workspace/shared/`)
390
+
391
+ ### Task Status Flow
392
+
393
+ ```
394
+ pending --> in_progress --> completed
395
+ --> failed
396
+ --> cancelled
397
+ ```
398
+
399
+ Tasks stuck in `in_progress` for >5 minutes are automatically marked as failed by the watchdog.
400
+
401
+ ---
402
+
403
+ ## Agent Memory System
404
+
405
+ Agents don't start from scratch every session.
406
+
407
+ ### Three Tiers
408
+
409
+ | Tier | Name | Lifespan | Purpose |
410
+ |------|------|----------|---------|
411
+ | **SLTM** | Super Long-Term Memory | Permanent | Core identity, lasting patterns, hard-won knowledge |
412
+ | **LTM** | Long-Term Memory | Daily journals | End-of-day summaries — what happened, what was learned |
413
+ | **STM** | Short-Term Memory | Current session | Active conversation history |
414
+
415
+ ### Session Lifecycle
416
+
417
+ **Sunset** (end of day / stale session):
418
+ - Agent reviews their conversation from the previous session
419
+ - Writes a daily journal (LTM) summarizing key events
420
+ - Optionally updates permanent knowledge (SLTM)
421
+ - Conversation history cleared
422
+
423
+ **Sunrise** (new session):
424
+ - Yesterday's journal + permanent memory automatically loaded
425
+ - Agent starts fresh but informed
426
+
427
+ ### Auto-Compaction
428
+
429
+ When an agent's conversation approaches the context window limit, older messages are automatically summarized while preserving recent exchanges. This prevents overflow without losing important context.
430
+
431
+ ---
432
+
433
+ ## Security Scanning
434
+
435
+ When `VEC_POST_TASK_SCANS=1` (default), security scans run automatically after coding tasks complete.
436
+
437
+ | Scanner | What It Detects | Tool |
438
+ |---------|-----------------|------|
439
+ | **SAST** | Code vulnerabilities, OWASP Top 10, injection flaws | Semgrep |
440
+ | **Secrets** | Leaked API keys, tokens, passwords, private keys | Gitleaks |
441
+ | **SCA** | Vulnerable dependencies, known CVEs in libraries | Trivy |
442
+ | **Code Quality** | Code smells, coverage gaps, quality gate violations | SonarQube (optional) |
443
+
444
+ Scans run via Docker containers. Reports saved to `workspace/shared/reports/` and sent to the QA agent for review.
445
+
446
+ **Requires Docker** installed and running. If Docker is unavailable, scans are skipped gracefully.
447
+
448
+ ---
449
+
450
+ ## MCP Integration
451
+
452
+ OCTO VEC supports the [Model Context Protocol](https://modelcontextprotocol.io/) for extending agent capabilities.
453
+
454
+ Configure MCP servers in **Dashboard > Settings > MCP**, or edit `mcp-servers.json` in your data directory:
455
+
456
+ ```json
457
+ {
458
+ "mcpServers": {
459
+ "filesystem": {
460
+ "command": "npx",
461
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
462
+ },
463
+ "github": {
464
+ "command": "npx",
465
+ "args": ["-y", "@modelcontextprotocol/server-github"],
466
+ "env": { "GITHUB_TOKEN": "ghp_..." }
467
+ }
468
+ }
469
+ }
470
+ ```
471
+
472
+ The dashboard includes a directory of 22+ curated MCP servers you can enable with one click.
473
+
474
+ ---
475
+
476
+ ## Project Structure
477
+
478
+ ```
479
+ octo-vec/
480
+ src/
481
+ tower.ts -- Main entry point (startup orchestration)
482
+ config.ts -- Configuration (env vars + defaults)
483
+ identity.ts -- Founder profile (from ITS_ME.md)
484
+
485
+ atp/ -- Agent Task Portal (core)
486
+ database.ts -- SQLite task & employee database
487
+ messageQueue.ts -- PM message inbox
488
+ agentMessageQueue.ts -- Inter-agent messaging
489
+ eventLog.ts -- System event audit trail
490
+ agentRuntime.ts -- Dynamic agent lifecycle
491
+ inboxLoop.ts -- Background inbox polling
492
+ modelConfig.ts -- Per-agent model selection
493
+ tokenTracker.ts -- Cost tracking
494
+ agentGroups.ts -- Team chat groups
495
+ postTaskHooks.ts -- Auto security scans
496
+
497
+ agents/
498
+ pmAgent.ts -- Project Manager agent
499
+
500
+ ar/ -- Agent Registry
501
+ roster.ts -- Roster loader (data/roster.json)
502
+ baseSpecialist.ts -- Specialist agent base class
503
+ toolProfiles.ts -- Tool access levels
504
+
505
+ memory/
506
+ agentMemory.ts -- Memory loading (SLTM + LTM)
507
+ sessionLifecycle.ts -- Sunset/sunrise protocol
508
+ autoCompaction.ts -- Context window management
509
+
510
+ tools/
511
+ pm/ -- PM tools (create task, delegate, start)
512
+ shared/ -- All-agent tools (file I/O, web, messaging)
513
+ domain/ -- Specialist tools (git, security, dev, QA)
514
+
515
+ flows/ -- Security scanning pipelines
516
+ semgrepScanFlow.ts, gitleaksScanFlow.ts,
517
+ trivyScanFlow.ts, codeScanFlow.ts
518
+
519
+ channels/
520
+ telegram.ts -- Telegram bot (grammy)
521
+ slack.ts -- Slack app (Bolt, Socket Mode)
522
+ discord.ts -- Discord bot (discord.js, Gateway)
523
+ channelManager.ts -- Channel lifecycle singleton
524
+ channelConfig.ts -- Credential storage
525
+
526
+ dashboard/
527
+ server.ts -- Express HTTP API + SSE streaming
528
+ security.ts -- Authentication & rate limiting
529
+
530
+ mcp/
531
+ mcpBridge.ts -- MCP server integration
532
+
533
+ dashboard/ -- React frontend (Vite)
534
+ src/views/ -- 10 dashboard views
535
+ src/hooks/ -- useApi, useSSE, usePolling
536
+ src/components/ -- Sidebar, Dropdown, ThemeSwitcher
537
+
538
+ core/ -- Read-only assets (ships with npm)
539
+ prompts/ -- Agent prompt templates
540
+ roster.json -- Default agent roster seed
541
+
542
+ ~/.octo-vec/ -- User data directory (runtime state)
543
+ roster.json -- Active agent roster
544
+ atp.db -- SQLite database
545
+ memory/ -- Agent memory files
546
+ workspace/ -- Agent work output (cwd/workspace)
547
+ shared/ -- Cross-agent deliverables
548
+ projects/ -- Standalone projects
549
+ agents/ -- Per-agent workspaces
550
+ ```
551
+
552
+ ---
553
+
554
+ ## Tech Stack
555
+
556
+ | Layer | Technology |
557
+ |-------|-----------|
558
+ | **Runtime** | Node.js + TypeScript (tsx) |
559
+ | **Agent Framework** | [@mariozechner/pi-agent-core](https://github.com/nicholasgasior/pi-agent-core) |
560
+ | **LLM Providers** | 22+ via pi-ai (Groq, OpenAI, Anthropic, Google, Mistral, etc.) |
561
+ | **Database** | SQLite (better-sqlite3) |
562
+ | **Dashboard** | React + Vite |
563
+ | **Real-Time** | Server-Sent Events (SSE) |
564
+ | **HTTP** | Express |
565
+ | **Telegram** | grammy |
566
+ | **Slack** | @slack/bolt (Socket Mode) |
567
+ | **Discord** | discord.js (Gateway WebSocket) |
568
+ | **Security Scans** | Semgrep, Gitleaks, Trivy, SonarQube (Docker) |
569
+ | **MCP** | @modelcontextprotocol/sdk |
570
+
571
+ ---
572
+
573
+ ## CLI Commands
574
+
575
+ ```bash
576
+ octo-vec start # Start in daemon mode (dashboard only, no terminal input)
577
+ octo-vec start --cli # Start with full interactive CLI mode
578
+ octo-vec start --reset # Full reset: clear all tasks, memories, queues, histories
579
+ octo-vec dashboard # Re-open the dashboard in your browser
580
+ octo-vec migrate # Migrate old data/ directory to ~/.octo-vec
581
+ ```
582
+
583
+ ### Development
584
+
585
+ ```bash
586
+ npm start # Start with tsx (dev mode, daemon)
587
+ npm start -- --cli # Start with tsx (dev mode, interactive CLI)
588
+ npm run dev # Start with hot-reload
589
+ npm run dashboard:dev # Run dashboard frontend in dev mode (HMR)
590
+ ```
591
+
592
+ ---
593
+
594
+ ## Troubleshooting
595
+
596
+ ### Telegram: "409 Conflict"
597
+ Another bot instance is polling. Kill the old process and restart. TOWER auto-retries 3 times with 5-second delays.
598
+
599
+ ### Slack: Bot started but not responding
600
+ - **Event Subscriptions** > add `message.channels` (and `message.im` for DMs)
601
+ - **OAuth Scopes** > add `chat:write`, `channels:history`, `im:history`
602
+ - Invite bot to channel: `/invite @BotName`
603
+ - Verify **Socket Mode** is ON
604
+
605
+ ### Discord: Bot offline
606
+ - Enable **Message Content Intent** in Developer Portal > Bot > Privileged Gateway Intents
607
+ - Verify bot is invited to server with correct permissions
608
+
609
+ ### Agent stuck in "in_progress"
610
+ The watchdog marks tasks stuck >5 minutes as failed. You can also manually interrupt:
611
+ ```
612
+ /interrupt dev "taking too long"
613
+ ```
614
+
615
+ ### Context window errors
616
+ ```env
617
+ VEC_CONTEXT_WINDOW=128000
618
+ VEC_COMPACT_THRESHOLD=0.75
619
+ VEC_COMPACT_KEEP_RECENT=20
620
+ ```
621
+
622
+ ---
623
+
624
+ ## Socials
625
+
626
+ - [Discord](https://discord.gg/spdRmufS) — Join the community
627
+ - [Twitter / X](https://x.com/OctoVec_ai) — Follow the octopus
628
+ - [LinkedIn](https://www.linkedin.com/in/octo-vec-9883073b4/) — Professional tentacles
629
+ - [Instagram](https://www.instagram.com/octovec.ai/) — Behind the scenes
630
+ - [Threads](https://www.threads.com/@octovec.ai) — More tentacles
631
+
632
+ ---
633
+
634
+ ## License
635
+
636
+ MIT
637
+
638
+ ---
639
+
640
+ <div align="center">
641
+
642
+ **Built by [Akhil](https://github.com/akhil2129) — One human, one octopus, zero meetings.**
643
+
644
+ *Finally, a company where nobody takes sick leave, nobody argues in Slack, and code actually gets shipped.*
645
+
646
+ </div>