Cài đặt & đăng nhập các nguồn

Yêu cầu, build từ mã nguồn, cài phần chạy nền, đăng nhập Claude, Console, Codex, Antigravity, Gemini và xử lý sự cố.

AIUsageCập nhật 23/10/2026
cài đặtđăng nhập

AIUsage chạy hoàn toàn trên máy của bạn. Trang này mô tả cách dựng ứng dụng từ mã nguồn, cài phần chạy nền và đăng nhập các nguồn dữ liệu.

Yêu cầu

  • macOS 26 trở lên và Xcode 27 trở lên để build.
  • Các công cụ và tài khoản bạn muốn theo dõi, đã đăng nhập sẵn: claude.ai và Anthropic Console (trong trình duyệt nhúng của ứng dụng), codex, agy, và một service account Google Cloud cho Gemini API (tuỳ chọn).

Build và cài ứng dụng

xcodebuild -project AIUsage.xcodeproj -scheme AIUsage -configuration Release \
  -derivedDataPath /tmp/AIUsage_build CODE_SIGN_IDENTITY="-" CODE_SIGNING_ALLOWED=YES build
cp -R /tmp/AIUsage_build/Build/Products/Release/AIUsage.app /Applications/
open /Applications/AIUsage.app

Sau khi cài, xoá bản build tạm và đăng ký lại ứng dụng với Launch Services để WidgetKit không chạy widget từ thư mục tạm. Luôn kiểm tra dòng BUILD SUCCEEDED trước khi chép: nếu bản build hỏng bị chép vào /Applications, ứng dụng sẽ không mở được.

Cài phần chạy nền

Có ba LaunchAgent: refresh chạy mỗi 5 phút, trigger chạy khi bấm nút làm mới ở ứng dụng hoặc widget, login mở cửa sổ đăng nhập từ widget. Các tệp mẫu nằm trong thư mục launchd/ của kho mã, dùng __HOME__ thay cho đường dẫn người dùng.

Đăng nhập các nguồn

  1. Claude: mở cửa sổ đăng nhập của helper và chọn Continue with email. Đăng nhập Google bị chặn trong WebView. Gõ mã xác nhận gửi qua email hoặc dán bằng menu Chỉnh sửa.
  2. Anthropic Console: chạy helper với tham số login-console và đăng nhập một lần. Số dư tín dụng API sẽ hiện thành dòng "API" trong thẻ Claude.
  3. Codex: chạy codex login. Ứng dụng dùng token trong file đăng nhập của Codex.
  4. Antigravity: đăng nhập agy một lần.
  5. Gemini API (tuỳ chọn): lưu service account JSON đã mã hoá base64 vào Keychain với tên aiusage.gcp.sa, rồi sửa các hằng số project, bảng BigQuery và billing account ở đầu nhánh gemini trong fetch_one.sh. Số dư credit đọc từ trang AI Studio; đăng nhập Google một lần bằng tham số login-aistudio.
  6. Máy chủ từ xa (tuỳ chọn): khai tên máy vào REMOTE_HOSTS trong fetch_one.sh và chép remote_insights.py lên máy đó. Cần SSH bằng khoá, không hỏi mật khẩu.

Ứng dụng không bao giờ nhập hộ mật khẩu hay mã xác nhận: bạn tự đăng nhập trong cửa sổ của helper.

Xử lý sự cố thường gặp

  • Thẻ Claude hiện "cần đăng nhập". Phiên đã hết hạn. Bấm nút đăng nhập trên thẻ hoặc chạy lại login.
  • Dòng API không xuất hiện. Chưa đăng nhập Console. Chạy login-console rồi bấm làm mới.
  • Mật khẩu lưu trong Passwords của macOS không tự điền. Cửa sổ đăng nhập là WebKit nhúng trong ứng dụng nên không dùng được tự điền của hệ thống; dùng đăng nhập bằng mã gửi qua email.
  • Build báo lỗi ký mã "detritus not allowed". Thư mục nguồn nằm trong vùng đồng bộ (Documents hoặc Desktop) nên bị gắn thuộc tính mở rộng. Ký trên bản sao ở thư mục tạm.
  • Widget không cập nhật nút làm mới. Tiến trình widget cũ vẫn sống sau khi deploy. Chạy pkill -f AIUsageWidgetExtension rồi thử lại.