✦ Hướng dẫn + Case study

Dựng trợ lý 24/365 cho người đi làm

7 bước đi từ "việc lặp lại mỗi ngày" tới một con bot tự chạy, bot Zalo mình đã dựng để chứng minh nó dùng được thật, và 10 prompt để bạn tự làm.

Không cần biết lập trìnhZaloTelegramNotion · Google
Tối nay có lịch gì quan trọng không?
Mai 9:00 chị có họp khách hàng (lịch đỏ). Mình đã nhắc trước để chị chuẩn bị nha.
cà phê 45k
Đã ghi 45.000đ vào hũ Thiết yếu, ngày hôm nay.
LANHMAR
Vì sao cần trợ lý

Một ngày đi làm bị cắt vụn bởi
những việc nhỏ lặp lại

Tin nhắn hỏi lại

Cùng một câu hỏi về thông tin, tài liệu, quy trình được hỏi đi hỏi lại.

Lịch và việc trôi

Họp xong có task, nhưng task nằm trong biên bản, không nằm trên lịch.

Chi tiêu quên ghi

Cuối tháng mới hỏi "tiền đi đâu", vì ghi chép mất công nên bỏ dở.

Tài liệu rải rác

Notion, Drive, file Word: biết là có, nhưng tìm lại thì mất vài phút.

Mỗi việc chỉ vài phút, nhưng chúng lặp lại mỗi ngày và có quy tắc rõ. Đó chính là loại việc nên giao cho bot.

LANHMAR
Khái niệm

Trợ lý 24/365 = 4 năng lực ghép lại

Không phải một chatbot "biết nói". Một trợ lý thật sự cần đủ 4 khối dưới đây, và chạy kể cả khi máy tính của bạn đã tắt.

1

Nghe

Nhận tin ở kênh bạn dùng hằng ngày (Zalo), mọi lúc.

2

Hiểu

Một "bộ não" AI đọc ý định: hỏi, ghi chép hay ra lệnh.

3

Nhớ

Tra đúng dữ liệu của bạn, ghi nguồn, không bịa khi không có.

4

Làm

Ghi vào lịch, sổ thu chi, nhắc đúng giờ, báo khi có vấn đề.

LANHMAR
Phần 1 · Lý thuyết

Lộ trình 7 bước dựng trợ lý

Đi theo thứ tự: quyết định "giao việc gì" trước, rồi mới chọn công cụ.

1

Chọn việc

Việc nào đáng giao

2

Chọn kênh

Nơi nhận tin và nơi điều khiển

3

Bộ não

Model nào, trả tiền thế nào

4

Dữ liệu

Trả lời đúng, có nguồn

5

Chế độ

Ai được thấy gì

6

Chạy 24/365

Máy chủ, tự hồi phục

7

Vận hành

An toàn, chi phí, cải tiến

Quyết địnhGiao việc gì, qua kênh nào, trả bao nhiêu
XâyDữ liệu đúng, quyền rõ
ChạyBền, an toàn, rẻ
LANHMAR
Bước 1

Chọn đúng việc để giao

Việc đáng giao cho bot thường thoả cả 4 tiêu chí:

  • Lặp lại hằng ngày hoặc hằng tuần.
  • Có quy tắc rõ: nói được thành câu "khi... thì...".
  • Sai thì sửa được: không phải quyết định không thể quay lại.
  • Dữ liệu đã có ở dạng số (Notion, Drive, lịch).
★ Bắt đầu từ một việc đau nhất, chạy ổn rồi mới thêm việc thứ hai.

Nhắc lịch, nhắc hạn

Quy tắc theo giờ, rất hợp

Nên giao

Ghi thu chi

Lặp lại, sửa được

Nên giao

Tra tài liệu nội bộ

Có nguồn, kiểm được

Nên giao

Duyệt hợp đồng, chuyển tiền

Khó quay lại khi sai

Người quyết
LANHMAR
Bước 2

Hai kênh: làm việc và điều khiển

Tách nơi bot "đi làm" khỏi nơi bạn "cầm lái" giúp bot gọn và an toàn hơn.

  • Kênh làm việc: nơi bạn và người khác đã quen nhắn, ví dụ Zalo.
  • Kênh điều khiển: chỉ chủ bot dùng, ví dụ Telegram, để đổi chế độ, xem trạng thái, nhận cảnh báo lỗi.
  • Bot chỉ nhận lệnh từ mã định danh của chủ, không theo tên hiển thị.

Cách kết nối kênh làm việc: cân nhắc đánh đổi

Chính thức

API / Bot chính thức

An toàn về điều khoản, ổn định; đổi lại ít tính năng hơn.

Không chính thức

Thư viện mô phỏng

Nhiều tính năng hơn, nhưng có rủi ro bị khoá tài khoản: chỉ dùng tài khoản phụ.

LANHMAR
Bước 3

Chọn "bộ não" vừa sức

  • Model nhanh cho tin nhắn thường: rẻ, phản hồi trong vài giây.
  • Model mạnh chỉ cho việc khó cần độ chính xác cao.
  • Gói chat trả phí không kèm API key: bot cần API riêng, trả theo lượng dùng.
  • Luôn đặt giới hạn chi tiêu tháng ngay khi tạo key.

Hỏi trước khi chọn

  • Mỗi ngày khoảng bao nhiêu tin?
  • Có cần đọc ảnh (hoá đơn, ảnh chụp màn hình)?
  • Máy chủ có bao nhiêu RAM?
  • Câu trả lời sai thì thiệt hại tới đâu?
★ Nguyên tắc: model rẻ làm việc thường, model đắt chỉ gọi khi thật sự cần.
LANHMAR
Bước 4

Nối dữ liệu để bot nói đúng

Bước quyết định bot có đáng tin hay không.

  • Chọn một nguồn sự thật cho mỗi loại dữ liệu: Notion cho ghi chép, Drive cho tài liệu, lịch cho thời gian.
  • Cắt tài liệu thành đoạn nhỏ, mỗi câu hỏi chỉ đưa vài đoạn liên quan nhất cho AI.
  • Mọi câu trả lời ghi nguồn (tên tài liệu).
  • Không có dữ liệu thì nói "chưa có" và chuyển câu hỏi cho chủ.
