Skip to content

Cài Đặt Gói Skill Cốt Lõi

Các agent của bạn đang hoạt động. Bây giờ hãy giao cho họ nhiệm vụ thực tế đầu tiên. BALIA OS đi kèm với ba skill tích hợp sẵn sàng triển khai.

SkillMục đích
lightpandaTìm kiếm web nhanh và scraping
summarizeTóm tắt tự động văn bản dài hoặc trang web
clawsecGiám sát bảo mật và kiểm dịch skill mới

Ở Phần 4, bạn đã dùng chính script này để cài đặt Security Guardian. Lần chạy này là lần thứ hai — nó cài đặt gói skill cốt lõi (lightpanda / summarize / clawsec). (Nếu bạn chưa tải nó về, hãy quay lại Phần 4 và tải install_core_pack.py trước.)

Yêu cầu tác nhân của bạn chạy nó

Dán lệnh này vào terminal VS Code và nhấn Enter để chạy.

Token là gì?

Đây là chuỗi sau ?token= trong URL truy cập được gửi sau khi mua hàng.

Ví dụ: https://guide.baliaos.com/?token=BALIA-XXXX-XXXX-0001 Trong trường hợp này, token là BALIA-XXXX-XXXX-0001.

Nếu không tìm thấy email, vui lòng liên hệ bộ phận hỗ trợ.

openclaw agent --agent security-guardian "Hãy chạy lệnh sau:
python install_core_pack.py --lang vi
(Token sẽ được tự động đọc từ file .env của bạn)
Báo cáo lên Discord khi hoàn thành."

Agent của bạn sẽ tự động:

  1. Xác thực token của bạn
  2. Tải xuống gói skill cốt lõi (lightpanda / summarize / clawsec)
  3. Triển khai vào ~/.opengoat/skills/
  4. Cập nhật _SKILL_INDEX.md
  5. Báo cáo "Gói skill cốt lõi đã cài đặt" lên Discord

Sau khi nhận được xác nhận Discord, tiếp tục bên dưới.


Kỹ năng và Cassette là gì

Các agent của bạn đã hoạt động. Chúng có danh tính, quy trình báo cáo và kênh Discord. Nhưng hiện tại, chúng chưa biết mình đang làm việc trong lĩnh vực nào. Chúng không biết liệu mình đang quản lý nhà hàng, điều hành hoạt động giao dịch, hay hỗ trợ một công ty luật.

Kỹ năng là các file kiến thức bạn viết và cung cấp cho agent. Mỗi kỹ năng dạy agent cách thực hiện một nhiệm vụ cụ thể — cách quản lý đặt chỗ, cách tạo báo cáo P&L, cách soạn bài đăng SNS. Agent càng có nhiều kỹ năng, chúng càng làm được nhiều việc hơn.

Một cassette là một thư mục chứa các kỹ năng, được gói lại với nhau theo một chủ đề. Một người quản lý nhà hàng có thể có cassette restaurant-ops. Một nhà sáng tạo nội dung có thể có cassette youtube và cassette social-media. Cùng một agent có thể sử dụng các cassette khác nhau tùy thuộc vào việc họ cần làm gì trong ngày hôm đó.

Mọi cassette đều ở trạng thái ON theo mặc định. Một file duy nhất — memory/_SKILL_STATUS.md — liệt kê tất cả cassette cùng trạng thái ON/OFF của chúng. Không có "chế độ hiện tại" nào để chuyển đổi — tất cả cassette của bạn đều khả dụng cùng lúc, và agent sẽ áp dụng bất kỳ cassette nào khớp với nhiệm vụ bạn giao (file SKILL.md của nó mô tả nó dùng để làm gì). Bạn chỉ đặt một cassette thành OFF trong trường hợp hiếm hoi muốn tạm dừng nó — ví dụ, khi hai cassette xung đột với nhau (xem "Nếu Hai Cassette Xung Đột" bên dưới).

Điều này có nghĩa là:

  • marketing-outreachai-meeting-daily có thể đều ở trạng thái ON và chạy cùng lúc
  • Tắt một cassette không ảnh hưởng đến những cassette khác
  • Cấu hình agent không bao giờ thay đổi — chỉ có STATUS của cassette thay đổi

Cấu trúc thư mục Cassette

