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

macOS · Linux
curl -fsSL https://developers.gymmaster.vn/install.sh | sh
Windows (PowerShell)
irm https://developers.gymmaster.vn/install.ps1 | iex
Homebrew
brew install nextx-organization/nextx/gymmaster
npm (Node 20+)
npm install -g @gymmasterai/cli

Bả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

Lệnh mẫu
gymmaster login
gymmaster
gymmaster -p "doanh thu hôm qua theo chi nhánh"
gymmaster doctor

Lầ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áchLệnhDùng khi
Trình duyệtgymmaster login --webMáy có trình duyệt (mặc định)
Quét QRgymmaster login --qrSSH, máy chủ không có trình duyệt — duyệt bằng app Gym Master
Mã thiết bịgymmaster login --deviceKhông có trình duyệt lẫn app: nhập mã ở máy khác
API keyGYMMASTER_API_KEY=… gymmaster …Script, CI chỉ đọc — danh tính agent, không chat AI
OIDC của CIgymmaster login --ciGitHub 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
/helpDanh sách lệnh và phím tắt
/newHộ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
/pinGhim / 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|autoPermission 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ữ
/pendingWrite proposal đang chờ xác nhận
/undo [id]Hoàn tác lần ghi gần nhất
/journalNhậ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)
/memoryAI đang nhớ gì về công ty — sửa, khoá, quên
/schedule "question" daily 08:00Lê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
/toolsCông cụ AI bạn đang được dùng (theo quyền thật)
/usageLượt AI tháng này
/feedback up|downBá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)
/statusTài khoản, workspace, môi trường, phiên bản
/doctorKiể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
/initTạo GYMMASTER.md: chỉ dẫn riêng cho thư mục này
/mcpCài máy chủ MCP vào client khác
/logoutĐăng xuất hồ sơ này
/clearXoá màn hình (không xoá hội thoại)
/exitThoá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+TabXoay permission mode
EscDừng câu trả lời đang chạy
Esc EscSửa lại câu vừa gửi
↑ / ↓Lịch sử câu đã gõ
Ctrl+OMở / gập chi tiết các bước
Ctrl+LXoá màn
Ctrl+C · Ctrl+DHuỷ dòng đang gõ (2 lần để thoát) · thoát

Permission mode

Chế độGhi thườngGhi lớn (xoá, hàng loạt > 20, đổi quyền)Tài chính
Chỉ đọcKhông ghiKhông ghiKhông ghi
Đề xuất (mặc định)Bảng thay đổi + [y/N]Gõ lại số lượngChỉ xác nhận trong app
Tự ghi việc thườngGhi luôn, có hoàn tácGõ lại số lượngChỉ xác nhận trong app
Không có terminal (-p, CI)Không ghi, in lệnh xác nhậnKhông ghiKhô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, --versionin 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, --continuenố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
--sandboxdù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
--jsonviết tắt của --output-format json
--lang <lang>ngôn ngữ
--no-colortắt màu
--quietchỉ in kết quả
--verbosein chi tiết
--debugin 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
--qrquét mã bằng app Gym Master (SSH, máy không có trình duyệt)
--devicenhập mã trên máy khác (RFC 8628)
--citrong GitHub Actions/GitLab CI: đổi token OIDC lấy token ngắn hạn
--no-browserkhô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
--othersmọ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
--offbỏ 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
--offmở 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-browserkhô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)
--publicdanh 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, --includein 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-secretin đủ khoá ký
--print-jsonin 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
--stdiodù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>
--approveduyệ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>
--writemẫ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.

API key
GYMMASTER_API_KEY=… gymmaster tools call <tool> -a q=… --json
JSON cho script
gymmaster -p "doanh thu hôm qua theo chi nhánh" --json > report.json
gymmaster -p "…" --output-format stream-json

Environment variables & config file

BiếnÝ nghĩa
GYMMASTER_API_KEYAPI key (CI, chỉ đọc)
GYMMASTER_TOKENAccess token có sẵn
GYMMASTER_PROFILEHồ sơ đăng nhập
GYMMASTER_ENVprod | sandbox
GYMMASTER_WORKSPACEWorkspace cho lệnh này
GYMMASTER_LANGvi | en
GYMMASTER_DEBUGIn request-id và thời gian (không in token)
GYMMASTER_NO_UPDATE_CHECKTắt nhắc bản mới
GYMMASTER_NO_KEYCHAINLưu token bằng tệp 0600 thay cho Keychain
GYMMASTER_ID_TOKENToken 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
0Thành công
1Lỗi chung / máy chủ lỗi
2Sai cú pháp lệnh
3Chưa đăng nhập / session hết hạn
4Không đủ quyền hoặc gói
5Hết lượt AI / quá nhanh
6Lỗi mạng
7Write proposal chưa được xác nhận
8Không tìm thấy
130Bị huỷ (Ctrl+C)