Dành cho AI agent
Deploy bằng AI agent
Các coding agent như Claude Code, Codex hay Cursor có thể deploy lên TOSE theo hai cách: kết nối MCP server của TOSE tại https://app.tose.sh/mcp bằng OAuth, hoặc chạy TOSE CLI với một API key.
Hai lối vào, một nền tảng
TOSE CLI
Có sẵn- Kết nối
- Cài @tosesh/tose từ npm; agent chạy lệnh trong terminal với --json.
npm install -g @tosesh/tose- Xác thực
- API key của workspace trong TOSE_API_KEY (có thể giới hạn scope), tạo tại Settings → API Keys.
- Agent làm được gì
- Mọi thứ CLI hỗ trợ: tạo và deploy project, status, log, doctor, env, domain, database, ổ đĩa, template, skills.
TOSE MCP server
Có sẵn- Kết nối
- Thêm remote MCP server với URL này vào client (Claude Code: claude mcp add --transport http tose https://app.tose.sh/mcp).
https://app.tose.sh/mcp- Xác thực
- OAuth 2.1 với PKCE: đăng nhập TOSE và duyệt các scope được yêu cầu. Không cần API key.
- Agent làm được gì
- 8 tool: liệt kê project, trạng thái và chi tiết deployment, log, incident (chỉ đọc), cùng deploy_project và rollback_deployment khi có scope ghi.
TOSE Agent Skills
Coming soon- Kết nối
- Gói skill của TOSE để agent cài vào, giúp deploy, debug và rollback trên TOSE. Chưa phát hành.
- Xác thực
- Chưa có.
- Agent làm được gì
- Chưa có. Skills catalogue công khai (JSON) bên dưới là tập tài liệu, không phải gói này.
Những gì dùng được hôm nay
| TOSE CLI 0.2.0 Có sẵn | @tosesh/tose trên npm: up, deploy (--dry-run, --wait), doctor, status, logs, down, env, domain, db, template, disk, volumes, pricing, skills, feedback, desktop, capabilities | Có sẵn |
|---|---|---|
| Kết quả JSON Có sẵn | Cờ --json toàn cục cho agent và script; --non-interactive và --yes cho lần chạy không cần người giám sát | Có sẵn |
| API key từ biến môi trường Có sẵn | CLI đọc TOSE_API_KEY (hoặc --api-key-stdin), nên key không phải nằm trong prompt hay argv | Có sẵn |
| API key có scope Beta | API tạo được key giới hạn theo danh sách scope; form tạo key trên dashboard chưa có tuỳ chọn scope | Beta |
| OpenAPI và Skills catalogue công khai Có sẵn | api-v2.tose.sh/api/openapi.yaml và /api/skills; cài một skill bằng tose skills install <name>; xem trang MCP | Có sẵn |
| MCP server và OAuth cho agent Có sẵn | https://app.tose.sh/mcp (Streamable HTTP): đăng nhập TOSE và duyệt scope, không cần API key; 8 tool để xem, deploy và rollback | Có sẵn |
| TOSE Agent Skills Coming soon | Gói skill của TOSE để agent cài vào; chưa phát hành | Coming soon |
| Cloud Desktop Coming soon | CLI đã có lệnh desktop, nhưng dịch vụ đang tắt trên production trong lúc hoàn thiện phần gia cố bảo mật | Coming soon |
Kết nối agent
Qua MCP: thêm remote MCP server với URL https://app.tose.sh/mcp vào client (Claude Code: claude mcp add --transport http tose https://app.tose.sh/mcp), đăng nhập TOSE và duyệt scope. Hoặc dùng CLI với API key: Hướng dẫn kết nối MCP
1. Tạo API key
Đăng nhập app.tose.sh, mở workspace, vào Settings → API Keys → Create API Key. Chỉ owner và admin của workspace tạo được key. Đặt thời hạn nếu agent chỉ cần quyền truy cập trong một thời gian. Key đầy đủ, bắt đầu bằng tose_sk_, chỉ hiện một lần.
2. Đưa key cho agent dưới dạng secret
Đặt TOSE_API_KEY trong biến môi trường hoặc kho secret mà agent chạy cùng. Đừng dán key vào chat, prompt, issue hay commit: mọi thứ trong hội thoại đều có thể nằm lại trong log và transcript.
export TOSE_API_KEY=… # lấy từ kho secret, không gõ vào chat3. Cài CLI và kiểm tra quyền truy cập
Cần Node.js 18 trở lên. Lệnh whoami cho biết key thuộc workspace nào mà không thay đổi gì.
npm install -g @tosesh/tose tose whoami --json tose capabilities --json4. Tạo project một lần, sau đó để agent deploy
Lần đầu tose up sẽ hỏi workspace, project và có đẩy file .env hay không, nên hãy tự chạy nó trong terminal hoặc tạo project trên dashboard. Sau đó agent tự xem kế hoạch bằng --dry-run, deploy, chờ mọi pod sẵn sàng và đọc log được.
tose deploy my-workspace/my-app --dry-run --json tose deploy my-workspace/my-app --wait --json tose status my-workspace/my-app --json tose logs my-workspace/my-app -n 100 tose doctor my-workspace/my-app --json
Key được phép làm gì
- Mỗi key thuộc một workspace. Key tạo không kèm scope làm được mọi thứ CLI làm được trong đó: deploy, redeploy, dừng project, đổi biến môi trường, domain, database và template.
- API nhận danh sách scope khi tạo key (ví dụ logs:read hoặc deployments:execute), và key có scope không thể tạo key có scope mà nó không có. Form trên dashboard chưa có tuỳ chọn scope và CLI không tạo được key. Yêu cầu vượt scope sẽ lỗi insufficient_scope.
- Hãy cấp cho mỗi agent một key riêng, ít scope nhất có thể và có thời hạn, để thu hồi mà không ảnh hưởng chỗ khác. Key này dành cho CLI và API; MCP server dùng OAuth và không cần API key.
- Thu hồi key tại Settings → API Keys. Yêu cầu dùng key đã thu hồi hoặc hết hạn sẽ bị từ chối.
- API vẫn kiểm tra quyền thành viên workspace; CLI không thể làm nhiều hơn những gì key cho phép.
Chi phí
Agent tiêu tiền từ cùng ví trả trước của workspace, theo giá vCPU, RAM và ổ đĩa tính theo giờ như bình thường. Dùng CLI không mất phí riêng. Deploy, redeploy hoặc rollback mới sẽ bị từ chối khi ví hết tiền, nên hãy nạp tiền trước. Khi hết số dư, project đang chạy bị tạm dừng và ổ đĩa vẫn được giữ; ổ đĩa vẫn tính phí kể cả khi project đã dừng. Xem bảng giá
Sao chép context an toàn cho project
Dán đoạn này vào chỉ dẫn cho agent (ví dụ AGENTS.md hoặc CLAUDE.md) rồi điền slug. Nó hướng dẫn agent dùng TOSE mà không chứa bất kỳ secret nào.
TOSE deployment context
- CLI: @tosesh/tose from npm. Add --json to every command and read the JSON result.
- Auth: the API key is in the TOSE_API_KEY environment variable. Never print, log, echo or commit it.
- Workspace: <workspace-slug>
- Project: <project-slug>
- Check first: tose deploy <workspace-slug>/<project-slug> --dry-run --json
- Deploy: tose deploy <workspace-slug>/<project-slug> --wait --json
- Status: tose status <workspace-slug>/<project-slug> --json
- Logs: tose logs <workspace-slug>/<project-slug> -n 100
- Diagnose: tose doctor <workspace-slug>/<project-slug> --json
- Ask me before running: tose down, tose env rm, tose domain rm, tose disk delete.
- Every deployment is paid from the workspace wallet by the hour. If the wallet is empty a new deploy is refused: tell me to top up, do not retry.
- Docs: https://docs.tose.sh/vi/commands/overviewKhi có lỗi
- "No API key found. Set TOSE_API_KEY, pipe it with --api-key-stdin, or run `tose login`."
- Tiến trình agent không thấy biến này. Đặt nó trong môi trường hoặc phần cài đặt secret của agent, rồi mở shell mới.
- "API key must start with tose_sk_"
- Giá trị này không phải API key của TOSE. Sao chép lại key từ Settings → API Keys.
- "Only owner or admin can create API keys"
- Nhờ owner của workspace tạo key giúp bạn hoặc cấp quyền admin cho bạn.
- Key từng dùng được nay bị từ chối
- Key đã hết hạn hoặc bị thu hồi. Tạo key mới và thay secret TOSE_API_KEY.
- Project bị tạm dừng
- Ví đã hết số dư. Nạp tiền trên dashboard; ổ đĩa vẫn được giữ và project có thể chạy lại.
- Deploy bị từ chối vì không đủ số dư (HTTP 402)
- Ví đang trống. Nạp tiền trên dashboard rồi deploy lại. Agent nên dừng và báo lại thay vì thử lại.
- insufficient_scope
- Key không có scope mà lệnh cần. Tạo key mới có scope đó.