$env:USERPROFILE\.opengoat\
├── memory\
│   └── _SKILL_STATUS.md              ← Danh sách ON/OFF cho mọi cassette
└── skills\
    ├── youtube\
    │   ├── SKILL.md                  ← Cassette này làm gì, công cụ, quy tắc
    │   └── WORKFLOW.md                ← Quy trình từng bước
    ├── restaurant-ops\
    │   ├── SKILL.md
    │   └── WORKFLOW.md
    └── trade\
        ├── SKILL.md
        └── WORKFLOW.md

_SKILL_STATUS.md liệt kê tất cả cassette cùng cờ STATUS của chúng. Ví dụ:

| Tên Cassette     | STATUS | Mô tả                           |
|------------------|--------|----------------------------------|
| youtube          | ON     | Quy trình nội dung YouTube       |
| trade            | ON     | Phân tích thị trường và báo cáo  |

Khi bạn giao một chỉ thị cho agent, nó sẽ đối chiếu yêu cầu của bạn với SKILL.md của mọi cassette đang ON và áp dụng cassette phù hợp nhất — bạn cũng có thể nêu tên cassette một cách tường minh ("Work in trade mode: ...") để cụ thể hơn. Nếu một cassette đang OFF, agent sẽ bỏ qua nó hoàn toàn, kể cả khi nhiệm vụ đáng lẽ khớp với nó.

Các nhiệm vụ theo lịch (như kiểm tra sức khỏe hàng ngày hoặc báo cáo hàng đêm) chạy bất kể cassette nào đang ON — chúng được định nghĩa trong AGENTS.md của agent, không phải trong bất kỳ cassette nào.


Chọn công cụ AI phù hợp

Các cassette khác nhau hoạt động tốt nhất với các mô hình AI khác nhau. Hãy thiết lập điều này một lần khi bạn xây dựng cassette.

Loại CassetteCông cụ được đề xuấtLý do
Giao dịch tiền mã hóa / Phân tích thị trườngClaudeLập luận logic, phân tích mẫu, đánh giá tinh tế
Lập trình / Tự động hóa kỹ thuậtClaudeChất lượng code, debug, logic nhiều bước
Nghiên cứu pháp lý / Xem xét hợp đồngClaudeLập luận cẩn thận, ngôn ngữ tinh tế
Tài chính / Kế toán / Báo cáoClaudePhân tích có cấu trúc, tính toán chính xác
Google Sheets / Docs / NotebookLM / DriveGeminiTích hợp dịch vụ Google gốc
YouTube / Nội dung videoGeminiPhân tích video trực tiếp; tích hợp với YouTube Studio
Tự động hóa Gmail / LịchGeminiTích hợp sâu với Google Workspace
Bán hàng / Tiếp cận / CopywritingGPT-4oHội thoại tự nhiên, tạo email
Giao tiếp đa ngôn ngữGPT-4o hoặc GeminiHiệu suất đa ngôn ngữ mạnh
Thương mại điện tử / Nghiên cứu sản phẩmClaude hoặc GPT-4oChiều sâu nghiên cứu, đầu ra có cấu trúc

Nếu Claude phù hợp với trường hợp sử dụng của bạn, bạn đã sẵn sàng — nó đã được cấu hình ở Phần 3.

Đối với Gemini hoặc GPT-4o, bạn sẽ thêm API key vào file .env của mình. Hướng dẫn có trong Bước 7 của AI concierge bên dưới.


Ý tưởng kỹ năng theo ngành

Không chắc nên xây dựng kỹ năng gì? Dưới đây là các điểm khởi đầu theo trường hợp sử dụng.

Nhà hàng / Thực phẩm & Đồ uống

  • Quản lý đặt chỗ và lịch trình hàng ngày
  • Theo dõi đơn hàng nhà cung cấp và cảnh báo tồn kho
  • Đăng SNS cho khách hàng (đặc biệt hàng ngày, sự kiện)
  • Theo dõi đánh giá và soạn phản hồi
  • Tóm tắt doanh thu hàng tuần

Thương mại điện tử / Sản phẩm vật lý

  • Tạo danh sách sản phẩm
  • Theo dõi giá của đối thủ cạnh tranh
  • Tóm tắt trạng thái đơn hàng
  • Soạn phản hồi yêu cầu của khách hàng
  • Báo cáo doanh số hàng tháng

