เรามอง OpenClaw เป็นเหมือนคน เราสามารถบอกได้ว่า
- LLM เป็นเหมือนสมอง
- Line, Slack เป็นเหมือนปาก
- Skill, Tool เป็นเหมือนแขนขาให้ใช้งาน
- OpenClaw เป็นเหมือน Gateway ตัวที่เชื่อมทุกอย่างเข้าหากัน
การเลือกใช้ LLM (สมอง)
เราสามารถเลือกใช้งาน LLM ได้ตามความเหมาะสม
Cloud Models (ฉลาดมาก)
- Claude Sonnet, GPT-4o, Moonshot
- เหมาะสำหรับทำงานซับซ้อน งานวิเคราะห์ข้อมูล
- มีค่าใช้จ่ายสูง
Local LLM
- Ollama, Qwen
- เหมาะกับงานที่ต้องการความเป็นส่วนตัวของข้อมูล
- ข้อมูลไม่รั่วไหล (ต้องใช้ hardware แรง)
- ค่าใช้จ่ายถูกกว่า สามารถคุมค่าใช้จ่ายได้
วิธีการติดตั้ง
มีการติดตั้งได้หลายวิธี เช่น
- เครื่องส่วนตัว: ทดลองใช้งาน สามารถจัดการไฟล์ในเครื่องได้ แต่ต้องเปิดเครื่องตลอดเวลา
- cloud (vps): ออนไลน์ได้ตลอดเวลา จำกัดการเข้าถึงข้อมูลได้
- local powerhose: (องค์กร) ติดตั้งบน QNAP NAS ข้อมูลอยู่ที่ออฟฟิต
Recommend Spec
สำหรับ openclaw
- 2vCPUs
- 4 GB Ram
- Ubuntu 24.04 / Windown
การเชื่อมต่อกับ line oa จำเป็นต้องวาง vps ไว้ข้างนอก เนืองจาก line ต้องการ https
ความเสี่ยง
เราต้องเข้าใจก่อนว่าโปรเจคนี้มาจากงานอดิเรก เลยไม่ได้ออกแบบ หรือ ใส่ใจเรื่อง security และ bug ต่างๆ ดังนั้นเราจะเจอความเสี่ยงต่างๆ ได้
- การลบไฟล์สำคัญโดยไม่ตั้งใจ
- การส่งข้อมูลความลับออกไปภายนอก (Data Exfiltration)
- การถูกหลอกด้วยคำสั่ง (Prompt Injection)
- ไม่มีความเสถียร
- มีช่องโหว่
มาตรการความปลอดภัย
- Containerization: รันบน docker container เสมอ
- Human-in-the-Loop: ตั้งค่า
exec.ask:"on"เสมอ เพื่อให้ขออนุมัติก่อนการรันคำสั่งอันตราย - Least Privilege: ให้สิทธิ์เฉพาะโฟลเดอร์ที่จำเป็น
เครื่องมือตรวจสอบความปลอดภัย
openclaw doctor ตรวจสอบสถานะการเชื่อมต่อ
openclaw security audit แสกนการช่องโหว่ และ port ที่เปิดทิ้งไว้
วิธีติดตั้ง
เราสามารถดูวิธีการติดตั้งผ่านหน้าเว็บไซต์เขาได้เลย https://docs.openclaw.ai/start/getting-started โดยสามารถติดตั้งได้ทั้ง macOS, Linux และ Windowns
คำสั่ง
เราสามารถพิมพ์ openclaw ได้เลย
เริ่มต้นที่
Setup openclaw
ใช้คำสั่ง openclaw onboard เพื่อ setup openclaw โดยที่จะนำเราไปตั้งค่าการใช้งานเบื้องต้น
openclaw onboardเลือก
- AI Provider
- Add API Key
- Select Default Model
- Select Channel: Telegram, WhatApp, Discord, Slack, Line etc.
- จากให้ตั้งค่า chat ตามแต่ละตัวที่เราเลือก
- ติดตั้ง skills: จะแสดงเฉพาะ skills ที่ทาง openclaw approve แล้ว โดยเราสามารถ skip ไปก่อนได้
- การติดตั้ง AI ตัวอื่นๆ
- Enable Hooks: เลือกได้ว่าต้องการที่จะให้ openclaw ติดตั้งหน่วยความจำได้
หลังจากที่ setup เสร็จแล้ว เราสามารถเลือกได้ว่า จะเปิดมันบนไหน CLI, Web, Connect chat app ซึ่งใน workshop ใช้วิธีการ connect กับ Telegram bot
เริ่มบทสนทนากับ AI
เริ่มต้นเราจะต้องแนะนำตัวและสร้าง persona ของตัวเราและ openclaw เมื่อตั้งค่าเสร็จแล้วเราสามารถคุยกับ ai ได้เลย
Built-in Skills ที่น่าสนใจ
- skill-creator: เป็นตัว built-in อยู่แล้ว ไว้สำหรับสร้าง skills สำหรับ openclaw
- clawhub: เป็น registry ที่มีไว้สำหรับค้นหาและติดตั้ง skill
- summarize: สรุปข้อความยาวๆ / url / ไฟล์
- nano-pdf: สำหรับอ่านเอกสาร
- nano-bababa-pro: สร้างหรือแก้ไขรูปภาพ
- openai-image-gen: สร้างรูปภาพ โดยไปต่อกับทาง DALL-E
- openai-whisper (Local) / openai-whisper-api (Cloud): แปลงเสียงพูดเป็นข้อความ
- discord / slack: ส่งข้อความไปยัง channel ของ discord
- code-agent: เขียนโค๊ดได้หลายภาษา dubug refector
- github: สร้างและดู issue, จัดการ pull request
- mcporter: เชื่อมต่อ MCP Server จากภายนอก เรียกใช้ External tools ได้
- canva: แสดง html สดบน Mac/iOS/Android
- video-frames: ตัดเฟรมจาก video โดยใช้ timestamp
- blogwatcher: ติดตามเนื้อหาบล๊อคหรือเว็บไซต์อัตโนมัติ
- peekaboo: ดูหน้าจอ Device/oct ข้อความบนจอได้
- และอื่นๆ (มันมีให้เล่นเยอะเขียนไม่หมด) ดูเพิ่มเติมได้ ที่นี้
ถ้าเราต้องการดู skill ทั้งหมด ให้ใช้คำสั่ง
openclaw skills listshow skill lists
และยังมีคำสั่งอื่นๆ อีก 2 คำสั่ง คือ
openclaw skills info: ดูรายละเอียดของแต่ละ skillopenclaw skills check: เช็คสถานะของแต่ละ skill
สร้าง SKILL.md
เราสามารถสร้าง skill สำหรับให้ ai เรียกใช้งานได้เลย ส่วนฟอร์แมทก็จะเป็นการบอกว่าให้ทำอะไรได้บ้าง ไปเรียกจากที่ไหน และเงื่อนไขต่างๆ
---
name: trello
description: Manage Trello boards, lists, and cards via the Trello REST API.
homepage: https://developer.atlassian.com/cloud/trello/rest/
metadata: {"clawdbot":{"emoji":"📋","requires":{"bins":["jq"],"env":["TRELLO_API_KEY","TRELLO_TOKEN"]}}}
---
# Trello Skill
Manage Trello boards, lists, and cards directly from Clawdbot.
## Setup
1. Get your API key: https://trello.com/app-key
2. Generate a token (click "Token" link on that page)
3. Set environment variables:
```bash
export TRELLO_API_KEY="your-api-key"
export TRELLO_TOKEN="your-token"
```
## Usage
All commands use curl to hit the Trello REST API.
### List boards
```bash
curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id}'
```
### List lists in a board
```bash
curl -s "https://api.trello.com/1/boards/{boardId}/lists?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id}'
```
### List cards in a list
```bash
curl -s "https://api.trello.com/1/lists/{listId}/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, id, desc}'
```
### Create a card
```bash
curl -s -X POST "https://api.trello.com/1/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-d "idList={listId}" \
-d "name=Card Title" \
-d "desc=Card description"
```
### Move a card to another list
```bash
curl -s -X PUT "https://api.trello.com/1/cards/{cardId}?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-d "idList={newListId}"
```
### Add a comment to a card
```bash
curl -s -X POST "https://api.trello.com/1/cards/{cardId}/actions/comments?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-d "text=Your comment here"
```
### Archive a card
```bash
curl -s -X PUT "https://api.trello.com/1/cards/{cardId}?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-d "closed=true"
```
## Notes
- Board/List/Card IDs can be found in the Trello URL or via the list commands
- The API key and token provide full access to your Trello account - keep them secret!
- Rate limits: 300 requests per 10 seconds per API key; 100 requests per 10 seconds per token; `/1/members` endpoints are limited to 100 requests per 900 seconds
## Examples
```bash
# Get all boards
curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN&fields=name,id" | jq
# Find a specific board by name
curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | select(.name | contains("Work"))'
# Get all cards on a board
curl -s "https://api.trello.com/1/boards/{boardId}/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" | jq '.[] | {name, list: .idList}'
```เห็นได้ว่า มันจะเป็นเหมือนการไปเรียกข้อมูลผ่าน API แล้วส่งให้ ai เอาไปใช้งานต่อ
Use Case
ความว้าวของมัน คือ เราสามารถให้มันทำอะไรก็ได้ ขึ้นอยู่กับว่าเราจะอนุญาตให้มันทำงานได้มากแค่ไหน และยิ่งอนุญาตเยอะ ก็ยิ่งทำได้เยอะ แต่ความเสี่ยงก็จะเยอะขึ้นตามไปด้วย เพราะมันสามารถทำอะไรก็ได้
ความเร็วในการทำงาน ค่อนข้างใช้เวลาพอสมควร ดังนั้นแนะนำว่าให้ใช้กับงานที่สามารถรอได้ และไม่เหมาะกับการที่ใช้สำหรับการตอบลูกค้า (แต่ถ้าเร็วกว่านี้ก็สามารถนำไปใช้ได้เช่นกัน)
ตัวอย่างการใช้งาน เช่น
- พนักงานต้อนรับบน Line OA
- ผู้ช่วยจัดการ Stock
- การทำงานเชิงรุก เช่น cronjob สรุปอีเมล์, สรุปข่าว เป็นต้น
- สั่งเปิดเพลงบนเครื่อง personal
- อ่านอีเมล์และปฏิทิน แล้วส่งสรุปมาให้เรา
- และอื่นๆ อีกมากหมาย
ใน workshop มีการโชว์ของมากกว่านี้ แต่ไม่ได้เอามาใส่ในบทความนี้