Skip to content

Commit bdc5b46

Browse files
authored
Merge pull request #8 from thieung/feat/getting-started-accuracy
docs: improve getting-started accuracy with source-verified content (EN+VI)
2 parents 1c495ca + 8a0f0b5 commit bdc5b46

12 files changed

Lines changed: 104 additions & 44 deletions

getting-started/configuration.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ Controls how agents can spawn child agents.
314314

315315
```jsonc
316316
"subagents": {
317-
"maxConcurrent": 8,
317+
"maxConcurrent": 20,
318318
"maxSpawnDepth": 1,
319319
"maxChildrenPerAgent": 5,
320320
"archiveAfterMinutes": 60,
@@ -324,7 +324,7 @@ Controls how agents can spawn child agents.
324324

325325
| Field | Type | Default | Description |
326326
|-------|------|---------|-------------|
327-
| `maxConcurrent` | int | `8` | Max subagents running simultaneously |
327+
| `maxConcurrent` | int | `20` | Max subagents running simultaneously |
328328
| `maxSpawnDepth` | int | `1` | Max nesting depth (1–5); `1` = only root can spawn |
329329
| `maxChildrenPerAgent` | int | `5` | Max children per parent agent (1–20) |
330330
| `archiveAfterMinutes` | int | `60` | Archive idle subagents after this duration |
@@ -418,13 +418,13 @@ Docker-based isolation for code execution. Can be set globally or overridden per
418418
"token": "env:TELEGRAM_BOT_TOKEN",
419419
"proxy": "",
420420
"allow_from": ["123456789"],
421-
"dm_policy": "open",
421+
"dm_policy": "pairing",
422422
"group_policy": "allowlist",
423423
"require_mention": true,
424424
"history_limit": 50,
425425
"dm_stream": false,
426426
"group_stream": false,
427-
"reaction_level": "minimal",
427+
"reaction_level": "full",
428428
"media_max_bytes": 20971520,
429429
"link_preview": true,
430430
"block_reply": false,
@@ -444,13 +444,13 @@ Docker-based isolation for code execution. Can be set globally or overridden per
444444
| `token` | string || Bot token from @BotFather |
445445
| `proxy` | string || HTTP/SOCKS5 proxy URL |
446446
| `allow_from` | []string || Allowlisted user/chat IDs; empty = allow all |
447-
| `dm_policy` | string | `"open"` | DM access: `"pairing"`, `"allowlist"`, `"open"`, `"disabled"` |
447+
| `dm_policy` | string | `"pairing"` | DM access: `"pairing"`, `"allowlist"`, `"open"`, `"disabled"` |
448448
| `group_policy` | string | `"open"` | Group access: `"open"`, `"allowlist"`, `"disabled"` |
449449
| `require_mention` | bool | `true` | Require @bot mention in groups |
450450
| `history_limit` | int | `50` | Messages fetched for context on new conversation |
451451
| `dm_stream` | bool | `false` | Stream responses in DMs |
452452
| `group_stream` | bool | `false` | Stream responses in groups |
453-
| `reaction_level` | string | `"minimal"` | Emoji reactions: `"off"`, `"minimal"`, `"full"` |
453+
| `reaction_level` | string | `"full"` | Emoji reactions: `"off"`, `"minimal"`, `"full"` |
454454
| `media_max_bytes` | int | `20971520` | Max media file size (default 20 MB) |
455455
| `link_preview` | bool | `true` | Show link previews |
456456
| `block_reply` | bool | `false` | Override gateway `block_reply` for this channel |
@@ -509,7 +509,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
509509
"reaction_level": "minimal",
510510
"block_reply": false,
511511
"debounce_delay": 300,
512-
"thread_ttl": "24h",
512+
"thread_ttl": 24,
513513
"media_max_bytes": 20971520
514514
}
515515
```
@@ -525,7 +525,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
525525
| `require_mention` | bool | `true` | Require @mention in channels |
526526
| `native_stream` | bool | `false` | Use Slack native streaming API |
527527
| `debounce_delay` | int | `300` | Message debounce in milliseconds |
528-
| `thread_ttl` | string | `"24h"` | How long to maintain thread context |
528+
| `thread_ttl` | int | `24` | Hours to maintain thread context; `0` = disabled (always require @mention) |
529529
| `media_max_bytes` | int | `20971520` | Max media size (default 20 MB) |
530530

