Share mã nguồn Chùa Online tương tác TikTok Live và hướng dẫn tự code bằng Claude AI

Màn hình Chùa Online TikTok Live 9:16 với bảng điều khiển nhanh

Share mã nguồn Chùa Online tương tác TikTok Live và hướng dẫn tự code bằng Claude AI

Chùa Online TikTok Live là dự án mã nguồn mở công khai trên GitHub, xây dựng một không gian livestream dọc 9:16 với các hiệu ứng tương tác theo hoạt động của người xem. Khi khán giả thả tim, follow, chia sẻ, bình luận hoặc gửi quà, hệ thống có thể kích hoạt những hoạt cảnh như gõ mõ, thỉnh chuông, thắp hương, thả đèn hoa đăng, gieo quẻ và đại lễ hoa sen. Dự án còn tích hợp giọng đọc AI tiếng Việt, bảng vàng công đức và giao diện điều khiển để kết nối với OBS Studio hoặc TikTok Live Studio.

Bài viết này giới thiệu dự án tiktok-live-temple-rpc, giải thích kiến trúc kỹ thuật, hướng dẫn cài đặt và gọi điều khiển bằng JSON-RPC. Bên cạnh việc tham khảo mã nguồn có sẵn, bạn cũng sẽ biết cách tiếp cận quy trình tự xây dựng một dự án tương tự với Claude Code: viết tài liệu đặc tả trước, chia nhỏ tính năng, triển khai từng phần và kiểm thử có hệ thống.

1. Giới thiệu dự án Chùa Online tương tác TikTok Live

Dự án được công bố tại repo tiktok-live-temple-rpc trên GitHub, do tác giả zane-tv thực hiện. Đây là nguồn mã để cộng đồng tham khảo cách xây dựng một ứng dụng livestream tương tác, kết hợp giao diện web, kết nối sự kiện TikTok Live, hiệu ứng hình ảnh và giọng đọc AI.

Điểm đáng chú ý của dự án là cách biến những hành động quen thuộc trên livestream thành hoạt cảnh trực quan. Thay vì chỉ hiển thị số lượt tim hoặc bình luận, hệ thống diễn giải sự kiện thành hành động tương ứng trên màn hình. Ví dụ, người xem thả tim sẽ làm nhân vật gõ mõ; người xem bình luận lời cầu nguyện có thể kích hoạt hoạt cảnh thả đèn hoa đăng và đọc nội dung.

Giao diện được thiết kế theo khung hình dọc 9:16, độ phân giải 1080×1920, phù hợp làm nguồn hình cho OBS Studio hoặc TikTok Live Studio. Ứng dụng chạy bằng Bun.js, sử dụng WebSocket và JSON-RPC để nhận lệnh điều khiển từ các công cụ bên ngoài.

Lưu ý về quyền sử dụng: mã nguồn và công sức phát triển thuộc về tác giả zane-tv. Repo hiện chưa có file LICENSE, vì vậy không nên mặc định rằng mã nguồn được cấp quyền sử dụng, chỉnh sửa hoặc phân phối theo một giấy phép mã nguồn mở cụ thể. Nếu định tích hợp vào sản phẩm thương mại, cung cấp dịch vụ hoặc phân phối lại phiên bản đã chỉnh sửa, hãy liên hệ tác giả để xin phép và thống nhất điều kiện sử dụng. Bài viết này giới thiệu dự án để tham khảo kỹ thuật, không tuyên bố quyền sở hữu mã nguồn.

Màn hình Chùa Online TikTok Live 9:16 với bảng điều khiển nhanh
Màn hình chánh điện 9:16 và bảng điều khiển nhanh khi chạy thực tế tại localhost.

2. Những tính năng nổi bật của mã nguồn TikTok Live tương tác

2.1. Hoạt cảnh phản hồi theo hành động người xem

Hệ thống nhận các sự kiện livestream và chuyển chúng thành hành động tương ứng trong giao diện. Mỗi loại tương tác có điểm công đức và hiệu ứng riêng, giúp nội dung phát sóng có diễn biến trực quan thay vì chỉ là một màn hình hiển thị bình luận thông thường.

2.2. Giọng đọc AI tiếng Việt bằng ZeroTTS

