@poolzin/pool-bot 2026.3.21 → 2026.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/dist/acp/bindings-store.js +209 -0
- package/dist/acp/control-plane/runtime-cache.js +54 -0
- package/dist/acp/control-plane/runtime-options.js +215 -0
- package/dist/acp/control-plane/session-actor-queue.js +36 -0
- package/dist/acp/runtime/errors.js +47 -0
- package/dist/acp/runtime/registry.js +86 -0
- package/dist/acp/runtime/types.js +1 -0
- package/dist/acp/translator.js +97 -0
- package/dist/agents/failover-error.js +145 -47
- package/dist/browser/browser-profile-manager.js +319 -0
- package/dist/browser/cdp-proxy-bypass.js +129 -0
- package/dist/browser/cdp-timeouts.js +41 -0
- package/dist/browser/chrome-extension-validator.js +406 -0
- package/dist/browser/chrome-mcp-snapshot.js +222 -0
- package/dist/browser/chrome-mcp.js +421 -0
- package/dist/browser/chrome-mcp.snapshot.js +133 -0
- package/dist/browser/errors.js +67 -0
- package/dist/browser/form-fields.js +22 -0
- package/dist/browser/output-atomic.js +44 -0
- package/dist/browser/profile-capabilities.js +47 -0
- package/dist/browser/safe-filename.js +25 -0
- package/dist/browser/snapshot-roles.js +60 -0
- package/dist/build-info.json +3 -3
- package/dist/commands/security-owner-only.js +86 -0
- package/dist/control-ui/assets/{index-Dvkl4Xlx.js → index-D7shnQwQ.js} +404 -388
- package/dist/control-ui/assets/index-D7shnQwQ.js.map +1 -0
- package/dist/control-ui/index.html +1 -1
- package/dist/cron/cron-filters.js +150 -0
- package/dist/gateway/device-pairing-security.js +197 -0
- package/dist/gateway/event-deduplication.js +167 -0
- package/dist/gateway/run-tracker.js +253 -0
- package/dist/gateway/server-methods/nodes.js +14 -0
- package/dist/gateway/websocket-preauth-security.js +188 -0
- package/dist/infra/errors.js +53 -13
- package/dist/infra/exec-approvals-security.js +217 -0
- package/dist/infra/security/command-analyzer.js +257 -0
- package/dist/plugins/loader.js +16 -8
- package/dist/security/external-content.js +51 -1
- package/dist/sessions/session-costs.js +228 -0
- package/dist/shared/param-key.js +16 -0
- package/dist/shared/poll-params.js +58 -0
- package/dist/shared/polls.js +55 -0
- package/docs/DASHBOARD-GAP-ANALYSIS-AND-PLAN.md +430 -0
- package/docs/FEATURES.md +523 -0
- package/docs/FINAL-IMPLEMENTATION-REVIEW.md +274 -0
- package/docs/FINAL-IMPLEMENTATION-SUMMARY.md +356 -0
- package/docs/FINAL-PROFESSIONAL-EVALUATION.md +312 -0
- package/docs/IMPLEMENTATION-PRIORITY-EVALUATION.md +298 -0
- package/docs/IMPLEMENTATION-PROGRESS.md +237 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE1-2.md +381 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE4.md +389 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE5.md +420 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE6.md +422 -0
- package/docs/IMPLEMENTATION-REVIEW-PHASE7-FINAL.md +184 -0
- package/docs/MIKRODASH-ANALYSIS.md +412 -0
- package/docs/OPENCLAW-GAP-ANALYSIS-FINAL.md +431 -0
- package/docs/OPENCLAW-VS-POOLBOT-ANALYSIS.md +351 -0
- package/docs/PHASE-7-SUMMARY.md +144 -0
- package/docs/POOLBOT-OFFICE-PLAN.md +697 -0
- package/docs/PROJECT-FINAL-STATUS.md +237 -0
- package/docs/README.md +116 -0
- package/docs/REAL-IMPROVEMENTS-EVALUATION.md +477 -0
- package/docs/SECURITY-HARDENING-IMPLEMENTATION.md +161 -0
- package/docs/channels/googlechat.md +235 -206
- package/docs/channels/irc.md +332 -0
- package/docs/channels/nostr.md +255 -168
- package/docs/components/command-palette.md +166 -0
- package/docs/components/login-gate.md +219 -0
- package/docs/getting-started/installation.md +191 -0
- package/docs/getting-started/introduction.md +120 -0
- package/docs/improvements/USAGE-GUIDE.md +359 -0
- package/docs/plans/2026-03-15-openclaw-features-implementation.md +1632 -0
- package/docs/reference/deadcode-detection.md +72 -0
- package/extensions/acpx/node_modules/.bin/acpx +21 -0
- package/extensions/agency-agents/node_modules/.bin/vite +4 -4
- package/extensions/agency-agents/node_modules/.bin/vitest +2 -2
- package/extensions/googlechat/node_modules/.bin/tsc +21 -0
- package/extensions/googlechat/node_modules/.bin/tsserver +21 -0
- package/extensions/googlechat/node_modules/.bin/vitest +21 -0
- package/extensions/googlechat/package.json +11 -28
- package/extensions/googlechat/src/googlechat-channel.test.ts +60 -0
- package/extensions/googlechat/src/googlechat-channel.ts +120 -0
- package/extensions/googlechat/src/index.ts +14 -0
- package/extensions/irc/node_modules/.bin/tsc +21 -0
- package/extensions/irc/node_modules/.bin/tsserver +21 -0
- package/extensions/irc/node_modules/.bin/vitest +21 -0
- package/extensions/irc/package.json +16 -8
- package/extensions/irc/src/index.ts +14 -0
- package/extensions/irc/src/irc-channel.test.ts +43 -0
- package/extensions/irc/src/irc-channel.ts +191 -0
- package/extensions/keyed-async-queue/node_modules/.bin/tsc +21 -0
- package/extensions/keyed-async-queue/node_modules/.bin/tsserver +21 -0
- package/extensions/keyed-async-queue/node_modules/.bin/vitest +21 -0
- package/extensions/keyed-async-queue/package.json +20 -0
- package/extensions/keyed-async-queue/src/index.ts +14 -0
- package/extensions/keyed-async-queue/src/queue.test.ts +135 -0
- package/extensions/keyed-async-queue/src/queue.ts +200 -0
- package/extensions/memory-core/node_modules/.bin/tsc +21 -0
- package/extensions/memory-core/node_modules/.bin/tsserver +21 -0
- package/extensions/memory-core/node_modules/.bin/vitest +21 -0
- package/extensions/memory-core/package.json +11 -8
- package/extensions/memory-core/src/index.ts +14 -0
- package/extensions/memory-core/src/memory-manager.test.ts +124 -0
- package/extensions/memory-core/src/memory-manager.ts +186 -0
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/nostr/node_modules/.bin/vitest +21 -0
- package/extensions/nostr/package.json +15 -24
- package/extensions/nostr/src/index.ts +14 -0
- package/extensions/nostr/src/nostr-channel.test.ts +55 -0
- package/extensions/nostr/src/nostr-channel.ts +228 -0
- package/extensions/page-agent/node_modules/.bin/vitest +2 -2
- package/extensions/test-utils/node_modules/.bin/jiti +21 -0
- package/extensions/test-utils/node_modules/.bin/playwright +21 -0
- package/extensions/test-utils/node_modules/.bin/tsx +21 -0
- package/extensions/test-utils/node_modules/.bin/vite +21 -0
- package/extensions/test-utils/node_modules/.bin/vitest +21 -0
- package/extensions/test-utils/node_modules/.bin/yaml +21 -0
- package/extensions/xyops/node_modules/.bin/vitest +2 -2
- package/package.json +2 -1
- package/dist/control-ui/assets/index-Dvkl4Xlx.js.map +0 -1
- package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
- 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**
|