?

Câu hỏi: "Biên bản họp 13/10 chốt gì?"

⌕

Tìm vài đoạn khớp nhất trong kho

✎

Trả lời chỉ dựa trên các đoạn đó

✓

Kèm nguồn, hoặc nói rõ "chưa có trong kho"

LANHMAR
Bước 5

Chế độ và quyền riêng tư

Một con bot, nhiều "bộ mặt". Chế độ quyết định bot được nói gì, với ai.

  • Chế độ công khai: ai nhắn cũng được trả lời, chỉ dùng thông tin có thể chia sẻ.
  • Chế độ riêng tư: tài chính, tài liệu, task, chỉ phục vụ chủ trong chat riêng.
  • Chế độ nghỉ: bot im lặng nhưng vẫn nghe lệnh của chủ.
  • Bot xưng là trợ lý, không nhận là người thật khi bị hỏi thẳng.

Mọi người

Thông tin chung

Chỉ chủ bot

Tiền, task, tài liệu

★ Việc quan trọng luôn có người duyệt ở giữa: bot đề xuất, người quyết.
LANHMAR
Bước 6

Cho bot chạy 24/365

"Trợ lý" mà tắt máy là nghỉ thì chưa phải trợ lý. Cần 4 thứ:

Máy chủ luôn bật

Một máy chủ ảo (VPS) thay cho máy tính cá nhân.

Tự hồi phục

Lỗi hay khởi động lại máy, bot tự chạy lại.

Tự báo lỗi

Gửi cảnh báo về kênh điều khiển khi có sự cố.

Lịch chạy định kỳ

Nhắc việc, tổng kết theo giờ cố định.

LANHMAR
Bước 7

Vận hành: an toàn, đúng ngân sách

  • Đọc nhật ký trước, đoán sau: xác định lỗi nằm ở bước nhận tin, gọi AI, đọc dữ liệu hay gửi tin.
  • Theo dõi chi phí từng tin, so với giới hạn tháng.
  • Giữ kín khoá truy cập; lỡ lộ thì tạo khoá mới ngay.
  • Sửa bot từ xa có duyệt: AI đề xuất, bạn xem rồi mới cho chạy.
  • Sao lưu mã và dữ liệu định kỳ.
Vòng cải tiến
1

Dùng thật trong vài ngày

2

Ghi lại chỗ bot trả lời sai, chậm, im lặng

3

Sửa một chỗ, kiểm tra lại

4

Đo chi phí và mức tin cậy

5

Thêm việc mới khi việc cũ đã ổn

LANHMAR
Tóm tắt phần 1

Checklist trước khi chạy thật

Đã chọn 1 việc cụ thể, viết được thành quy tắc "khi... thì..."

Kênh làm việc dùng tài khoản phụ; kênh điều khiển chỉ nhận lệnh từ chủ

API key đã đặt giới hạn chi tiêu tháng

Bot ghi nguồn và biết nói "chưa có" khi thiếu dữ liệu

Dữ liệu riêng tư chỉ mở cho chủ trong chat riêng

Đã thử khởi động lại máy chủ và bot tự chạy lại

Chỉ chia sẻ cho bot quyền nhỏ nhất cần dùng

Có sao lưu và có người duyệt các việc quan trọng

Phần 2 · Case study

Lý thuyết
vào đời thật

Bot trợ lý Zalo mình đã dựng: dùng thế nào, chạy ra sao, và vấp những gì.

📁 DỰ ÁN
Bot trợ lý Zalo 24/365Đề bài → Cách làm → Kết quả
LANHMAR
Case study · Tổng quan

Một con bot, nhiều việc của người đi làm

Đề bài

Tin nhắn, lịch, task, chi tiêu và tài liệu nằm ở nhiều nơi. Cần một chỗ duy nhất để hỏi, ghi và được nhắc, ngay trên Zalo đang dùng hằng ngày.

Cách làm

Bot Zalo chạy trên máy chủ ảo, "bộ não" là model Claude nhanh (Haiku), nối Notion, Google Drive, Google Calendar, NotebookLM; điều khiển và nhận cảnh báo qua Telegram.

Kết quả
  • 7 chế độ trả lời, tách công khai và riêng tư
  • 5 mốc nhắc lịch, task tự động
  • Sổ thu chi 5 hũ có cảnh báo
  • Hỏi đáp trên tài liệu riêng, ghi nguồn
LANHMAR
Case study · Kiến trúc

Bot nằm giữa, mọi thứ nối vào

ZaloKênh làm việc: mọi người nhắn tới
TelegramBảng điều khiển + cảnh báo cho chủ
Điện thoạiSửa bot từ xa qua Claude Remote
Bot trên máy chủ ảoChạy 24/365, tự chạy lại khi lỗi, chỉ kết nối đi ra
7 chế độlịch nhắcgiới hạn gửi tin
Model ClaudeHiểu tin, đọc ảnh hoá đơn
NotionGhi chép, sổ thu chi
Google Drive · CalendarTài liệu, lịch, khung task
NotebookLMNghiên cứu, biên bản họp
LANHMAR
📸 Ảnh test thật

Gặp Nomad Lanhmar

Hồ sơ bot Nomad Lanhmar trên Zalo⤢

Trên Zalo: tài khoản bot Nomad Lanhmar, nhắn như nhắn một người bạn.

Thẻ trạng thái bot trên Telegram⤢
Bàn phím điều khiển trên Telegram⤢

Bảng điều khiển Telegram "Nomad LanhMar CPU"

  • Khởi động xong, bot tự báo trạng thái: chế độ Workspace, Notion 1.045 đoạn, Drive 55 tệp / 3.333 đoạn, model claude-haiku-5-5.
  • Đếm luôn hạn mức gửi tin (tin/giờ, tin/24h) và số câu hỏi nhận lúc ngủ.
  • Tin ngoài dữ liệu được đẩy lên kèm 2 nút Trả lời và Bỏ qua; bot đã báo người nhắn chờ.
  • Một bàn phím nút cho 7 chế độ, tin chờ, /status, /sync.