Dự án sử dụng ZeroTTS của zeroweight-ai để tạo giọng đọc AI tiếng Việt. Thành phần TTS chạy thông qua tiến trình Python riêng có tên tts_worker.py. Cách tách tiến trình này giúp phần ứng dụng Bun.js đảm nhiệm máy chủ và điều phối sự kiện, trong khi Python xử lý tác vụ tổng hợp giọng nói.

2.3. Bảng vàng công đức

Bảng vàng hiển thị 6 vị trí VIP, ghi nhận những người tham gia tương tác theo cơ chế của chương trình. Trạng thái được lưu trong tệp data/merit-state.json, nhờ đó dữ liệu bảng vàng có thể được duy trì qua các lần chạy ứng dụng theo cách dự án thiết kế.

2.4. Giao diện điều khiển và RPC

Ngoài màn hình livestream, dự án có giao diện điều khiển và trang quản trị RPC. Các thành phần bên ngoài có thể gửi lệnh qua HTTP hoặc WebSocket, giúp tích hợp vào quy trình livestream mà không cần thao tác trực tiếp trên từng hiệu ứng.

Thành phần Chức năng
Giao diện live Hiển thị hoạt cảnh theo bố cục dọc 9:16.
Bộ nhận sự kiện Kết nối TikTok Live và tiếp nhận tương tác.
ZeroTTS Tạo giọng đọc AI tiếng Việt qua tiến trình Python.
Bảng vàng công đức Hiển thị 6 vị trí VIP và lưu trạng thái trong JSON.
JSON-RPC Nhận lệnh điều khiển từ công cụ bên ngoài.
Trang admin Hỗ trợ kiểm tra và thao tác với các phương thức RPC.

3. Bảng quy tắc tương tác trong livestream

Các hành động được ánh xạ thành hiệu ứng theo nhóm tương tác. Bảng dưới đây tóm tắt quy tắc được mô tả trong dự án, bao gồm hành động, điều kiện kích hoạt và điểm công đức tương ứng.

Tương tác Điều kiện hoặc nội dung Hoạt cảnh Điểm
Thả tim Mỗi lượt tim Gõ mõ +1/tim
Follow hoặc share Người xem theo dõi hoặc chia sẻ Thỉnh chuông +10
Bình luận thắp hương “thắp hương”, “dâng hương”, “bái phật” Nhân vật Phật tử bước lên, quỳ lạy 3 lạy và đọc tên +15
Bình luận cầu nguyện “cầu…”, “nguyện…”, “nam mô”, “bình an” Thả đèn hoa đăng và đọc lời cầu +10
Xin xăm, gieo quẻ “xin xăm”, “gieo quẻ” Lắc ống xăm và mở tờ giải quẻ +10
Quà nhỏ 1–4 xu Hiệu ứng quà cấp nhỏ Theo hiệu ứng quà
Quà vừa 5–99 xu Hiệu ứng quà cấp vừa Theo hiệu ứng quà
Quà lớn Từ 100 xu Hiệu ứng tăng dần, có đại lễ mưa hoa sen vàng Theo hiệu ứng quà

Với nhóm quà tặng, dự án phân cấp hiệu ứng theo giá trị xu để tạo sự khác biệt về hình ảnh. Không nên tự ý diễn giải điểm công đức của từng loại quà nếu chưa kiểm tra cấu hình thực tế trong mã nguồn. Tương tự, người triển khai nên kiểm tra cách cộng điểm khi một người gửi nhiều tương tác liên tiếp để tránh ghi nhận trùng hoặc tạo tải xử lý không cần thiết.

4. Kiến trúc kỹ thuật: Bun.js, Python TTS và JSON-RPC

Về tổng thể, dự án gồm một máy chủ Bun.js, giao diện web, thành phần kết nối TikTok Live và tiến trình Python xử lý giọng đọc. Các thành phần trao đổi dữ liệu thông qua những cơ chế được thiết kế riêng, trong đó JSON-RPC 2.0 đóng vai trò giao diện điều khiển.

4.1. Máy chủ Bun.js

Ứng dụng yêu cầu Bun.js phiên bản 1.1 trở lên. Các thư viện npm được sử dụng gồm express, ws, cors và tiktok-live-connector. Express phục vụ các đường dẫn giao diện và API; WebSocket hỗ trợ kết nối hai chiều; CORS phục vụ việc kiểm soát truy cập giữa các nguồn; còn tiktok-live-connector đảm nhiệm phần kết nối sự kiện TikTok Live.

