Bỏ qua tới nội dung
RexAPFTài liệuMở RexAPF Web
Tài liệuCLIĐiều khiển từ xa
CLI

Chạy RexAPF CLI trên VPS

Cài và đăng nhập RexAPF CLI qua SSH, giữ daemon chạy sau khi thoát SSH bằng linger và systemd user, xem log và gỡ dịch vụ nền.

4 phút đọcYêu cầu: Linux có systemd, Node.js 22.19+ hoặc 24+
Trên trang này
  1. Thiết lập từ đầu
  2. SSH vào máy và cài CLI
  3. Đăng nhập không cần trình duyệt trên VPS
  4. Bật điều khiển từ Web
  5. Nhập mật khẩu sudo nếu được hỏi
  6. Kiểm tra
  7. Linger là gì
  8. Dịch vụ nền
  9. Lệnh quản lý daemon
  10. Lưu ý bảo mật

Một VPS chạy RexAPF CLI là máy làm việc luôn bật mà bạn điều khiển từ RexAPF Web ở bất cứ đâu. Bài này hướng dẫn thiết lập qua SSH để daemon vẫn chạy sau khi bạn đăng xuất và tự khởi động lại khi máy reboot.

Thiết lập từ đầu

  1. SSH vào máy và cài CLI

    bash
    $ ssh ban@vps.example.com
    $ npm install -g @rexllm/rexapf

    Yêu cầu Node.js như ở Cài đặt & đăng nhập.

  2. Đăng nhập không cần trình duyệt trên VPS

    bash
    $ rexapf login

    Qua SSH, CLI không tự mở trình duyệt. Mở đường dẫn CLI in ra trên máy của bạn, đăng nhập, rồi sao chép toàn bộ URL http://127.0.0.1:…/oauth/callback?… mà trình duyệt báo lỗi, dán vào terminal SSH và nhấn Enter. Không cần mở cổng hay tạo SSH tunnel.

  3. Bật điều khiển từ Web

    bash
    $ rexapf connect ~/du-an --name "VPS"

    Lệnh đăng ký workspace, bật linger, cài dịch vụ systemd --user và khởi động daemon.

  4. Nhập mật khẩu sudo nếu được hỏi

    Nếu cần quyền quản trị để bật linger, CLI giải thích và chạy sudo loginctl enable-linger <tên-user>. Nhập mật khẩu một lần.

  5. Kiểm tra

    bash
    $ rexapf remote status

    Dòng Chạy sau khi thoát SSH (linger): bật cho biết daemon sẽ tiếp tục chạy khi bạn thoát SSH.

ban@vps: ~
$ rexapf remote status
Điều khiển từ Web: bật
Tên máy: VPS
Truy cập: theo tài khoản (mọi trình duyệt đăng nhập cùng tài khoản)
Agent RexLLM Web giao việc: tắt (bật: rexapf remote agent on)
Daemon: đang chạy (pid 41235), relay online
Dịch vụ nền: đã cài
Chạy sau khi thoát SSH (linger): bật
Workspace (1):
  • /home/ban/du-an
Trình duyệt đã ghép (0):
Trạng thái daemon trên VPS

Linger là gì

Trên Linux, systemd-logind mặc định dừng mọi dịch vụ người dùng khi phiên đăng nhập cuối cùng (ví dụ phiên SSH) kết thúc, và không khởi động chúng khi máy bật. "Linger" giữ trình quản lý dịch vụ của người dùng chạy liên tục.

rexapf connect và rexapf daemon install tự bật linger theo thứ tự:

  1. Trực tiếp bằng loginctl (khi bạn là root hoặc polkit cho phép).
  2. Qua sudo -n (sudo không cần mật khẩu).
  3. Qua sudo có hỏi mật khẩu, nếu bạn đang ở terminal tương tác.

Nếu cả ba đều không được, CLI in lệnh cần chạy và cảnh báo.

Khi linger đang tắt

Nếu remote status báo linger: TẮT, daemon sẽ dừng khi bạn thoát SSH và RexAPF Web mất kết nối với máy. Nhờ quản trị viên chạy lệnh CLI in ra, thường là sudo loginctl enable-linger <tên-user>, rồi chạy lại rexapf daemon install.

Dịch vụ nền

Hệ điều hànhDịch vụTệp định nghĩa
Linuxsystemd --user unit rexapf-daemon.service~/.config/systemd/user/rexapf-daemon.service
macOSlaunchd agent xyz.rexllm.rexapf-daemon~/Library/LaunchAgents/xyz.rexllm.rexapf-daemon.plist

Dịch vụ chạy rexapf daemon run bằng đúng Node và lệnh rexapf đã cài nó, tự khởi động lại sau 5 giây nếu bị lỗi. Biến PATH lúc cài được ghi vào dịch vụ, nên các công cụ tác tử dùng (git, pnpm…) cần có trong PATH khi bạn chạy lệnh cài.

Nếu không dùng được trình quản lý dịch vụ người dùng (ví dụ trong container), CLI chạy daemon thành tiến trình nền tách rời. Tiến trình đó dừng khi máy khởi động lại; chạy lại rexapf connect sau mỗi lần reboot.

Lệnh quản lý daemon

LệnhTác dụng
rexapf daemon installCài và khởi động daemon nền, giữ chạy sau khi thoát SSH
rexapf daemon statusNhư rexapf remote status
rexapf daemon logsIn lệnh xem log
rexapf daemon uninstallDừng và gỡ dịch vụ nền
rexapf daemon runChạy daemon ở tiến trình hiện tại

Trên Linux có dịch vụ systemd, xem log bằng:

bash
$ journalctl --user -u rexapf-daemon.service -f

Các trường hợp khác, log nằm ở ~/.dsh/remote/daemon.log.

Không có systemd

Nếu daemon install báo Không khởi động được daemon nền, chạy daemon trong tmux hoặc screen:

bash
$ tmux new -s rexapf 'rexapf daemon run'

Lưu ý bảo mật

  • Tác vụ từ Web chạy không hỏi duyệt nhưng chỉ ghi được trong các workspace đã đăng ký. Không đăng ký thư mục gốc hay ~ nếu không cần.
  • Nếu VPS dùng chung, cân nhắc chuyển sang chính sách pin bằng rexapf remote policy pin. Xem Điều khiển từ Web.
  • Thông tin đăng nhập nằm trong ~/.dsh/.credentials.yaml, chỉ người dùng sở hữu đọc được. Xem Tệp cấu hình và Bảo mật & quyền riêng tư.
  • Muốn ngừng hẳn, chạy rexapf remote disconnect rồi rexapf daemon uninstall.
Trang này có hữu ích không?Cập nhật 22/10/2026