create-openclaw-bot 4.0.1

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.
@@ -0,0 +1,18 @@
1
+ # ============================================
2
+ # OpenClaw Docker Compose (Template)
3
+ # ============================================
4
+ # File này sẽ được wizard generate lại với config đúng.
5
+ # Nếu bạn muốn setup thủ công, sửa các giá trị bên dưới.
6
+ # ============================================
7
+
8
+ services:
9
+ ai-bot:
10
+ build: .
11
+ container_name: openclaw-bot
12
+ restart: always
13
+ env_file:
14
+ - .env
15
+ volumes:
16
+ - <PROJECT_DIR>/.openclaw:/root/.openclaw
17
+ ports:
18
+ - "18789:18789"
@@ -0,0 +1,207 @@
1
+ # OpenClaw Browser Automation — Hướng dẫn sử dụng
2
+
3
+ ## Tổng quan
4
+
5
+ Browser Automation cho phép bot AI **điều khiển Chrome thật trên màn hình** máy bạn theo thời gian thực. Bot có thể:
6
+ - 🌐 Mở website, duyệt web ngay trên màn hình bạn
7
+ - 📝 Điền form tự động
8
+ - 🖱️ Click, gõ phím, cuộn trang
9
+ - 📸 Chụp ảnh màn hình và gửi về chat
10
+ - 🔐 Dùng luôn session login sẵn (Facebook, Gmail...)
11
+
12
+ > ⚠️ **Lưu ý:** Chrome debug dùng **profile riêng** (`%TEMP%\chrome-debug`). Bạn cần login lại Facebook/Gmail 1 lần trong profile này.
13
+
14
+ ---
15
+
16
+ ## Cách hoạt động
17
+
18
+ ```
19
+ Máy bạn (Windows) Docker Container
20
+ ┌─────────────────────┐ ┌──────────────────────────┐
21
+ │ Chrome Debug Mode │◄────────────►│ socat proxy │
22
+ │ Port 9222 (visible) │ TCP/CDP │ (9222 → host.docker:9222)│
23
+ │ │ │ │
24
+ │ Bạn thấy bot thao │ │ browser-tool.js │
25
+ │ tác TRỰC TIẾP! │ │ → Playwright CDP client │
26
+ └─────────────────────┘ └──────────────────────────┘
27
+ ```
28
+
29
+ 1. Chrome chạy trên máy bạn ở **Debug Mode** (port 9222) — **có giao diện, bạn nhìn thấy được**
30
+ 2. Docker container dùng **socat** để bridge cổng: `container:9222 → Windows host:9222`
31
+ 3. **`browser-tool.js`** dùng Playwright CDP client kết nối vào Chrome thật đó
32
+ 4. Bot thao tác → bạn thấy Chrome di chuyển ngay trên màn hình
33
+
34
+ ---
35
+
36
+ ## Bước 1: Bật Chrome Debug Mode
37
+
38
+ File **`start-chrome-debug.bat`** đã có sẵn trong thư mục dự án. Mỗi khi cần bot duyệt web:
39
+
40
+ 1. Mở thư mục dự án (ví dụ: `D:\openclaw-setup`)
41
+ 2. **Click đúp vào `start-chrome-debug.bat`**
42
+ 3. Đợi Chrome mở ra và thấy dòng `OK! Chrome Debug Mode dang chay.` màu xanh
43
+ 4. **Để cửa sổ này mở** trong suốt quá trình bot làm việc
44
+
45
+ > **Quan trọng:** Phải bật Chrome Debug **trước khi** khởi động Docker. Nếu bot báo lỗi "chưa bật Chrome", hãy click đúp file này rồi thử lại.
46
+
47
+ <details>
48
+ <summary>Nội dung file bat (tham khảo)</summary>
49
+
50
+ ```batch
51
+ @echo off
52
+ echo ====== OpenClaw - Chrome Debug Mode ======
53
+ taskkill /F /IM chrome.exe >nul 2>&1
54
+ timeout /t 3 /nobreak >nul
55
+ start "" "C:\Program Files\Google\Chrome\Application\chrome.exe" ^
56
+ --remote-debugging-port=9222 ^
57
+ --remote-allow-origins=* ^
58
+ --user-data-dir="%TEMP%\chrome-debug"
59
+ timeout /t 4 /nobreak >nul
60
+ powershell -Command "try { Invoke-WebRequest -Uri 'http://localhost:9222/json/version' -UseBasicParsing -TimeoutSec 5 | Out-Null; Write-Host 'OK! Chrome Debug Mode dang chay.' -ForegroundColor Green } catch { Write-Host 'LOI: Port 9222 chua mo.' -ForegroundColor Red }"
61
+ pause
62
+ ```
63
+
64
+ </details>
65
+
66
+ ---
67
+
68
+ ## Bước 2: Tự động bật Chrome khi mở máy (Task Scheduler)
69
+
70
+ Chạy script PowerShell bên dưới **1 lần** với **Run as Administrator**:
71
+
72
+ ```powershell
73
+ $batPath = "$env:USERPROFILE\start-chrome-debug.bat"
74
+
75
+ if (-not (Test-Path $batPath)) {
76
+ Write-Host "LOI: Không tìm thấy $batPath" -ForegroundColor Red
77
+ exit 1
78
+ }
79
+
80
+ $action = New-ScheduledTaskAction -Execute $batPath
81
+ $trigger = New-ScheduledTaskTrigger -AtLogOn
82
+ $trigger.Delay = "PT10S"
83
+ $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
84
+
85
+ Register-ScheduledTask `
86
+ -TaskName "OpenClaw-ChromeDebug" `
87
+ -Description "Tu dong bat Chrome Debug Mode cho OpenClaw" `
88
+ -Action $action `
89
+ -Trigger $trigger `
90
+ -Settings $settings `
91
+ -Force
92
+
93
+ Write-Host "DONE! Chrome sẽ tự bật Debug Mode mỗi khi đăng nhập Windows." -ForegroundColor Green
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Bước 3: Cách bot thao tác trình duyệt
99
+
100
+ Bot dùng script nội bộ **`browser-tool.js`** (tự động có trong container) để điều khiển Chrome:
101
+
102
+ ```bash
103
+ # Kiểm tra kết nối (chạy trong container)
104
+ node /root/.openclaw/workspace/browser-tool.js status
105
+
106
+ # Mở trang web
107
+ node /root/.openclaw/workspace/browser-tool.js open "https://google.com"
108
+
109
+ # Đọc nội dung trang
110
+ node /root/.openclaw/workspace/browser-tool.js get_text
111
+
112
+ # Click vào phần tử (CSS Selector)
113
+ node /root/.openclaw/workspace/browser-tool.js click "input[name='q']"
114
+
115
+ # Gõ văn bản
116
+ node /root/.openclaw/workspace/browser-tool.js fill "input[name='q']" "bàn phím cơ"
117
+
118
+ # Nhấn phím
119
+ node /root/.openclaw/workspace/browser-tool.js press "Enter"
120
+ ```
121
+
122
+ Bot tự động dùng các lệnh này khi bạn nhắn **"mở trình duyệt"** hoặc **"dùng browser"**.
123
+
124
+ ---
125
+
126
+ ## Cách ra lệnh cho bot
127
+
128
+ | Lệnh | Bot làm gì |
129
+ |------|-----------|
130
+ | `"Mở google.com và tìm bàn phím cơ"` | Mở Chrome → search → chụp ảnh → báo cáo |
131
+ | `"Dùng browser vào shopee tìm iPhone"` | Mở Shopee → tìm → tổng hợp kết quả |
132
+ | `"Mở facebook và đọc tin mới nhất"` | Vào Facebook (đã login sẵn) → đọc feed |
133
+ | `"Tìm trên web..."` | ❌ Dùng web_search thay vì browser — hãy nói rõ "browser" |
134
+
135
+ > **Tip:** Bot sẽ trả lời ngay khi nhận lệnh, rồi thực hiện và báo cáo kết quả + ảnh chụp màn hình.
136
+
137
+ ---
138
+
139
+ ## Cấu hình `openclaw.json`
140
+
141
+ Phần `browser` trong config **phải có**:
142
+
143
+ ```json
144
+ "browser": {
145
+ "enabled": true,
146
+ "noSandbox": true,
147
+ "defaultProfile": "host-chrome",
148
+ "profiles": {
149
+ "host-chrome": {
150
+ "cdpUrl": "http://127.0.0.1:9222",
151
+ "color": "#4285F4"
152
+ }
153
+ }
154
+ }
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Cấu hình Dockerfile
160
+
161
+ Container cần **2 thứ** để browser automation hoạt động:
162
+
163
+ ```dockerfile
164
+ # 1. Cài socat (bridge cổng từ container ra host Windows)
165
+ RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
166
+
167
+ # 2. Cài Playwright + tạo symlink Google Chrome
168
+ RUN npm install -g playwright && npx playwright install chromium --with-deps \
169
+ && ln -f -s /root/.cache/ms-playwright/chromium-*/chrome-linux*/chrome /usr/bin/google-chrome
170
+
171
+ # 3. Khởi động socat kèm gateway (trong CMD)
172
+ CMD sh -c "socat TCP-LISTEN:9222,fork,reuseaddr TCP:host.docker.internal:9222 & openclaw gateway run"
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Lưu ý quan trọng
178
+
179
+ | # | Lưu ý |
180
+ |---|-------|
181
+ | 1 | **Bật `start-chrome-debug.bat` trước** khi Docker chạy |
182
+ | 2 | Chrome debug dùng **profile riêng** → phải login lại các trang 1 lần |
183
+ | 3 | Port 9222 chỉ bind localhost → **an toàn** |
184
+ | 4 | Container thêm **~500MB** do Playwright Chromium |
185
+ | 5 | Chỉ hỗ trợ **Chrome/Chromium** |
186
+ | 6 | Nếu bot báo "Chrome đang tắt" → chạy lại `start-chrome-debug.bat` |
187
+
188
+ ---
189
+
190
+ ## Gỡ lỗi thường gặp
191
+
192
+ **Bot nói "không kết nối được Chrome":**
193
+ → Chạy lại `start-chrome-debug.bat`.
194
+
195
+ **Bot phản hồi chậm:**
196
+ → Bình thường — bot cần thời gian tải trang. Phần thao tác browser (~5-15s) chậm hơn web_search.
197
+
198
+ **Bot không dùng browser dù đã nói "mở trình duyệt":**
199
+ → Kiểm tra file `AGENTS.md` trong `.openclaw/workspace/` có hướng dẫn dùng `browser-tool.js` chưa.
200
+
201
+ ---
202
+
203
+ ## Xóa Task Scheduler (nếu cần)
204
+
205
+ ```powershell
206
+ Unregister-ScheduledTask -TaskName "OpenClaw-ChromeDebug" -Confirm:$false
207
+ ```
@@ -0,0 +1,126 @@
1
+ # OpenClaw Skills & Plugins — Hướng dẫn sử dụng
2
+
3
+ ## Tổng quan
4
+
5
+ OpenClaw có 2 hệ thống mở rộng:
6
+
7
+ | | Skills 🧠 | Plugins 🔌 |
8
+ |---|---|---|
9
+ | **Là gì** | Kỹ năng cho bot AI | Kênh chat / runtime extension |
10
+ | **Registry** | ClawHub | npm |
11
+ | **Cài bằng** | `openclaw skills install <slug>` | `openclaw plugins install @openclaw/<pkg>` |
12
+ | **Ví dụ** | Web Search, Browser, Memory | Voice Call, Matrix, MS Teams |
13
+
14
+ ---
15
+
16
+ ## Skills có sẵn
17
+
18
+ ### 🔍 Web Search
19
+ - **Chức năng:** Bot tìm kiếm web và trả kết quả realtime
20
+ - **Cần:** API key Tavily (miễn phí 1000 queries/tháng)
21
+ - **Setup:** Thêm vào `.env`:
22
+ ```
23
+ TAVILY_API_KEY=tvly-xxxxxxxxxxxxxx
24
+ ```
25
+ - **Lấy key:** [app.tavily.com](https://app.tavily.com/) → Create API Key
26
+
27
+ ### 🌐 Browser Automation
28
+ - **Chức năng:** Bot điều khiển Chrome thật trên máy bạn
29
+ - **Cần:** Chrome Debug Mode bật trên máy host
30
+ - **Setup:** Xem [browser-automation-guide.md](browser-automation-guide.md)
31
+ - **Không cần API key** — dùng Chrome có sẵn
32
+
33
+ ### 🧠 Long-term Memory
34
+ - **Chức năng:** Bot nhớ hội thoại xuyên phiên, context dài hạn
35
+ - **Cần:** Không cần cấu hình thêm ✅
36
+ - **Tự động:** Lưu trữ trong `.openclaw/memory/`
37
+
38
+ ### 📚 RAG / Knowledge Base
39
+ - **Chức năng:** Chat với tài liệu, file PDF, codebase
40
+ - **Cần:** Đặt file vào thư mục `.openclaw/docs/`
41
+ - **Setup:** Copy file PDF/TXT/MD vào folder sau rồi restart:
42
+ ```
43
+ .openclaw/docs/
44
+ ├── tai-lieu-1.pdf
45
+ ├── huong-dan.md
46
+ └── data.csv
47
+ ```
48
+
49
+ ### 🎨 Image Generation
50
+ - **Chức năng:** Bot tạo ảnh bằng AI (DALL·E, Flux)
51
+ - **Cần:** API key (dùng chung OPENAI_API_KEY hoặc thêm FLUX_API_KEY)
52
+ - **Setup:** Nếu đã chọn OpenAI provider → không cần thêm gì. Nếu dùng Flux:
53
+ ```
54
+ FLUX_API_KEY=flx-xxxxxxxxxxxxxx
55
+ ```
56
+
57
+ ### ⏰ Bot Scheduler
58
+ - **Chức năng:** Bot tự nhắc nhở, lên lịch gửi tin nhắn
59
+ - **Cần:** Không cần cấu hình thêm ✅
60
+ - **Ví dụ:** "Nhắc tôi lúc 5h chiều mỗi ngày uống nước"
61
+
62
+ ### 💻 Code Interpreter
63
+ - **Chức năng:** Chạy code Python/JS trong sandbox an toàn
64
+ - **Cần:** Không cần cấu hình thêm ✅
65
+ - **Ví dụ:** "Viết script Python tính toán chi phí tháng này"
66
+
67
+ ### 📧 Email Assistant
68
+ - **Chức năng:** Quản lý, soạn, tóm tắt email
69
+ - **Cần:** Cấu hình SMTP trong `.env`:
70
+ ```
71
+ SMTP_HOST=smtp.gmail.com
72
+ SMTP_PORT=587
73
+ SMTP_USER=your.email@gmail.com
74
+ SMTP_PASS=your_app_password
75
+ ```
76
+ - **Lưu ý:** Gmail cần tạo [App Password](https://myaccount.google.com/apppasswords)
77
+
78
+ ---
79
+
80
+ ## Plugins có sẵn
81
+
82
+ ### 📞 Voice Call
83
+ - **Chức năng:** Gọi thoại AI qua điện thoại
84
+ - **Package:** `@openclaw/voice-call`
85
+
86
+ ### 💬 Matrix Chat
87
+ - **Chức năng:** Kết nối kênh Matrix/Element
88
+ - **Package:** `@openclaw/matrix`
89
+
90
+ ### 🏢 MS Teams
91
+ - **Chức năng:** Kết nối Microsoft Teams
92
+ - **Package:** `@openclaw/msteams`
93
+
94
+ ### 🟣 Nostr
95
+ - **Chức năng:** Kết nối mạng xã hội Nostr
96
+ - **Package:** `@openclaw/nostr`
97
+
98
+ ---
99
+
100
+ ## Thêm / Bỏ sau khi setup
101
+
102
+ Không cần chạy lại wizard. Dùng lệnh trực tiếp:
103
+
104
+ ```bash
105
+ # Vào container
106
+ docker exec -it openclaw-bot sh
107
+
108
+ # Thêm skill
109
+ openclaw skills install memory
110
+ openclaw skills install web-search
111
+
112
+ # Xóa skill
113
+ openclaw skills uninstall web-search
114
+
115
+ # Thêm plugin
116
+ openclaw plugins install @openclaw/voice-call
117
+
118
+ # Xóa plugin
119
+ openclaw plugins uninstall @openclaw/voice-call
120
+
121
+ # Thoát và restart
122
+ exit
123
+ docker restart openclaw-bot
124
+ ```
125
+
126
+ > 💡 **Persist qua rebuild:** Nếu muốn thay đổi lâu dài, sửa `Dockerfile` → `docker compose build && docker compose up -d`.