4.2. Tiến trình Python và ZeroTTS

Phần đọc tiếng Việt chạy bằng Python 3.10 trở lên. Dự án dùng uv để tạo môi trường ảo và cài đặt các gói cần thiết. Tiến trình tts_worker.py đảm nhiệm công việc liên quan đến ZeroTTS, giúp tách tác vụ tổng hợp giọng nói khỏi máy chủ chính.

4.3. JSON-RPC 2.0 và các phương thức điều khiển

Ứng dụng cung cấp JSON-RPC 2.0 qua hai điểm kết nối: HTTP POST tại /rpc và WebSocket tại ws://localhost:3000/ws. Các công cụ như TikFinity, Streamer.bot hoặc lệnh curl có thể sử dụng RPC để gửi yêu cầu đến ứng dụng.

Nhóm phương thức Method Mục đích
Trạng thái temple.getState Lấy trạng thái ứng dụng.
Nghi thức và hoạt cảnh temple.burnIncense, temple.sendPrayer, temple.drawFortune Kích hoạt thắp hương, lời cầu và gieo quẻ.
Hiệu ứng tương tác temple.strikeWoodenFish, temple.ringBell, temple.offerGift, temple.grandCeremony Điều khiển mõ, chuông, quà và đại lễ.
Cấu hình temple.updateSettings, temple.resetMerit Cập nhật thiết lập và đặt lại công đức.
Kết nối livestream live.connect, live.disconnect Kết nối hoặc ngắt kết nối phiên live.

Danh sách trên là tên các phương thức được dự án cung cấp. Khi tích hợp thực tế, cần xem cách từng method nhận tham số và trả kết quả trong mã nguồn hoặc trang admin, không nên tự giả định mọi method đều dùng chung một cấu trúc dữ liệu.

Sơ đồ kiến trúc Bun.js Python ZeroTTS TikTok Live và JSON-RPC của Chùa Online
Bun.js điều phối ứng dụng, Python xử lý giọng đọc và JSON-RPC tiếp nhận lệnh điều khiển.

5. Hướng dẫn cài đặt mã nguồn Chùa Online

Trước khi cài đặt, hãy chuẩn bị môi trường có Bun.js phiên bản 1.1 trở lên, Python 3.10 trở lên và công cụ uv. Bạn cũng cần Git để lấy mã nguồn từ GitHub. Các lệnh dưới đây mô tả quy trình cài đặt theo cấu trúc dự án; nếu repo cập nhật, hãy ưu tiên hướng dẫn mới nhất trong README và tài liệu đi kèm.

Bước 1: Lấy mã nguồn từ GitHub

Mở Terminal hoặc cửa sổ dòng lệnh, tải repository về máy và chuyển vào thư mục dự án:

git clone https://github.com/zane-tv/tiktok-live-temple-rpc.git
cd tiktok-live-temple-rpc

Bước 2: Cài đặt thư viện JavaScript

Sử dụng Bun để cài các package được khai báo trong dự án:

bun install

Bước 3: Tạo môi trường Python cho ZeroTTS

Tạo môi trường ảo bằng uv, sau đó cài ZeroTTS và Pillow vào môi trường vừa tạo:

uv venv .venv
uv pip install --python .venv/bin/python zerotts pillow

Trên môi trường không sử dụng đường dẫn thực thi kiểu Unix, cần điều chỉnh đường dẫn Python trong lệnh cho phù hợp với hệ điều hành. Không nên cài các thư viện Python tùy tiện vào môi trường hệ thống nếu dự án đã sử dụng môi trường ảo riêng.

Bước 4: Khởi động ứng dụng

Sau khi hoàn tất các bước cài đặt, chạy ứng dụng bằng một trong hai lệnh:

bun start

# Hoặc chạy chế độ phát triển
bun run dev

Khi máy chủ khởi động thành công, mở trình duyệt tại http://localhost:3000 để truy cập giao diện live và điều khiển. Nếu gặp lỗi, hãy kiểm tra phiên bản Bun, Python, trạng thái môi trường ảo và các package đã cài.

6. Kết nối OBS Studio và TikTok Live

