Merge remote-tracking branch 'origin/main'

This commit is contained in:
2026-04-02 17:09:17 +07:00
4 changed files with 33 additions and 30 deletions
+2
View File
@@ -31,6 +31,8 @@
.openclaw/workspace/memory/* .openclaw/workspace/memory/*
!.openclaw/workspace/memory/.gitkeep !.openclaw/workspace/memory/.gitkeep
.openclaw/memory/*
.openclaw/tasks/* .openclaw/tasks/*
!.openclaw/tasks/.gitkeep !.openclaw/tasks/.gitkeep
Binary file not shown.
+21 -7
View File
@@ -120,7 +120,7 @@ docker compose exec openclaw-cli openclaw status
docker compose exec openclaw-cli openclaw --version docker compose exec openclaw-cli openclaw --version
``` ```
## ⚙️ Cấu trúc Volumes & Dữ liệu ## ⚙️ Setup để bắt đầu sử dụng
| Host Path (mặc định) | Mount trong container | Mục đích | | Host Path (mặc định) | Mount trong container | Mục đích |
|----------------------|-----------------------|----------| |----------------------|-----------------------|----------|
@@ -129,7 +129,6 @@ docker compose exec openclaw-cli openclaw --version
> Thư mục `.openclaw/` được tạo tự động khi gateway khởi động lần đầu. Tất cả cấu hình (token, origins, …) lưu tại đây và **persist qua các lần restart**.Nói cách khác, thư mục `.openclaw` chính là "bộ não" chứa dữ liệu của hệ thống. Để AI có thể hoạt động, bạn cần cấp "chìa khóa" (API Keys). Có 2 cách để thực hiện: > Thư mục `.openclaw/` được tạo tự động khi gateway khởi động lần đầu. Tất cả cấu hình (token, origins, …) lưu tại đây và **persist qua các lần restart**.Nói cách khác, thư mục `.openclaw` chính là "bộ não" chứa dữ liệu của hệ thống. Để AI có thể hoạt động, bạn cần cấp "chìa khóa" (API Keys). Có 2 cách để thực hiện:
**Cách 1: Cấu hình qua Giao diện Web (Khuyên dùng)**
Truy cập trực tiếp vào Terminal hệ thống `cli` (đây là nơi được tạo ra để kỹ sư có thể thao tác tương tác): Truy cập trực tiếp vào Terminal hệ thống `cli` (đây là nơi được tạo ra để kỹ sư có thể thao tác tương tác):
```bash ```bash
docker exec -it openclaw-team-repo-openclaw-cli-1 bash docker exec -it openclaw-team-repo-openclaw-cli-1 bash
@@ -139,14 +138,29 @@ Sau đó, trong container hãy thực thi lệnh thiết lập:
openclaw setup openclaw setup
``` ```
**Cách 2: Cấu hình qua Terminal (bằng container CLI)** Sau đó chạy lệnh
Hệ thống Gateway mặc định có sẵn thiết lập khởi chạy không cần config, bạn có thể thiết lập trực tiếp trên web bằng cách: ```bash
* Mở trình duyệt và truy cập `http://localhost:18789` (Hoặc địa chỉ IP máy chủ của bạn với cổng `18789`). openclaw configure
Tại giao diện Web, hệ thống sẽ tự động hiển thị Wizard Setup để bạn điền các API Key (OpenAI, Anthropic, Gemini...). Các thông tin này sẽ được lưu ngầm tự động xuống thư mục `.openclaw`. ```
Các phần bạn cần config trước khi bắt đầu sử dụng:
- Channels:
Telegram (recommend):
Chọn Enter Telegram bot token (Cách lấy token có thể tham khảo ở `https://help.superchat.com/en/articles/14901-how-do-i-get-the-telegram-token-or-bot-id`)
Sau khi nhập xong token thì sẽ hỏi "Config DM access policies now?" -> (chọn `No`)
Sau khi config xong thì vào chat với bot, nó sẽ yêu cầu chạy lệnh `openclaw pairing approve telegram [id]` trong terminal thì hãy chạy để xác nhận kết nối.
- Model:
Nếu mọi người sử dụng API có trả phí thì có thể chọn `OpenAI` hoặc `Anthropic`.
Còn nếu mọi người sử dụng API free thì có thể chọn:
- `OpenRouter` (recommend): Các model em thấy sử dụng tốt gồm `Step 3.5 Flash (free)` (đặt làm primary), `Arcee Trinity Large preview: free` (đặt làm fallback) và `NVIDIA-Nemotron-3-Super-120B-A12B: free` (đặt làm fallback). Lưu ý: Không nên để auto vì đôi khi sẽ chọn những model không có khả năng suy luận hoặc model phải có suy luận.
- `Copilot` (Github Copilot Oauth): Sẽ được free model `GPT-5.1 mini``GPT-4.1`
Sau khi config xong, mọi người hãy chạy lệnh `openclaw dashboard` và mở link Dashboard Url `http://localhost:18789` để kiểm tra.
Nếu nó báo lỗi `unauthorized: need pairing` thì mọi người vào chạy lệnh `openclaw devices list` để kiểm tra device đang request pairing và dùng `openclaw devices approve` để approve (không cần thêm id cũng được). Sau đó mọi người vào lại `http:localhost:18789` để kiểm tra lại thì sẽ được.
> **Cảnh báo:** Mọi tệp cấu hình bảo mật sẽ nằm ở thư mục `.openclaw` trên máy tính tải về. Thư mục này đã có trong `.gitignore`. Tuyệt đối KHÔNG sử dụng lệnh ép buộc (force add) để đẩy các tệp thuộc `.openclaw` lên Github nhằm tránh rò rỉ thông tin bảo mật. > **Cảnh báo:** Mọi tệp cấu hình bảo mật sẽ nằm ở thư mục `.openclaw` trên máy tính tải về. Thư mục này đã có trong `.gitignore`. Tuyệt đối KHÔNG sử dụng lệnh ép buộc (force add) để đẩy các tệp thuộc `.openclaw` lên Github nhằm tránh rò rỉ thông tin bảo mật.
--- ---
## 🌐 Cổng kết nối (Ports) ## 🌐 Cổng kết nối (Ports)
+8 -21
View File
@@ -8,7 +8,7 @@ services:
resources: resources:
limits: limits:
cpus: '4' cpus: '4'
memory: 12G memory: 8G
reservations: reservations:
memory: 2G memory: 2G
environment: environment:
@@ -16,7 +16,7 @@ services:
TERM: xterm-256color TERM: xterm-256color
NODE_OPTIONS: "--max-old-space-size=8192" NODE_OPTIONS: "--max-old-space-size=8192"
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-team-token} OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-team-token}
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: ${OPENCLAW_ALLOW_INSECURE_PRIVATE_WS:-} OPENCLAW_ALLOW_INSECURE_PRIVATE_WS: "true"
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-} CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-} CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-} CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}
@@ -30,32 +30,19 @@ services:
init: true init: true
restart: unless-stopped restart: unless-stopped
command: command:
[ - /bin/bash
"openclaw", - -c
"gateway", - |
"--bind", openclaw config set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback true
"${OPENCLAW_GATEWAY_BIND:-lan}", exec openclaw gateway --bind "${OPENCLAW_GATEWAY_BIND:-lan}" --port 18789 --allow-unconfigured
"--port",
"18789",
"--allow-unconfigured"
]
healthcheck: healthcheck:
test: test: [ "CMD", "node", "-e", "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" ]
[
"CMD",
"node",
"-e",
"fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
]
interval: 30s interval: 30s
timeout: 5s timeout: 5s
retries: 5 retries: 5
start_period: 20s start_period: 20s
openclaw-cli: openclaw-cli:
build:
context: .
dockerfile: ./Dockerfile
image: openclaw-clawteam:latest image: openclaw-clawteam:latest
pull_policy: build pull_policy: build
network_mode: "service:openclaw-gateway" network_mode: "service:openclaw-gateway"