SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

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 riêng bằng pipx. pipx được cài từ apt vì Ubuntu 24.04 chặn pip install khi chạy bên ngoài virtual environment (PEP 668). Sau đó chạy Aider trong project của bạn, bên trong một phiên tmux để tiến trình vẫn chạy khi mất kết nối:

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

Lưu ý về phiên bản: cách cài đặt này hoạt động như mô tả trên Ubuntu 24.04. Trên Ubuntu 26.04, cách này sẽ lỗi. Bản phát hành hiện tại, aider-chat 0.86.2 (February 2026), chỉ hỗ trợ Python từ 3.10 đến 3.12. Ubuntu 26.04 đi kèm Python 3.14, nên quá trình cài đặt bị từ chối tại bước kiểm tra phiên bản Python, trước khi cài bất kỳ dependency nào. Cách khắc phục là cấp cho Aider một Python 3.12 riêng:

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

pipx tải xuống một interpreter độc lập chỉ dành cho Aider, rồi hoàn tất quá trình cài đặt. Đây là dấu hiệu cho thấy tốc độ phát hành của Aider đã chậm lại: main branch của Aider đã chấp nhận Python đến 3.14, nhưng tính đến October 2026 chưa có bản phát hành nào bao gồm thay đổi đó. Nếu điều này gây bất tiện, Goose là lựa chọn được duy trì tích cực hơn.

Sau khi chạy, hãy detach khỏi phiên bằng Ctrl-b rồi d. Agent vẫn tiếp tục làm việc khi bạn đóng laptop. Sau đó reattach bằng tmux attach -t aider để xem các thay đổi của agent. Bạn có thể mở thêm một tmux window cho agent khác. Nếu cả hai đều là Claude Code, hai phiên có thể chuyển công việc cho nhau thay vì bạn phải chuyển thủ công. Aider đọc repository, đề xuất chỉnh sửa, áp dụng các chỉnh sửa đó và tạo commit cho từng thay đổi. Aider cũng có thể đưa thêm file vào context khi một thay đổi liên quan đến nhiều file. Vì mỗi thay đổi đều là một commit, việc hoàn tác agent chỉ cần chạy git revert. Đây là safety net giúp bạn sử dụng agent thoải mái hơn. Goose được cài bằng script một dòng theo tài liệu của project và cũng chạy tương tự từ terminal, điều khiển các task thông qua 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: công cụ này 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 và test, vì vậy hãy quản lý nó cẩn thậ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 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ể ả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, 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 áp dụng quan điểm tương tự cho một agent tự hành hơn, 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 cho thấy cách một model điều khiển các công cụ của bạn; chạy Google Gemini CLI trên VPS là một tùy chọn terminal khác, và tự host OpenHands là lộ trình tự hành chuyên sâu hơn. Dự án mã nguồn mở có nhiều sao 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.