Atomic Chat là trợ lý lập trình AI miễn phí, mã nguồn mở, chạy các LLM trọng số mở hoàn toàn trên máy của bạn và cung cấp chúng qua một máy chủ tương thích OpenAI tích hợp tại http://localhost:1337/v1. Nghĩa là bạn có thể trỏ mã hiện có, hoặc một tác nhân lập trình, vào một điểm cuối cục bộ và nhận gợi ý hoàn thành mà không cần khóa API đám mây hay giới hạn mức sử dụng. Chỉ cần giữ một mô hình cục bộ được chọn và tắt các công cụ mạng, câu lệnh của bạn sẽ ở lại trên thiết bị.

Trong hướng dẫn này, chúng ta sẽ giải thích cách cài đặt Atomic Chat trên Linux, tải một mô hình lập trình và dùng nó để hoàn thành một tác vụ lập trình thực tế, cả trong GUI lẫn từ terminal.

Các lệnh cài đặt nhắm đến Ubuntu 22.04+ hoặc Debian 12+ (x86_64, glibc 2.35+). Hãy tải ứng dụng, backend suy luận và mô hình về trước khi chuyển sang chế độ ngoại tuyến.

Bạn cần gì

  • Một máy để bàn Linux 64-bit (x86_64): Ubuntu 22.04+ hoặc Debian 12+
  • Khoảng 8 GB RAM cho một mô hình 3B lượng tử hóa nhỏ; 16 GB sẽ thoải mái hơn cho mô hình 7B. Độ dài ngữ cảnh và các ứng dụng khác cũng ảnh hưởng đến mức dùng bộ nhớ.
  • Khoảng 5–10 GB dung lượng đĩa trống cho ứng dụng cộng một mô hình
  • Trên Linux, Atomic Chat chỉ chạy các mô hình GGUF. Hãy ghi nhớ điều đó khi chọn mô hình.

Bước 1: Cài đặt Atomic Chat trên Linux

Atomic Chat được phát hành dưới dạng AppImage cho Linux, nên không có gì phải biên dịch. Hãy tải AppImage Atomic Chat mới nhất từ trang phát hành chính thức.

Để minh họa, chúng tôi sẽ tải Atomic.Chat_2.0.35_amd64.AppImage từ bản phát hành v2.0.35.

Đi đến vị trí bạn đã tải tệp về. Tôi đã tải nó vào thư mục ~/Downloads:

cd ~/Downloads

Cấp quyền thực thi:

chmod +x ./Atomic.Chat_2.0.35_amd64.AppImage

Và chạy AppImage Atomic Chat bằng lệnh:

./Atomic.Chat_2.0.35_amd64.AppImage

Nếu khởi chạy thất bại với lỗi thiếu libfuse.so.2, hãy cài thư viện tương thích FUSE. Trên các hệ thống Ubuntu 24.04, bạn có thể cài bằng lệnh:

sudo apt update
sudo apt install libfuse2t64

Trên Ubuntu 22.04, dùng libfuse2 thay thế. Không thay thế một bản cài đặt FUSE 3 hiện có:

sudo apt install libfuse2

Giao diện mặc định của Atomic Chat trông như sau:

Bước 2: Tải một mô hình lập trình

Atomic Chat có trình duyệt Hugging Face tích hợp, nên bạn không cần chạm vào terminal để lấy mô hình.

Mở trình duyệt mô hình và tìm bản dựng GGUF của một mô hình lập trình. Ở đây, chúng ta sẽ tải Qwen/Qwen2.5-Coder-3B-Instruct-GGUF, Q4_K_M.

Trên một máy 8 GB, hãy bắt đầu với mô hình 3B; với 16 GB, bạn có thể thử 7B để dành chỗ cho ngữ cảnh và các ứng dụng khác.

Khi quá trình tải xong, hãy chọn mô hình để engine cục bộ nạp nó. Mô hình giờ chạy hoàn toàn trên phần cứng của bạn.

Bước 3: Tạo và tái cấu trúc một script Python trong GUI Atomic

Hãy giao cho nó một việc thật thay vì một câu lệnh mẫu. Trong khung chat, nhập câu lệnh sau:

