@poolzin/pool-bot 2026.3.22 → 2026.3.24

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 (159) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/acp/bindings-store.js +209 -0
  4. package/dist/acp/control-plane/runtime-cache.js +54 -0
  5. package/dist/acp/control-plane/runtime-options.js +215 -0
  6. package/dist/acp/control-plane/session-actor-queue.js +36 -0
  7. package/dist/acp/policy.js +52 -0
  8. package/dist/acp/runtime/errors.js +47 -0
  9. package/dist/acp/runtime/registry.js +86 -0
  10. package/dist/acp/runtime/types.js +1 -0
  11. package/dist/acp/translator.js +97 -0
  12. package/dist/agents/btw.js +280 -0
  13. package/dist/agents/failover-error.js +145 -47
  14. package/dist/agents/fast-mode.js +24 -0
  15. package/dist/agents/live-model-errors.js +23 -0
  16. package/dist/agents/model-auth-env-vars.js +44 -0
  17. package/dist/agents/model-auth-markers.js +69 -0
  18. package/dist/agents/models-config.providers.discovery.js +180 -0
  19. package/dist/agents/models-config.providers.static.js +480 -0
  20. package/dist/auto-reply/reply/typing-policy.js +15 -0
  21. package/dist/browser/browser-profile-manager.js +319 -0
  22. package/dist/browser/cdp-proxy-bypass.js +129 -0
  23. package/dist/browser/cdp-timeouts.js +41 -0
  24. package/dist/browser/chrome-extension-validator.js +406 -0
  25. package/dist/browser/chrome-mcp-snapshot.js +222 -0
  26. package/dist/browser/chrome-mcp.js +421 -0
  27. package/dist/browser/chrome-mcp.snapshot.js +133 -0
  28. package/dist/browser/errors.js +67 -0
  29. package/dist/browser/form-fields.js +22 -0
  30. package/dist/browser/output-atomic.js +44 -0
  31. package/dist/browser/profile-capabilities.js +47 -0
  32. package/dist/browser/safe-filename.js +25 -0
  33. package/dist/browser/snapshot-roles.js +60 -0
  34. package/dist/build-info.json +3 -3
  35. package/dist/channels/account-snapshot-fields.js +176 -0
  36. package/dist/channels/draft-stream-controls.js +89 -0
  37. package/dist/channels/inbound-debounce-policy.js +28 -0
  38. package/dist/channels/typing-lifecycle.js +39 -0
  39. package/dist/cli/program/command-registry.js +52 -0
  40. package/dist/commands/agent-binding.js +123 -0
  41. package/dist/commands/agents.commands.bind.js +280 -0
  42. package/dist/commands/backup-shared.js +186 -0
  43. package/dist/commands/backup-verify.js +236 -0
  44. package/dist/commands/backup.js +166 -0
  45. package/dist/commands/channel-account-context.js +15 -0
  46. package/dist/commands/channel-account.js +190 -0
  47. package/dist/commands/gateway-install-token.js +117 -0
  48. package/dist/commands/oauth-tls-preflight.js +121 -0
  49. package/dist/commands/ollama-setup.js +402 -0
  50. package/dist/commands/security-owner-only.js +86 -0
  51. package/dist/commands/self-hosted-provider-setup.js +207 -0
  52. package/dist/commands/session-store-targets.js +12 -0
  53. package/dist/commands/sessions-cleanup.js +97 -0
  54. package/dist/control-ui/assets/{index-Dvkl4Xlx.js → index-D7shnQwQ.js} +404 -388
  55. package/dist/control-ui/assets/index-D7shnQwQ.js.map +1 -0
  56. package/dist/control-ui/index.html +1 -1
  57. package/dist/cron/cron-filters.js +150 -0
  58. package/dist/cron/heartbeat-policy.js +26 -0
  59. package/dist/gateway/device-pairing-security.js +197 -0
  60. package/dist/gateway/event-deduplication.js +167 -0
  61. package/dist/gateway/hooks-mapping.js +46 -7
  62. package/dist/gateway/run-tracker.js +253 -0
  63. package/dist/gateway/server-methods/nodes.js +14 -0
  64. package/dist/gateway/websocket-preauth-security.js +188 -0
  65. package/dist/hooks/module-loader.js +28 -0
  66. package/dist/infra/agent-command-binding.js +144 -0
  67. package/dist/infra/backup.js +328 -0
  68. package/dist/infra/channel-account-context.js +173 -0
  69. package/dist/infra/errors.js +53 -13
  70. package/dist/infra/exec-approvals-security.js +217 -0
  71. package/dist/infra/security/command-analyzer.js +257 -0
  72. package/dist/infra/session-cleanup.js +143 -0
  73. package/dist/plugins/loader.js +16 -8
  74. package/dist/security/external-content.js +51 -1
  75. package/dist/sessions/session-costs.js +228 -0
  76. package/dist/shared/param-key.js +16 -0
  77. package/dist/shared/poll-params.js +58 -0
  78. package/dist/shared/polls.js +55 -0
  79. package/docs/DASHBOARD-GAP-ANALYSIS-AND-PLAN.md +430 -0
  80. package/docs/FEATURES.md +523 -0
  81. package/docs/FINAL-IMPLEMENTATION-REVIEW.md +274 -0
  82. package/docs/FINAL-IMPLEMENTATION-SUMMARY.md +356 -0
  83. package/docs/FINAL-PROFESSIONAL-EVALUATION.md +312 -0
  84. package/docs/IMPLEMENTATION-PRIORITY-EVALUATION.md +298 -0
  85. package/docs/IMPLEMENTATION-PROGRESS.md +237 -0
  86. package/docs/IMPLEMENTATION-REVIEW-PHASE1-2.md +381 -0
  87. package/docs/IMPLEMENTATION-REVIEW-PHASE4.md +389 -0
  88. package/docs/IMPLEMENTATION-REVIEW-PHASE5.md +420 -0
  89. package/docs/IMPLEMENTATION-REVIEW-PHASE6.md +422 -0
  90. package/docs/IMPLEMENTATION-REVIEW-PHASE7-FINAL.md +184 -0
  91. package/docs/MIKRODASH-ANALYSIS.md +412 -0
  92. package/docs/OPENCLAW-GAP-ANALYSIS-FINAL.md +431 -0
  93. package/docs/OPENCLAW-VS-POOLBOT-ANALYSIS.md +351 -0
  94. package/docs/PHASE-7-SUMMARY.md +144 -0
  95. package/docs/POOLBOT-OFFICE-PLAN.md +697 -0
  96. package/docs/PROJECT-FINAL-STATUS.md +237 -0
  97. package/docs/README.md +116 -0
  98. package/docs/REAL-IMPROVEMENTS-EVALUATION.md +477 -0
  99. package/docs/SECURITY-HARDENING-IMPLEMENTATION.md +161 -0
  100. package/docs/channels/googlechat.md +235 -206
  101. package/docs/channels/irc.md +332 -0
  102. package/docs/channels/nostr.md +255 -168
  103. package/docs/components/command-palette.md +166 -0
  104. package/docs/components/login-gate.md +219 -0
  105. package/docs/getting-started/installation.md +191 -0
  106. package/docs/getting-started/introduction.md +120 -0
  107. package/docs/improvements/USAGE-GUIDE.md +359 -0
  108. package/docs/plans/2026-03-15-openclaw-features-implementation.md +1632 -0
  109. package/docs/reference/deadcode-detection.md +72 -0
  110. package/extensions/acpx/node_modules/.bin/acpx +21 -0
  111. package/extensions/agency-agents/node_modules/.bin/vite +4 -4
  112. package/extensions/agency-agents/node_modules/.bin/vitest +2 -2
  113. package/extensions/googlechat/node_modules/.bin/tsc +21 -0
  114. package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
  115. package/extensions/googlechat/node_modules/.bin/vitest +21 -0
  116. package/extensions/googlechat/package.json +11 -28
  117. package/extensions/googlechat/src/googlechat-channel.test.ts +60 -0
  118. package/extensions/googlechat/src/googlechat-channel.ts +120 -0
  119. package/extensions/googlechat/src/index.ts +14 -0
  120. package/extensions/irc/node_modules/.bin/tsc +21 -0
  121. package/extensions/irc/node_modules/.bin/tsserver +21 -0
  122. package/extensions/irc/node_modules/.bin/vitest +21 -0
  123. package/extensions/irc/package.json +16 -8
  124. package/extensions/irc/src/index.ts +14 -0
  125. package/extensions/irc/src/irc-channel.test.ts +43 -0
  126. package/extensions/irc/src/irc-channel.ts +191 -0
  127. package/extensions/keyed-async-queue/node_modules/.bin/tsc +21 -0
  128. package/extensions/keyed-async-queue/node_modules/.bin/tsserver +21 -0
  129. package/extensions/keyed-async-queue/node_modules/.bin/vitest +21 -0
  130. package/extensions/keyed-async-queue/package.json +20 -0
  131. package/extensions/keyed-async-queue/src/index.ts +14 -0
  132. package/extensions/keyed-async-queue/src/queue.test.ts +135 -0
  133. package/extensions/keyed-async-queue/src/queue.ts +200 -0
  134. package/extensions/memory-core/node_modules/.bin/tsc +21 -0
  135. package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
  136. package/extensions/memory-core/node_modules/.bin/vitest +21 -0
  137. package/extensions/memory-core/package.json +11 -8
  138. package/extensions/memory-core/src/index.ts +14 -0
  139. package/extensions/memory-core/src/memory-manager.test.ts +124 -0
  140. package/extensions/memory-core/src/memory-manager.ts +186 -0
  141. package/extensions/nostr/node_modules/.bin/tsc +2 -2
  142. package/extensions/nostr/node_modules/.bin/tsserver +2 -2
  143. package/extensions/nostr/node_modules/.bin/vitest +21 -0
  144. package/extensions/nostr/package.json +15 -24
  145. package/extensions/nostr/src/index.ts +14 -0
  146. package/extensions/nostr/src/nostr-channel.test.ts +55 -0
  147. package/extensions/nostr/src/nostr-channel.ts +228 -0
  148. package/extensions/page-agent/node_modules/.bin/vitest +2 -2
  149. package/extensions/test-utils/node_modules/.bin/jiti +21 -0
  150. package/extensions/test-utils/node_modules/.bin/playwright +21 -0
  151. package/extensions/test-utils/node_modules/.bin/tsx +21 -0
  152. package/extensions/test-utils/node_modules/.bin/vite +21 -0
  153. package/extensions/test-utils/node_modules/.bin/vitest +21 -0
  154. package/extensions/test-utils/node_modules/.bin/yaml +21 -0
  155. package/extensions/xyops/node_modules/.bin/vitest +2 -2
  156. package/package.json +2 -1
  157. package/dist/control-ui/assets/index-Dvkl4Xlx.js.map +0 -1
  158. package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
  159. package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