LANHMAR
Case study · Bước 5 áp dụng thế nào

7 chế độ, đổi bằng một lệnh

/laodongLao động

Trả lời theo dữ liệu đã nạp; không có thì hẹn xác nhận lại với chủ và lưu tin chờ.

/chemgioChém gió

Trò chuyện tự do, có thả cảm xúc và sticker.

/nguNgủ

Im lặng, nhưng lệnh của chủ vẫn chạy.

/datastorageData Storage

Hỏi đáp trên Notion và Drive, luôn ghi nguồn.

/dataanalysisData Analysis

Gửi link, bot lưu vào NotebookLM rồi trích xuất khi hỏi.

/moneytalkMoneyTalk

Ghi thu chi bằng tin nhắn hoặc ảnh hoá đơn.

/workspaceWorkspace

Biến recap cuộc họp thành task, xếp vào lịch.

Công khai: ai nhắn cũng được Riêng tư: chỉ chủ, chat riêng Người khác nhắn vào chế độ riêng tư vẫn chỉ nhận câu trả lời kiểu Lao động.
LANHMAR
Ứng dụng 1 · Lịch và task

Không cần mở lịch, lịch tự tìm tới

06:00

Toàn bộ lịch hôm nay, lịch quan trọng đánh dấu đỏ

06:10

Xếp lại task vào lịch, chỉ nhắn khi có vấn đề

08:00

Nhắc task sắp đến hạn hoặc đã quá hạn

20:00

Lịch quan trọng của ngày mai để chuẩn bị trước

T2 · 07:30

Tổng kết task tồn đọng đầu tuần

Từ recap họp tới lịch
1

Gửi file recap hoặc nhắn "thêm task..., hạn..."

2

AI trích tên việc, hạn, thời lượng, người phụ trách; việc của người khác chỉ lưu, không xếp vào lịch mình

3

Gộp task trùng, hạn gần xếp trước, việc dài tự chia nhiều khung

4

Không đủ thời gian trước hạn thì báo thiếu bao nhiêu phút

Đã thử thật: gửi biên bản họp qua Zalo và bot xếp task lên Google Calendar thật (xem ảnh ở slide sau).

LANHMAR
📸 Ảnh test thật · Workspace

Gửi biên bản họp, sáng mai có lịch

Bot đọc biên bản họp và lưu 11 task⤢
Tin chào buổi sáng và xếp task vào lịch⤢
1

Gửi file Bien-ban-hop-13-10-2026.pdf qua Zalo. Bot báo ngay đang đọc file, trích task và xếp lịch.

2

Lưu recap vào sổ tay NotebookLM «MEETING», trích 11 task mới; task chưa có hạn được ghi rõ "chưa có hạn".

3

Sáng 14/10: tin chào buổi sáng liệt kê 6 lịch trong ngày.

4

Xếp 2 task vào khung "Trả task" 08:30–10:00; task hạn 13/10 đã quá hạn được xếp vào khung sớm nhất.

5

Cảnh báo chưa đủ thời gian cho 10 task, nói rõ từng task còn thiếu bao nhiêu phút.

★ Bot không chỉ ghi task: nó chỉ ra khung "Trả task" đang quá ít so với khối việc thật.
LANHMAR
Ứng dụng 2 · Tài chính cá nhân

Nhắn "cà phê 45k" là xong một dòng sổ

Thu nhập trong tháng được chia vào 5 hũ. Hạn mức mỗi hũ = tỷ lệ × thu nhập đã ghi (tỷ lệ mẫu, tự đổi được).

55%
20%
10%
10%
5%
Thiết yếuNâng cấp bản thânHưởng thụTiết kiệmCho đi

Ghi bằng lời

Một hoặc nhiều khoản trong một tin, hoặc gửi ảnh hoá đơn để bot đọc tổng tiền.

Cảnh báo hạn mức

Báo khi hũ dùng tới 80% và khi vượt 100%, mỗi mốc một lần mỗi tháng.

Tổng kết tự động

21:00 ngày cuối tháng, quý, năm: so với kỳ trước, 3 khoản chi lớn nhất, vài dòng nhận xét.

LANHMAR
📸 Ảnh test thật · MoneyTalk

FinanceOS: sổ thu chi tự chạy trong Notion

Trang FinanceOS trong Notion⤢

Một tin Zalo đi qua 4 tầng dữ liệu

Zalo

Nhắn "cà phê 45k", "nhận lương 15tr" hoặc gửi ảnh hoá đơn

Giao dịch

Nomad ghi từng khoản, tự chọn hũ

Hũ chi tiêu

Cập nhật hạn mức = tỷ lệ % × thu nhập tháng; cảnh báo ở 80% và khi vượt 100%

Tổng kết

Bảng tháng · quý · năm và biểu đồ tự cập nhật theo Giao dịch và Hũ

★ Sửa bằng lời: "huỷ khoản vừa rồi", "đổi sang hũ Thiết yếu". Không cần mở Notion để nhập tay.
LANHMAR
Ứng dụng 3 · Hỏi đáp trên tài liệu riêng

Đọc Drive thật, trả lời có nguồn

0

tệp trên Google Drive được quét

0

là video, bot bỏ qua vì không đọc được

0

tài liệu PDF, Docs, Word được đọc

0

đoạn nội dung để bot tìm kiếm (theo thẻ trạng thái bot)

Bản đầu

Chỉ đếm từ trùng, nên bị "đánh lận" bởi từ phổ biến như "ngày", "gì". Hỏi "biên bản họp 13/10" mà không ra đúng tệp.

→
Bản sửa

Chấm điểm kiểu BM25: từ hiếm nặng điểm hơn, không phân biệt dấu, ưu tiên tên tài liệu. Hỏi đúng câu thì tóm tắt đúng biên bản, kèm tên tệp nguồn.

LANHMAR
📸 Ảnh test thật · Kiến thức

Kho tài liệu tự tìm tới bạn

Tin kiến thức hôm nay⤢
Bảng lệnh /help trên Zalo⤢