Viết một script Python dirscan.py duyệt một thư mục được truyền làm đối số dòng lệnh và in ra 10 tệp lớn nhất với kích thước dễ đọc. Chỉ dùng thư viện chuẩn.

Bạn sẽ nhận lại một script trong vài giây. Hãy xem lại và sửa mọi lỗi trước khi chạy. Lưu nó, rồi chạy nó trên một thư mục tệp kiểm thử.

Trước tiên hãy tạo dirscan-demo và đặt vào đó vài tệp dùng một lần.

python3 dirscan.py ./dirscan-demo

Giờ hãy thử tái cấu trúc — giá trị thực sự của một trợ lý lập trình. Tiếp tục với:

Tái cấu trúc nó để chấp nhận cờ --limit (mặc định 10) và xử lý lỗi quyền mà không bị sập.

Áp dụng thay đổi và chạy lại:

python3 dirscan.py --limit 5 ./dirscan-demo

Vì suy luận diễn ra cục bộ, bạn có thể làm tất cả những điều này với cáp mạng đã rút. Hãy tải ứng dụng, backend, mô hình và mọi phụ thuộc của client trước, đồng thời giữ tìm kiếm web và các công cụ từ xa ở trạng thái tắt.

Bước 4: Dùng máy chủ cục bộ từ terminal (tương thích OpenAI)

GUI chỉ là một nửa câu chuyện. Atomic Chat chạy một máy chủ tương thích OpenAI tại http://localhost:1337/v1, mặc định gắn với 127.0.0.1, nên bất kỳ công cụ nào nói được API OpenAI đều có thể dùng mô hình cục bộ của bạn.

Mở bảng API, khởi động máy chủ nếu nó đang dừng và kiểm tra rằng máy chủ ở trạng thái Ready. Một khóa giữ chỗ chỉ dùng được khi xác thực API bị tắt; nếu không, hãy dùng khóa đã cấu hình.

Hãy kiểm tra bằng curl. Trước tiên truy vấn http://localhost:1337/v1/models và sao chép ID của mô hình cục bộ bạn đã tải. Ví dụ dưới đây dùng ID trả về cho bản tải Qwen ở trên:

curl http://localhost:1337/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/qwen2_5-coder-3b-instruct-q4_k_m",
"messages": [
{"role": "user", "content": "Write a bash one-liner to count lines in all .py files under the current dir."}
]
}'

Hoặc đưa thẳng nó vào SDK Python chính thức của OpenAI bằng cách chỉ đổi base_url. Trước tiên hãy cài gói openai trong một môi trường ảo Python.

from openai import OpenAI
client = OpenAI(
base_url="http://localhost:1337/v1",
api_key="not-needed", # only when API authentication is off
)
resp = client.chat.completions.create(
model="Qwen/qwen2_5-coder-3b-instruct-q4_k_m",
messages=[{"role": "user", "content": "Refactor this into a function: "
"x=[i*i for i in range(10) if i%2==0]"}],
)
print(resp.choices[0].message.content)

Dùng định danh mô hình đúng như nó xuất hiện trong phản hồi /v1/models. Nếu bạn đã đổi cổng, hãy kiểm tra giá trị hiện tại trong bảng API của ứng dụng.

Bước 5: Trỏ một tác nhân lập trình vào nó

Vì điểm cuối tương thích OpenAI, các CLI tác nhân cũng hoạt động với nó. Atomic Chat cung cấp trình khởi chạy một cú nhấp cho OpenCode và GitHub Copilot CLI từ tab Integrations, còn các tác nhân khác (Goose, OpenClaw và tương tự) hoạt động khi bạn trỏ chúng vào http://localhost:1337/v1. Điều đó cho phép một tác nhân dùng mô hình trên đĩa của chính bạn. Hãy kiểm tra hỗ trợ gọi công cụ cho mô hình và tác nhân bạn chọn; dùng ngoại tuyến cũng đòi hỏi công cụ cục bộ và không có dự phòng đám mây.

Atomic Chat so với Ollama và LM Studio

Nếu bạn đã dùng Ollama hoặc LM Studio, mô hình ở đây tương tự: một runtime cục bộ với API kiểu OpenAI, với hai khác biệt thực tế.