@@ -0,0 +1,431 @@
1
+ # Análise de Gap: OpenClaw vs PoolBot
2
+
3
+ **Data:** 2026-03-14
4
+ **Analista:** Build Agent
5
+ **Base:** OpenClaw CHANGELOG.md (4343 linhas) + docs/ + src/
6
+
7
+ ---
8
+
9
+ ## 🎯 RESUMO EXECUTIVO
10
+
11
+ **Status Atual:** PoolBot está **SIGNIFICATIVAMENTE ATRASADO** em relação ao OpenClaw em múltiplas áreas críticas.
12
+
13
+ **Gap Geral:** ~60-70% das features do OpenClaw NÃO estão no PoolBot
14
+
15
+ ---
16
+
17
+ ## 📊 COMPARAÇÃO DETALHADA POR CATEGORIA
18
+
19
+ ### 1. **GATEWAY & DAEMON** 🔴 CRÍTICO
20
+
21
+ | Feature | OpenClaw | PoolBot | Gap |
22
+ |---------|----------|---------|-----|
23
+ | **Gateway Daemon (Linux)** | ✅ Systemd + Startup folder | ⚠️ Básico | 🔴 Faltando |
24
+ | **Gateway Daemon (macOS)** | ✅ LaunchAgent + menubar | ⚠️ Parcial | 🔴 Faltando |
25
+ | **Gateway Daemon (Windows)** | ✅ Scheduled Tasks + Startup | ❌ Não tem | 🔴 Crítico |
26
+ | **Gateway Status CLI** | ✅ `gateway status --json` | ⚠️ Básico | 🟡 Parcial |
27
+ | **Gateway Restart** | ✅ Auto-restart on failure | ❌ Não tem | 🔴 Crítico |
28
+ | **Gateway Logs** | ✅ Unified logging (macOS log show) | ⚠️ Básico | 🟡 Parcial |
29
+ | **Gateway Auth Modes** | ✅ Token + Password + Device Pairing | ✅ Tem | 🟢 Igual |
30
+ | **Gateway Webhook** | ✅ Webhook auth + secrets | ⚠️ Parcial | 🟡 Faltando |
31
+ | **Gateway RPC Timeout** | ✅ Bounded timeout + cleanup | ❌ Não tem | 🔴 Faltando |
32
+ | **Gateway Session Reset** | ✅ Preserve lastAccountId/ThreadId | ❌ Não tem | 🔴 Faltando |
33
+ | **Gateway Wide-Area DNS-SD** | ✅ Discovery config | ❌ Não tem | 🔴 Faltando |
34
+ | **Gateway Insecure Auth** | ✅ Preserve on plain-HTTP | ❌ Não tem | 🔴 Faltando |
35
+
36
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot não é production-ready para deploy em VPS/servidores
37
+
38
+ ---
39
+
40
+ ### 2. **APPS MOBILE (iOS/Android)** 🔴 CRÍTICO
41
+
42
+ | Feature | OpenClaw | PoolBot | Gap |
43
+ |---------|----------|---------|-----|
44
+ | **iOS App** | ✅ App Store ready | ⚠️ Em desenvolvimento | 🔴 Faltando |
45
+ | **Android App** | ✅ Play Store ready | ⚠️ Em desenvolvimento | 🔴 Faltando |
46
+ | **iOS Voice Overlay** | ✅ Push-to-talk overlay | ❌ Não tem | 🔴 Faltando |
47
+ | **iOS Voice Wake** | ✅ "Hey OpenClaw" wake word | ❌ Não tem | 🔴 Faltando |
48
+ | **iOS Onboarding** | ✅ Welcome pager + QR scanner | ❌ Não tem | 🔴 Faltando |
49
+ | **Android Chat Settings** | ✅ Redesigned sheet | ❌ Não tem | 🔴 Faltando |
50
+ | **Android Onboarding** | ✅ Google Code Scanner | ❌ Não tem | 🔴 Faltando |
51
+ | **Mobile Model Picker** | ✅ Inline buttons + validation | ❌ Não tem | 🔴 Faltando |
52
+ | **Mobile Media Send** | ✅ Force-document toggle | ❌ Não tem | 🔴 Faltando |
53
+ | **Mobile TTS** | ✅ Built-in TTS | ❌ Não tem | 🔴 Faltando |
54
+ | **Mobile STT** | ✅ Built-in STT | ❌ Não tem | 🔴 Faltando |
55
+
56
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot não tem apps mobile funcionais
57
+
58
+ ---
59
+
60
+ ### 3. **APPS DESKTOP (macOS/Windows/Linux)** 🔴 CRÍTICO
61
+
62
+ | Feature | OpenClaw | PoolBot | Gap |
63
+ |---------|----------|---------|-----|
64
+ | **macOS Menubar App** | ✅ Native menubar + XPC | ❌ Não tem | 🔴 Faltando |
65
+ | **macOS Canvas** | ✅ Native Canvas host | ❌ Não tem | 🔴 Faltando |
66
+ | **macOS Permissions** | ✅ NSRemindersUsageDescription | ❌ Não tem | 🔴 Faltando |
67
+ | **macOS Signing** | ✅ Code signing + notarization | ❌ Não tem | 🔴 Faltando |
68
+ | **macOS Peekaboo** | ✅ Peekaboo Xcode projects | ❌ Não tem | 🔴 Faltando |
69
+ | **Windows Native Update** | ✅ Portable Git + npm update | ❌ Não tem | 🔴 Faltando |
70
+ | **Windows Gateway Install** | ✅ Scheduled Tasks fallback | ❌ Não tem | 🔴 Faltando |
71
+ | **Linux Daemon** | ✅ Systemd units | ⚠️ Parcial | 🟡 Faltando |
72
+ | **Native Browser Sessions** | ✅ Chrome DevTools MCP | ❌ Não tem | 🔴 Faltando |
73
+ | **Browser Act Automation** | ✅ Batched actions + selector | ❌ Não tem | 🔴 Faltando |
74
+
75
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot não tem apps desktop nativos
76
+
77
+ ---
78
+
79
+ ### 4. **CONTROL UI / DASHBOARD** 🟡 MÉDIO
80
+
81
+ | Feature | OpenClaw | PoolBot | Gap |
82
+ |---------|----------|---------|-----|
83
+ | **Dashboard v2** | ✅ Modular views + command palette | ⚠️ v1 básico | 🟡 Parcial |
84
+ | **Chat Sessions** | ✅ Grouped dropdown + labels | ⚠️ Básico | 🟡 Parcial |
85
+ | **Chat Export** | ✅ Export + pinned messages | ✅ Tem | 🟢 Igual |
86
+ | **Chat Search** | ✅ Full-text search | ✅ Tem | 🟢 Igual |
87
+ | **Slash Commands** | ✅ `/btw`, `/fast`, `/reasoning` | ⚠️ Básico | 🟡 Faltando |
88
+ | **Model Picker** | ✅ Inline buttons + validation | ❌ Não tem | 🔴 Faltando |
89
+ | **Config Form** | ✅ SecretRef support | ❌ Não tem | 🔴 Faltando |
90
+ | **Agent List** | ✅ Params overrides | ❌ Não tem | 🔴 Faltando |
91
+ | **Session Target** | ✅ `session:<id>` routing | ❌ Não tem | 🔴 Faltando |
92
+ | **Mobile Bottom Tabs** | ✅ Mobile-responsive tabs | ❌ Não tem | 🔴 Faltando |
93
+ | **Command Palette** | ✅ Cmd+K palette | ❌ Não tem | 🔴 Faltando |
94
+
95
+ **Impacto:** 🟡 **MÉDIO** - PoolBot Office é funcional mas menos completo
96
+
97
+ ---
98
+
99
+ ### 5. **MODELS & PROVIDERS** 🔴 CRÍTICO
100
+
101
+ | Feature | OpenClaw | PoolBot | Gap |
102
+ |---------|----------|---------|-----|
103
+ | **OpenAI GPT-5.4 Fast Mode** | ✅ Session-level fast toggle | ❌ Não tem | 🔴 Faltando |
104
+ | **Anthropic Claude Fast Mode** | ✅ `service_tier` mapping | ❌ Não tem | 🔴 Faltando |
105
+ | **OpenAI Codex Spark** | ✅ `gpt-5.3-codex-spark` | ❌ Não tem | 🔴 Faltando |
106
+ | **Kimi Coding** | ✅ Native Anthropic format | ❌ Não tem | 🔴 Faltando |
107
+ | **Kimi Cloud (Moonshot)** | ✅ Moonshot CN API | ❌ Não tem | 🔴 Faltando |
108
+ | **Ollama Plugin** | ✅ Provider-plugin architecture | ❌ Não tem | 🔴 Faltando |
109
+ | **vLLM Plugin** | ✅ Provider-plugin architecture | ❌ Não tem | 🔴 Faltando |
110
+ | **SGLang Plugin** | ✅ Provider-plugin architecture | ❌ Não tem | 🔴 Faltando |
111
+ | **OpenRouter Native IDs** | ✅ Canonicalize + migrate | ❌ Não tem | 🔴 Faltando |
112
+ | **Azure OpenAI Startup** | ✅ Re phrase instructions | ❌ Não tem | 🔴 Faltando |
113
+ | **Google Vertex Gemini** | ✅ Flash-lite normalization | ❌ Não tem | 🔴 Faltando |
114
+ | **DashScope/DeepSeek Usage** | ✅ `supportsUsageInStreaming` | ❌ Não tem | 🔴 Faltando |
115
+ | **Model Fallback** | ✅ Failover + abort-wrapped 429 | ⚠️ Parcial | 🟡 Faltando |
116
+ | **Auth Cooldown** | ✅ Auth-profile cooldown probing | ❌ Não tem | 🔴 Faltando |
117
+
118
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot não suporta providers modernos
119
+
120
+ ---
121
+
122
+ ### 6. **CHANNELS (Telegram/Discord/Slack/etc)** 🟡 MÉDIO
123
+
124
+ | Feature | OpenClaw | PoolBot | Gap |
125
+ |---------|----------|---------|-----|
126
+ | **Telegram Force-Document** | ✅ `--force-document` flag | ❌ Não tem | 🔴 Faltando |
127
+ | **Telegram IPv4 Fallback** | ✅ SSRF-guarded fallback | ❌ Não tem | 🔴 Faltando |
128
+ | **Telegram Reasoning Lane** | ✅ `onReasoningStream` cards | ❌ Não tem | 🔴 Faltando |
129
+ | **Discord Gateway Startup** | ✅ Transient metadata fetch | ⚠️ Parcial | 🟡 Faltando |
130
+ | **Discord Allowlists** | ✅ Raw `guild_id` hydration | ❌ Não tem | 🔴 Faltando |
131
+ | **Slack Block Kit** | ✅ `channelData.slack.blocks` | ❌ Não tem | 🔴 Faltando |
132
+ | **Slack Interactive Replies** | ✅ Button/select directives | ❌ Não tem | 🔴 Faltando |
133
+ | **Slack Agent Replies** | ✅ Block Kit messages | ❌ Não tem | 🔴 Faltando |
134
+ | **Mattermost Block Streaming** | ✅ Fix duplicate delivery | ❌ Não tem | 🔴 Faltando |
135
+ | **Mattermost Reply Media** | ✅ `mediaLocalRoots` | ❌ Não tem | 🔴 Faltando |
136
+ | **Feishu Topic Threads** | ✅ Full thread context | ❌ Não tem | 🔴 Faltando |
137
+ | **Feishu Webhook Auth** | ✅ `encryptKey` + `verificationToken` | ❌ Não tem | 🔴 Faltando |
138
+ | **LINE Channel** | ✅ Built-in channel | ❌ Não tem | 🔴 Faltando |
139
+ | **Zalo Channel** | ✅ Built-in channel | ❌ Não tem | 🔴 Faltando |
140
+
141
+ **Impacto:** 🟡 **MÉDIO** - PoolBot channels são funcionais mas menos completos
142
+
143
+ ---
144
+
145
+ ### 7. **AGENTS & SUBAGENTS** 🔴 CRÍTICO
146
+
147
+ | Feature | OpenClaw | PoolBot | Gap |
148
+ |---------|----------|---------|-----|
149
+ | **Subagents `sessions_yield`** | ✅ End turn + hidden follow-up | ❌ Não tem | 🔴 Faltando |
150
+ | **Subagents Completion Announce** | ✅ 90s timeout + retry logic | ❌ Não tem | 🔴 Faltando |
151
+ | **Agents Custom Providers** | ✅ Preserve blank API keys | ❌ Não tem | 🔴 Faltando |
152
+ | **Agents Usage Tracking** | ✅ Stop forcing `supportsUsageInStreaming: false` | ❌ Não tem | 🔴 Faltando |
153
+ | **Agents Compaction** | ✅ Safeguard language continuity | ❌ Não tem | 🔴 Faltando |
154
+ | **Agents Tool Warnings** | ✅ Distinguish gated core tools | ❌ Não tem | 🔴 Faltando |
155
+ | **Agents Failover** | ✅ Normalize abort-wrapped 429 | ❌ Não tem | 🔴 Faltando |
156
+ | **Embedded Runner** | ✅ Nested lane routing | ❌ Não tem | 🔴 Faltando |
157
+ | **Memory Bootstrap** | ✅ Single root file (MEMORY.md) | ❌ Não tem | 🔴 Faltando |
158
+ | **Context Engine** | ✅ Auto-compaction metadata | ❌ Não tem | 🔴 Faltando |
159
+
160
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot agents são menos inteligentes
161
+
162
+ ---
163
+
164
+ ### 8. **CRON JOBS** 🟡 MÉDIO
165
+
166
+ | Feature | OpenClaw | PoolBot | Gap |
167
+ |---------|----------|---------|-----|
168
+ | **Session Target** | ✅ `sessionTarget: "current"` | ❌ Não tem | 🔴 Faltando |
169
+ | **Session ID Target** | ✅ `session:<id>` support | ❌ Não tem | 🔴 Faltando |
170
+ | **Isolated Sessions** | ✅ Nested lane routing | ❌ Não tem | 🔴 Faltando |
171
+ | **Proactive Delivery** | ✅ Write-ahead resend queue | ❌ Não tem | 🔴 Faltando |
172
+ | **Failure Alerting** | ✅ `failureAlert.mode` | ❌ Não tem | 🔴 Faltando |
173
+ | **Delivery Routing** | ✅ `failureDestination` | ❌ Não tem | 🔴 Faltando |
174
+ | **Repeated-Failure Alerting** | ✅ Thresholds | ❌ Não tem | 🔴 Faltando |
175
+
176
+ **Impacto:** 🟡 **MÉDIO** - PoolBot cron é funcional mas limitado
177
+
178
+ ---
179
+
180
+ ### 9. **SECURITY HARDENING** 🔴 CRÍTICO
181
+
182
+ | Feature | OpenClaw | PoolBot | Gap |
183
+ |---------|----------|---------|-----|
184
+ | **Exec Approvals Wrapper** | ✅ Unwrap `env`, `nice`, `nohup` | ❌ Não tem | 🔴 Faltando |
185
+ | **Exec Approvals Shell Continuation** | ✅ Backslash-newline detection | ❌ Não tem | 🔴 Faltando |
186
+ | **Exec Approvals Skill Auto-Allow** | ✅ Executable + path binding | ❌ Não tem | 🔴 Faltando |
187
+ | **Exec Approvals Unicode** | ✅ Zero-width character escaping | ❌ Não tem | 🔴 Faltando |
188
+ | **Exec Approvals Perl/Ruby/PowerShell** | ✅ Fail closed for `-M`, `-r`, `-File` | ❌ Não tem | 🔴 Faltando |
189
+ | **SSRF IPv6 Multicast** | ✅ Block `ff00::/8` | ❌ Não tem | 🔴 Faltando |
190
+ | **SSRF RFC2544 Benchmark** | ✅ Block `198.18.0.0/15` | ❌ Não tem | 🔴 Faltando |
191
+ | **SSRF IPv6 Dotted-Quad** | ✅ Normalize transition literals | ❌ Não tem | 🔴 Faltando |
192
+ | **Sandbox Symlink** | ✅ Hardlinked tmp media rejection | ❌ Não tem | 🔴 Faltando |
193
+ | **Sandbox Write** | ✅ Pinned mutation-helper stdin | ❌ Não tem | 🔴 Faltando |
194
+ | **Device Pairing Bootstrap** | ✅ Single-use setup codes | ❌ Não tem | 🔴 Faltando |
195
+ | **Device Token Scopes** | ✅ Cap to approved baseline | ❌ Não tem | 🔴 Faltando |
196
+ | **WebSocket Preauth** | ✅ Shorten retention + bound frames | ❌ Não tem | 🔴 Faltando |
197
+ | **External Content Markers** | ✅ Strip zero-width characters | ❌ Não tem | 🔴 Faltando |
198
+ | **iMessage Remote Attachments** | ✅ Reject unsafe paths before SCP | ❌ Não tem | 🔴 Faltando |
199
+ | **Telegram Webhook Auth** | ✅ Validate secret before body | ❌ Não tem | 🔴 Faltando |
200
+ | **Feishu Reaction Auth** | ✅ Group chat typing lookup | ❌ Não tem | 🔴 Faltando |
201
+ | **Browser Profile Create/Delete** | ✅ Block from write-scoped | ❌ Não tem | 🔴 Faltando |
202
+ | **Git Exec Path** | ✅ Block inherited `GIT_EXEC_PATH` | ❌ Não tem | 🔴 Faltando |
203
+ | **Plugin Auto-Load** | ✅ Disable implicit workspace load | ❌ Não tem | 🔴 Faltando |
204
+ | **Hooks Workspace** | ✅ Fail closed on unresolved realpath | ❌ Não tem | 🔴 Faltando |
205
+ | **Commands Owner-Only** | ✅ `/config` + `/debug` ownership | ❌ Não tem | 🔴 Faltando |
206
+ | **Gateway Shared Token** | ✅ Clear unbound scopes | ❌ Não tem | 🔴 Faltando |
207
+ | **Session Status Sandbox** | ✅ Enforce session-tree visibility | ❌ Não tem | 🔴 Faltando |
208
+ | **Agent Spawned Run Lineage** | ✅ Reject public fields | ❌ Não tem | 🔴 Faltando |
209
+
210
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot tem vulnerabilidades de segurança conhecidas (GHSA-*)
211
+
212
+ ---
213
+
214
+ ### 10. **CLI COMMANDS** 🟡 MÉDIO
215
+
216
+ | Feature | OpenClaw | PoolBot | Gap |
217
+ |---------|----------|---------|-----|
218
+ | **`openclaw configure`** | ✅ Non-stalling config | ⚠️ Básico | 🟡 Parcial |
219
+ | **`openclaw onboard`** | ✅ Ollama onboarding flow | ❌ Não tem | 🔴 Faltando |
220
+ | **`openclaw browser create-profile`** | ✅ Chrome profile management | ❌ Não tem | 🔴 Faltando |
221
+ | **`openclaw gateway status --require-rpc`** | ✅ RPC probe | ❌ Não tem | 🔴 Faltando |
222
+ | **`openclaw gateway install`** | ✅ Native daemon install | ❌ Não tem | 🔴 Faltando |
223
+ | **`openclaw models auth login`** | ✅ Clear stale lockout | ❌ Não tem | 🔴 Faltando |
224
+ | **`/btw` Command** | ✅ Side questions | ❌ Não tem | 🔴 Faltando |
225
+ | **`/fast` Command** | ✅ Fast mode toggle | ❌ Não tem | 🔴 Faltando |
226
+ | **`/reasoning stream`** | ✅ Thinking tokens | ❌ Não tem | 🔴 Faltando |
227
+ | **`/models`** | ✅ Model picker buttons | ❌ Não tem | 🔴 Faltando |
228
+ | **`/config`** | ✅ Owner-only config | ❌ Não tem | 🔴 Faltando |
229
+ | **`/debug`** | ✅ Owner-only debug | ❌ Não tem | 🔴 Faltando |
230
+
231
+ **Impacto:** 🟡 **MÉDIO** - PoolBot CLI é funcional mas menos completo
232
+
233
+ ---
234
+
235
+ ### 11. **DOCKER & KUBERNETES** 🟡 MÉDIO
236
+
237
+ | Feature | OpenClaw | PoolBot | Gap |
238
+ |---------|----------|---------|-----|
239
+ | **Docker Timezone** | ✅ `OPENCLAW_TZ` override | ❌ Não tem | 🔴 Faltando |
240
+ | **Docker Setup Script** | ✅ `docker-setup.sh` | ⚠️ Tem | 🟢 Igual |
241
+ | **Kubernetes Manifests** | ✅ K8s raw manifests + Kind | ❌ Não tem | 🔴 Faltando |
242
+ | **Docker Build Cache** | ✅ Build cache tests | ❌ Não tem | 🔴 Faltando |
243
+ | **Docker Image Digests** | ✅ Digest verification | ❌ Não tem | 🔴 Faltando |
244
+
245
+ **Impacto:** 🟡 **MÉDIO** - PoolBot Docker é funcional mas K8s faltando
246
+
247
+ ---
248
+
249
+ ### 12. **PLUGINS & EXTENSIONS** 🔴 CRÍTICO
250
+
251
+ | Feature | OpenClaw | PoolBot | Gap |
252
+ |---------|----------|---------|-----|
253
+ | **Provider-Plugin Architecture** | ✅ Ollama/vLLM/SGLang plugins | ❌ Não tem | 🔴 Faltando |
254
+ | **Plugin SDK Bundling** | ✅ Shared build pass | ❌ Não tem | 🔴 Faltando |
255
+ | **Plugin Env-Scoped Roots** | ✅ HOME/OPENCLAW_HOME changes | ❌ Não tem | 🔴 Faltando |
256
+ | **Plugin Discovery Cache** | ✅ Fix stale state | ❌ Não tem | 🔴 Faltando |
257
+ | **Plugin Provenance Tracking** | ✅ Track `~/...` plugins | ❌ Não tem | 🔴 Faltando |
258
+
259
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot plugins são menos modulares
260
+
261
+ ---
262
+
263
+ ### 13. **BROWSER AUTOMATION** 🔴 CRÍTICO
264
+
265
+ | Feature | OpenClaw | PoolBot | Gap |
266
+ |---------|----------|---------|-----|
267
+ | **Existing-Session Driver** | ✅ Chrome DevTools MCP | ❌ Não tem | 🔴 Faltando |
268
+ | **Browser Profiles** | ✅ `profile="user"` + `chrome-relay` | ❌ Não tem | 🔴 Faltando |
269
+ | **Browser Act Automation** | ✅ Batched actions + selector | ❌ Não tem | 🔴 Faltando |
270
+ | **Browser List Pages** | ✅ Text-only responses | ❌ Não tem | 🔴 Faltando |
271
+ | **Browser New Page** | ✅ Direct tab open | ❌ Não tem | 🔴 Faltando |
272
+ | **Browser Proxy Attachments** | ✅ 5 MB size cap | ❌ Não tem | 🔴 Faltando |
273
+
274
+ **Impacto:** 🔴 **CRÍTICO** - PoolBot browser automation é limitado
275
+
276
+ ---
277
+
278
+ ### 14. **DOCUMENTAÇÃO** 🟡 MÉDIO
279
+
280
+ | Feature | OpenClaw | PoolBot | Gap |
281
+ |---------|----------|---------|-----|
282
+ | **Mintlify Docs** | ✅ docs.openclaw.ai | ⚠️ docs.molt.bot | 🟢 Igual |
283
+ | **Platform Docs** | ✅ macOS, Windows, Linux, Android, iOS | ⚠️ Parcial | 🟡 Faltando |
284
+ | **Security Docs** | ✅ GHSA advisories + fixes | ⚠️ Parcial | 🟡 Faltando |
285
+ | **CLI Docs** | ✅ 49 subdirs | ⚠️ 123 files | 🟢 Igual |
286
+ | **Gateway Docs** | ✅ 35 subdirs | ⚠️ 28 files | 🟡 Faltando |
287
+ | **Channels Docs** | ✅ 31 subdirs | ⚠️ 22 files | 🟡 Faltando |
288
+ | **Providers Docs** | ✅ 33 subdirs | ❌ Não tem | 🔴 Faltando |
289
+ | **Tools Docs** | ✅ 32 subdirs | ❌ Não tem | 🔴 Faltando |
290
+ | **Plugins Docs** | ✅ 7 subdirs | ❌ Não tem | 🔴 Faltando |
291
+ | **Nodes Docs** | ✅ 11 subdirs | ❌ Não tem | 🔴 Faltando |
292
+
293
+ **Impacto:** 🟡 **MÉDIO** - PoolBot docs são funcionais mas menos completas
294
+
295
+ ---
296
+
297
+ ## 📋 ROADMAP CRÍTICO PARA POOLBOT
298
+
299
+ ### **FASE 1: SECURITY (IMEDIATO - 4-6 semanas)**
300
+
301
+ **Prioridade: 🔴 CRÍTICO**
302
+
303
+ Todas as vulnerabilidades GHSA-* devem ser corrigidas antes de produção:
304
+
305
+ 1. ✅ Exec approvals wrapper hardening (4h)
306
+ 2. ✅ Exec approvals shell continuation (4h)
307
+ 3. ✅ Exec approvals Unicode escaping (4h)
308
+ 4. ✅ SSRF IPv6 multicast blocking (4h)
309
+ 5. ✅ SSRF RFC2544 benchmark (4h)
310
+ 6. ✅ Device pairing bootstrap tokens (4h)
311
+ 7. ✅ WebSocket preauth hardening (4h)
312
+ 8. ✅ External content markers (4h)
313
+ 9. ✅ Plugin auto-load disable (2h)
314
+ 10. ✅ Commands owner-only enforcement (2h)
315
+
316
+ **Total:** 36h (1 semana)
317
+
318
+ ---
319
+
320
+ ### **FASE 2: GATEWAY & DAEMON (2-3 semanas)**
321
+
322
+ **Prioridade: 🔴 CRÍTICO**
323
+
324
+ 1. ✅ Linux daemon (systemd) (8h)
325
+ 2. ✅ macOS daemon (LaunchAgent) (8h)
326
+ 3. ✅ Windows daemon (Scheduled Tasks) (12h)
327
+ 4. ✅ Gateway auto-restart (4h)
328
+ 5. ✅ Gateway status CLI (4h)
329
+ 6. ✅ Gateway RPC timeout (4h)
330
+ 7. ✅ Gateway session reset (4h)
331
+ 8. ✅ Gateway wide-area DNS-SD (6h)
332
+
333
+ **Total:** 50h (1-2 semanas)
334
+
335
+ ---
336
+
337
+ ### **FASE 3: MODELS & PROVIDERS (3-4 semanas)**
338
+
339
+ **Prioridade: 🔴 CRÍTICO**
340
+
341
+ 1. ✅ Fast mode toggle (GPT-5.4, Claude) (8h)
342
+ 2. ✅ OpenAI Codex Spark (4h)
343
+ 3. ✅ Kimi Coding/Cloud support (6h)
344
+ 4. ✅ Provider-plugin architecture (16h)
345
+ 5. ✅ Model fallback chains (8h)
346
+ 6. ✅ Auth-profile cooldown (6h)
347
+ 7. ✅ Usage tracking for OpenAI-compatible (4h)
348
+
349
+ **Total:** 52h (1-2 semanas)
350
+
351
+ ---
352
+
353
+ ### **FASE 4: APPS MOBILE (4-6 semanas)**
354
+
355
+ **Prioridade: 🔴 CRÍTICO**
356
+
357
+ 1. ✅ iOS app (App Store) (40h)
358
+ 2. ✅ Android app (Play Store) (40h)
359
+ 3. ✅ iOS Voice Overlay (16h)
360
+ 4. ✅ iOS Voice Wake (16h)
361
+ 5. ✅ Mobile TTS/STT (16h)
362
+ 6. ✅ Mobile model picker (8h)
363
+ 7. ✅ Mobile onboarding (8h)
364
+
365
+ **Total:** 144h (3-4 semanas)
366
+
367
+ ---
368
+
369
+ ### **FASE 5: APPS DESKTOP (4-6 semanas)**
370
+
371
+ **Prioridade: 🔴 CRÍTICO**
372
+
373
+ 1. ✅ macOS menubar app (40h)
374
+ 2. ✅ macOS Canvas (16h)
375
+ 3. ✅ macOS permissions (8h)
376
+ 4. ✅ macOS code signing (8h)
377
+ 5. ✅ Windows native update (16h)
378
+ 6. ✅ Windows gateway install (12h)
379
+ 7. ✅ Native browser sessions (16h)
380
+
381
+ **Total:** 116h (2-3 semanas)
382
+
383
+ ---
384
+
385
+ ## 🎯 CONCLUSÃO
386
+
387
+ ### **Status Atual do PoolBot:**
388
+
389
+ - ✅ **MVP Funcional** - Funciona para desenvolvimento/testes
390
+ - ⚠️ **NÃO Production-Ready** - Faltam features críticas de segurança e daemon
391
+ - ⚠️ **60-70% Atrasado** - Comparado ao OpenClaw
392
+ - 🔴 **Vulnerabilidades Conhecidas** - 25+ GHSA-* não corrigidas
393
+
394
+ ### **Esforço Total para Equivalência:**
395
+
396
+ | Fase | Horas | Semanas |
397
+ |------|-------|---------|
398
+ | **Security** | 36h | 1 |
399
+ | **Gateway/Daemon** | 50h | 1-2 |
400
+ | **Models/Providers** | 52h | 1-2 |
401
+ | **Mobile Apps** | 144h | 3-4 |
402
+ | **Desktop Apps** | 116h | 2-3 |
403
+ | **Channels** | 80h | 2 |
404
+ | **Agents/Subagents** | 60h | 1-2 |
405
+ | **CLI** | 40h | 1 |
406
+ | **Docker/K8s** | 24h | 1 |
407
+ | **Plugins** | 40h | 1 |
408
+ | **Browser** | 40h | 1 |
409
+ | **Docs** | 40h | 1 |
410
+ | **TOTAL** | **722h** | **15-20 semanas** |
411
+
412
+ ### **Recomendação Profissional:**
413
+
414
+ **Para Produção Imediata:**
415
+ 1. ✅ **FASE 1 (Security)** - CRÍTICO, não negociável
416
+ 2. ✅ **FASE 2 (Gateway/Daemon)** - CRÍTICO para VPS deploy
417
+ 3. ⚠️ **FASE 3 (Models/Providers)** - Importante para flexibilidade
418
+
419
+ **Para Long-term:**
420
+ - ⚠️ Apps mobile/desktop (Fases 4-5) - Podem vir depois
421
+ - ⚠️ Channels/Agents/CLI - Melhorias incrementais
422
+
423
+ **Custo Estimado (Brasil, Dev Senior R$150/h):**
424
+ - **Fases 1-3:** R$ 20.700 (2-3 semanas)
425
+ - **Todas as fases:** R$ 108.300 (15-20 semanas)
426
+
427
+ ---
428
+
429
+ **Assinado:** Build Agent
430
+ **Data:** 2026-03-14
431
+ **Status:** 🚨 **POOLBOT PRECISA DE 722h DE DESENVOLVIMENTO PARA EQUIPARAR AO OPENCLAW**