Nhà sáng tạo nội dung / YouTuber

  • Tạo ý tưởng tiêu đề và thumbnail
  • Soạn đề cương kịch bản
  • Quản lý lịch tải lên
  • Tóm tắt số liệu hiệu suất
  • Soạn phản hồi bình luận cộng đồng

Freelancer / Tư vấn

  • Soạn thảo giao tiếp với khách hàng
  • Báo cáo tình trạng dự án
  • Theo dõi hóa đơn và nhắc nhở
  • Xem xét điều khoản hợp đồng (đánh dấu các điều khoản bất thường)
  • Tóm tắt nhật ký thời gian

Doanh nghiệp nhỏ / Tổng quát

  • Tóm tắt hoạt động hàng ngày
  • Soạn thảo thông tin liên lạc nội bộ
  • Sàng lọc câu hỏi pháp lý (đánh dấu các mục cần luật sư)
  • Tóm tắt tài chính từ hóa đơn và hồ sơ
  • Quản lý liên lạc với nhà cung cấp

Ngành của bạn không có trong danh sách này? Không sao — AI concierge trong phần này sẽ giúp bạn tự định nghĩa kỹ năng từ đầu dựa trên những gì bạn thực sự muốn nhóm của mình làm.


Cách phần này hoạt động

Khuyến nghị: Sử dụng prompt AI concierge bên dưới — nó tạo tất cả các file cassette của bạn VÀ xuất ra một script Python cài đặt tự động tạo mọi thứ. Sau cuộc trò chuyện với AI, hãy đến Bước 2 — Chạy Script Cài Đặt và chạy nó. Không cần tạo file thủ công.

Nếu script cài đặt thất bại: AI concierge cũng hiển thị toàn bộ nội dung của từng file. Bạn có thể tạo file thủ công trong VS Code như một phương án dự phòng.

Sử dụng prompt AI concierge bên dưới để:

  1. Xác định những gì agent của bạn nên làm mỗi ngày
  2. Quyết định tên cassette và chế độ nào để bắt đầu
  3. Chọn công cụ AI phù hợp
  4. Tạo file SKILL và WORKFLOW của bạn
  5. Thiết lập cờ _SKILL_STATUS.md
  6. Kiểm tra xem agent của bạn có tải đúng chế độ không

Dán prompt vào AI chat của bạn. Đính kèm Tài liệu Thiết kế Nhóm từ Phần 2.


▶ Dán cái này vào AI của bạn để bắt đầu

Đính kèm Tài liệu Thiết kế Nhóm trước khi gửi.

Bạn đang giúp tôi xây dựng Kỹ năng và một Cassette cho BALIA OS —
một hệ điều hành AI đa tác nhân.

Tôi đã đính kèm Tài liệu Thiết kế Nhóm của tôi. Hãy đọc nó trước khi
bắt đầu để biết tên tác nhân, vai trò và cấu trúc workspace của tôi.

KHÁI NIỆM CẦN HIỂU TRƯỚC KHI BẮT ĐẦU:

Kỹ năng là các file kiến thức tôi viết và cung cấp cho các tác nhân của tôi.
Mỗi kỹ năng dạy một tác nhân cách thực hiện một nhiệm vụ cụ thể.

Một Cassette là một thư mục kỹ năng, được gói lại theo một chủ đề (một chế độ).
Mọi cassette đều ở trạng thái ON theo mặc định và có thể chạy cùng lúc —
các tác nhân của tôi áp dụng bất kỳ cassette nào phù hợp với nhiệm vụ tôi giao.

Một file duy nhất — memory/_SKILL_STATUS.md — liệt kê tất cả cassette
cùng trạng thái ON/OFF. Đây là nguồn thông tin duy nhất về cassette nào
đang khả dụng. Nó không phải là "chế độ hiện tại" — nhiều dòng có thể
đều ở trạng thái ON cùng lúc.

Cấu trúc thư mục:
$env:USERPROFILE/.opengoat/
  memory/
    _SKILL_STATUS.md            ← danh sách ON/OFF, mỗi dòng một cassette
  skills/
    [tên-cassette]/
      SKILL.md                  ← cassette này làm gì, công cụ, quy tắc
      WORKFLOW.md                ← quy trình từng bước cho cassette này

Khi tôi giao một chỉ thị cho một tác nhân:
1. Tác nhân kiểm tra cassette nào đang ON trong memory/_SKILL_STATUS.md
2. Nó đối chiếu chỉ thị của tôi với SKILL.md của mỗi cassette đang ON
   (hoặc tôi có thể nêu tên cassette một cách tường minh, ví dụ:
   "Work in trade mode: ...")