Dự án cung cấp các đường dẫn phục vụ những mục đích khác nhau. Người vận hành có thể mở giao diện đầy đủ để điều khiển hoặc sử dụng giao diện sạch dành riêng cho OBS.

Đường dẫn Mục đích
http://localhost:3000 Giao diện live và điều khiển.
http://localhost:3000/?obs=1 Giao diện sạch tỷ lệ dọc 9:16 dành cho OBS.
http://localhost:3000/admin Bảng quản trị và thao tác RPC.
ws://localhost:3000/ws Endpoint WebSocket cho JSON-RPC.

Để đưa giao diện vào OBS Studio, sử dụng nguồn trình duyệt và nhập địa chỉ http://localhost:3000/?obs=1. Thiết lập khung hình theo bố cục dọc 1080×1920 để phù hợp với thiết kế của dự án. Nếu sử dụng TikTok Live Studio, hãy chọn cách đưa nguồn hình vào theo quy trình mà phần mềm hỗ trợ trên máy của bạn.

Phần kết nối TikTok Live được điều khiển thông qua method live.connect. Khi tích hợp, sử dụng tên tài khoản TikTok theo dạng @username theo giao diện hoặc cấu trúc tham số mà repo quy định. Khi kết thúc phiên, sử dụng live.disconnect để ngắt kết nối. Do tên trường tham số cụ thể cần khớp với phần triển khai trong repository, hãy đối chiếu trang admin hoặc mã xử lý RPC trước khi cấu hình công cụ ngoài.

Trang admin JSON-RPC 2.0 của Chùa Online TikTok Live
Trang /admin: kết nối phòng live, gửi lệnh JSON-RPC và giả lập bình luận.

7. Ví dụ gọi JSON-RPC bằng curl

Với JSON-RPC 2.0, một yêu cầu HTTP thường gồm phiên bản giao thức, mã định danh request, tên method và đối tượng params. Ví dụ dưới đây minh họa cách gọi method lấy trạng thái ứng dụng qua endpoint /rpc:

curl -X POST http://localhost:3000/rpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "temple.getState",
    "params": {}
  }'

Để gọi một method khác, thay giá trị method bằng tên phương thức tương ứng. Chẳng hạn, nhóm phương thức có thể dùng để kích hoạt thắp hương, gửi lời cầu, gieo quẻ hoặc điều khiển hiệu ứng mõ và chuông. Cấu trúc tham số chi tiết phải căn cứ vào phần xử lý của từng method trong repo.

Ví dụ khung request dưới đây minh họa cách gọi method kết nối livestream. Tên trường username chỉ là vị trí minh họa cho dữ liệu tài khoản; hãy xác nhận tên trường chính xác trong mã nguồn trước khi sử dụng:

curl -X POST http://localhost:3000/rpc \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "live.connect",
    "params": {
      "username": "@username"
    }
  }'

Việc tách giao diện khỏi RPC giúp ứng dụng có thể nhận lệnh từ nhiều công cụ khác nhau. Tuy nhiên, cần bảo vệ endpoint điều khiển nếu triển khai trên mạng có nhiều người truy cập. Không nên công khai máy chủ RPC ra Internet khi chưa có cơ chế kiểm soát truy cập phù hợp.

8. Cách tự code dự án tương tự bằng Claude AI

Nếu muốn phát triển một ứng dụng tương tự từ đầu, Claude Code có thể hỗ trợ tạo cấu trúc dự án, viết mã, chỉnh sửa nhiều tệp và kiểm tra lỗi trong quá trình phát triển. Tuy nhiên, cách làm hiệu quả không phải là yêu cầu AI viết toàn bộ ứng dụng bằng một câu lệnh. Nên bắt đầu bằng tài liệu đặc tả, chia chức năng thành từng phần nhỏ rồi mới triển khai.

8.1. Viết spec trước khi yêu cầu AI lập trình

Repo có thư mục docs/superpowers/specs chứa tài liệu thiết kế. Đây là cách làm đáng tham khảo: mô tả rõ mục tiêu, phạm vi, luồng dữ liệu, giao diện, phương thức RPC, quy tắc tương tác và điều kiện kiểm thử trước khi bắt đầu viết code.

Một bản spec tốt cần trả lời được các câu hỏi: ứng dụng nhận loại sự kiện nào, sự kiện nào kích hoạt hoạt cảnh nào, dữ liệu nào được lưu, giao diện cần những màn hình gì, các thành phần giao tiếp với nhau bằng cách nào và thế nào được xem là hoàn thành.

