> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Xây dựng và xuất bản

> Xây dựng ứng dụng với AI, lặp lại trên bản xem trước trực tiếp và triển khai vào sản xuất.

## Tạo ứng dụng

Hai cách:

* **Hỏi AI** - mô tả những gì bạn muốn trong một thread và AI sẽ xây dựng nó
* **Nút ứng dụng mới** - nhấp **+** trong thanh bên Drive và chọn **Ứng dụng mới**

AI chọn một mẫu khởi đầu dựa trên những gì bạn yêu cầu:

| Mẫu       | Những gì bạn nhận được | Sử dụng khi bạn cần                           |
| --------- | ---------------------- | --------------------------------------------- |
| `ui`      | Ứng dụng web React     | Ứng dụng web, bảng điều khiển, trang đích     |
| `process` | Máy chủ HTTP           | API, trình xử lý webhook, công việc theo lịch |

## Một ứng dụng, một nhánh

Mỗi ứng dụng là một lần checkout git duy nhất trên `main`. Không có bản nháp riêng, không chuyển nhánh, không bước hợp nhất. Mỗi chỉnh sửa được đưa vào `main` dưới dạng một commit; xuất bản chỉ là "triển khai `main` hiện tại".

## Chu kỳ xây dựng

1. AI viết mã trực tiếp trên `main`
2. AI khởi động máy chủ dev. Bạn thấy bản xem trước trực tiếp.
3. Bạn lặp lại bằng chat: "di chuyển biểu đồ sang thanh bên", "thêm chủ đề tối"
4. Máy chủ dev tải lại nóng sau mỗi chỉnh sửa
5. Khi sẵn sàng, xuất bản

## Xuất bản

Xuất bản triển khai commit `main` hiện tại. Không có nhánh sản xuất riêng — commit được xuất bản gần đây nhất trên `main` là những gì đang hoạt động.

Khi bạn xuất bản vào danh mục để những người khác cài đặt, ứng dụng của bạn nhận được mã thông báo nhận dạng người dùng khi khởi chạy, khóa cài đặt cho backend của nó và webhook cài đặt/gỡ cài đặt. Xem [Xuất bản](/apps/publishing).

## Bộ nhớ đệm, cập nhật và chế độ ngoại tuyến

Desktop và mobile chỉ mở URL ứng dụng của bạn trong chế độ xem trình duyệt bình thường. Chúng **không** xóa bộ nhớ đệm trình duyệt, buộc tải chỉ mạng hoặc chọn chính sách bộ nhớ đệm khác cho ứng dụng công khai so với riêng tư.

Ứng dụng web của bạn sở hữu bộ nhớ đệm:

* Tiêu đề HTTP `Cache-Control` cho tài liệu và tài sản
* Thiết lập service worker / PWA tùy chọn (các mẫu gửi `vite-plugin-pwa` với tự động cập nhật)
* Liệu bản dựng mới được kích hoạt ngay lập tức, tải lại một lần hay chờ lần mở tiếp theo
* Dự phòng ngoại tuyến cho bản dựng được kích hoạt mới nhất

Khi Kazzle thấy phiên bản được xuất bản mới cho tab ứng dụng đang mở, nó yêu cầu service worker đã đăng ký kiểm tra cập nhật (`registration.update()`). Các ứng dụng không có service worker bỏ qua kiểm tra đó và tiếp tục sử dụng tiêu đề bộ nhớ đệm HTTP của riêng chúng.

Do đó, các ứng dụng được xuất bản có thể mở ngay từ bộ nhớ đệm, nhận bản dựng mới mà không cần làm mới cứng và giữ bản dựng mới nhất có sẵn ngoại tuyến.

## Triển khai

Sau khi xuất bản, triển khai để có URL trực tiếp:

* **Ứng dụng từ xa** triển khai vào cloud của Kazzle và nhận URL công khai
* **Ứng dụng cục bộ** cài đặt trên máy tính của bạn. Giao diện người dùng tải trực tiếp và phần quy trình chạy máy chủ dev.

## Ứng dụng thời gian thực

Đối với các ứng dụng cần đọc cục bộ tức thì và hỗ trợ ngoại tuyến, AI:

1. Tạo cơ sở dữ liệu
2. Bật đồng bộ hóa thời gian thực
3. Xây dựng ứng dụng hai phần: Giao diện người dùng (React + máy khách đồng bộ) và Quy trình (điểm cuối mã thông báo + tải lên đồng bộ)
4. Kết nối thông tin xác thực thông qua [vault](/work/vault)

Xem [Đồng bộ hóa thời gian thực](/apps/sync) để biết cách hoạt động.

## Trang đích

Trang đích là ứng dụng chỉ giao diện người dùng. Không backend, không cơ sở dữ liệu. Mô tả trang và AI sẽ xây dựng nó, triển khai nó và cung cấp cho bạn URL trực tiếp. Để sử dụng miền tùy chỉnh, hãy trỏ miền hoặc tên miền phụ của bạn đến URL ứng dụng được triển khai.