3. Nó áp dụng SKILL.md và WORKFLOW.md của cassette phù hợp

Các nhiệm vụ theo lịch chạy bất kể cassette nào đang ON — chúng nằm trong AGENTS.md.

Hướng dẫn tôi từng bước. Mỗi lần chỉ hỏi một câu.
Đợi câu trả lời của tôi trước khi tiếp tục.

STEP 1 — Tôi muốn nhóm của mình làm gì
Hỏi tôi: "Hãy mô tả những gì bạn muốn nhóm AI của mình làm cho bạn
mỗi ngày. Đừng nghĩ về cách thực hiện — chỉ cần mô tả kết quả bạn
muốn thấy và công việc bạn muốn được thực hiện."

Giúp tôi biến câu trả lời thành danh sách ít nhất 5 nhiệm vụ cụ thể,
lặp lại thường xuyên. Tiếp tục hỏi cho đến khi chúng ta có các nhiệm
vụ cụ thể với lịch trình rõ ràng (hàng ngày, hàng tuần, theo yêu cầu).

STEP 2 — Ánh xạ nhiệm vụ đến các tác nhân
Đọc Tài liệu Thiết kế Nhóm của tôi.
Ánh xạ mỗi nhiệm vụ đến tác nhân phù hợp nhất dựa trên vai trò của họ.
Hiển thị bản ánh xạ cho tôi: "Nhiệm vụ → Tác nhân"
Hỏi: "Điều này có đúng không? Có gì bạn muốn thay đổi không?"

STEP 3 — Đặt tên cassette (chế độ)
Dựa trên các nhiệm vụ, đề xuất một tên cassette — tên chế độ
(ngắn, chữ thường, dấu gạch ngang: ví dụ restaurant-ops, youtube, trade).
Tên này sẽ trở thành tên thư mục và một dòng mới trong
memory/_SKILL_STATUS.md.
Yêu cầu tôi xác nhận hoặc đề xuất một tên khác.

STEP 4 — Chọn công cụ AI
Với mỗi tác nhân đã được giao nhiệm vụ, đề xuất công cụ phù hợp nhất:

- Claude: logic, phân tích, lập trình, pháp lý, tài chính, tiền mã hóa
- Gemini: dịch vụ Google (Sheets, Docs, Drive, Gmail, Calendar,
  YouTube Studio, NotebookLM) — bất cứ thứ gì trong hệ sinh thái Google
- GPT-4o: email bán hàng, tiếp cận khách hàng, copywriting, hội thoại tự nhiên

Giải thích lý do của bạn trong một câu cho mỗi tác nhân.
Nếu tất cả nhiệm vụ đều phù hợp với Claude, xác nhận không cần thêm
API key nào. Nếu cần Gemini hoặc GPT-4o, ghi chú lại — chúng ta sẽ
xử lý key đó ở Step 7.

Yêu cầu tôi xác nhận trước khi tiếp tục.

STEP 5 — Tạo SKILL.md
Tạo file kỹ năng theo cấu trúc sau:

---
# SKILL.md — [tên-cassette]
Phiên bản: 1.0
Cập nhật lần cuối: [ngày hôm nay]
Tác nhân chính: [tên tác nhân]
Công cụ AI: [công cụ]

## Cassette này làm gì
[2-3 câu: lĩnh vực này bao phủ những gì, tạo ra kết quả gì]

## Khi nào dùng cassette này
[1-2 câu mô tả loại chỉ thị nào nên kích hoạt cassette này —
đây chính là thứ mà agent đối chiếu với yêu cầu của bạn]

## Kỹ năng trong cassette này
[Danh sách các kỹ năng cụ thể — những gì tác nhân biết cách làm]

## Công cụ có sẵn
[Danh sách công cụ dùng được trong cassette này: tìm kiếm web,
đọc/ghi file, báo cáo Discord, gọi API, dịch vụ Google, v.v.]

## Quy tắc hoạt động
1. Trước khi chạy, xác nhận dòng của cassette này trong
   memory/_SKILL_STATUS.md đang được đặt là ON. Nếu là OFF, bỏ qua
   hoàn toàn — không cần báo cáo Discord.
