📖 Tài Liệu Hướng Dẫn Mỹ Lích Calendar CLI
Hướng dẫn toàn diện từ việc sử dụng CLI/TUI đến triển khai tự host backend riêng tư.
📌 Mục Lục Nhanh
1. Cài đặt & Bắt đầu nhanh với CLI
Mỹ Lích CLI là công cụ dòng lệnh cực nhẹ viết bằng Go, hỗ trợ đầy đủ Linux, macOS và Windows:
# Tải bản phát hành mới nhất từ GitHub Releases:
# https://github.com/spiderdev-vn/mylich/releases
# Hoặc cài đặt trực tiếp bằng Go:
go install github.com/spiderdev-vn/mylich/lich-cli/cmd/lich@latest
# Kiểm tra phiên bản
lich version
2. Tra cứu lệnh CLI thường dùng
| Lệnh CLI | Mô tả tác vụ |
|---|---|
| lich | Mở giao diện Terminal tương tác toàn màn hình (TUI) |
| lich login | Đăng nhập hoặc đăng ký tài khoản vào máy chủ tự host |
| lich today | Xem lịch trình hôm nay dạng thẻ tóm tắt |
| lich week | Xem danh sách sự kiện trong tuần hiện tại |
| lich month | Xem lịch trình cả tháng |
| lich add <title> | Tạo sự kiện mới (hỗ trợ --date, --at, --to, --desc) |
| lich edit <id> | Chỉnh sửa tiêu đề hoặc mốc thời gian sự kiện |
| lich delete <id> | Xóa sự kiện (có hộp thoại hỏi xác nhận an toàn) |
| lich search <text> | Tìm kiếm sự kiện tức thì theo từ khóa trong tiêu đề/mô tả |
| lich sync | Đồng bộ hóa 2 chiều tức thì với lich-server |
| lich status | Kiểm tra kết nối máy chủ, hàng đợi đồng bộ và cache cục bộ |
| lich nuke-database | Xóa sạch database cục bộ (hoặc thêm --remote để xóa cả server) |
3. Trải nghiệm giao diện TUI tương tác
Gõ lệnh lich để khởi động giao diện bảng điều khiển tương tác:
- Phím mũi tên (↑ ↓ ← →) hoặc h / j / k / l: Di chuyển qua lại giữa các ngày trong tháng.
- Phím [n] / [p]: Chuyển nhanh sang tháng tiếp theo hoặc quay về tháng trước.
- Phím [a]: Mở form thêm sự kiện mới.
- Phím [d]: Xóa sự kiện đang chọn.
- Phím [s]: Kích hoạt đồng bộ hóa ngầm.
- Phím [q] / [Esc]: Thoát TUI.
4. Tích hợp Google Calendar hai chiều
Để liên kết lịch cá nhân với Google Calendar:
# 1. Mở trình duyệt để xác thực OAuth với tài khoản Google
lich google connect
# 2. Kiểm tra trạng thái kết nối và danh sách lịch Google đã ánh xạ
lich google status
# 3. Đồng bộ 2 chiều sự kiện ngay lập tức
lich google sync
# 4. Hủy liên kết khi không còn nhu cầu
lich google disconnect
5. Hướng dẫn tự host lich-server bằng Docker
Triển khai máy chủ riêng với docker-compose.yml:
services:
lich-server:
image: ghcr.io/spiderdev-vn/mylich-server:latest
restart: unless-stopped
env_file:
- .env
volumes:
- ./data:/data
networks:
- traefik_default
labels:
- "traefik.enable=true"
- "traefik.http.routers.lich-server.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.lich-server.entrypoints=websecure"
- "traefik.http.routers.lich-server.tls.certresolver=myresolver"
- "traefik.http.services.lich-server.loadbalancer.server.port=3000"
networks:
traefik_default:
external: true
Copy và cấu hình file .env (từ .env.example):
DOMAIN=lich.yourdomain.com
JWT_SECRET=your-super-strong-32-chars-jwt-secret-key-here
GOOGLE_CLIENT_ID=your-google-oauth-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-google-client-secret
GOOGLE_REDIRECT_URI=https://lich.yourdomain.com/api/v1/auth/google/callback
6. Đặc tả REST API v1
Tất cả các API endpoints đều nằm dưới tiền tố chuẩn /api/v1/...:
POST /api/v1/auth/register: Đăng ký người dùng mớiPOST /api/v1/auth/login: Đăng nhập nhận JWT TokenGET /api/v1/auth/me: Xem thông tin người dùng hiện tạiGET /api/v1/calendars: Danh sách lịchGET /api/v1/events: Lấy danh sách sự kiện (hỗ trợ lọc theo khoảng thời gian)POST /api/v1/events: Tạo sự kiện mớiPATCH /api/v1/events/:id: Cập nhật sự kiệnDELETE /api/v1/events/:id: Xóa sự kiệnPOST /api/v1/sync/push-pull: Đồng bộ hóa hai chiều theo Cursor log