Xử lý sự cố
Chưa đăng nhập, trang duyệt key từ chối, quyền mạng cục bộ, mã thoát, Liquid parse skipped, tên file trên Windows, nhật ký.
"not logged in" / máy chủ không nhận key
not logged in to store 42 on https://webmati.com/graphql — run `webmati login --key <key>` (or `webmati login --web`), or set WEBMATI_TOKEN
Máy này chưa có key cho website đó, hoặc key đã hết hạn (30 ngày) hay bị thu hồi. Đăng nhập lại; bên trong project thì không cần thêm cờ:
webmati login --web
Nếu biến môi trường WEBMATI_TOKEN đang được đặt, nó luôn được dùng thay cho key
đã lưu. Một token cũ trong biến đó cũng gây ra lỗi này: unset WEBMATI_TOKEN.
Trang duyệt key trong trình duyệt từ chối
| Trang báo | Vì sao | Làm gì |
|---|---|---|
| Liên kết đăng nhập không hợp lệ | link đã cũ, hoặc bị sửa | chạy lại webmati login --web |
| Không mở được website này | website không thuộc workspace đang mở, hoặc bạn không có quyền với nó | đổi workspace ở thanh trên cùng, hoặc mở website đó trong admin một lần rồi thử lại |
| Workspace này chưa có website nào | workspace đang mở trống | chọn workspace khác, hoặc tạo website trước |
| Không gửi được key tới CLI trên máy này | CLI đã thoát (quá 5 phút), hoặc trình duyệt chặn 127.0.0.1 | chạy lại webmati login --web; key vừa tạo đã được tự thu hồi |
| Đã huỷ | bạn bấm Huỷ | không có key nào được tạo |
Quyền truy cập mạng cục bộ (Chrome)
Khi trang gửi key về CLI, Chrome có thể hỏi quyền truy cập thiết bị trong mạng cục
bộ. Chọn Cho phép: đích đến là CLI trên chính máy bạn
(127.0.0.1). Nếu lỡ chặn: bấm biểu tượng ở đầu thanh địa chỉ ▸ Cài đặt trang
web ▸ cho phép Mạng cục bộ, rồi chạy lại webmati login --web. Không dùng
được trình duyệt thì đăng nhập bằng key có sẵn:
login --key -.
Mã thoát
| Mã | Ý nghĩa | Thường gặp khi |
|---|---|---|
1 | lỗi | mạng, quyền, file không đọc được |
2 | dùng sai lệnh | thiếu tham số, cờ không có (webmati <lệnh> --help) |
3 | cần bạn xem | xung đột, lỗi validate, thay đổi bị từ chối, thay đổi mất dữ liệu chưa có --allow-destructive |
4 | CLI quá cũ | chạy webmati update |
"Liquid parse skipped"
Liquid parse skipped (install Node ≥18 or use --remote)
Bước kiểm tra cú pháp Liquid offline cần Node.js 18 trở lên
(nodejs.org). Đây là bước bị bỏ qua, không phải đã qua:
cài Node, hoặc chạy webmati validate --remote để server kiểm tra.
Tên file lạ trên Windows (~3A…)
Tên không hợp lệ trên Windows được mã hoá khi tải về và giải mã khi đẩy lên:
| Trên server | Trong project |
|---|---|
stripe:pay (workflow của app) | stripe~3Apay |
con, nul, aux… | con~, nul~, aux~ |
| tên kết thúc bằng dấu chấm hoặc khoảng trắng | ký tự cuối thành ~2E / ~20 |
Đừng tự đổi các tên này. Hai đường dẫn chỉ khác chữ hoa/thường bị từ chối ngay khi clone, vì macOS và Windows coi chúng là một file.
"not inside a webmati project"
Lệnh cần chạy trong thư mục project (thư mục có webmati.toml, hoặc thư mục con
của nó). cd vào đó, hoặc thêm --dir trước tên lệnh:
webmati --dir ~/sites/my-shop status
Nền tảng từ chối việc lẽ ra phải nhận
Một lời từ chối có vẻ sai, một lệnh lần nào cũng hỏng theo cùng một kiểu, một giới hạn chặn mất việc: đừng tìm cách lách, hãy báo. Ngay sau lệnh vừa hỏng:
webmati issue new --attach-last
Lệnh hỏi tiêu đề và mô tả (cả hai công khai: không ghi key, không ghi dữ liệu
khách hàng), tìm báo cáo giống thế và mời bạn +1 thay vì báo trùng, rồi gửi kèm
phần riêng tư chỉ bạn và đội nền tảng xem: phiên bản CLI, hệ điều hành, website,
lệnh vừa hỏng cùng lỗi và output của nó, phần cuối .webmati/logs — bỏ đối số của
tool, che các bí mật. Agent truyền tất cả trên dòng lệnh:
webmati issue new --json --kind bug --title "push refuses a 300 KB section" --body-file report.md --attach-last
Với --json, báo cáo giống một báo cáo đã có sẽ thoát mã 3 kèm danh sách: +1 một
cái (webmati issue vote 12 --note "also on Windows") hoặc vẫn gửi bằng --yes.
webmati issue list --mine theo dõi các báo cáo của bạn, webmati issue show 12 đọc
câu trả lời. Key tạo trước khi có trang góp ý bị từ chối với missing scope: issues:…: chạy webmati login --web một lần.
Nhật ký nằm ở đâu
| File | Có gì |
|---|---|
.webmati/logs/tools.jsonl | mỗi lần webmati tool call |
.webmati/logs/exec-<thời điểm>.jsonl | mỗi lần gọi tool của một script webmati exec |
.webmati/logs/last-failure.json | lệnh hỏng gần nhất, cho webmati issue new --attach-last (ngoài project: ~/.config/webmati/last-failure.json) |
.webmati/conflicts/ | bản phía server của các mục đang xung đột |
~/.config/webmati/update.json | lần kiểm tra cập nhật gần nhất |
--verbose (đặt trước tên lệnh) in thêm từng request HTTP: tên thao tác, mã trạng
thái và thời gian, không bao giờ in key hay nội dung.
webmati --verbose push --dry-run

