Bỏ qua để vào nội dung chính
Tự dựng AI assistant trong Termux trên Android bằng Python

Tự dựng AI assistant trong Termux trên Android bằng Python

Bởi Daniel Foster
18 thg 9, 20264 phút đọc

Một script Python chạy trong Termux là đủ để có AI assistant ngay trên điện thoại Android — kèm cách cài đặt, tách API key ra .env và tránh rò rỉ.

Bạn đang trên đường về nhà, nghĩ ra một câu hỏi cần model trả lời ngay, nhưng laptop nằm ở nhà. Mở app chat trên điện thoại thì được, nhưng bạn không pipe được câu trả lời vào file, không chạy được trong script. Bài này dựng một AI assistant chạy thẳng trong terminal Termux trên Android bằng một script Python duy nhất.

Chuẩn bị

Theo hướng dẫn gốc trên Dev.to, bạn chỉ cần bốn thứ: Termux đã cài, biết dùng terminal cơ bản, Python, và một API key từ nhà cung cấp model. Không cần máy tính, không cần dựng môi trường phức tạp.

Cài Python trong Termux

Cập nhật package trước, rồi cài Python và tạo thư mục project:

pkg update && pkg upgrade
pkg install python
python --version
mkdir ai-assistant && cd ai-assistant

Sau đó cài hai package: client để gọi API, và python-dotenv để giữ API key nằm ngoài code.

pip install openai
pip install python-dotenv

Tách key ra khỏi source

Tạo file .env và đặt key vào đó thay vì hardcode trong script. Hướng dẫn gốc cảnh báo rất thẳng: "Do not share this file publicly or upload it to GitHub. An exposed API key can be used by someone else and may result in unexpected API usage." Thêm .env vào .gitignore ngay từ commit đầu tiên — đây là bước người ta hay quên nhất khi code trên điện thoại, vì thao tác git trên màn hình nhỏ ít khi được review kỹ.

Script assistant

Phần lõi là một vòng while: đọc input, gửi lên API, in kết quả, thoát khi gõ exit. Có một chi tiết đáng chú ý trong code mẫu — tham số định dạng output. Tác giả giải thích: "with the Responses API, gpt-5-mini will sometimes return only internal reasoning and leave output_text empty. Forcing a plain text output format avoids that and ensures you consistently get a visible reply."

Nói cách khác, nếu assistant của bạn thỉnh thoảng in ra chuỗi rỗng mà không báo lỗi, nhiều khả năng bạn quên ép format text chứ không phải API hỏng. Đây là lỗi im lặng, không throw exception, nên nó rất tốn thời gian debug nếu không biết trước.

Đừng để một key "vĩnh viễn" nằm trên máy cá nhân

Điện thoại là thiết bị dễ mất và hay được cho mượn, nên một key nằm sẵn trên đó có bề mặt rủi ro khác hẳn key trên server bạn kiểm soát. Một bài phân tích khác trên Dev.to mô tả đúng rủi ro này: "A static API key sitting in an environment variable is a permanent, unmonitored trust decision you made once and then forgot about." Tác giả đề xuất dùng token ngắn hạn, phạm vi hẹp — "if a token expires in fifteen minutes and only covers the one action the agent actually needs right now, a bad decision has a ceiling on how bad it can get" — và "Scope per tool, not per agent."

Áp vào ngữ cảnh Termux, ba nguyên tắc thực dụng: tạo key riêng cho thiết bị di động thay vì dùng lại key đang chạy production; đặt hạn mức chi tiêu ở dashboard nhà cung cấp; và nếu sau này bạn nối assistant vào file hay lệnh shell, giữ bước xác nhận thủ công cho mọi thao tác không undo được — bài viết nhấn mạnh "Put a human back in the loop for anything you can't undo."

Bước tiếp theo

Bản cơ bản chưa nhớ ngữ cảnh: mỗi câu hỏi là một request độc lập. Hướng dẫn gốc gợi ý phần mở rộng đầu tiên nên là lưu conversation history trong phiên, sau đó mới tới các lệnh nội bộ như /help, /clear, rồi voice input và text-to-speech. Làm theo thứ tự đó: history đổi nhiều nhất về chất lượng trả lời với ít code nhất.

Không spam, hủy đăng ký bất kỳ lúc nào.

Bài viết liên quan