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.
- package/CHANGELOG.md +121 -0
- package/CHANGELOG.vi.md +116 -0
- package/README.md +211 -0
- package/README.vi.md +215 -0
- package/SETUP.md +532 -0
- package/SETUP.vi.md +439 -0
- package/cli.js +231 -0
- package/docker/openclaw/Dockerfile +14 -0
- package/docker/openclaw/docker-compose.yml +18 -0
- package/docs/browser-automation-guide.md +207 -0
- package/docs/skills-plugins-guide.md +126 -0
- package/index.html +336 -0
- package/package.json +28 -0
- package/setup.js +1991 -0
- package/start-chrome-debug.bat +15 -0
- package/style.css +1347 -0
|
@@ -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`.
|