8.2. Chia nhỏ dự án thành các tính năng độc lập

Không nên yêu cầu Claude Code xây dựng cùng lúc giao diện, kết nối TikTok, TTS, hiệu ứng và bảng quản trị. Hãy chia thành các giai đoạn để dễ kiểm tra:

  • Giai đoạn 1: Tạo máy chủ Bun.js và giao diện livestream tĩnh.
  • Giai đoạn 2: Xây dựng endpoint JSON-RPC và kiểm tra từng method.
  • Giai đoạn 3: Tích hợp bộ nhận sự kiện TikTok Live.
  • Giai đoạn 4: Xây dựng bộ ánh xạ sự kiện thành hoạt cảnh.
  • Giai đoạn 5: Tích hợp tiến trình Python và ZeroTTS.
  • Giai đoạn 6: Hoàn thiện bảng vàng, lưu trạng thái và trang admin.
  • Giai đoạn 7: Kiểm thử tải, xử lý lỗi và tối ưu hiệu năng.

8.3. Mẫu prompt tiếng Việt cho Claude Code

Hãy đưa yêu cầu có bối cảnh, giới hạn kỹ thuật và tiêu chí nghiệm thu cụ thể. Ví dụ prompt khởi đầu:

Bạn là kỹ sư phần mềm phụ trách xây dựng ứng dụng livestream tương tác.

Hãy đọc toàn bộ tài liệu dự án trước khi viết code.
Trước tiên, tạo tài liệu spec bằng tiếng Việt, chưa triển khai
toàn bộ ứng dụng ngay.

Mục tiêu:
- Giao diện livestream dọc 9:16, kích thước 1080x1920.
- Máy chủ sử dụng Bun.js.
- Có endpoint JSON-RPC 2.0 qua HTTP và WebSocket.
- Có bộ xử lý sự kiện livestream.
- Có hệ thống ánh xạ sự kiện thành hoạt cảnh.
- Có tiến trình Python riêng để xử lý giọng đọc AI.
- Có bảng xếp hạng và cơ chế lưu trạng thái.

Yêu cầu:
1. Đề xuất cấu trúc thư mục rõ ràng.
2. Mô tả luồng dữ liệu giữa các thành phần.
3. Liệt kê API, method và tham số dự kiến.
4. Xác định dữ liệu cần lưu và cách xử lý lỗi.
5. Viết tiêu chí kiểm thử cho từng tính năng.
6. Chỉ bắt đầu code sau khi hoàn thành spec.

Không tự tạo API hoặc thông số của thư viện
khi chưa kiểm tra tài liệu chính thức.

Sau khi duyệt spec, có thể yêu cầu Claude Code triển khai từng phần. Ví dụ, với RPC, hãy yêu cầu tạo một method, viết kiểm thử cho request hợp lệ, request thiếu tham số và trường hợp lỗi. Với giao diện, hãy yêu cầu hoàn thiện một khu vực trước khi chuyển sang hiệu ứng tiếp theo.

8.4. Kiểm thử trước khi đưa lên livestream

Hãy kiểm tra từng tầng riêng biệt. Trước tiên, xác nhận máy chủ khởi động và các đường dẫn giao diện hoạt động. Tiếp theo, gọi RPC bằng curl để kiểm tra request và response. Sau đó mới kết nối nguồn sự kiện livestream, kiểm tra các tình huống follow, share, bình luận và quà tặng. Cuối cùng, kiểm tra giọng đọc AI, trạng thái bảng vàng và khả năng khôi phục dữ liệu sau khi khởi động lại.

Với nội dung do người xem gửi, cần thử các trường hợp bình luận dài, ký tự lạ, nội dung lặp, Unicode và spam. Không nên để văn bản đầu vào được chuyển thẳng sang TTS mà không qua bước lọc và chuẩn hóa.

8.5. Tối ưu CPU và hoạt cảnh

Dự án có một số cách tối ưu đáng chú ý: particle canvas được khóa ở 30 FPS, tự dừng khi tab bị ẩn và sử dụng offscreen canvas để pre-render. Tám khung hình sprite nhân vật được nạp sẵn để phục vụ hoạt cảnh. Phần văn bản được lọc ký tự lạ, hạn chế spam và chuẩn hóa Unicode theo trình tự NFKC rồi NFC trước khi đưa sang TTS.

