SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor · Cập nhật ngày 2026-08-22

Hướng dẫn chạy coding agent trên VPS với Aider và Goose

Cách cài đặt Aider hoặc Goose trên VPS để lập trình từ terminal. Hướng dẫn kết nối model qua Ollama, tối ưu tài nguyên và quản lý phiên làm việc bằng tmux giúp code chạy ổn định.

Tại sao nên chạy coding agent trên VPS

Coding agent là công cụ đọc codebase, thực hiện thay đổi và chạy lệnh để kiểm thử, tất cả đều thực hiện từ terminal. Chạy agent trên VPS có ba ưu điểm so với laptop: nó vẫn tiếp tục làm việc sau khi bạn ngắt kết nối, nó nằm ngay cạnh code và các công cụ build của bạn, và nó có thể kết nối với model mà bạn tự host. Hãy khởi chạy nó trong một phiên tmux, bạn có thể đóng laptop và tiếp tục công việc sau đó, tương tự như cách chạy Claude Code trên VPS với tmux.

Có hai terminal-based agent đáng chú ý. Aider là lựa chọn ưu tiên git, chạy trực tiếp trên terminal: nó tự động commit mỗi thay đổi với thông báo hợp lý, giúp lịch sử commit của bạn sạch sẽ và mọi chỉnh sửa đều có thể hoàn tác. Đây là một trong những coding agent lâu đời nhất trên terminal, mặc dù tốc độ release đã chậm lại. Goose, từ Block, có phạm vi rộng hơn: một agent mã nguồn mở Apache-2.0 với hệ sinh thái extension lớn và hỗ trợ nhiều provider bao gồm các model Ollama cục bộ, hiện được phát triển dưới sự quản lý của Agentic AI Foundation (AAIF) thuộc Linux Foundation. Aider phù hợp với quy trình làm việc kỷ luật, tập trung vào git; Goose phù hợp với vai trò trợ lý đa năng với bộ plugin phong phú.

Những thứ bạn cần

Bạn cần một VPS đã cài sẵn git, tmux và một phiên bản Python mới để chạy Aider, hoặc trình cài đặt Goose cho Goose. Bạn cũng cần một model: có thể là API key từ các nhà cung cấp như Anthropic hoặc OpenAI, hoặc một local model được phục vụ bởi Ollama trên cùng VPS. Cách tự host giúp mã nguồn của bạn nằm trên máy chủ riêng và không tốn phí trên mỗi token, đổi lại bạn cần đủ bộ nhớ để chạy các model có năng lực tương xứng.

Cài đặt và chạy Aider

Cài đặt Aider trong một môi trường cô lập bằng pipx, công cụ này được lấy từ apt vì Ubuntu 24.04 chặn lệnh pip install thông thường bên ngoài môi trường ảo (PEP 668). Sau đó chạy Aider bên trong dự án của bạn, trong một phiên tmux để nó vẫn hoạt động khi bạn ngắt kết nối:

sudo apt install pipx
pipx ensurepath
pipx install aider-chat
tmux new -s aider
cd ~/my-project
aider

Một lưu ý về phiên bản: cách cài đặt này hoạt động như hướng dẫn trên Ubuntu 24.04. Trên Ubuntu 26.04, nó hiện đang bị lỗi vì các dependency được ghim của Aider bao gồm một phiên bản numpy cũ không thể build với Python 3.14 của 26.04. Cách khắc phục là cung cấp cho Aider phiên bản Python 3.12 riêng:

pipx install --python 3.12 --fetch-missing-python aider-chat

pipx tải xuống một trình thông dịch độc lập chỉ dành cho Aider và quá trình cài đặt hoàn tất. Đây là dấu hiệu cho thấy tốc độ phát hành của Aider đã chậm lại; nếu điều này làm bạn phiền lòng, Goose là lựa chọn được duy trì tích cực hơn.

Khi nó đang chạy, hãy detach khỏi phiên bằng Ctrl-b rồi nhấn d, agent sẽ tiếp tục làm việc ngay cả khi bạn đóng laptop; hãy reattach sau đó bằng tmux attach -t aider để xem những gì nó đã thay đổi. Không có gì ngăn cản bạn mở cửa sổ tmux thứ hai cho một agent khác, và nếu cả hai đều là Claude Code, hai phiên này có thể chuyển công việc cho nhau thay vì bạn phải chuyển tiếp thủ công. Aider đọc repository của bạn, đề xuất các chỉnh sửa, áp dụng chúng và commit từng thay đổi, đồng thời nó có thể lấy thêm các file bổ sung để làm ngữ cảnh khi một thay đổi trải dài trên nhiều file. Vì mỗi thay đổi đều là một commit, việc hoàn tác các thao tác của agent chỉ đơn giản là dùng git revert, đây chính là lưới an toàn giúp bạn yên tâm khi sử dụng. Goose được cài đặt bằng script một dòng theo tài liệu và chạy tương tự từ terminal, thực hiện các tác vụ thông qua các extension của nó:

curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash

Mô hình hosted hoặc mô hình self-hosted