Atomic Chat ghép ứng dụng máy tính để bàn với các ứng dụng iOS và Android gốc, và nó theo giấy phép Apache-2.0, không giới hạn số tin nhắn. Nếu bạn đang cân nhắc các lựa chọn, Atomic Chat có một bản tổng hợp các lựa chọn thay thế Ollama trình bày từng công cụ phù hợp ở đâu.

Xử lý sự cố

1. AppImage không khởi động

Đọc lỗi trên terminal. Với thư viện FUSE 2 bị thiếu, hãy dùng libfuse2t64 trên Ubuntu 24.04 hoặc libfuse2 trên Ubuntu 22.04 (xem Bước 1).

2. Một mô hình không nạp được trên Linux

Xác nhận đó là bản dựng GGUF. Các mô hình MLX chỉ dành cho Apple Silicon và sẽ không chạy trên Linux.

API trả về connection refused — hãy đảm bảo Atomic Chat đang mở, máy chủ API đã được khởi động và một mô hình đã được nạp; máy chủ chạy bên trong ứng dụng. Xác nhận lại cổng trong bảng API.

3. Phản hồi chậm

Hạ xuống mức lượng tử hóa nhỏ hơn hoặc một mô hình 3B; đóng các ứng dụng ngốn nhiều bộ nhớ khác.

Kết luận

Chỉ trong vài bước, bạn đã có một LLM riêng tư chạy trên Linux, một tác vụ lập trình thực tế hoàn thành trong GUI, và cùng mô hình đó được nối vào script và tác nhân của riêng bạn qua một điểm cuối tương thích OpenAI cục bộ. Suy luận cục bộ, không khóa API đám mây, không giới hạn mức sử dụng. Đó là một cách gọn gàng để giữ mã và câu lệnh trên máy của bạn mà vẫn dùng những công cụ bạn đã quen.

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

H: Atomic Chat có miễn phí và mã nguồn mở không?

Đ: Có. Nó được phát hành theo giấy phép Apache-2.0, miễn phí và không giới hạn số tin nhắn.

H: Dữ liệu của tôi có ở lại trên thiết bị không?

Đ: Có, khi bạn chọn một mô hình cục bộ và giữ tìm kiếm web, nhà cung cấp đám mây và công cụ từ xa ở trạng thái tắt. API mặc định gắn với 127.0.0.1; chỉ địa chỉ cục bộ thôi thì không ngăn được các yêu cầu tới nhà cung cấp đám mây.

H: Mô hình nào chạy trên Linux?

Đ: Mô hình GGUF. Bạn có thể duyệt và tải chúng từ trình duyệt Hugging Face tích hợp; các bản dựng MLX chỉ dành cho Apple Silicon.

H: Tôi có thể dùng nó với SDK OpenAI không?

Đ: Có. Trỏ base_url của SDK vào http://localhost:1337/v1 và dùng ID mô hình từ /v1/models. Khóa API giữ chỗ hoạt động khi xác thực máy chủ bị tắt; nếu không, hãy dùng khóa đã cấu hình.

H: Tôi cần bao nhiêu RAM?

Đ: Khoảng 8 GB cho mô hình 3B; 16 GB thoải mái hơn cho mô hình 7B. Đây là những điểm khởi đầu; độ dài ngữ cảnh, mức lượng tử hóa và các ứng dụng khác đều ảnh hưởng đến yêu cầu thực tế.

H: Atomic Chat có cần khóa API không?

Đ: Khi được cấu hình để dùng mô hình cục bộ và máy chủ tích hợp của nó, quy trình không cần khóa API đám mây.

H: Atomic Chat dùng API nào?

Đ: Atomic Chat cung cấp một điểm cuối tương thích OpenAI tại http://localhost:1337/v1.

H: Atomic Chat có thể hoạt động ngoại tuyến không?

Đ: Có, miễn là ứng dụng, backend suy luận và mô hình cần thiết đã được tải và cấu hình trước khi ngắt kết nối internet.

H: Atomic Chat chạy mô hình ở đâu?

Đ: Thiết lập suy luận cục bộ chạy mô hình trên chính máy của người dùng thay vì gửi câu lệnh tới một API AI từ xa.