Kiến thức hôm nay

  • Mỗi ngày bot gửi một phần bài học từ kho: bài 1/226, Buổi 2 "Tư duy Growth Hack sự nghiệp" (phần 1/18) của thầy Phạm Minh Tiến.
  • Tóm tắt thành vài ý ngắn, rồi kết bằng một câu hỏi nối bài học với công việc hiện tại của chủ.

/help ngay trong chat

  • Bảng lệnh chia theo nhóm: Chế độ, NotebookLM, Workspace, Tài chính. Không cần nhớ lệnh, gõ /help là có.
★ Tài liệu đã lưu không còn "nằm im": bot biến chúng thành thói quen học mỗi ngày.
LANHMAR
Case study · Chi phí

Bao nhiêu tiền một tháng?

$0,0002–0,001

mỗi tin với model nhanh Haiku, đo trên bot thật

0đ

máy chủ dùng gói miễn phí (Oracle Always Free, khoảng 1 GB RAM)

Số tin mỗi thángChi phí API ước tính
1.000 tinkhoảng 5.000–25.000đ
10.000 tinkhoảng 50.000–250.000đ

Làm chi phí tăng: chế độ dùng nhiều tài liệu (gửi kèm khoảng 8 đoạn mỗi câu hỏi), đọc ảnh, dùng model mạnh (Sonnet đắt hơn khoảng 20 lần).

Quy đổi 25.000đ/USD; là ước tính từ số đo trên bot, không phải báo giá. Giá API có thể thay đổi theo nhà cung cấp.

LANHMAR
Case study · Bài học

6 lần bot vấp và mình học được gì

Bot sập liên tụcĐọc tài liệu lớn làm hết RAM

Máy miễn phí chỉ khoảng 1 GB RAM.

→ Đọc từng tệp riêng, có giới hạn bộ nhớ; tệp gây sập thì bỏ qua.
Đăng nhập được, không nhận tinMáy chủ không có đường ra IPv6

Bot thử IPv6 trước nên kẹt.

→ Ép ưu tiên IPv4.
Zalo từ chối tinAI trả lời rỗng

Chỉ có thẻ cảm xúc, hoặc hết token khi "suy nghĩ".

→ Không bao giờ gửi tin rỗng; thử lại khi bị cắt.
Gọi nhầm "anh"AI đoán qua tên hiển thị

Trong nhóm, ai cũng đặt tên trùng được.

→ Nhận diện chủ bằng mã số Zalo, dặn rõ cách xưng hô.
Ghi nhầm thu thành chiTin nhiều khoản

Câu trả lời AI bị cắt giữa chừng, lẫn loại khoản.

→ Mỗi khoản một loại riêng, nâng giới hạn đầu ra.
Thơ lục bát sai luậtModel nhanh: đúng 0/6 và 1/6 bài

Hai lần đo, model rẻ không giữ được luật thơ.

→ Model mạnh + code kiểm tra: 6/6, đổi lại chậm và đắt hơn.
LANHMAR
📸 Ảnh test thật · Claude Remote

Sửa bot bằng một tin nhắn

Yêu cầu sửa bot qua Claude trên điện thoại⤢
1

Mở ứng dụng Claude trên điện thoại, vào phiên "Nomad bot (Oracle)" đang chạy ngay trên máy chủ của bot.

2

Nhắn yêu cầu bằng lời: ở chế độ Ngủ, câu hỏi kiến thức thì lưu chờ, bật lại Lao động thì trả lời lần lượt; tán gẫu thì đáp một câu vui "em bị tư bản bào mệt lả...".

3

Claude đọc mã rồi nêu kế hoạch: bot tự phân loại tin; câu đùa tối đa 1 lần/2 giờ mỗi cuộc trò chuyện; gõ /laodong thì trả lời tuần tự các câu đã lưu.

★ Không mở máy tính, không gõ lệnh: người dùng mô tả bằng lời, duyệt kế hoạch, AI sửa mã.
LANHMAR
Nói thẳng

Bot chưa làm được gì, và rủi ro ở đâu

Rủi ro cần chấp nhận

  • Tài khoản Zalo có thể bị khoá vì cách nối không chính thức; giới hạn số tin/giờ chỉ giảm rủi ro, không loại bỏ.
  • AI có thể sai khi phân hũ, trích task, đọc ảnh mờ: luôn đọc tin xác nhận.
  • Tin nhắn và tài liệu được gửi tới nhà cung cấp model: không nạp dữ liệu nhạy cảm của người khác khi chưa được phép.

Chưa có / đang làm

  • Chưa có module social media: đang là hướng mở rộng.
  • Nhắn sau nửa đêm, "hôm nay" có thể lệch ngày: dự kiến đổi mốc ngày lúc 04:00, chưa triển khai.
  • Phiên NotebookLM hết hạn sau vài tuần, cần đăng nhập lại (bot báo qua Telegram).
  • Sao lưu mã và dữ liệu định kỳ chưa làm.
Phần 3 · Thực hành

Tự tay dựng
bằng 10 prompt

Bạn ra đề và kiểm thử, Claude viết code. Không cần biết lập trình, chỉ cần làm đúng thứ tự.

📁 HƯỚNG DẪN
Từ 0 tới trợ lý 24/365Chuẩn bị → VPS → Bộ não → 10 prompt
LANHMAR
Trước khi bắt đầu

Bạn là người ra đề, Claude là người viết code

Công thức một prompt tốt: 4 phần

1

Bối cảnh: bot là gì, đang ở bước nào

2

Việc cần làm: một việc, nói rõ kết quả mong muốn

3

Giới hạn: điều không được làm, quyền riêng tư, chi phí

4

Cách kiểm tra: làm sao biết là đã chạy đúng

4 quy tắc giữ an toàn

  • Xin kế hoạch trước, đọc hiểu rồi mới bấm đồng ý.
  • Mỗi lần một việc. Chạy ổn rồi mới sang prompt tiếp theo.
  • Lỗi thì dán nguyên văn thông báo lỗi, đừng kể lại theo trí nhớ.
  • Không dán khoá bí mật vào chat (token, API key, mật khẩu). Tự dán vào file .env theo hướng dẫn.
