CLI papers
papers là công cụ dòng lệnh mỏng cho nghiên cứu viên: đăng nhập một lần bằng mã thiết bị, rồi đẩy phiên bản và đọc báo cáo kiểm ngay từ thư mục LaTeX trên máy. Đây là đường chính khi bạn viết bài trên máy riêng.
Cài đặt
Phần tiêu đề “Cài đặt”CLI nằm trong repo của ứng dụng, cần Node 22 trở lên:
pnpm --filter @papers/shared buildpnpm --filter @papers/cli buildalias papers='node /duong/dan/repo/packages/cli/bin/papers.js'papers --help| Biến môi trường | Mặc định | Ý nghĩa |
|---|---|---|
PAPERS_API_URL |
https://papers-inseclab.khoi.pro |
Máy chủ; papers login lưu lại và các lệnh sau dùng lại |
PAPERS_CONFIG_DIR |
~/.config/papers |
Nơi lưu credentials.json (thư mục 700, tệp 600) |
Đăng nhập: papers login
Phần tiêu đề “Đăng nhập: papers login”$ papers loginMở https://papers-inseclab.khoi.pro/device và nhập mã: K7QM-2XPD- Mở trang
/devicetrên trình duyệt đã đăng nhập (phiên phải đã qua 2FA). - Nhập mã 8 ký tự (không phân biệt hoa/thường), bấm Kiểm tra mã.
- Trang hiện IP, thiết bị, quyền và hạn của token; bấm Cho phép nếu đúng là bạn vừa chạy lệnh.

Mã hết hạn sau 10 phút. Token cấp cho CLI sống 90 ngày, quyền works:read works:write checks:read; hết hạn thì papers login lại.
Đẩy phiên bản: papers push
Phần tiêu đề “Đẩy phiên bản: papers push”papers push ISL-2026-0001 --pdf paper.pdf # zip thư mục chứa paper.pdfpapers push ISL-2026-0001 --pdf paper.pdf --src ./latex # zip thư mục khácpapers push ISL-2026-0001 --pdf paper.pdf --zip source.zip # dùng zip có sẵnpapers push ISL-2026-0001 --pdf paper.pdf --kind revision --label R1 \ --review reviews/R1.pdf --decision decision.pdf --response response.pdf--pdfbắt buộc.--src(thư mục) hoặc--zip(tệp có sẵn) là nguồn LaTeX; không có thì CLI zip thư mục chứa PDF.--kind:submission(mặc định),revision,camera_ready,published,preprint,other.--labellà nhãn tự do.- Bản sửa kèm được review, thư quyết định, thư phản hồi (
--review,--decision,--response). - Mỗi lần đẩy tạo phiên bản mới; công trình chưa có lần nộp thì CLI tạo lần nộp nháp trên venue edition mặc định.
- Kiểm tra tự chạy khi phiên bản có PDF + zip; CLI in mã phiên bản và đường dẫn mở trên web.
Zip do CLI tạo bỏ tệp build (*.aux *.log *.out *.toc *.synctex(.gz) *.fls *.fdb_latexmk *.blg *.bcf *.run.xml *.nav *.snm *.vrb *.xdv *.dvi), .git/, .svn/, __pycache__/, .DS_Store, Thumbs.db, *~, *.zip; giữ .bbl, .bib và mọi hình. Giới hạn: 2 000 tệp, 64 MB mỗi tệp, 200 MB tổng, sâu 8 cấp, zip đến 100 MB; symlink bị bỏ qua.
Xem trạng thái và báo cáo
Phần tiêu đề “Xem trạng thái và báo cáo”papers status ISL-2026-0001 # các phiên bản: nhãn, loại, số trang, thời điểm, mã phiên bảnpapers report <version-id> # 10 kiểm tra; mục chưa chạy hiện "chưa chạy"papers report <version-id> --check similaritypapers report <version-id> --json # dùng trong script hoặc agentMọi lệnh nhận --json. Mã thoát: 0 thành công, 1 lỗi nghiệp vụ hoặc mạng, 2 dùng lệnh sai.
Đăng xuất và thu hồi token
Phần tiêu đề “Đăng xuất và thu hồi token”papers logout thu hồi token trên máy chủ rồi xoá credential trên máy. Mất máy mà không chạy được lệnh này thì gọi GET /api/v1/tokens (bằng phiên đăng nhập web) để lấy id rồi DELETE /api/v1/tokens/{id}, hoặc nhờ trưởng phòng thu hồi hộ. Token của tài khoản bị khoá hoặc bị xoá khỏi lab bị từ chối ngay.