Claude Code cung cấp cho bạn ngân sách token 5 giờ trên một cửa sổ di động. Vấn đề là: cửa sổ đó bắt đầu ngay khi bạn gửi **tin nhắn đầu tiên trong ngày**. Nếu bạn gửi một câu hỏi nhanh lúc 8:30 sáng và tiêu hết ngân sách trước 11 giờ sáng, bạn sẽ bị khóa cho đến 1 giờ chiều, mất hai giờ "chết" ngay giữa ngày làm việc của bạn.
Một nhà phát triển đã tạo ra một giải pháp sạch sẽ cho vấn đề này. Nó được gọi là `claude-warmup`, và nó sử dụng GitHub Action được lập lịch để gửi một tin nhắn "hi" dùng một lần đến Claude Haiku trước khi ngày làm việc của bạn bắt đầu. Tin nhắn đó sẽ neo cửa sổ 5 giờ của bạn vào một thời điểm bạn chọn, chứ không phải vào bất cứ khi nào bạn mở Claude.
Tại Sao Điều Này Có Tác Dụng
Cửa sổ ngân sách của Claude Code được neo vào giờ tròn của tin nhắn đầu tiên của bạn. Một tin nhắn gửi lúc 6:15 sáng sẽ đặt cửa sổ xuống **6:00 sáng**, vì vậy khối 5 giờ của bạn sẽ chạy từ 6 giờ sáng đến 11 giờ sáng. Đến khi bạn hết ngân sách vào giữa buổi sáng, cửa sổ tiếp theo của bạn sẽ bắt đầu ngay lập tức lúc 11 giờ sáng.
Nếu không có điều này, cửa sổ sẽ bắt đầu bất cứ khi nào bạn nhắn tin cho Claude lần đầu tiên, thường là vào giữa buổi sáng và việc đặt lại sẽ rơi vào giữa những giờ làm việc hiệu quả nhất của bạn.
Việc ping khởi động hầu như không tốn gì. Một tin nhắn "hi" gửi đến Claude Haiku mà không có công cụ hoặc ngữ cảnh nào sẽ sử dụng lượng token không đáng kể.
Thiết Lập (6 Bước)
1. Fork repo
gh repo fork vdsmon/claude-warmup --clone
cd claude-warmup
2. Tạo mã thông báo OAuth
Trên một máy đã cài đặt Claude Code, hãy chạy:
claude setup-token
Thao tác này sẽ xuất ra một mã thông báo `sk-ant-oat01-...`. Sao chép nó. Nó có giá trị trong khoảng một năm.
3. Lưu mã thông báo dưới dạng bí mật GitHub
gh secret set CLAUDE_OAUTH_TOKEN
Dán mã thông báo khi được yêu cầu. GitHub Actions sẽ sử dụng mã này để xác thực.
4. Đặt lịch cron của bạn
Mặc định là các ngày trong tuần lúc 9:15 UTC. Thay đổi nó để phù hợp với múi giờ và lịch làm việc của bạn:
gh variable set WARMUP_CRON --body "15 13 * * 1-5"
Một vài thời gian tham khảo:
| Múi giờ của bạn | Khởi động cho giờ bắt đầu 9 giờ sáng | Biểu thức Cron |
|---|---|---|
| UTC | 8:45 AM UTC | 45 8 * * 1-5 |
| Giờ miền Đông Hoa Kỳ (EST) | 8:45 AM = 13:45 UTC | 45 13 * * 1-5 |
| Giờ Thái Bình Dương Hoa Kỳ (PST) | 8:45 AM = 16:45 UTC | 45 16 * * 1-5 |
| CET (Trung Âu) | 8:45 AM = 7:45 UTC | 45 7 * * 1-5 |
5. Kiểm tra quy trình làm việc
gh workflow run warmup.yml
Theo dõi tab Actions trong bản fork của bạn để xác nhận nó chạy thành công.
6. Xác minh nó đang hoạt động
Sáng hôm sau, mở Claude Code và chạy:
/usage
Thời gian đặt lại phiên phải khớp với giờ neo của bạn. Nếu bạn đặt khởi động lúc 8:45 sáng, cửa sổ của bạn sẽ hiển thị đặt lại lúc 8:00 sáng.
Giải pháp thay thế: Chạy cục bộ
Nếu bạn không muốn sử dụng GitHub Actions, hãy chạy lệnh khởi động trực tiếp từ terminal của bạn thông qua cron hoặc macOS launchd:
claude -p "hi" --model haiku --no-session-persistence
Thêm dòng này vào crontab cục bộ của bạn (crontab -e) bằng cách sử dụng cùng logic thời gian. Nó hoạt động theo cùng một cách, điều quan trọng là tin nhắn được gửi đi trước khi bạn bắt đầu ngày làm việc, chứ không phải là nó đến từ máy chủ của GitHub.
Mẹo để Kéo Dài Ngân Sách Của Bạn
Kiểm soát cửa sổ đặt lại rất hữu ích, nhưng điều đáng biết là gì làm tiêu tốn ngân sách của bạn nhanh nhất để bạn có thể lập kế hoạch xung quanh nó.
Suy nghĩ Mở rộng (Extended Thinking) tiêu tốn token rất nhanh. Khi Claude suy luận từng bước qua một vấn đề phức tạp, nó sử dụng nhiều token hơn đáng kể so với một câu trả lời trực tiếp. Hãy dành Suy nghĩ Mở rộng cho các tác vụ thực sự cần nó, các quyết định về kiến trúc, gỡ lỗi logic phức tạp và tắt nó đi đối với các tra cứu nhanh hoặc tạo mã mà bạn đã biết cách cấu trúc.
Giữ ngữ cảnh gọn gàng. Claude Code đọc các tệp đang mở và đầu ra terminal gần đây của bạn như một phần của mỗi tin nhắn. Ngữ cảnh càng lớn, mỗi lần trao đổi càng tốn nhiều token. Đóng các tệp bạn không tích cực làm việc và sử dụng --no-session-persistence khi bạn chạy các lệnh một lần không cần lịch sử.
Gộp các yêu cầu của bạn. Mười câu hỏi nhỏ tốn kém hơn một câu hỏi được hình thành tốt bao gồm cả mười câu. Trước khi bạn hỏi điều gì đó, hãy dành 30 giây để viết một lời nhắc rõ ràng, đầy đủ. Bạn sẽ nhận được câu trả lời tốt hơn và tiêu ít token hơn để đạt được điều đó.
Sử dụng Haiku cho các tác vụ đơn giản. Khi bạn yêu cầu Claude đổi tên biến, tạo một hàm mẫu (boilerplate function) hoặc định dạng lại tệp cấu hình, bạn không cần Opus hoặc Sonnet. Hãy chỉ định --model haiku cho các tác vụ nhẹ và dành các mô hình nặng hơn cho công việc yêu cầu suy luận thực sự.
Nếu Bạn Đang Xây Dựng API Cùng Với Claude Code
Nhiều nhà phát triển sử dụng Claude Code trong khi xây dựng hoặc thử nghiệm API. Nếu đó là quy trình làm việc của bạn, Apidog rất phù hợp. Bạn có thể thiết kế schema API của mình, tạo máy chủ mock và chạy các thử nghiệm tự động từ một nơi, mà không cần chuyển đổi giữa Postman, Swagger và các công cụ mock riêng biệt. Khi Claude Code viết một endpoint, bạn có thể kiểm tra nó ngay lập tức trong Apidog mà không cần sao chép bất cứ thứ gì giữa các công cụ.
Nó miễn phí để bắt đầu và hỗ trợ REST, GraphQL và gRPC ngay lập tức.
Những Điều Cần Lưu Ý
- Cửa sổ được cố định sau khi cài đặt. Ngay khi tin nhắn đầu tiên được gửi, khối 5 giờ sẽ bị khóa. Nó sẽ không thay đổi giữa ngày.
- Ngân sách được chia sẻ. claude.ai, Claude Code và Claude Desktop đều sử dụng chung một quỹ. Suy nghĩ Mở rộng và các lệnh gọi công cụ làm cạn kiệt nó nhanh hơn so với trò chuyện thông thường.
- Ngoài ra còn có giới hạn 7 ngày. Kỹ thuật này kiểm soát cửa sổ đặt lại hàng ngày, chứ không phải giới hạn ngân sách hàng tuần.
- Token đặt lại theo giờ tròn. Một lần khởi động lúc 8:47 sáng sẽ neo vào 8:00 sáng, chứ không phải 8:47. Hãy lên kế hoạch cron của bạn 15 phút trước giờ bạn muốn.
Nếu các phiên Claude Code của bạn liên tục bị hết hạn vào những thời điểm không mong muốn, bản sửa lỗi này chỉ mất dưới 10 phút để thiết lập và tự chạy hàng ngày. Kho lưu trữ đầy đủ có tại github.com/vdsmon/claude-warmup.