★ Các prompt ở phần sau đã viết sẵn theo công thức này: bấm "Sao chép" rồi dán vào Claude.
LANHMAR
Bước 0 · Chuẩn bị

Gom đủ 7 tài khoản trước khi mở máy

Cần cóLấy ở đâuLưu ý cho người mới
Gói Claude Pro trở lênclaude.ai → Nâng cấpGói miễn phí không dùng được Claude Code
Zalo phụ cho botỨng dụng Zalo, số điện thoại phụKhông dùng Zalo chính: có rủi ro bị khoá
Bot TelegramTelegram → tìm @BotFather → gõ /newbotLưu token; lấy Id của bạn ở @userinfobot
Notionnotion.so → Settings → Connections → tạo integrationChỉ chia sẻ cho bot những trang cần dùng
Google (Drive, Calendar)console.cloud.google.com → tạo service accountCó thể nhờ Claude hướng dẫn từng nút ở prompt 6
Máy chủ VPSiNet hoặc OVHcloud (slide sau)Chọn Ubuntu, tối thiểu 4 GB RAM (iNet: gói Linux 4 trở lên)
"Bộ não"Gói ChatGPT Go hoặc API keyChọn ở slide "Chọn bộ não"
LANHMAR
Bước 1 · Thuê máy chủ

Chọn VPS: tiện hay tiết kiệm

Tiện cho người mớiiNet Linux 4
2Core
4 GBRAM
60 GBSSD
299kđ/tháng
  • Trả theo năm giảm 15%: 254.150đ/tháng (3.049.800đ/năm). Gói Linux 3 (2 GB RAM, 179.000đ) rẻ hơn nhưng chật cho Claude Code.
  • Đổi sang Ubuntu bằng "Rebuild OS"; dùng thử 3 ngày miễn phí; máy không quản trị, bạn tự theo dõi.
  • Nhà tài trợ Challenge CH21AI (KesFlow), theo thông tin challenge VPS có cài sẵn Hermes. Trang inet.vn không nhắc Hermes: hỏi lại khi đặt.
Tiết kiệmOVHcloud VPS-1
2vCore
4 GBRAM
40 GBNVMe
$4,54/tháng, từ
  • Có máy chủ ở Singapore, gần Việt Nam; khu vực châu Á giới hạn 500 GB lưu lượng/tháng, thừa cho bot.
  • Tự cài Hermes bằng 1 lệnh nếu cần (prompt 5 lo việc này).
  • Thanh toán quốc tế; giá "từ" có kèm điều kiện, kiểm tra kỹ lúc đặt.
★ Dù chọn bên nào: Ubuntu 22.04 hoặc 24.04, tối thiểu 4 GB RAM. Claude Code yêu cầu từ 4 GB RAM; máy 1–2 GB chạy bot được nhưng rất chật.

Nguồn: inet.vn/cloud-server (TP.HCM, tra 15/10/2026, trang không ghi rõ VAT); ovhcloud.com/en/vps; code.claude.com/docs.

LANHMAR
Bước 2 · Vào máy chủ và cài Claude

5 thao tác duy nhất phải gõ tay

1
Lấy địa chỉ IP và mật khẩu

Có trong email nhà cung cấp gửi sau khi tạo VPS.

2
Mở cửa sổ gõ lệnh

Windows: bấm phím Windows, gõ PowerShell, Enter. Mac: mở ứng dụng Terminal.

3
Đăng nhập máy chủ

ssh root@ĐỊA_CHỈ_IP (OVHcloud thường dùng ubuntu@ thay cho root@). Hỏi "yes/no" thì gõ yes. Gõ mật khẩu sẽ không hiện chữ, cứ gõ rồi Enter.

4
Cài Claude Code

curl -fsSL https://claude.ai/install.sh | bash rồi gõ exit, đăng nhập lại như bước 3.

5
Tạo thư mục và mở Claude

mkdir -p ~/tro-ly-bot && cd ~/tro-ly-bot && claude. Mở đường link hiện ra trên trình duyệt, đăng nhập tài khoản Claude, dán mã xác nhận.

Từ đây trở đi, bạn chỉ dán prompt vào Claude. Bấm vào ô lệnh màu tím để sao chép.

LANHMAR
Bước 3 · Chọn "bộ não" cho bot

Hermes + ChatGPT Go hay API?

A. Hermes + gói ChatGPT GoB. API trả theo lượng dùng
Mua ở đâuchatgpt.com → nâng cấp Go; Hermes đăng nhập bằng mục "ChatGPT or Codex Subscription"Claude Console (console.anthropic.com) hoặc OpenAI Platform: nạp tiền, tạo key
Chi phíCố định: 132.000đ/tháng đã gồm VAT tại Việt Nam (OpenAI niêm yết $8/tháng)Theo tin: bot thật đo được $0,0002–0,001/tin với Haiku
Hạn mứcCodex trong gói Go dành cho "việc lập trình nhẹ"; OpenAI chưa công bố con sốĐến khi hết số tiền nạp; tự đặt trần chi tiêu tháng
Tốc độ, RAMChậm hơn; vài trăm MB RAM mỗi lần gọi1–2 giây/tin; gần như không tốn RAM
Làm đượcTrả lời chữ (trò chuyện, hỏi đáp)Thêm đọc ảnh hoá đơn, FinanceOS, trích task
Chọn A khi vài chục tin/ngày, đã có gói Go, VPS iNet theo Challenge CH21AI có sẵn Hermes.
Chọn B khi cần đọc hoá đơn, quản lý tiền, task, hoặc vài trăm tin/ngày.
Kết hợp: Hermes trả lời trò chuyện, API lo các tính năng. Bot đổi bằng 1 dòng LLM_PROVIDER.

Nguồn: OpenAI (giá Codex theo gói), baoquocte.vn 15/10/2025 (giá Go tại VN), tài liệu Hermes Agent; chi phí API là số đo trên bot thật, không phải báo giá.

LANHMAR
Bước 4 · Dán lần lượt

Lộ trình 10 prompt

1Chuẩn bị máy

Kiểm tra, cài nền, tạo .env