2. [Quy tắc quan trọng đặc thù cho lĩnh vực này]
3. [Quy tắc quan trọng đặc thù cho lĩnh vực này]
4. Báo cáo tất cả nhiệm vụ đã hoàn thành lên Discord trước khi kết thúc phiên.
5. Không bao giờ hành động ngoài phạm vi của cassette này mà không có
   sự chấp thuận của Chỉ huy.
6. Lưu tất cả kết quả vào skills/[tên-cassette]/outputs/

## Những gì cassette này KHÔNG xử lý
[Ranh giới cụ thể — những gì nằm ngoài phạm vi của cassette này]

## Định dạng đầu ra
[Những gì agent tạo ra: báo cáo, file, tin nhắn Discord, v.v.]
---

Hiển thị đầy đủ. Hỏi xem có cần điều chỉnh gì không.

STEP 6 — Tạo WORKFLOW.md
Tạo file quy trình theo cấu trúc sau:

---
# WORKFLOW.md — [tên-cassette]
Phiên bản: 1.0
Cập nhật lần cuối: [ngày hôm nay]

## Trước khi bắt đầu
1. Xác nhận dòng của cassette này trong memory/_SKILL_STATUS.md đang là ON
2. Tải SKILL.md từ cùng thư mục này

## Quy trình nhiệm vụ

### [Tên nhiệm vụ 1] — [Lịch trình]
Kích hoạt: [Điều gì bắt đầu nhiệm vụ này]
Các bước:
1. [Hành động cụ thể]
2. [Hành động cụ thể]
3. [Hành động cụ thể]
Đầu ra: [Những gì được tạo ra]
Lưu tại: skills/[tên-cassette]/outputs/
Khi có lỗi: [Cách xử lý nếu có bước thất bại]

### [Tên nhiệm vụ 2] — [Lịch trình]
[Cùng cấu trúc]

[Tiếp tục cho tất cả nhiệm vụ]

## Kết thúc phiên (Mỗi phiên — Bắt buộc)
Gửi báo cáo kết thúc phiên lên Discord:
"✅ Phiên [tên-cassette] hoàn tất.
Nhiệm vụ đã hoàn thành: [danh sách]
Đầu ra: skills/[tên-cassette]/outputs/
Vấn đề: [lỗi nếu có]"

## Xử lý lỗi
Nếu bất kỳ bước nào thất bại:
1. Ghi lại chính xác lỗi đó
2. Tiếp tục với các nhiệm vụ còn lại nếu có thể
3. Đưa tất cả lỗi vào báo cáo Discord cuối phiên
4. Không thử lại các thao tác phá hoại mà không có sự chấp thuận của Chỉ huy

## Nhiệm vụ theo lịch
Các nhiệm vụ này chạy theo lịch riêng của chúng bất kể cassette nào khác —
chúng độc lập với việc các cassette khác đang ON hay OFF.
---

Hiển thị đầy đủ. Hỏi xem có cần điều chỉnh gì không.

STEP 7 — Thiết lập API key (nếu cần)
Chỉ thực hiện nếu Gemini hoặc GPT-4o được đề xuất ở Step 4:

CHO GEMINI:
"Gemini phù hợp nhất cho tích hợp dịch vụ Google.
Cách lấy API key của bạn:"
1. Truy cập https://console.cloud.google.com/
2. Đăng nhập bằng tài khoản Google của bạn
3. Nếu được nhắc, bạn có thể đủ điều kiện nhận 300 đô la tín dụng
   miễn phí — nhấp "Try for free" nếu được đề nghị
4. Trong thanh tìm kiếm trên cùng, gõ "Gemini API" và chọn nó
5. Nhấp "Enable" nếu chưa được bật
6. Vào "Credentials" ở menu bên trái → "Create Credentials"
   → "API key"
7. Sao chép key
8. Thêm vào file .env:
   GOOGLE_API_KEY=key-của-bạn-ở-đây
Xác nhận: "Đã thêm API key Gemini."

CHO GPT-4o (OpenAI):
1. Truy cập platform.openai.com
2. Đăng nhập hoặc tạo tài khoản
3. Nhấp vào hồ sơ của bạn → "API keys" → "Create new secret key"
4. Đặt tên là "balia-os"
5. Sao chép key (bắt đầu bằng sk-)
6. Thêm vào file .env:
   OPENAI_API_KEY=key-của-bạn-ở-đây
