CLI
Lệnh nextfarm đưa trợ lý nông trại NextFarm AI và nền tảng nhà phát triển vào terminal: gõ nextfarm là chat trên dữ liệu thật của trang trại; kèm subcommand để gọi API, quản lý API key, nghe webhook về máy và cài MCP cho trợ lý khác.
Cài đặt
curl -fsSL https://developers.nextfarm.vn/install.sh | shirm https://developers.nextfarm.vn/install.ps1 | iexbrew install nextx-organization/nextfarm/nextfarmnpm install -g nextfarmCó sẵn cho macOS (Apple Silicon và Intel), Linux (x64, arm64) và Windows x64. Mã nguồn và bản phát hành: nextfarm-cli · bản 0.3.3
Bắt đầu nhanh
nextfarm login # trình duyệt; qua SSH thì --qr và quét bằng app NextFarm
nextfarm # mở khung chat
nextfarm -p "lô nào sắp thu hoạch tuần này" --json
nextfarm doctor- Trợ lý chỉ ghi khi bạn xác nhận. Việc chạm thiết bị, tự động hoá hoặc tiền (bơm, van, quy tắc tự chạy, thu chi) chỉ xác nhận trong app NextFarm, máy chủ cũng chặn từ terminal.
- Script và CI: đặt NEXTFARM_API_KEY rồi dùng nextfarm tools call, nextfarm api. Chat với trợ lý cần đăng nhập người dùng.
- Gói Miễn phí có 30 câu hỏi AI mỗi tuần cho cả trang trại, mở lại 00:00 thứ Hai. nextfarm ai usage để xem còn bao nhiêu.
Đăng nhập
| Cách | Dùng khi |
|---|---|
nextfarm login | Máy có trình duyệt — OAuth + PKCE, session tự gia hạn. |
nextfarm login --qr | Qua SSH: quét mã QR bằng app NextFarm. |
nextfarm login --device | Máy không có trình duyệt lẫn app: nhập device code ở id.nextfarm.vn/oauth/device trên máy khác. |
NEXTFARM_API_KEY | Script, server, CI chỉ đọc — đúng scope của API key, không chat AI. |
nextfarm login --ci | GitHub Actions / GitLab CI: đổi OIDC token lấy session 15 phút, không cần secret trong repo. Khai báo repo bằng ci trust add. |
Permission mode
| Mode | Ý nghĩa |
|---|---|
read | Chỉ đọc — trợ lý không tạo write proposal. |
propose | Mặc định: trợ lý tạo write proposal, bạn xác nhận từng cái (y/N). |
auto | Tự ghi việc thường; ghi lớn vẫn phải gõ lại con số. |
Slash commands
| Lệnh | Việc |
|---|---|
/help | Danh sách lệnh và phím tắt |
/new | Hội thoại mới (giữ workspace, agent) |
/resume [query] | Mở lại hội thoại cũ |
/rename <name> | Đặt tên hội thoại này |
/pin | Ghim / bỏ ghim hội thoại |
/workspace [code] | Đổi workspace đang làm việc |
/mode read|propose|auto | Permission mode: chỉ đọc · đề xuất · tự ghi việc thường |
/model [name] | Đổi model: NextFarm AI hoặc model của bạn |
/attach <file> | Đính kèm tệp Excel / CSV / ảnh / tệp chữ |
/undo [id] | Hoàn tác lần ghi gần nhất |
/why [runId] | Vì sao AI trả lời vậy (các bước, công cụ đã gọi) |
/memory | AI đang nhớ gì về công ty — sửa, khoá, quên |
/schedule "question" daily 08:00 | Lên lịch một câu hỏi chạy hằng ngày / tuần / tháng |
/sau-benh <photo> | Chẩn đoán sâu bệnh từ ảnh lá, quả, thân |
/thoi-tiet [plot] | Thời tiết mấy ngày tới ở trang trại / lô |
/ban-tin | Bản tin sáng mới nhất của trang trại |
/export md|json [file] | Xuất hội thoại ra Markdown / JSON |
/tools | Công cụ AI bạn đang được dùng (theo quyền thật) |
/usage | Câu hỏi AI còn lại tuần này |
/feedback up|down | Báo câu trả lời vừa rồi tốt / chưa tốt |
/status | Tài khoản, workspace, môi trường, phiên bản |
/doctor | Kiểm kết nối, đồng hồ, token, gói |
/config [key value] | Cài đặt: ngôn ngữ, màu, thông báo cập nhật |
/init | Tạo NEXTFARM.md: chỉ dẫn riêng cho thư mục này |
/mcp | Cài máy chủ MCP vào client khác |
/logout | Đăng xuất hồ sơ này |
/clear | Xoá màn hình (không xoá hội thoại) |
/exit | Thoát |
| Phím | Việc |
|---|---|
Enter · Shift+Enter (\ + Enter) | Gửi · xuống dòng |
/ | Menu lệnh |
@ | Đính kèm tệp, chọn Agent cho câu này |
# | Ghi nhớ nhanh vào NEXTFARM.md của thư mục |
Shift+Tab | Xoay permission mode |
Esc | Dừng câu trả lời đang chạy |
Esc Esc | Sửa lại câu vừa gửi |
↑ / ↓ | Lịch sử câu đã gõ |
Ctrl+O | Mở / gập chi tiết các bước |
Ctrl+L | Xoá màn |
Ctrl+C · Ctrl+D | Huỷ dòng đang gõ (2 lần để thoát) · thoát |
Command reference
| Lệnh | Việc |
|---|---|
nextfarm login | đăng nhập (tự chọn trình duyệt hoặc QR) |
nextfarm logout | đăng xuất hồ sơ này (thu hồi session trên máy chủ) |
nextfarm status | tài khoản, workspace, môi trường, gói AI, session |
nextfarm sessions | session của bạn trên mọi thiết bị |
nextfarm sessions list | danh sách session |
nextfarm sessions revoke | thu hồi một session, hoặc --others để thu hồi mọi session khác |
nextfarm workspace | các workspace (công ty) của bạn |
nextfarm workspace list | danh sách workspace |
nextfarm workspace use | đổi workspace đang làm việc (lưu vào hồ sơ) |
nextfarm ai | trợ lý AI: hỏi, lịch sử, write proposal, bộ nhớ, lịch chạy |
nextfarm ai ask | hỏi một câu không tương tác (giống -p) |
nextfarm ai history | danh sách hội thoại |
nextfarm ai show | in toàn bộ một hội thoại |
nextfarm ai rename | đặt tên hội thoại (bỏ trống = xoá tên) |
nextfarm ai pin | ghim hội thoại |
nextfarm ai delete | xoá hẳn một hội thoại (không hoàn tác) |
nextfarm ai why | vì sao trợ lý trả lời vậy: các bước, công cụ đã gọi |
nextfarm ai apply | xác nhận một write proposal (ghi thật) |
nextfarm ai reject | từ chối một write proposal |
nextfarm ai undo | hoàn tác đề xuất đã ghi (trong 24 giờ) |
nextfarm ai memory | trợ lý đang nhớ gì về trang trại |
nextfarm ai memory list | |
nextfarm ai memory forget | quên một điều (chỉ chủ trại) |
nextfarm ai schedule | câu hỏi chạy định kỳ |
nextfarm ai schedule list | |
nextfarm ai schedule add | |
nextfarm ai schedule run | |
nextfarm ai schedule delete | |
nextfarm ai brief | bản tin sáng mới nhất |
nextfarm ai pest | chẩn đoán sâu bệnh từ ảnh |
nextfarm ai usage | câu hỏi AI còn lại tuần này |
nextfarm ai feedback | báo câu trả lời tốt (up) / chưa tốt (down) |
nextfarm model | model của bạn cho --model (khoá lưu keychain, không gửi về NextFarm) |
nextfarm model list | các model đã thêm |
nextfarm model add | thêm nhà model: claude, gemini, gpt, grok, ollama |
nextfarm model remove | gỡ model và xoá khoá khỏi keychain |
nextfarm model default | model mặc định khi mở chat (nextfarm = NextFarm AI) |
nextfarm tools | công cụ AI bạn được dùng (theo quyền thật) |
nextfarm tools login | cấp quyền công cụ AI cho CLI trên máy này (một lần) |
nextfarm tools logout | thu hồi quyền công cụ AI của CLI |
nextfarm tools list | danh sách công cụ |
nextfarm tools describe | tham số và ví dụ của một công cụ |
nextfarm tools call | gọi một công cụ. Công cụ ghi chỉ tạo đề xuất để xác nhận |
nextfarm api | gọi thẳng API (vd: api GET /gis/parcels -f page_size=5) |
nextfarm keys | API key của workspace |
nextfarm keys list | danh sách khoá |
nextfarm keys create | tạo khoá mới (in khoá đúng một lần) |
nextfarm keys revoke | thu hồi khoá (dừng ngay) |
nextfarm keys delete | xoá khoá |
nextfarm keys usage | số lượt gọi 7 ngày |
nextfarm keys calls | 50 lượt gọi gần nhất của một khoá |
nextfarm webhooks | sự kiện webhook: xem, trigger, nghe về máy |
nextfarm webhooks events | danh sách sự kiện |
nextfarm webhooks schema | schema và ví dụ payload |
nextfarm webhooks endpoints | endpoint nhận webhook của workspace |
nextfarm webhooks endpoints list | |
nextfarm webhooks endpoints create | |
nextfarm webhooks endpoints delete | |
nextfarm webhooks endpoints rotate-secret | đổi khoá ký (khoá cũ còn hiệu lực một thời gian) |
nextfarm webhooks trigger | bắn một sự kiện mẫu tới endpoint |
nextfarm webhooks deliveries | lượt giao gần đây |
nextfarm webhooks retry | gửi lại một lượt giao |
nextfarm webhooks verify | kiểm signature webhook tại máy (không gọi máy chủ) |
nextfarm webhooks listen | nhận sự kiện thật về máy và chuyển tới địa chỉ local |
nextfarm openapi | tải đặc tả OpenAPI công khai |
nextfarm openapi pull | |
nextfarm docs | mở tài liệu (cli, quickstart, api-keys, oauth, mcp, ai-tools, webhooks, sdk, errors, rate-limit, sandbox, changelog, versioning, security) |
nextfarm changelog | thay đổi API gần đây |
nextfarm mcp | kết nối máy chủ MCP vào trợ lý AI khác |
nextfarm mcp url | in địa chỉ máy chủ MCP |
nextfarm mcp install | cài vào: chatgpt, claude, claude-desktop, codex, copilot, cursor, gemini, grok, vscode, windsurf |
nextfarm mcp uninstall | |
nextfarm mcp serve | chạy MCP qua stdio bằng quyền của CLI (cho client không hỗ trợ OAuth) |
nextfarm ci | đăng nhập từ CI không cần secret (OIDC) |
nextfarm ci trust | kho CI được phép đăng nhập workspace này |
nextfarm ci trust list | |
nextfarm ci trust add | cho một kho đăng nhập (token đứng tên bạn, sống 15 phút) |
nextfarm ci trust revoke | thu hồi (có hiệu lực ngay) |
nextfarm ci policy | chính sách duyệt trước: cho CI tự ghi trong trần |
nextfarm ci policy list | |
nextfarm ci policy kinds | loại ghi đưa được vào chính sách |
nextfarm ci policy show | |
nextfarm ci policy request | xin cho một kho CI tự ghi (người quản lý API key duyệt; có quyền thì có hiệu lực ngay) |
nextfarm ci policy revoke | thu hồi (lượt ghi kế tiếp quay về chỉ in link) |
nextfarm ci example | in mẫu workflow GitHub Actions |
nextfarm doctor | kiểm kết nối, đồng hồ, token, gói, phiên bản |
nextfarm config | cài đặt |
nextfarm config list | |
nextfarm config get | |
nextfarm config set | lang · mode · updateChannel · updateCheck · telemetry · color · defaultProfile |
nextfarm completion | gợi ý Tab cho bash | zsh | fish | powershell |
nextfarm update | nâng lên bản mới |
nextfarm init | tạo NEXTFARM.md: chỉ dẫn riêng cho thư mục này |
nextfarm login
đăng nhập (tự chọn trình duyệt hoặc QR)
| Flag | Ý nghĩa |
|---|---|
--web | đăng nhập qua trình duyệt |
--qr | quét mã bằng app NextFarm (SSH, máy không có trình duyệt) |
--device | nhập mã trên máy khác (RFC 8628) |
--ci | trong GitHub Actions/GitLab CI: đổi token OIDC lấy token ngắn hạn |
--no-browser | không tự mở trình duyệt, chỉ in link |
nextfarm logout
đăng xuất hồ sơ này (thu hồi session trên máy chủ)
| Flag | Ý nghĩa |
|---|---|
--all | đăng xuất mọi hồ sơ trên máy này |
nextfarm sessions revoke [id]
thu hồi một session, hoặc --others để thu hồi mọi session khác
| Flag | Ý nghĩa |
|---|---|
--others | mọi session trừ session này |
nextfarm workspace use [code]
đổi workspace đang làm việc (lưu vào hồ sơ)
nextfarm ai ask <question...>
hỏi một câu không tương tác (giống -p)
| Flag | Ý nghĩa |
|---|---|
--conversation <id> | hỏi tiếp trong hội thoại này |
nextfarm ai history
danh sách hội thoại
| Flag | Ý nghĩa |
|---|---|
--search <text> | lọc theo chữ |
--limit <n> | số dòng · mặc định 30 |
nextfarm ai show <id>
in toàn bộ một hội thoại
nextfarm ai rename <id> [title...]
đặt tên hội thoại (bỏ trống = xoá tên)
nextfarm ai pin <id>
ghim hội thoại
| Flag | Ý nghĩa |
|---|---|
--off | bỏ ghim |
nextfarm ai delete <id>
xoá hẳn một hội thoại (không hoàn tác)
nextfarm ai why [runId]
vì sao trợ lý trả lời vậy: các bước, công cụ đã gọi
nextfarm ai apply <proposalId>
xác nhận một write proposal (ghi thật)
nextfarm ai reject <proposalId>
từ chối một write proposal
nextfarm ai undo <proposalId>
hoàn tác đề xuất đã ghi (trong 24 giờ)
nextfarm ai memory forget <id>
quên một điều (chỉ chủ trại)
nextfarm ai schedule add <question>
| Flag | Ý nghĩa |
|---|---|
--at <HH:mm> | giờ chạy (giờ Việt Nam) |
--weekday <1-7> | chỉ một ngày trong tuần (1 = thứ Hai); bỏ trống = hằng ngày |
nextfarm ai schedule run <id>
nextfarm ai schedule delete <id>
nextfarm ai pest <photo> [note...]
chẩn đoán sâu bệnh từ ảnh
nextfarm ai feedback <runId> <vote>
báo câu trả lời tốt (up) / chưa tốt (down)
nextfarm model add <provider>
thêm nhà model: claude, gemini, gpt, grok, ollama
| Flag | Ý nghĩa |
|---|---|
--key-from-stdin | đọc API key từ stdin (không bao giờ đưa khoá lên dòng lệnh) |
--name <model> | model dùng khi chỉ ghi tên nhà, vd gpt → --name <model> |
--url <url> | địa chỉ máy chủ (Ollama hoặc cổng tương thích) |
nextfarm model remove <name>
gỡ model và xoá khoá khỏi keychain
nextfarm model default <name>
model mặc định khi mở chat (nextfarm = NextFarm AI)
nextfarm tools login
cấp quyền công cụ AI cho CLI trên máy này (một lần)
| Flag | Ý nghĩa |
|---|---|
--no-browser | không tự mở trình duyệt |
nextfarm tools list
danh sách công cụ
| Flag | Ý nghĩa |
|---|---|
--module <m> | lọc theo phân hệ (gis, iot, office…) |
--kind <k> | lọc theo loại (read | proposal | export) |
--public | danh mục công khai (không cần đăng nhập) |
nextfarm tools describe <name>
tham số và ví dụ của một công cụ
nextfarm tools call <name>
gọi một công cụ. Công cụ ghi chỉ tạo đề xuất để xác nhận
| Flag | Ý nghĩa |
|---|---|
--args <json> | tham số JSON |
--args-file <file> | tham số từ tệp JSON (- = stdin) |
-a, --arg <key=value> | một tham số (lặp được) |
nextfarm api <method> <path>
gọi thẳng API (vd: api GET /gis/parcels -f page_size=5)
| Flag | Ý nghĩa |
|---|---|
-f, --raw-field <key=value> | tham số dạng chuỗi: query với GET/DELETE, thân JSON với POST/PUT/PATCH (lặp được) |
-F, --field <key=value> | như -f nhưng đoán kiểu: số, true/false, JSON |
--input <file> | thân request từ tệp JSON (- = stdin) |
-H, --header <K: V> | thêm header (lặp được) |
--paginate | đi hết các trang (kết quả dạng items/pageNumber) |
--select <path> | chỉ in một phần, vd .items[0].name |
-i, --include | in cả status code và header |
--idempotency-key <key> | khoá chống trùng cho POST |
nextfarm keys create
tạo khoá mới (in khoá đúng một lần)
| Flag | Ý nghĩa |
|---|---|
--name <name> | |
--scopes <codes> | mã quyền, phẩy ngăn cách, vd gis.parcels.view,iot.devices.view |
--expires <dur> | thời hạn: 30d, 6m, 1y · mặc định 90d |
--description <text> |
nextfarm keys revoke <id>
thu hồi khoá (dừng ngay)
nextfarm keys delete <id>
xoá khoá
nextfarm keys usage [id]
số lượt gọi 7 ngày
nextfarm keys calls <id>
50 lượt gọi gần nhất của một khoá
nextfarm webhooks events
danh sách sự kiện
| Flag | Ý nghĩa |
|---|---|
--module <m> |
nextfarm webhooks schema <event>
schema và ví dụ payload
nextfarm webhooks endpoints create <url>
| Flag | Ý nghĩa |
|---|---|
--events <list> | sự kiện, phẩy ngăn cách |
--description <text> |
nextfarm webhooks endpoints delete <id>
nextfarm webhooks endpoints rotate-secret <id>
đổi khoá ký (khoá cũ còn hiệu lực một thời gian)
nextfarm webhooks trigger <event>
bắn một sự kiện mẫu tới endpoint
| Flag | Ý nghĩa |
|---|---|
--endpoint <id> | endpoint đích (mặc định: endpoint đầu tiên nhận sự kiện này) |
nextfarm webhooks deliveries
lượt giao gần đây
| Flag | Ý nghĩa |
|---|---|
--status <s> | success | failed | pending |
--endpoint <id> | |
--limit <n> | · mặc định 30 |
nextfarm webhooks retry <deliveryId>
gửi lại một lượt giao
nextfarm webhooks verify
kiểm signature webhook tại máy (không gọi máy chủ)
| Flag | Ý nghĩa |
|---|---|
--secret <secret> | |
--payload <file> | thân thô đã nhận (- = stdin) |
-H, --header <K: V> | header đã nhận (lặp được) |
--signature <sig> | signature trong header *-Signature-256 |
--timestamp <ts> | dấu thời gian trong header *-Timestamp |
nextfarm webhooks listen
nhận sự kiện thật về máy và chuyển tới địa chỉ local
| Flag | Ý nghĩa |
|---|---|
--forward-to <url> | vd localhost:3000/hook |
--events <list> | sự kiện, phẩy ngăn cách (mặc định: tất cả) |
--print-secret | in đủ khoá ký |
--print-json | in thân sự kiện |
nextfarm openapi pull
| Flag | Ý nghĩa |
|---|---|
--module <m> | chỉ một phân hệ |
-o, --out <file> | · mặc định openapi.json |
nextfarm docs [topic]
mở tài liệu (cli, quickstart, api-keys, oauth, mcp, ai-tools, webhooks, sdk, errors, rate-limit, sandbox, changelog, versioning, security)
nextfarm mcp install [clients...]
cài vào: chatgpt, claude, claude-desktop, codex, copilot, cursor, gemini, grok, vscode, windsurf
nextfarm mcp uninstall <client>
nextfarm mcp serve
chạy MCP qua stdio bằng quyền của CLI (cho client không hỗ trợ OAuth)
| Flag | Ý nghĩa |
|---|---|
--stdio | dùng stdin/stdout (mặc định) |
nextfarm ci trust add
cho một kho đăng nhập (token đứng tên bạn, sống 15 phút)
| Flag | Ý nghĩa |
|---|---|
--repo <owner/repo> | |
--provider <p> | github | gitlab · mặc định github |
--ref <ref> | nhánh hoặc tiền tố tag, vd main · refs/tags/v* · mặc định main |
--environment <name> | environment GitHub bắt buộc (khuyên dùng cho nhánh chính) |
--expires <dur> | thời hạn: 90d, 1y |
--name <name> |
nextfarm ci trust revoke <id>
thu hồi (có hiệu lực ngay)
nextfarm ci policy show <id>
nextfarm ci policy request
xin cho một kho CI tự ghi (người quản lý API key duyệt; có quyền thì có hiệu lực ngay)
| Flag | Ý nghĩa |
|---|---|
--trust <id|owner/repo> | CI trust (xem: ci trust list) |
--kinds <a,b> | loại ghi (xem: ci policy kinds) |
--max <n> | trần số bản ghi (1–1000) · mặc định 50 |
--expires <dur> | thời hạn tối đa 30d · mặc định 14d |
--note <text> | |
--approve | duyệt luôn (cần quyền quản lý API key) |
nextfarm ci policy revoke <id>
thu hồi (lượt ghi kế tiếp quay về chỉ in link)
nextfarm ci example
in mẫu workflow GitHub Actions
| Flag | Ý nghĩa |
|---|---|
--repo <owner/repo> | |
--workspace <code> | |
--write | mẫu có tự ghi (cần chính sách: ci policy request) |
nextfarm config get <key>
nextfarm config set <key> <value>
lang · mode · updateChannel · updateCheck · telemetry · color · defaultProfile
nextfarm completion <shell>
gợi ý Tab cho bash | zsh | fish | powershell
nextfarm update
nâng lên bản mới
| Flag | Ý nghĩa |
|---|---|
--channel <c> | latest | next |
Scripting & CI
nextfarm -p "tóm tắt nhật ký tuần" --json # không tương tác, in JSON
nextfarm tools call parcels_list --args '{"page_size":5}'
nextfarm api GET /gis/parcels -f page_size=5Trong CI, session của nextfarm login --ci không có người bấm xác nhận: write proposal chỉ được ghi khi có pre-approval policy cho đúng repo đó (loại ghi, record limit, hạn ≤ 30 ngày) — xem nextfarm ci policy. Ngoài policy, lệnh in link để xác nhận trong app và trả exit code 7.
Flag chung
| Flag | Ý nghĩa |
|---|---|
-v, --version | in phiên bản |
-p, --print [question] | không tương tác: in câu trả lời rồi thoát (đọc thêm từ stdin) |
-c, --continue | nối hội thoại gần nhất |
-r, --resume [id] | mở lại hội thoại cũ (không id = chọn trong danh sách) |
-f, --file <path> | đính kèm tệp Excel/CSV, ảnh hoặc tệp chữ (lặp được, tối đa 3) |
--profile <name> | hồ sơ đăng nhập |
--sandbox | dùng sandbox |
-w, --workspace <code> | chạy lệnh này trên workspace khác |
--agent <code> | chọn Agent thay cho Trợ lý chung |
--model <provider/name> | dùng model của bạn qua MCP: claude, gemini, gpt, grok, ollama/<name> |
--mode <mode> | permission mode |
--output-format <format> | output format |
--json | viết tắt của --output-format json |
--lang <lang> | ngôn ngữ |
--no-color | tắt màu |
--quiet | chỉ in kết quả |
--verbose | in chi tiết |
--debug | in request-id và thời gian từng cửa (không in token) |
Environment variables
NEXTFARM_API_KEY · NEXTFARM_TOKEN · NEXTFARM_PROFILE · NEXTFARM_ENV · NEXTFARM_WORKSPACE · NEXTFARM_LANG · NEXTFARM_DEBUG · NEXTFARM_NO_UPDATE_CHECK · NEXTFARM_NO_KEYCHAIN · NEXTFARM_ID_TOKEN
Exit codes
| Exit code | Ý nghĩa |
|---|---|
0 | Thành công |
1 | Lỗi chung hoặc lỗi server |
2 | Sai cú pháp lệnh |
3 | Chưa đăng nhập hoặc session hết hạn |
4 | Thiếu quyền, scope hoặc gói |
5 | Hết lượt AI hoặc vượt rate limit |
6 | Lỗi mạng |
7 | Write proposal chưa được xác nhận |
8 | Không tìm thấy |
130 | Bị huỷ (Ctrl+C) |