Mô hình hosted mang lại chất lượng tốt nhất và không yêu cầu phần cứng cục bộ, nhưng bạn phải trả phí theo token và mã nguồn của bạn sẽ được gửi đến nhà cung cấp. Chi phí theo token tăng nhanh hơn mức hầu hết mọi người dự tính, vì agent gửi lại toàn bộ nội dung hội thoại trong mỗi lượt. Phân tích của Claude Code về chi phí thực tế của một phiên agent dài tính theo token cũng áp dụng ở đây, vì Aider và Goose tính phí theo cùng một cách. Mô hình self-hosted thông qua Ollama giữ mọi thứ trên máy chủ của bạn và miễn phí vận hành sau khi đã đầu tư phần cứng, nhưng một model lập trình đủ tốt để sử dụng cần dung lượng bộ nhớ thực tế. Đó là sự đánh đổi cần cân nhắc: chất lượng và sự tiện lợi so với quyền riêng tư và chi phí.

Nếu bạn chọn self-hosted, câu hỏi thực tế là model nào phù hợp với máy chủ của bạn. Hãy theo dõi context window trong quá trình này, vì Ollama mặc định đặt giá trị nhỏ và tự động cắt bớt bất kỳ nội dung nào dài hơn, điều này đối với một coding agent có nghĩa là các file mà nó vừa đọc sẽ bị loại khỏi prompt: tăng num_ctx sẽ khắc phục điều đó, và KV cache lớn hơn mà nó cần chính là một phần của bộ nhớ mà bạn sắp phải tính toán. Hãy xác định kích thước trước khi tải một model tám gigabyte xuống một máy chủ không đủ dung lượng lưu trữ:

ToolSelf-hosted LLM sizing

An toàn: chỉnh sửa file và chạy lệnh

Một coding agent không phải là công cụ thụ động. Nó ghi đè file và có thể chạy các lệnh build hoặc test, vì vậy hãy quản lý nó như bất kỳ tiến trình nào có quyền thay đổi hệ thống của bạn. Ba thói quen sau đây sẽ giảm thiểu hầu hết các rủi ro. Hãy làm việc trong một git repository để mọi thay đổi đều được theo dõi và có thể hoàn tác; Aider sẽ tự động thực hiện việc này cho bạn. Chạy agent với tư cách người dùng thông thường không có đặc quyền, tuyệt đối không chạy dưới quyền root, tuân thủ nguyên tắc người dùng có đặc quyền tối thiểu, để một lệnh lỗi không thể gây ảnh hưởng đến toàn bộ hệ thống. Đồng thời, hãy tự bảo mật máy chủ, vì một VPS dùng để lập trình vẫn là một máy chủ công cộng: sử dụng SSH key-only, firewall mặc định chặn tất cả, và các biện pháp khác. Hướng dẫn bảo mật OpenClaw cũng áp dụng quan điểm tương tự cho các agent tự vận hành, và các nguyên tắc này có thể áp dụng rộng rãi.

Để tích hợp coding agent vào quy trình làm việc của bạn, xây dựng AI agent với Claude sẽ hướng dẫn cách một model điều khiển các công cụ của bạn; chạy Gemini CLI của Google trên VPS là một tùy chọn terminal khác, và tự host OpenHands là phương án tự vận hành mạnh mẽ hơn. Dự án mã nguồn mở được đánh giá cao nhất trong lĩnh vực này hiện đã có hướng dẫn riêng: chạy OpenCode trên VPS thiết lập nó với cùng mô hình sử dụng tmux và người dùng không có đặc quyền.

FAQ

Tôi có thể chạy coding agent với local model thay vì trả phí API không?

Có. Cả Aider và Goose đều hoạt động với các local model được phục vụ bởi Ollama, vì vậy bạn có thể chạy một coding agent hoàn toàn tự host mà không tốn phí theo token và không có code nào rời khỏi server của bạn. Điểm cần lưu ý là bộ nhớ: một model đủ khả năng viết code hữu ích cần một lượng RAM hoặc VRAM đáng kể, vì vậy hãy chọn cấu hình máy phù hợp với model trước khi bắt đầu.

Nên chọn Aider hay Goose?

Hãy chọn Aider nếu quy trình làm việc của bạn tập trung vào terminal và git, đồng thời bạn muốn một tùy chọn hoàn thiện nhất với ít overhead nhất; nó tự động commit mọi thay đổi để lịch sử của bạn luôn có thể hoàn tác. Hãy chọn Goose nếu bạn muốn một trợ lý đa năng hơn với hệ sinh thái extension lớn và hỗ trợ nhiều nhà cung cấp. Cả hai đều chạy từ terminal và đều hoạt động với Ollama, nên cả hai đều phù hợp với VPS.

Tôi cần bao nhiêu bộ nhớ cho một coding model tự host?

Điều này phụ thuộc vào kích thước của model và mức độ quantized của nó. Một model nhỏ đã qua quantization có thể chạy trên vài gigabyte, trong khi một model mạnh hơn cần nhiều hơn thế, và context window dài sẽ làm tăng mức tiêu thụ bộ nhớ. Hãy sử dụng công cụ ước tính kích thước ở trên để xác định bộ nhớ cần thiết cho một model và độ dài context cụ thể trước khi bạn tải xuống.

Có an toàn không khi để AI agent chỉnh sửa code và chạy các lệnh?

Điều này có thể kiểm soát được nếu bạn có thói quen tốt. Hãy giữ công việc của bạn trong một git repository để mọi chỉnh sửa đều là một commit có thể hoàn tác, chạy agent với tư cách là người dùng không có đặc quyền thay vì root, và bảo mật VPS như cách bạn làm với bất kỳ server công cộng nào. Hãy xem xét các thay đổi mà nó commit thay vì tin tưởng mù quáng, đặc biệt là bất kỳ lệnh nào nó muốn chạy trên hệ thống của bạn.