2Bản đặc tả

Tên, giọng, các chế độ

3Telegram

Bảng điều khiển, chạy nền

4Zalo

Quét QR, lớp an toàn

5Bộ não

Hermes hoặc API

6Dữ liệu

Notion, Drive, ghi nguồn

7Lịch & task

Calendar, nhắc việc

8FinanceOS

Thu chi 5 hũ

9An toàn

Bảo mật, sao lưu

10Điều khiển từ xa

Sửa bot trên điện thoại

1–5: bot nói chuyện được 6–10: bot làm việc được Xong prompt 5 là đã có trợ lý trả lời Zalo; các prompt sau thêm từng năng lực.
LANHMAR
Prompt 1/10

Chuẩn bị máy chủ

Bạn tự làm trước

  • Đã đăng nhập máy chủ và mở claude trong thư mục ~/tro-ly-bot (Bước 2).
✓ Đạt khi Claude báo được RAM, ổ đĩa, mạng; có thư mục bot, file .env mẫu và CLAUDE.md.
Prompt
Chào Claude. Mình là người không biết lập trình, muốn dựng một trợ lý AI chạy 24/365 trên Zalo, điều khiển qua Telegram. Máy chủ này là nơi bot sẽ chạy.

Việc 1: kiểm tra máy (hệ điều hành, RAM, ổ đĩa, mạng IPv4/IPv6) và báo lại bằng tiếng Việt dễ hiểu.
Việc 2: cài những gì cần cho một bot Node.js. Nếu RAM dưới 4 GB thì thêm swap 2 GB. Nếu máy không ra được mạng IPv6 thì cho Node ưu tiên IPv4.
Việc 3: trong thư mục này, tạo file .env mẫu (chỉ chủ sở hữu được đọc) và file CLAUDE.md để ghi lại mọi quyết định về bot.

Quy tắc làm việc với mình:
- Nêu kế hoạch trước, chờ mình đồng ý rồi mới làm.
- Hỏi mình trước mọi thao tác xoá hoặc khó hoàn tác.
- Không bao giờ yêu cầu mình dán khoá bí mật vào chat. Khi cần khoá, hướng dẫn mình tự mở file .env bằng nano và dán vào.
LANHMAR
Prompt 2/10

Viết bản đặc tả bot

Bạn tự làm trước

  • Nghĩ trước: tên bot, bạn muốn bot gọi mình là gì, giọng vui hay nghiêm túc.
  • Chuẩn bị vài câu hỏi khách hay hỏi để làm dữ liệu Lao động.
✓ Đạt khi CLAUDE.md có đủ tên, xưng hô, giọng văn, danh sách chế độ; bạn đã đọc và duyệt.
Prompt
Trước khi viết code, hãy phỏng vấn mình từng câu một để viết bản đặc tả bot vào CLAUDE.md:
- Tên bot, giọng văn, cách xưng hô (chủ bot gọi là gì, người lạ gọi là gì).
- 3 chế độ công khai: Lao động (chỉ trả lời theo dữ liệu đã nạp; không có thì nói sẽ hỏi lại chủ và lưu thành tin chờ), Chém gió (trò chuyện tự do), Ngủ (im lặng nhưng vẫn nghe lệnh chủ).
- Các chế độ riêng tư chỉ phục vụ chủ trong chat riêng: Data Storage, Data Analysis, MoneyTalk, Workspace. Người khác nhắn vào chỉ được trả lời như chế độ Lao động.
- Chủ bot được nhận diện bằng mã số tài khoản, không bằng tên hiển thị.
- Bot xưng là trợ lý của chủ, không nhận là người thật khi bị hỏi thẳng.
- Tin nhắn Zalo không dùng định dạng markdown, tối đa khoảng 1.500 ký tự.

Xong thì tóm tắt lại bản đặc tả để mình duyệt. Chưa viết code ở bước này.
LANHMAR
Prompt 3/10

Bảng điều khiển Telegram

Bạn tự làm trước

  • Telegram → tìm @BotFather → gõ /newbot → đặt tên → lưu token.
  • Tìm @userinfobot → bấm Start → lưu dãy số Id của bạn.
  • Làm theo hướng dẫn của Claude để dán cả hai vào .env.
✓ Đạt khi Nhắn /status cho bot Telegram thì nhận được thẻ trạng thái; khởi động lại máy chủ, bot tự chạy lại.
Prompt
Dựng bảng điều khiển qua bot Telegram, dùng long polling (không cần mở cổng trên máy chủ). Token và Id của mình nằm trong .env (TELEGRAM_BOT_TOKEN, TELEGRAM_OWNER_ID); chỉ nhận lệnh từ đúng Id này.

Cần có:
- Bàn phím nút: đổi chế độ, /status, tin chờ, làm mới.
- /status hiện: chế độ hiện tại, số tin chờ, số tin đã gửi trong giờ và 24 giờ, model đang dùng.
- Tin chờ (câu bot chưa trả lời được) hiện kèm 2 nút Trả lời và Bỏ qua; mình bấm Trả lời rồi gõ nội dung thì bot gửi lại đúng người hỏi.
- Telegram cũng là nơi bot báo lỗi cho mình.

Cho bot chạy nền bằng systemd, tự chạy lại khi lỗi và khi máy khởi động lại. Xong thì gửi thử /status cho mình.
LANHMAR
Prompt 4/10

Kết nối Zalo bằng QR

Bạn tự làm trước

  • Mở Zalo phụ trên điện thoại, sẵn sàng quét QR (mã hết hạn sau khoảng 1–2 phút).
  • Không mở Zalo Web bằng tài khoản này: bot sẽ bị ngắt.
✓ Đạt khi Nhắn từ một Zalo khác: bot "đang soạn" rồi trả lời. Telegram /status đếm được số tin đã gửi.
⚠ Cách nối này dùng thư viện không chính thức: luôn có rủi ro tài khoản Zalo bị khoá.
Prompt
Kết nối tài khoản Zalo phụ cho bot bằng thư viện zca-js:
- Tạo mã QR đăng nhập và gửi ảnh QR qua Telegram cho mình quét. Nếu QR hết hạn thì tạo lại.
- Lưu phiên đăng nhập vào file riêng (chỉ chủ sở hữu đọc) để lần sau tự đăng nhập.

