Yêu cầu trước khi bắt đầu
- Đã hoàn thành Bước 2: Cài Claude AI
- Có tài khoản Lark (đăng ký miễn phí tại larksuite.com nếu chưa có)
Các bước cài đặt
Cài lark-cli
Mở Terminal/PowerShell, gõ:
npm install -g @larksuite/cli
Kiểm tra:
lark-cli --version
Không cần "kết nối" lark-cli với Claude AI — đăng nhập xong (Bước 2-3 dưới đây) là Claude AI tự dùng được ngay, vì nó chạy chung Terminal/máy với bạn (xem nguyên tắc ở Bước 2).
Cấu hình app lần đầu
lark-cli config init --new
Lệnh này in ra 1 đường link + mã QR — mở link đó trên trình duyệt của chính bạn để tạo app Lark gắn với tài khoản của bạn. Đừng đưa mật khẩu Lark cho ai/AI nào — chỉ cần mở link và làm theo trên chính trình duyệt bạn đang đăng nhập.
Đăng nhập
lark-cli auth login --recommend
Lại hiện link — mở trên trình duyệt, xác nhận đăng nhập. Kiểm tra đã đăng nhập thành công:
lark-cli auth status
Tạo bảng Lark Base dùng xuyên suốt hệ thống
Lark Base giống Excel/Airtable — mỗi bảng lưu 1 loại dữ liệu. Tạo ngay bảng chính này để các bước sau chỉ việc nối vào:
Bảng Lead (khách để lại thông tin): nói với Claude AI: "Tạo cho tôi 1 Lark Base tên 'Lead - [tên dự án của bạn]', 1 bảng có cột Họ và tên / Số điện thoại / Email / Ngày tạo." Dùng ở Bước 12 (Lead Magnet) và mọi nơi thu thông tin khách sau này. Claude sẽ tự dùng lark-cli để tạo, trả về app_token và table_id — ghi lại đầy đủ, dùng ở mọi bước sau.
Không cần tự tạo bảng "Lịch đăng bài" ở đây — bảng đó (và 4 bảng khác) sẽ được workflow init-tables của repo thật tự động tạo ngay trong Base này ở Bước 8 (Đăng Facebook tự động). Tự tạo tay trước ở đây sẽ ra 1 bảng thừa, không phải bảng mà script Bước 8 thực sự đọc/ghi.
⚠ Bẫy đã gặp thật + cách gỡ
0. 🔴 Nghiêm trọng nhất — mời quyền cao nhất qua giao diện vẫn báo "you don't have permission" (91403)
Nếu Base được tạo bằng cách bấm icon chuyển đổi ứng dụng ngay trên giao diện Lark, Base đó tự động bị đưa vào không gian "Wiki" — khi đó mời app làm cộng tác viên qua nút "Chia sẻ" trên giao diện (dù chọn quyền cao nhất "Có thể quản lý", dù giao diện báo "Đã mời" thành công) vẫn KHÔNG được nhận diện đúng ở tầng API. Đã thử đủ cách qua giao diện (bật Bot, đổi quyền chia sẻ toàn tổ chức, xoá cache token lấy token mới, mời lại quyền cao nhất) — vẫn báo lỗi y hệt. Đây là lỗi/giới hạn thật ở tầng nền tảng, không phải do làm sai bước nào.
Cách gỡ (đã xác nhận hết lỗi ngay từ lần thử đầu): đừng tạo Base qua icon chuyển đổi ứng dụng trên giao diện — yêu cầu Claude AI tạo Base thẳng qua dòng lệnh (không qua Wiki), rồi cấp quyền ghi cũng qua dòng lệnh (không qua nút "Chia sẻ" trên giao diện). Nếu 1 Base đã lỡ tạo qua giao diện và dính lỗi này, cách nhanh nhất là tạo Base MỚI theo đúng cách trên, không cố sửa Base cũ.
1. npm chặn cài đặt bằng "allow-scripts"
Sau npm install -g @larksuite/cli, npm chặn script cài đặt sau cùng, và npm approve-scripts báo "không có gì đang chờ" — không giải quyết được gì.
Cách gỡ: chạy thẳng script bị chặn:
node "$(npm root -g)/@larksuite/cli/scripts/install.js"
2. Lệnh đăng nhập bị timeout giữa chừng
Nếu chạy config init/auth login trong 1 giới hạn thời gian ngắn (ví dụ lệnh tự huỷ sau 20 giây), nó bị giết ngay khi vừa in ra link — trước khi kịp mở trình duyệt bấm vào.
Cách gỡ: luôn để lệnh này chạy không giới hạn thời gian / chạy nền, đợi vài phút cho tới khi tự xác nhận xong — đừng vội huỷ.
3. Link đăng nhập hết hạn
Mã user_code trong link đăng nhập chỉ sống vài phút. Nếu bấm vào mà báo hết hạn/không hợp lệ, đừng cố lại link cũ.
Cách gỡ: chạy lại đúng lệnh ở Bước 2/3 để lấy link mới, bấm ngay trong vài phút.
4. Bot báo lỗi "you don't have permission" (code 91403) khi ghi/xoá dữ liệu
App bot mặc định không đủ quyền ghi/xoá record trong Base, dù đã được thêm làm thành viên.
Cách gỡ: chạy lệnh với quyền người dùng thay vì bot (thêm cờ --as user), rồi làm theo link xác thực hiện ra để cấp quyền qua chính tài khoản của bạn.
5. PowerShell làm hỏng dữ liệu JSON khi gửi lệnh
Trên Windows, nếu truyền thẳng 1 đoạn JSON vào lệnh (ví dụ --json '{"a":"b"}'), PowerShell tự ý bỏ dấu ngoặc kép, lệnh nhận sai dữ liệu, báo lỗi kiểu "invalid character".
Cách gỡ: ghi nội dung JSON ra 1 file riêng trước, rồi trỏ lệnh vào file đó (ví dụ --json "@./du-lieu.json") thay vì gõ thẳng.
Bước tiếp theo
Đã có Lark, sang bước kế tiếp: cài trợ lý AI "Lam Khuê" — nhắn tin qua Lark là AI tự đọc dữ liệu, tự trả lời, tự làm việc cho bạn 24/7.
Sang bước 5: Cài Lam Khuê (Lark) →