Khi tự phát triển, hãy đo mức sử dụng CPU và bộ nhớ trong lúc có nhiều tương tác thay vì chỉ kiểm tra khi màn hình đứng yên. Hiệu ứng hạt, animation, giọng đọc và việc cập nhật bảng xếp hạng cùng lúc có thể tạo tải đáng kể. Nên giới hạn tần suất xử lý, tái sử dụng tài nguyên và tránh tạo quá nhiều đối tượng hình ảnh mới trong mỗi khung hình.

Quy trình dùng Claude Code viết spec và phát triển ứng dụng livestream tương tác
Viết đặc tả trước, chia nhỏ tính năng, triển khai và kiểm thử từng phần.

9. Cấu hình máy tính phù hợp để livestream tương tác

Với ứng dụng livestream dạng này, máy tính không chỉ chạy phần mềm phát sóng mà còn phải vận hành trình duyệt, hiệu ứng canvas, kết nối sự kiện, tiến trình Python TTS và các công cụ điều khiển. Vì vậy, nên lựa chọn cấu hình cân đối thay vì chỉ tập trung vào một linh kiện.

CPU và RAM

CPU cần đủ khả năng xử lý đồng thời máy chủ Bun.js, trình duyệt, phần mềm livestream và các tác vụ nền. Nếu vừa phát sóng vừa chạy Claude Code hoặc các công cụ phát triển khác, bộ xử lý nhiều nhân và khả năng đa nhiệm tốt sẽ hữu ích. RAM nên được lựa chọn theo tổng số ứng dụng dự kiến mở cùng lúc, đặc biệt khi chạy trình duyệt với nhiều tab và tiến trình Python.

GPU và màn hình

GPU đảm nhiệm việc xử lý hình ảnh, hiển thị giao diện và hỗ trợ quy trình livestream. Nếu nội dung chỉ gồm giao diện 2D, hiệu ứng canvas và nhân vật sprite, không nhất thiết phải xây dựng cấu hình theo hướng máy trạm đồ họa chuyên sâu. Tuy nhiên, nếu kết hợp dựng video, thiết kế hình ảnh hoặc xử lý nội dung nặng, GPU phù hợp sẽ giúp hệ thống linh hoạt hơn.

SSD, mạng và khả năng tản nhiệt

SSD giúp hệ điều hành, mã nguồn và thư viện được truy cập thuận tiện. Kết nối mạng ổn định rất quan trọng khi nhận sự kiện livestream và truyền hình ảnh lên nền tảng. Máy cũng cần hệ thống tản nhiệt phù hợp để tránh hoạt động thiếu ổn định khi phát sóng trong thời gian dài.

Nếu mục tiêu là phát triển nội dung và chạy nhiều môi trường cùng lúc, bạn có thể tham khảo cấu hình PC đồ họa dựng phim để định hướng lựa chọn linh kiện. Với nhu cầu chạy thêm môi trường giả lập hoặc nhiều tác vụ nền, bài viết PC giả lập treo tab cũng có thể cung cấp góc nhìn về việc cân đối CPU và RAM.

Kinh nghiệm kỹ thuật viên Gia Phong

Khi xây dựng một bộ PC phục vụ livestream tương tác, kỹ thuật viên Gia Phong khuyến nghị nên xác định rõ số lượng phần mềm chạy đồng thời và loại nội dung phát sóng. Một máy chỉ chạy OBS cùng giao diện web sẽ có yêu cầu khác với máy vừa livestream, vừa chạy TTS, công cụ điều khiển, trình duyệt và môi trường lập trình.

  • Kiểm tra tải thực tế: Chạy thử toàn bộ ứng dụng cùng lúc, quan sát CPU, RAM và mức độ ổn định trước khi phát sóng chính thức.
  • Ưu tiên sự ổn định: Không nên ép xung hoặc sử dụng cấu hình thiếu cân đối nếu máy cần hoạt động liên tục trong thời gian dài.
  • Kiểm tra mạng: Đảm bảo đường truyền ổn định và hạn chế các ứng dụng nền chiếm dụng băng thông.
  • Quản lý tiến trình: Theo dõi Bun.js và Python TTS để phát hiện tiến trình bị treo hoặc tiêu thụ tài nguyên bất thường.
  • Kiểm thử trước giờ live: Thử các tình huống tương tác, âm thanh, hình ảnh và kết nối trước khi đưa chương trình lên sóng.