Xác nhận: "Đã thêm API key OpenAI."

Nếu chỉ dùng Claude: bỏ qua bước này hoàn toàn.

STEP 8 — Tạo cấu trúc thư mục cassette
Hướng dẫn tôi tạo các thư mục trong terminal VS Code:

Windows:
  cd $env:USERPROFILE\.opengoat\skills
  mkdir [tên-chế-độ]
  mkdir [tên-chế-độ]\outputs

Mac:
  mkdir -p ~/.opengoat/skills/[tên-chế-độ]/outputs

Sau đó hướng dẫn tôi lưu các file này vào thư mục cassette:
- SKILL.md
- WORKFLOW.md

Sau đó hướng dẫn tôi thêm cassette này vào memory/_SKILL_STATUS.md:
"Mở memory/_SKILL_STATUS.md trong VS Code. Nếu file này chưa tồn tại,
hãy tạo nó với tiêu đề sau:

# TRẠNG THÁI CASSETTE KỸ NĂNG
# ON/OFF chỉ được quản lý trong file này.

| Tên Cassette | STATUS | Mô tả |
|---|---|---|

Thêm một dòng mới: | [tên-chế-độ] | ON | [mô tả một dòng] |
Lưu lại."

Sau khi tất cả file đã được định nghĩa, tạo một script Python thiết
lập hoàn chỉnh sẽ tự động tạo mọi thứ. Script phải:
- Hoạt động trên cả Windows và Mac (dùng os.path.expanduser cho ~)
- Tạo tất cả thư mục bằng os.makedirs(exist_ok=True)
- Ghi SKILL.md và WORKFLOW.md với mã hóa UTF-8
- Thêm (hoặc cập nhật) dòng của cassette này trong memory/_SKILL_STATUS.md,
  tạo file với tiêu đề ở trên nếu nó chưa tồn tại
- In ✅ [tên file] cho mỗi file được tạo
- In "Setup complete." ở cuối

Script đã chứa sẵn tất cả đường dẫn và nội dung file —
người dùng chỉ cần chạy nó trong terminal VS Code bằng:
  python setup_cassette.py

Nói với tôi: "Sao chép script này, lưu nó thành setup_cassette.py
trong thư mục .opengoat của bạn, sau đó chạy nó trong terminal VS Code.
Bạn sẽ thấy ✅ cho mỗi file được tạo."

STEP 9 — Kiểm tra cassette
Hướng dẫn tôi gửi một lệnh thử nghiệm, nêu tên cassette một cách tường minh:

openclaw agent --agent ceo "Work in [tên-chế-độ] mode: hãy thực hiện
những việc sau:
1. Xác nhận memory/_SKILL_STATUS.md hiển thị [tên-chế-độ] là ON.
2. Tải SKILL.md và WORKFLOW.md của cassette này.
3. Xác nhận bạn hiểu các nhiệm vụ trong cassette này.
4. Đăng báo cáo sẵn sàng lên kênh Discord của bạn."

Hỏi tôi: "Agent đã phản hồi gì?
Bạn có thấy báo cáo sẵn sàng xuất hiện trên Discord không?"
Nếu có: cài đặt cassette đã được xác nhận.
Nếu không: giúp tôi khắc phục sự cố.

ĐẦU RA CUỐI CÙNG
Khi đã xác nhận, hiển thị bản tóm tắt sau:

---
CASSETTE ĐÃ ĐƯỢC CÀI ĐẶT
Tên cassette: [tên-chế-độ]
Tác nhân chính: [tên tác nhân]
Các file đã tạo:
  memory/_SKILL_STATUS.md ✅ (đã thêm dòng: [tên-chế-độ] — ON)
  skills/[tên-chế-độ]/SKILL.md ✅
  skills/[tên-chế-độ]/WORKFLOW.md ✅
  skills/[tên-chế-độ]/outputs/ ✅
Công cụ AI: [công cụ]
API key bổ sung: [đã thêm / không cần]
Trạng thái: ON — agent đã xác nhận sẵn sàng
---

Sẵn sàng cho Phần 7.

Bắt đầu ngay bây giờ. Hỏi tôi câu hỏi đầu tiên.

Bước 2 — Chạy Script Cài Đặt

Khi AI concierge hoàn tất tạo các file cassette của bạn, nó cũng sẽ tạo một script Python cài đặt với tất cả đường dẫn và nội dung đã được điền sẵn.