Thêm lớp an toàn để giảm rủi ro bị khoá:
- Đọc tin 1,5–4 giây trước khi soạn; hiện "đang soạn" theo độ dài câu, tối đa 20 giây.
- Giãn cách 4–9 giây giữa hai tin gửi đi.
- Giới hạn 20 tin/giờ mỗi hội thoại, 80 tin/giờ và 400 tin/24 giờ toàn tài khoản (chủ không bị giới hạn).
- Gộp các tin nhắn dồn dập trong 4 giây thành một lượt.
- Không bao giờ gửi tin rỗng.

Tạm thời trả lời bằng một câu chào cố định để mình thử kết nối; bộ não AI sẽ gắn ở bước sau.
LANHMAR
Prompt 5/10

Gắn bộ não cho bot

Bạn tự làm trước

  • A: mua gói ChatGPT Go tại chatgpt.com.
  • B: console.anthropic.com → nạp tiền → tạo API key → đặt giới hạn chi tiêu tháng → dán key vào .env.
✓ Đạt khi Bot trả lời Zalo bằng AI, đúng giọng và đúng chế độ đã đặc tả. Nhật ký ghi được thời gian (A) hoặc chi phí (B) mỗi tin.
Bộ não của bot dùng Hermes với đăng nhập gói ChatGPT của mình.
1. Kiểm tra Hermes đã có trên máy chưa (VPS iNet của Challenge CH21AI được giới thiệu là cài sẵn). Chưa có thì cài theo hướng dẫn chính thức của Hermes Agent.
2. Hướng dẫn mình chạy "hermes model", chọn "ChatGPT or Codex Subscription" và đăng nhập.
3. Cho bot gọi Hermes để trả lời tin nhắn. Khoá Hermes chỉ còn quyền trả lời chữ: không terminal, không đọc hoặc ghi file.
4. Đặt LLM_PROVIDER=hermes trong .env để sau này đổi qua lại.
5. Nhắn thử vài câu, báo mình mỗi câu mất bao lâu và máy còn bao nhiêu RAM.
LANHMAR
Prompt 6/10

Nối dữ liệu và ghi nguồn

Bạn tự làm trước

  • Notion: Settings → Connections → tạo integration → lưu token → ở từng trang cần dùng, bấm ••• → Connections → thêm integration.
  • Google: nhắn Claude "hướng dẫn mình từng bước tạo service account và tải file khoá" rồi làm theo; chia sẻ thư mục Drive cho email của service account.
✓ Đạt khi Hỏi 3 câu có trong tài liệu: bot trả lời đúng, kèm tên tài liệu. Hỏi 1 câu không có: bot nói "chưa có trong kho".
Prompt
Thêm chế độ Data Storage (chỉ chủ dùng trong chat riêng): hỏi đáp trên các trang Notion và thư mục Google Drive mình đã chia sẻ cho bot. Token Notion và file khoá Google mình đã đặt theo hướng dẫn của bạn.

Yêu cầu:
- Đọc PDF, Google Docs, Word (.docx); bỏ qua video, ảnh, bảng tính.
- Máy ít RAM: đọc từng tệp trong tiến trình con có giới hạn bộ nhớ; tệp nào gây lỗi thì bỏ qua và ghi lại; lưu tiến độ sau mỗi vài tệp.
- Chia tài liệu thành đoạn khoảng 900 ký tự. Tìm kiếm kiểu BM25, không phân biệt dấu, ưu tiên tên tài liệu; mỗi câu hỏi chỉ đưa 6–8 đoạn liên quan nhất cho AI.
- Luôn ghi tên tài liệu nguồn. Không có trong kho thì nói rõ, không được bịa.
- Notion báo lỗi 429 thì chờ rồi thử lại. Tự nạp lại mỗi 30 phút; thêm lệnh /sync để nạp ngay.
LANHMAR
Prompt 7/10

Lịch và task tự xếp

Bạn tự làm trước

  • Google Calendar → Cài đặt lịch → Chia sẻ với email service account, quyền "Thực hiện thay đổi đối với sự kiện".
  • Tạo vài sự kiện tên "Trả task" trong tuần làm khung làm việc.
  • Đặt màu Tomato (đỏ) cho từng sự kiện quan trọng.
✓ Đạt khi Gửi một recap mẫu có 3 việc của bạn và 1 việc của người khác: lịch có 3 task đúng hạn; việc của người khác chỉ được lưu.
Prompt
Thêm chế độ Workspace (chỉ chủ dùng):
- Mình gửi file recap cuộc họp (PDF, Word .docx, .txt) hoặc nhắn "thêm task ..., hạn ...". Lưu recap vào sổ tay MEETING trên NotebookLM nếu đã kết nối.
- AI trích từng task: tên việc, hạn chót, thời lượng ước tính, người phụ trách. Task của người khác chỉ lưu, không xếp vào lịch của mình.
- Chống trùng: hai task giống nhau ít nhất 75% từ và hạn cách nhau không quá 3 ngày thì coi là một; task đã xong không được "sống lại".
- Xếp task vào các sự kiện "Trả task" trên Google Calendar: hạn gần xếp trước, việc dài chia nhiều khung, ghi danh sách vào mô tả sự kiện, không đụng sự kiện khác. Thiếu thời gian thì báo thiếu bao nhiêu phút.
- Lệnh: /task, /xong <số>, /xep, /themtask.

Nhắc tự động theo giờ Việt Nam: 06:00 lịch hôm nay (sự kiện màu Tomato là quan trọng), 06:10 xếp lại task (chỉ nhắn khi có vấn đề), 08:00 task sắp hạn hoặc quá hạn, 20:00 lịch quan trọng ngày mai, 07:30 thứ Hai tổng kết task tồn đọng.
LANHMAR
Prompt 8/10

Sổ thu chi FinanceOS