Một lưu ý khác là tiktok-live-connector là thư viện không chính thức, không phải API chính thức do TikTok cung cấp. Cách hoạt động và khả năng tương thích có thể thay đổi theo nền tảng. Người triển khai cần tự đánh giá rủi ro, kiểm tra cập nhật của thư viện và tuân thủ điều khoản, chính sách TikTok tại thời điểm sử dụng.

Câu hỏi thường gặp (FAQ)

1. Mã nguồn Chùa Online TikTok Live được chia sẻ ở đâu?

Mã nguồn được tác giả zane-tv công bố tại repository tiktok-live-temple-rpc trên GitHub. Người đọc có thể truy cập repo để xem cấu trúc thư mục, mã nguồn và tài liệu thiết kế. Repo chưa có file LICENSE nên cần liên hệ tác giả nếu muốn sử dụng cho mục đích thương mại hoặc phân phối lại.

2. Chùa Online sử dụng công nghệ nào để chạy?

Dự án sử dụng Bun.js phiên bản 1.1 trở lên cho máy chủ, các thư viện express, ws, cors và tiktok-live-connector. Phần giọng đọc AI tiếng Việt sử dụng ZeroTTS chạy qua tiến trình Python tts_worker.py, yêu cầu Python 3.10 trở lên.

3. Có thể đưa giao diện Chùa Online vào OBS Studio không?

Có. Dự án cung cấp đường dẫn http://localhost:3000/?obs=1 dành cho giao diện OBS sạch theo tỷ lệ dọc 9:16. Người dùng có thể thêm đường dẫn này làm nguồn trình duyệt trong OBS và thiết lập bố cục phát sóng phù hợp.

4. Có thể điều khiển Chùa Online bằng TikFinity hoặc Streamer.bot không?

Dự án cung cấp JSON-RPC 2.0 qua HTTP POST tại /rpc và WebSocket tại ws://localhost:3000/ws. Các công cụ như TikFinity và Streamer.bot có thể gửi lệnh đến những endpoint này. Cần cấu hình đúng method, tham số và cách kết nối theo tài liệu của từng công cụ.

5. Có thể dùng Claude AI để tự xây dựng một dự án tương tự không?

Có thể sử dụng Claude Code để hỗ trợ viết spec, thiết kế cấu trúc, triển khai từng module và kiểm thử. Nên chia dự án thành các phần nhỏ như giao diện, RPC, kết nối livestream, hiệu ứng và TTS. Luôn kiểm tra mã do AI tạo ra, đặc biệt với API bên thứ ba, dữ liệu người dùng và các chức năng có thể ảnh hưởng đến phiên phát sóng.

Kết luận

Chùa Online TikTok Live là một ví dụ đáng tham khảo về cách kết hợp Bun.js, Python ZeroTTS, JSON-RPC và giao diện web để tạo livestream tương tác. Dự án có nhiều thành phần thực tế như bộ nhận sự kiện, hoạt cảnh theo bình luận, bảng vàng công đức, giọng đọc AI và khả năng điều khiển từ công cụ bên ngoài.

Nếu muốn học cách phát triển ứng dụng tương tự, hãy bắt đầu bằng việc đọc tài liệu thiết kế trong repo, hiểu luồng dữ liệu và thử nghiệm từng method RPC. Khi sử dụng Claude Code, cách làm hiệu quả là viết spec trước, chia nhỏ tính năng, kiểm thử từng module và tối ưu hiệu năng sau khi hệ thống hoạt động ổn định.

Cuối cùng, hãy tôn trọng công sức của tác giả zane-tv, xin phép trước khi sử dụng mã nguồn cho mục đích thương mại và kiểm tra điều kiện cấp phép khi repository chưa có LICENSE. Với nội dung mang yếu tố tâm linh, cần thể hiện sự tôn trọng văn hóa, không cổ súy mê tín, không hứa hẹn linh ứng hay kết quả chắc chắn; đồng thời tuân thủ chính sách TikTok và quy định liên quan đến nội dung livestream.

📞 Gọi 💬 Zalo