Gym Master trong terminal: lệnh gymmaster
Gõ gymmaster là chat với Gym Master AI trên dữ liệu thật của workspace, như Claude Code hay Codex. Kèm các subcommand cho dev: gọi API, công cụ AI, API key, webhook, MCP.
Bản 0.3.5 · GitHub
Cài đặt
curl -fsSL https://developers.gymmaster.vn/install.sh | shirm https://developers.gymmaster.vn/install.ps1 | iexbrew install nextx-organization/nextx/gymmasternpm install -g @gymmasterai/cliBản cài qua npm và Homebrew lưu token trong Keychain của hệ điều hành. Bản cài bằng script không cần Node.
Bắt đầu nhanh
gymmaster login
gymmaster
gymmaster -p "doanh thu hôm qua theo chi nhánh"
gymmaster doctorLần đầu gymmaster login mở trình duyệt; máy qua SSH thì quét mã QR bằng app Gym Master. gymmaster doctor kiểm mạng, đồng hồ, session và gói AI.
Đăng nhập
| Cách | Lệnh | Dùng khi |
|---|---|---|
| Trình duyệt | gymmaster login --web | Máy có trình duyệt (mặc định) |
| Quét QR | gymmaster login --qr | SSH, máy chủ không có trình duyệt — duyệt bằng app Gym Master |
| Mã thiết bị | gymmaster login --device | Không có trình duyệt lẫn app: nhập mã ở máy khác |
| API key | GYMMASTER_API_KEY=… gymmaster … | Script, CI chỉ đọc — danh tính agent, không chat AI |
| OIDC của CI | gymmaster login --ci | GitHub Actions / GitLab CI, không giữ secret nào |
Session tự gia hạn khi dùng, hết hạn sau 30 ngày bỏ không. Thu hồi ở gymmaster sessions hoặc trang Thiết bị đăng nhập.
Interactive mode
Gõ gymmaster để mở. / mở menu lệnh, @ đính kèm tệp hoặc chọn Agent, Shift+Tab đổi permission mode, Esc dừng câu trả lời.
| Lệnh | Ý nghĩa |
|---|---|
/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 |
/agent [code] | Chọn Agent: Trợ lý chung, Bán hàng, CSKH… |
/mode read|propose|auto | Permission mode: chỉ đọc · đề xuất · tự ghi việc thường |
/model [name] | Đổi model: Gym Master AI hoặc model của bạn |
/attach <file> | Đính kèm tệp Excel / CSV / ảnh / tệp chữ |
/pending | Write proposal đang chờ xác nhận |
/undo [id] | Hoàn tác lần ghi gần nhất |
/journal | Nhật ký những gì AI đã ghi |
/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 |
/library | Ảnh, tài liệu, tệp AI đã tạo |
/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 | Lượt AI tháng này |
/feedback up|down | Báo câu trả lời vừa rồi tốt / chưa tốt |
/support <problem> | Chuyển cho nhân viên hỗ trợ (mở ticket) |
/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 GYMMASTER.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 tắt
| Phím | Ý nghĩa |
|---|---|
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 GYMMASTER.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 |
Permission mode
| Chế độ | Ghi thường | Ghi lớn (xoá, hàng loạt > 20, đổi quyền) | Tài chính |
|---|---|---|---|
| Chỉ đọc | Không ghi | Không ghi | Không ghi |
| Đề xuất (mặc định) | Bảng thay đổi + [y/N] | Gõ lại số lượng | Chỉ xác nhận trong app |
| Tự ghi việc thường | Ghi luôn, có hoàn tác | Gõ lại số lượng | Chỉ xác nhận trong app |
| Không có terminal (-p, CI) | Không ghi, in lệnh xác nhận | Không ghi | Không ghi |
Máy chủ kiểm lại quyền thật, gói AI và hạn của đề xuất ở mọi lần ghi — CLI không phải chốt chặn duy nhất.
Command reference
Sinh tự động từ gymmaster help --json của bản đang phát hành.
Flag dùng với mọi lệnh
| 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) |
gymmaster 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 Gym Master (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 |
gymmaster 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 |
gymmaster status
tài khoản, workspace, môi trường, gói AI, session
gymmaster sessions
session của bạn trên mọi thiết bị
gymmaster sessions list
danh sách session
gymmaster 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 |
gymmaster workspace(ws)
các workspace (công ty) của bạn
gymmaster workspace list
danh sách workspace
gymmaster workspace use [code]
đổi workspace đang làm việc (lưu vào hồ sơ)
gymmaster ai
trợ lý AI: hỏi, lịch sử, write proposal, bộ nhớ, lịch chạy
gymmaster 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 |
gymmaster 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 |
gymmaster ai show <id>
in toàn bộ một hội thoại
gymmaster ai rename <id> [title...]
đặt tên hội thoại (bỏ trống = xoá tên)
gymmaster ai pin <id>
ghim hội thoại
| Flag | Ý nghĩa |
|---|---|
--off | bỏ ghim |
gymmaster ai delete <id>
xoá hẳn một hội thoại (không hoàn tác)
gymmaster ai why [runId]
vì sao AI trả lời vậy: các bước, công cụ đã gọi
gymmaster ai runs
các lượt chạy gần đây
| Flag | Ý nghĩa |
|---|---|
--limit <n> | · mặc định 20 |
gymmaster ai pending
bản nháp ghi và câu hỏi đang chờ bạn
gymmaster ai show-changeset <id>
xem từng dòng của một bản nháp
gymmaster ai apply <id>
áp dụng một bản nháp (ghi thật)
gymmaster ai reject <id>
huỷ một bản nháp
gymmaster ai undo <id>
hoàn tác việc AI đã ghi (trong hạn)
gymmaster ai journal
nhật ký những gì AI đã ghi
| Flag | Ý nghĩa |
|---|---|
--module <m> | lọc theo phân hệ |
--limit <n> | · mặc định 20 |
gymmaster ai memory
AI đang nhớ gì về công ty
gymmaster ai memory list
gymmaster ai memory edit <id> <text...>
sửa câu chữ một điều nhớ
gymmaster ai memory lock <id>
khoá để AI không tự sửa
| Flag | Ý nghĩa |
|---|---|
--off | mở khoá |
gymmaster ai memory forget <id>
bảo AI quên một điều
gymmaster ai schedule
lên lịch một câu hỏi chạy định kỳ
gymmaster ai schedule list
gymmaster ai schedule add <question>
vd: ai schedule add "doanh thu hôm qua" --daily 08:00
| Flag | Ý nghĩa |
|---|---|
--daily <HH:mm> | |
--weekly <dow@HH:mm> | 0=CN … 6=T7, vd 1@08:00 |
--monthly <dom@HH:mm> | ngày 1–28, vd 1@08:00 |
--title <title> |
gymmaster ai schedule run <id>
chạy ngay một lần
gymmaster ai schedule off <id>
tắt lịch
gymmaster ai schedule on <id>
bật lịch
gymmaster ai schedule delete <id>
xoá lịch
gymmaster ai library
ảnh, tài liệu, tệp AI đã tạo
gymmaster ai library list
| Flag | Ý nghĩa |
|---|---|
--kind <kind> | image | document | generated |
gymmaster ai library get <n>
tải mục thứ n về máy
| Flag | Ý nghĩa |
|---|---|
-o, --out <file> |
gymmaster ai agents
các Agent bạn dùng được
gymmaster ai usage
lượt AI tháng này
gymmaster ai feedback <messageId> <vote>
báo câu trả lời tốt (up) / chưa tốt (down)
gymmaster ai support <problem...>
chuyển cho nhân viên hỗ trợ (mở ticket)
gymmaster model
model của bạn cho --model (khoá lưu keychain, không gửi về Gym Master)
gymmaster model list
các model đã thêm
gymmaster 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) |
gymmaster model remove <name>
gỡ model và xoá khoá khỏi keychain
gymmaster model default <name>
model mặc định khi mở chat (gymmaster = Gym Master AI)
gymmaster tools
công cụ AI bạn được dùng (theo quyền thật)
gymmaster 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 |
gymmaster tools logout
thu hồi quyền công cụ AI của CLI
gymmaster tools list
danh sách công cụ
| Flag | Ý nghĩa |
|---|---|
--module <m> | lọc theo phân hệ (gym, crm, sales…) |
--kind <k> | lọc theo loại (read | proposal | export) |
--public | danh mục công khai (không cần đăng nhập) |
gymmaster tools describe <name>
tham số và ví dụ của một công cụ
gymmaster 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) |
gymmaster api <method> <path>
gọi thẳng API (vd: api GET /iam/auth/me)
| 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 |
gymmaster keys
API key của workspace
gymmaster keys list
danh sách khoá
gymmaster 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 gym.members.view,gym.contracts.view |
--expires <dur> | thời hạn: 30d, 6m, 1y · mặc định 90d |
--description <text> |
gymmaster keys revoke <id>
thu hồi khoá (dừng ngay)
gymmaster keys delete <id>
xoá khoá
gymmaster keys usage [id]
số lượt gọi 7 ngày
gymmaster keys calls <id>
50 lượt gọi gần nhất của một khoá
gymmaster webhooks(webhook)
sự kiện webhook: xem, trigger, nghe về máy
gymmaster webhooks events
danh sách sự kiện
| Flag | Ý nghĩa |
|---|---|
--module <m> |
gymmaster webhooks schema <event>
schema và ví dụ payload
gymmaster webhooks endpoints
endpoint nhận webhook của workspace
gymmaster webhooks endpoints list
gymmaster webhooks endpoints create <url>
| Flag | Ý nghĩa |
|---|---|
--events <list> | sự kiện, phẩy ngăn cách |
--description <text> |
gymmaster webhooks endpoints delete <id>
gymmaster webhooks endpoints rotate-secret <id>
đổi khoá ký (khoá cũ còn hiệu lực một thời gian)
gymmaster 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) |
gymmaster webhooks deliveries
lượt giao gần đây
| Flag | Ý nghĩa |
|---|---|
--status <s> | success | failed | pending |
--endpoint <id> | |
--limit <n> | · mặc định 30 |
gymmaster webhooks retry <deliveryId>
gửi lại một lượt giao
gymmaster 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 |
gymmaster 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 |
gymmaster openapi
tải đặc tả OpenAPI công khai
gymmaster openapi pull
| Flag | Ý nghĩa |
|---|---|
--module <m> | chỉ một phân hệ |
-o, --out <file> | · mặc định openapi.json |
gymmaster docs [topic]
mở tài liệu (cli, quickstart, api-keys, oauth, mcp, ai-tools, webhooks, sdk, errors, rate-limit, sandbox, changelog, versioning, security)
gymmaster changelog
thay đổi API gần đây
gymmaster mcp
kết nối máy chủ MCP vào trợ lý AI khác
gymmaster mcp url
in địa chỉ máy chủ MCP
gymmaster mcp install [clients...]
cài vào: chatgpt, claude, claude-desktop, codex, copilot, cursor, gemini, grok, vscode, windsurf
gymmaster mcp uninstall <client>
gymmaster 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) |
gymmaster ci
đăng nhập từ CI không cần secret (OIDC)
gymmaster ci trust
kho CI được phép đăng nhập workspace này
gymmaster ci trust list
gymmaster 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> |
gymmaster ci trust revoke <id>
thu hồi (có hiệu lực ngay)
gymmaster ci policy
chính sách duyệt trước: cho CI tự ghi trong trần
gymmaster ci policy list
gymmaster ci policy kinds
loại ghi đưa được vào chính sách
gymmaster ci policy show <id>
gymmaster 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) |
gymmaster ci policy revoke <id>
thu hồi (lượt ghi kế tiếp quay về chỉ in link)
gymmaster 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) |
gymmaster doctor
kiểm kết nối, đồng hồ, token, gói, phiên bản
gymmaster config
cài đặt
gymmaster config list
gymmaster config get <key>
gymmaster config set <key> <value>
lang · mode · updateChannel · updateCheck · telemetry · color · defaultProfile
gymmaster completion <shell>
gợi ý Tab cho bash | zsh | fish | powershell
gymmaster update
nâng lên bản mới
| Flag | Ý nghĩa |
|---|---|
--channel <c> | latest | next |
gymmaster init
tạo GYMMASTER.md: chỉ dẫn riêng cho thư mục này
Scripting & CI
-p in câu trả lời rồi thoát; --json và --output-format stream-json cho máy đọc. Lệnh ghi không bao giờ tự chạy khi không có terminal.
GYMMASTER_API_KEY=… gymmaster tools call <tool> -a q=… --jsongymmaster -p "doanh thu hôm qua theo chi nhánh" --json > report.json
gymmaster -p "…" --output-format stream-jsonEnvironment variables & config file
| Biến | Ý nghĩa |
|---|---|
GYMMASTER_API_KEY | API key (CI, chỉ đọc) |
GYMMASTER_TOKEN | Access token có sẵn |
GYMMASTER_PROFILE | Hồ sơ đăng nhập |
GYMMASTER_ENV | prod | sandbox |
GYMMASTER_WORKSPACE | Workspace cho lệnh này |
GYMMASTER_LANG | vi | en |
GYMMASTER_DEBUG | In request-id và thời gian (không in token) |
GYMMASTER_NO_UPDATE_CHECK | Tắt nhắc bản mới |
GYMMASTER_NO_KEYCHAIN | Lưu token bằng tệp 0600 thay cho Keychain |
GYMMASTER_ID_TOKEN | Token OIDC của CI (GitLab) |
Cấu hình ở ~/.config/gymmaster/config.toml (không chứa token). GYMMASTER.md trong thư mục là chỉ dẫn riêng gửi kèm mỗi câu hỏi.
Exit codes
| Mã | Ý nghĩa |
|---|---|
0 | Thành công |
1 | Lỗi chung / máy chủ lỗi |
2 | Sai cú pháp lệnh |
3 | Chưa đăng nhập / session hết hạn |
4 | Không đủ quyền hoặc gói |
5 | Hết lượt AI / quá nhanh |
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) |