Những gì cần làm:

  1. Sao chép script Python mà AI tạo ra
  2. Mở terminal VS Code (Ctrl+`` trên Windows / Cmd+`` trên Mac)
  3. Tạo một file mới tên setup_cassette.py trong thư mục .opengoat của bạn
  4. Dán script vào và lưu
  5. Chạy nó:
    python setup_cassette.py

Bạn sẽ thấy dấu ✅ cho mỗi file được tạo. Vậy là xong — không cần tạo file thủ công, không nhầm lẫn đường dẫn.

Script tự động làm những việc sau:

  • Tạo toàn bộ cấu trúc thư mục
  • Ghi SKILL.md và WORKFLOW.md với nội dung chính xác
  • Tạo thư mục outputs/
  • Thêm dòng của cassette này vào memory/_SKILL_STATUS.md (STATUS: ON)

Nếu bạn thấy bất kỳ dấu ❌ nào trong kết quả, hãy sao chép lỗi đó và yêu cầu AI concierge của bạn sửa nó.


Sử dụng một Cassette

Mọi cassette đều ở trạng thái ON theo mặc định — không có bước "chuyển đổi" nào cả. Chỉ cần nói cho bất kỳ agent nào biết cassette nào cần dùng ở đầu chỉ thị của bạn:

openclaw agent --agent ceo "Work in trade mode: give me today's summary."

Agent sẽ đối chiếu "trade mode" với các cassette đang ON trong memory/_SKILL_STATUS.md, tải SKILL.mdWORKFLOW.md của cassette đó, và áp dụng chúng vào yêu cầu của bạn. Bạn cũng có thể mô tả nhiệm vụ mà không cần nêu tên cassette — agent sẽ tự động đối chiếu nó với SKILL.md của từng cassette đang ON.

Tạm dừng một cassette: Mở memory/_SKILL_STATUS.md và đặt STATUS của cassette đó thành OFF. Agent sẽ bỏ qua nó cho đến khi bạn bật lại ON.


Thêm Cassette Sau Này

Khi doanh nghiệp của bạn phát triển, hãy thêm nhiều thư mục cassette hơn:

skills/
├── youtube/
├── trade/
├── restaurant-ops/
└── legal-research/      ← thêm bất cứ lúc nào

Xây dựng mỗi cassette mới theo cùng cách: tạo SKILL.md và WORKFLOW.md qua AI concierge, chạy script cài đặt. Nó sẽ được thêm vào memory/_SKILL_STATUS.md với trạng thái ON tự động — không cần chuyển đổi gì cả, chỉ cần nói với agent để dùng nó.


Chợ Kỹ Năng BALIA — Ra Mắt Q4 2026

Khi chợ mở, hai điều trở nên khả dụng:

Mua cassette — Cassette do BALIA phát triển (Crypto Trade, YouTube, E-Commerce, Polymarket BOT) và cassette do cộng đồng xây dựng, đã được xem xét và phê duyệt. Cài đặt chúng vào thư mục cassette của bạn như bất kỳ chế độ nào khác.

Bán cassette — Nếu bạn xây dựng được một cassette hoạt động tốt, hãy gửi nó. Mỗi lần gửi đều trải qua kiểm tra bảo mật và đánh giá hiệu quả. Khi được phê duyệt, nó được niêm yết trên chợ và tạo ra doanh thu mỗi khi ai đó cài đặt nó.

Chi tiết tại @BALIA_OS trên X khi chợ mở.


Hệ thống Cassette Kỹ năng — Kiểm soát ON/OFF

Các cassette của bạn được quản lý bởi một file duy nhất: memory/_SKILL_STATUS.md. Cassette mới được thêm vào với trạng thái ON theo mặc định.

| Tên Cassette        | STATUS | Mô tả                               |
|---------------------|--------|--------------------------------------|
| marketing-outreach  | ON     | Tiếp cận qua SNS / email / YouTube   |
| ai-meeting-sales    | ON     | Cuộc họp AI của nhóm bán hàng (Leo)  |
| ai-meeting-daily    | ON     | Cuộc họp vận hành hàng ngày          |
| research-market     | ON     | Tự động hóa nghiên cứu thị trường    |

Để tạm dừng một cassette: Đổi ON thành OFF trong file này. Vậy là xong.