531531
### WhatsApp
@@ -556,7 +556,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
556556
"enabled": true,
557557
"token": "env:ZALO_OA_TOKEN",
558558
"allow_from": [],
559-
"dm_policy": "open",
559+
"dm_policy": "pairing",
560560
"webhook_url": "https://example.com/zalo/webhook",
561561
"webhook_secret": "env:ZALO_WEBHOOK_SECRET",
562562
"media_max_mb": 5,
@@ -568,7 +568,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
568568
|-------|------|---------|-------------|
569569
| `token` | string || Zalo OA access token |
570570
| `allow_from` | []string || Allowlisted user IDs |
571-
| `dm_policy` | string | `"open"` | DM access policy |
571+
| `dm_policy` | string | `"pairing"` | DM access policy |
572572
| `webhook_url` | string || Public webhook URL for Zalo callbacks |
573573
| `webhook_secret` | string || Webhook signature secret |
574574
| `media_max_mb` | int | `5` | Max media size (MB) |
@@ -580,7 +580,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
580580
"zalo_personal": {
581581
"enabled": true,
582582
"allow_from": [],
583-
"dm_policy": "open",
583+
"dm_policy": "pairing",
584584
"group_policy": "disabled",
585585
"require_mention": false,
586586
"history_limit": 50,
@@ -592,7 +592,7 @@ Docker-based isolation for code execution. Can be set globally or overridden per
592592
| Field | Type | Default | Description |
593593
|-------|------|---------|-------------|
594594
| `allow_from` | []string || Allowlisted user IDs |
595-
| `dm_policy` | string | `"open"` | DM access policy |
595+
| `dm_policy` | string | `"pairing"` | DM access policy |
596596
| `group_policy` | string | `"disabled"` | Group access policy |
597597
| `require_mention` | bool | `false` | Require mention in groups |
598598
| `history_limit` | int | `50` | Context history limit |
@@ -615,7 +615,7 @@ JSON key: `"feishu"`
615615
"webhook_port": 3000,
616616
"webhook_path": "/feishu/events",
617617
"allow_from": [],
618-
"dm_policy": "open",
618+
"dm_policy": "pairing",
619619
"group_policy": "open",
620620
"group_allow_from": [],
621621
"require_mention": true,

getting-started/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Install GoClaw directly on your machine. You manage Go, PostgreSQL, and the bina
2020

2121
### Step 1: Install PostgreSQL + pgvector
2222

23-
GoClaw requires **PostgreSQL 15+** with the **pgvector** extension (for vector similarity search in memory and skills).
23+
GoClaw requires **PostgreSQL 15+** with the **pgvector** extension (for vector similarity search in memory and skills). Docker deployments use **PostgreSQL 18** with pgvector (`pgvector/pgvector:pg18` image).
2424

2525
<details>
2626
<summary><strong>Ubuntu 24.04+ / Debian 12+</strong></summary>
@@ -96,8 +96,8 @@ go build -o goclaw .
9696
```bash
9797
go build -tags otel -o goclaw . # OpenTelemetry tracing
9898
go build -tags tsnet -o goclaw . # Tailscale networking
99-
go build -tags sandbox -o goclaw . # Code execution sandbox
100-
go build -tags "otel,tsnet,sandbox" -o goclaw . # Combine multiple
99+
go build -tags redis -o goclaw . # Redis caching
100+
go build -tags "otel,tsnet" -o goclaw . # Combine multiple
101101
```
102102

103103
### Step 3: Run Setup Wizard

getting-started/migrating-from-openclaw.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ GoClaw is the multi-tenant evolution of OpenClaw. If you've been running OpenCla
1313
| Multi-tenant | No (single user) | Yes (per-user isolation) |
1414
| Agent teams | Sub-agent delegation | Full team collaboration (shared task board, delegation) |
1515
| Credential storage | Plain text in config | AES-256-GCM encrypted in DB |
16-
| Memory | SQLite + QMD semantic search | PostgreSQL with hybrid search |
16+
| Memory | SQLite + QMD semantic search | PostgreSQL + SQLite (FTS5 hybrid search) |
1717
| Tracing | No | Full LLM call traces with cost tracking |
1818
| MCP support | Yes (via mcporter bridge) | Yes (stdio, SSE, streamable-http) |
1919
| Custom tools | Yes (52+ built-in skills) | Yes (define via dashboard or API) |
2020
| Code sandbox | Yes (Docker-based) | Yes (Docker-based with per-agent config) |
2121
| Database | SQLite | PostgreSQL (managed mode) |
22-
| Channels | 18 (9 core + 9 extensions) | 7 (Telegram, Discord, Slack, WhatsApp, Zalo OA, Zalo Personal, Larksuite) |
22+
| Channels | 18 (9 core + 9 extensions) | 7 (Telegram, Discord, Slack, WhatsApp, Zalo OA, Zalo Personal, Feishu) |
2323
| Dashboard | Basic web UI | Full management dashboard |
2424

2525
## Config Mapping
@@ -81,10 +81,19 @@ Additional context files for advanced features:
8181
| `MEMORY.md` | Long-term curated memory |
8282
| `DELEGATION.md` | Delegation instructions for sub-agents |
8383
| `TEAM.md` | Team coordination rules |
84-
| `AVAILABILITY.md` | Agent availability schedule |
84+
85+
GoClaw supports both agent-level (shared) and per-user context file overrides. The file names listed are conventions, not requirements.
8586

8687
**Key difference:** OpenClaw stores these on the filesystem. GoClaw stores them in PostgreSQL with per-user scoping — each user can have their own version of context files for the same agent.
8788

89+
## What Migrates (and What Doesn't)
90+
91+
| Migrates | Doesn't Migrate |
92+
|----------|----------------|
93+
| Agent config (provider, model, tools) | Message history (fresh start) |
94+
| Context files (manual upload) | Session state |
95+
| Channel tokens (via env vars) | User profiles (recreated on first login) |
96+
8897
## Migration Steps
8998

9099
1. **Set up GoClaw** — Follow the [Installation](installation.md) and [Quick Start](quick-start.md) guides

getting-started/quick-start.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ On first login, the dashboard automatically navigates to the **Setup Wizard**. T
1919
2. **Create your first agent** — give it a name, system prompt, and select the provider/model from above.
2020
3. **Connect a channel** (optional) — link Telegram, Discord, WhatsApp, Zalo, Larksuite, or Slack.
2121

22+
> **Tip:** You can click **"Skip setup and go to dashboard"** at the top of the wizard to skip it entirely and configure everything manually later. The Channel step (step 3) also has a **Skip** button if you don't need Telegram/Discord/etc. yet — you can always add channels later.
23+
2224
After completing the wizard, you're ready to chat.
2325

2426
## Step 2: Add More Providers (Optional)
@@ -75,6 +77,25 @@ websocat ws://localhost:18790/ws
7577
{"type":"req","id":"2","method":"chat.send","params":{"agentId":"your-agent-key","message":"Hello! What can you do?"}}
7678
```
7779

80+
> **Tip:** If you omit `agentId`, GoClaw uses the `default` agent.
81+
82+
**Response:**
83+
84+
```json
85+
{
86+
"type": "res",
87+
"id": "2",
88+
"ok": true,
89+
"payload": {
90+
"runId": "uuid-string",
91+
"content": "Hello! How can I help you today?",
92+
"usage": { "input_tokens": 150, "output_tokens": 25 }
93+
}
94+
}
95+
```
96+
97+
The `media` field appears in the payload only when the agent returns generated media files.
98+
7899
## Common Issues
79100

80101
| Problem | Solution |

getting-started/web-dashboard-tour.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ Enable and configure messaging channels:
9999
- **WhatsApp** — Connection QR code
100100
- **Zalo** — App credentials
101101
- **Zalo Personal** — Personal Zalo account integration
102-
- **Larksuite** — App ID and secret
102+
- **Feishu / Lark** — App ID and secret
103103
- **Slack** — Bot token, workspace settings
104104

105105
#### Nodes
@@ -175,7 +175,7 @@ Delegation history across all agents — track which agents delegated tasks to o
175175

176176
#### Usage
177177

178-
Usage metrics and cost tracking — monitor token consumption, API calls, and costs per agent/channel.
178+
Usage metrics and cost tracking — monitor token consumption, API calls, and costs per agent/channel. Accessed via the **Usage** tab on the Overview page, not a separate sidebar item.
179179

180180
#### Logs
181181

getting-started/what-is-goclaw.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ GoClaw is an open-source AI agent gateway written in Go. It lets you run AI agen
1111
| Category | What You Get |
1212
|----------|-------------|
1313
| **Multi-Tenant** | Per-user isolation for context, sessions, memory, and traces |
14-
| **13+ LLM Providers** | OpenAI, Anthropic, Google, Groq, DeepSeek, Mistral, xAI, and more |
14+
| **18+ LLM Providers** | OpenAI, Anthropic, Google, Groq, DeepSeek, Mistral, xAI, and more |
1515
| **7 Channels** | Telegram, Discord, WhatsApp, Zalo, Zalo Personal, Larksuite, Slack |
1616
| **30+ Built-in Tools** | File system, web search, browser, code execution, memory, and more |
1717
| **Agent Orchestration** | 4 patterns — delegation (sync/async), teams, handoff, evaluate loops |

vi/getting-started/configuration.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ Kiểm soát cách các agent có thể tạo agent con.
316316

317317
```jsonc
318318
"subagents": {
319-
"maxConcurrent": 8,
319+
"maxConcurrent": 20,
320320
"maxSpawnDepth": 1,
321321
"maxChildrenPerAgent": 5,
322322
"archiveAfterMinutes": 60,
@@ -326,7 +326,7 @@ Kiểm soát cách các agent có thể tạo agent con.
326326

327327
| Trường | Kiểu | Mặc định | Mô tả |
328328
|--------|------|---------|-------|
329-
| `maxConcurrent` | int | `8` | Số subagent chạy đồng thời tối đa |
329+
| `maxConcurrent` | int | `20` | Số subagent chạy đồng thời tối đa |
330330
| `maxSpawnDepth` | int | `1` | Độ sâu lồng nhau tối đa (1–5); `1` = chỉ root mới được tạo |
331331
| `maxChildrenPerAgent` | int | `5` | Số agent con tối đa mỗi agent cha (1–20) |
332332
| `archiveAfterMinutes` | int | `60` | Lưu trữ subagent không hoạt động sau khoảng thời gian này |
@@ -420,13 +420,13 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
420420
"token": "env:TELEGRAM_BOT_TOKEN",
421421
"proxy": "",
422422
"allow_from": ["123456789"],
423-
"dm_policy": "open",
423+
"dm_policy": "pairing",
424424
"group_policy": "allowlist",
425425
"require_mention": true,
426426
"history_limit": 50,
427427
"dm_stream": false,
428428
"group_stream": false,
429-
"reaction_level": "minimal",
429+
"reaction_level": "full",
430430
"media_max_bytes": 20971520,
431431
"link_preview": true,
432432
"block_reply": false,
@@ -446,13 +446,13 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
446446
| `token` | string || Bot token từ @BotFather |
447447
| `proxy` | string || URL proxy HTTP/SOCKS5 |
448448
| `allow_from` | []string || ID người dùng/chat được phép; để trống = cho phép tất cả |
449-
| `dm_policy` | string | `"open"` | Truy cập DM: `"pairing"`, `"allowlist"`, `"open"`, `"disabled"` |
449+
| `dm_policy` | string | `"pairing"` | Truy cập DM: `"pairing"`, `"allowlist"`, `"open"`, `"disabled"` |
450450
| `group_policy` | string | `"open"` | Truy cập nhóm: `"open"`, `"allowlist"`, `"disabled"` |
451451
| `require_mention` | bool | `true` | Yêu cầu đề cập @bot trong nhóm |
452452
| `history_limit` | int | `50` | Số tin nhắn tải để lấy ngữ cảnh khi bắt đầu hội thoại |
453453
| `dm_stream` | bool | `false` | Phản hồi streaming trong DM |
454454
| `group_stream` | bool | `false` | Phản hồi streaming trong nhóm |
455-
| `reaction_level` | string | `"minimal"` | Reaction emoji: `"off"`, `"minimal"`, `"full"` |
455+
| `reaction_level` | string | `"full"` | Reaction emoji: `"off"`, `"minimal"`, `"full"` |
456456
| `media_max_bytes` | int | `20971520` | Kích thước file media tối đa (mặc định 20 MB) |
457457
| `link_preview` | bool | `true` | Hiển thị xem trước liên kết |
458458
| `block_reply` | bool | `false` | Ghi đè `block_reply` của gateway cho kênh này |
@@ -511,7 +511,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
511511
"reaction_level": "minimal",
512512
"block_reply": false,
513513
"debounce_delay": 300,
514-
"thread_ttl": "24h",
514+
"thread_ttl": 24,
515515
"media_max_bytes": 20971520
516516
}
517517
```
@@ -527,7 +527,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
527527
| `require_mention` | bool | `true` | Yêu cầu @mention trong kênh |
528528
| `native_stream` | bool | `false` | Dùng Slack native streaming API |
529529
| `debounce_delay` | int | `300` | Debounce tin nhắn tính bằng millisecond |
530-
| `thread_ttl` | string | `"24h"` | Thời gian duy trì ngữ cảnh thread |
530+
| `thread_ttl` | int | `24` | Số giờ duy trì ngữ cảnh thread; `0` = vô hiệu hóa (luôn yêu cầu @mention) |
531531
| `media_max_bytes` | int | `20971520` | Kích thước media tối đa (mặc định 20 MB) |
532532

533533
### WhatsApp
@@ -558,7 +558,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
558558
"enabled": true,
559559
"token": "env:ZALO_OA_TOKEN",
560560
"allow_from": [],
561-
"dm_policy": "open",
561+
"dm_policy": "pairing",
562562
"webhook_url": "https://example.com/zalo/webhook",
563563
"webhook_secret": "env:ZALO_WEBHOOK_SECRET",
564564
"media_max_mb": 5,
@@ -570,7 +570,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
570570
|--------|------|---------|-------|
571571
| `token` | string || Access token Zalo OA |
572572
| `allow_from` | []string || ID người dùng được phép |
573-
| `dm_policy` | string | `"open"` | Chính sách truy cập DM |
573+
| `dm_policy` | string | `"pairing"` | Chính sách truy cập DM |
574574
| `webhook_url` | string || URL webhook công khai cho callback Zalo |
575575
| `webhook_secret` | string || Secret chữ ký webhook |
576576
| `media_max_mb` | int | `5` | Kích thước media tối đa (MB) |
@@ -582,7 +582,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
582582
"zalo_personal": {
583583
"enabled": true,
584584
"allow_from": [],
585-
"dm_policy": "open",
585+
"dm_policy": "pairing",
586586
"group_policy": "disabled",
587587
"require_mention": false,
588588
"history_limit": 50,
@@ -594,7 +594,7 @@ Cô lập dựa trên Docker cho thực thi code. Có thể đặt toàn cục h
594594
| Trường | Kiểu | Mặc định | Mô tả |
595595
|--------|------|---------|-------|
596596
| `allow_from` | []string || ID người dùng được phép |
597-
| `dm_policy` | string | `"open"` | Chính sách truy cập DM |
597+
| `dm_policy` | string | `"pairing"` | Chính sách truy cập DM |
598598
| `group_policy` | string | `"disabled"` | Chính sách truy cập nhóm |
599599
| `require_mention` | bool | `false` | Yêu cầu mention trong nhóm |
600600
| `history_limit` | int | `50` | Giới hạn lịch sử ngữ cảnh |
@@ -617,7 +617,7 @@ Khóa JSON: `"feishu"`
617617
"webhook_port": 3000,
618618
"webhook_path": "/feishu/events",
619619
"allow_from": [],
620-
"dm_policy": "open",
620+
"dm_policy": "pairing",
621621
"group_policy": "open",
622622
"group_allow_from": [],
623623
"require_mention": true,

vi/getting-started/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Cài GoClaw trực tiếp trên máy. Bạn tự quản lý Go, PostgreSQL và b
2222

2323
### Bước 1: Cài PostgreSQL + pgvector
2424

25-
GoClaw yêu cầu **PostgreSQL 15+** với extension **pgvector** (dùng cho tìm kiếm vector trong memory và skills).
25+
GoClaw yêu cầu **PostgreSQL 15+** với extension **pgvector** (dùng cho tìm kiếm vector trong memory và skills). Triển khai qua Docker sử dụng **PostgreSQL 18** với pgvector (image `pgvector/pgvector:pg18`).
2626

2727
<details>
2828
<summary><strong>Ubuntu 24.04+ / Debian 12+</strong></summary>
@@ -98,8 +98,8 @@ go build -o goclaw .
9898
```bash
9999
go build -tags otel -o goclaw . # OpenTelemetry tracing
100100
go build -tags tsnet -o goclaw . # Tailscale networking
101-
go build -tags sandbox -o goclaw . # Code execution sandbox
102-
go build -tags "otel,tsnet,sandbox" -o goclaw . # Kết hợp nhiều tag
101+
go build -tags redis -o goclaw . # Redis caching
102+
go build -tags "otel,tsnet" -o goclaw . # Kết hợp nhiều tag
103103
```
104104

105105
### Bước 3: Chạy wizard thiết lập

0 commit comments

Comments
 (0)