Bạn tự làm trước

  • Tạo một trang Notion riêng tên "FinanceOS", kết nối integration của bot vào trang này.
  • Cần dùng đường API (prompt 5, phương án B) vì phải đọc ảnh hoá đơn.
✓ Đạt khi Ghi đúng 5 khoản chi và 1 khoản thu; gửi 1 ảnh hoá đơn ra đúng số tiền; thử vượt hạn mức thì nhận cảnh báo.
Prompt
Dựng FinanceOS trong trang Notion "FinanceOS" mình đã chia sẻ:
- Bảng Hũ chi tiêu với 5 hũ: Thiết yếu 55%, Nâng cấp bản thân 20%, Hưởng thụ 10%, Tiết kiệm 10%, Cho đi 5% (mình có thể đổi tên và tỷ lệ sau).
- Bảng Giao dịch: nội dung, số tiền, loại (chi, thu, chi hộ, thu hộ), hũ, ngày, tháng, quý, năm.
- Bảng Tổng kết tháng, quý, năm và biểu đồ.

Ở chế độ MoneyTalk (chỉ chủ):
- Mình nhắn "cà phê 45k", "ăn tối 200k hôm qua", "nhận lương 15tr", nhiều khoản trong một tin, hoặc gửi ảnh hoá đơn. Bot ghi vào Giao dịch, tự chọn hũ, nhắn xác nhận ghi rõ hũ và ngày.
- Hạn mức hũ = tỷ lệ × thu nhập đã ghi trong tháng; chưa ghi thu nhập thì nhắc mình ghi. Cảnh báo khi hũ dùng tới 80% và khi vượt 100%, mỗi mốc một lần mỗi tháng.
- Sửa bằng lời: "huỷ khoản vừa rồi", "đổi sang hũ Thiết yếu", "đổi ngày thành 10/10".
- 21:00 ngày cuối tháng, quý, năm: gửi tổng kết, so với kỳ trước, 3 khoản chi lớn nhất.
LANHMAR
Prompt 9/10

An toàn và sao lưu

Bạn tự làm trước

  • Không cần chuẩn bị gì thêm. Nên làm ngay sau khi bot chạy ổn vài ngày.
✓ Đạt khi Khởi động lại máy chủ: bot tự chạy lại; CLAUDE.md có checklist vận hành một trang; có bản sao lưu đầu tiên.
Prompt
Rà soát an toàn và độ bền cho bot:
1. File .env, phiên Zalo, file khoá Google: chỉ chủ sở hữu được đọc.
2. Tạo .claude/settings.json: cho phép đọc mã và xem nhật ký không cần hỏi; cấm đọc các file khoá (.env, phiên Zalo, khoá Google, hồ sơ NotebookLM, thư mục .ssh).
3. Bot tự chạy lại khi lỗi; chỉ báo "Bot đã chạy" qua Telegram nếu lần trước cách hơn 6 giờ.
4. Lưu mã bằng git; sao lưu thư mục dữ liệu mỗi ngày.
5. Ghi vào CLAUDE.md một checklist vận hành: xem bot có chạy không, đọc nhật ký, khởi động lại, việc cần làm khi bot im lặng.

Sau đó khởi động lại máy chủ và xác nhận bot tự chạy lại. Báo mình kết quả từng mục.
LANHMAR
Prompt 10/10

Điều khiển từ điện thoại

Bạn tự làm trước

  • Cần gói Claude Pro trở lên.
  • Cài ứng dụng Claude trên điện thoại, đăng nhập cùng tài khoản.
✓ Đạt khi Trên điện thoại: app Claude → tab Code → mở phiên của bot; nhắn "đổi câu chào của bot" và bot vẫn chạy sau khi sửa.
Prompt
Mình muốn cập nhật và sửa bot ngay từ điện thoại qua Remote Control.
1. Hướng dẫn mình bật Remote Control cho thư mục bot này với tên "Trợ lý Zalo".
2. Cho Remote Control chạy nền bằng systemd để lúc nào cũng sẵn sàng, đặt giới hạn bộ nhớ hợp lý để không làm bot chậm.
3. Ghi vào CLAUDE.md quy trình mỗi lần sửa bot: mô tả việc cần sửa → nêu kế hoạch → chờ mình duyệt → sửa → kiểm tra cú pháp → khởi động lại bot → đọc nhật ký xác nhận → báo kết quả.

Khi mình nhắn từ điện thoại, hãy trả lời ngắn gọn, bằng tiếng Việt dễ hiểu.
LANHMAR
Khi có sự cố

Bot lỗi? Đừng hoảng

Ba triệu chứng hay gặp nhất và nguyên nhân thường gặp:

Im lặng hoàn toànĐang ở chế độ Ngủ, phiên Zalo bị ngắt (có ai mở Zalo Web bằng tài khoản bot?), hoặc đã chạm giới hạn gửi tin.
Sập, báo "Bot đã chạy" liên tụcHết RAM khi đọc tài liệu lớn.
Trả lời "chưa có" dù tài liệu cóCách tìm kiếm chưa tốt, hoặc chưa /sync sau khi thêm tài liệu.
Prompt gỡ lỗi
Bot đang gặp sự cố: [mô tả, ví dụ: không trả lời tin Zalo], bắt đầu từ [thời điểm].

Đừng sửa ngay. Hãy:
1. Đọc 50 dòng nhật ký gần nhất của bot.
2. Cho mình biết lỗi nằm ở bước nào: nhận tin, gọi AI, đọc dữ liệu hay gửi tin, và nguyên nhân có khả năng nhất, giải thích bằng tiếng Việt dễ hiểu.
3. Đề xuất cách sửa nhỏ nhất và chờ mình đồng ý.
4. Sửa xong thì kiểm tra cú pháp, khởi động lại bot, đọc nhật ký để xác nhận bot đã chạy lại bình thường, rồi báo mình kết quả.
Bắt đầu từ đâu

Chọn một việc lặp lại nhất tuần này.

Viết nó thành quy tắc "khi... thì...". Đó là bản đặc tả đầu tiên cho trợ lý của bạn.

Xem dự án → Liên hệ với mình

LANHMAR ★ DIGITAL MARKETER

1
← → để chuyển · F toàn màn hình