Khi một cassette đang ON:

  • Bất kỳ agent nào có nhiệm vụ khớp với nó sẽ tải cassette
  • Thực hiện nhiệm vụ
  • Báo cáo lên Discord: "✅ [cassette-name] executed successfully."

Khi một cassette đang OFF:

  • Agent bỏ qua nó, kể cả khi nhiệm vụ đáng lẽ khớp
  • Vẫn báo cáo lên Discord: "⏭️ [cassette-name] skipped — STATUS: OFF"

Mọi lần thực thi đều được báo cáo, dù có chạy hay không. Bạn luôn biết điều gì đã xảy ra.


Nếu Hai Cassette Xung Đột

Vì mọi cassette đều ở trạng thái ON theo mặc định, có thể xảy ra trường hợp hai cassette chồng lấn lên nhau — ví dụ, hai cassette cùng đăng vào một kênh Discord, hoặc cả hai cùng cố dùng chung một agent cho các nhiệm vụ xung đột tại cùng một thời điểm.

Hiện tại chưa có cơ chế phát hiện xung đột tự động. Nếu bạn nhận thấy hai cassette đang dẫm chân lên nhau, hãy tự mở memory/_SKILL_STATUS.md và đặt một trong hai cassette thành OFF. Việc này giải quyết xung đột ngay lập tức — agent sẽ bỏ qua bất kỳ cassette nào được đánh dấu OFF.

Tính năng phát hiện xung đột tự động bởi Security Guardian, kèm đề xuất cách giải quyết, đang được lên kế hoạch cho một bản cập nhật trong tương lai.


Lên Lịch Cassette — Thực Thi Theo Thời Gian

Một số cassette được thiết kế để chạy vào một thời điểm cố định — cuộc họp hàng ngày, báo cáo buổi sáng, tóm tắt hàng tuần. Hãy đăng ký chúng với bộ lên lịch của hệ điều hành của bạn.

Bộ lên lịch kích hoạt cassette. Agent kiểm tra _SKILL_STATUS.md. Nếu ON → thực thi + báo cáo Discord. Nếu OFF → bỏ qua + báo cáo Discord.

⚠️ Hai Quy Tắc Cho Cassette Được Lên Lịch

  • Luôn nêu tên cassette/chế độ ngay trong lệnh đăng ký — bộ lên lịch không có cách nào khác để biết cassette nào cần chạy, vì vậy hành động kích hoạt phải ghi rõ điều đó (xem [cassette-name] trong các ví dụ bên dưới).
  • Đừng đăng ký hai cassette theo lịch cho cùng một khung giờ. Chạy hai cassette cùng lúc có thể khiến chúng tranh chấp cùng một agent hoặc cùng một kênh Discord. Hãy giãn cách chúng ít nhất vài phút.

Windows — Task Scheduler

  1. Mở Task Scheduler → Create Basic Task
  2. Tên: BALIA_[CassetteName]
  3. Trigger: Daily → đặt thời gian của bạn (ví dụ 21:00)
  4. Action: Start a program
    • Program: openclaw
    • Arguments: agent --agent [agentid] "Work in [cassette-name] mode: run today's scheduled task."
    • Start in: C:\Users\%USERNAME%\.opengoat
  5. Finish

Để tạm dừng một cassette đã lên lịch mà không cần chỉnh sửa bộ lên lịch: → Đặt STATUS thành OFF trong _SKILL_STATUS.md. Bộ lên lịch vẫn kích hoạt, agent kiểm tra STATUS, bỏ qua, và báo cáo. Không cần thay đổi gì trong bộ lên lịch.


Mac — launchd

Tạo ~/Library/LaunchAgents/com.balia.[cassette-name].plist:

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.balia.[cassette-name]</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/openclaw</string>
    <string>agent</string>
    <string>--agent</string>
    <string>[agentid]</string>
    <string>Work in [cassette-name] mode: run today's scheduled task.</string>
  </array>
  <key>StartCalendarInterval</key>
  <dict>
    <key>Hour</key>
    <integer>21</integer>
    <key>Minute</key>
    <integer>0</integer>
  </dict>
</dict>
</plist>

Nạp nó:

launchctl load ~/Library/LaunchAgents/com.balia.[cassette-name].plist

Để tạm dừng: đặt STATUS thành OFF trong _SKILL_STATUS.md. Hành vi giống như Windows.