epaper-dashboard-cli
v0.1.0
Published
CLI collector that uploads current Codex usage and calendar context to the ePaper dashboard API.
Downloads
161
Maintainers
Readme
ePaper Collector CLI
Node.js CLI for collecting Codex ChatGPT rate limit usage or Mac calendar context and optionally uploading the current state to the API service.
Install from npm:
npm install -g epaper-dashboard-cli
epaper-dashboard-cli --helpepaper-collector remains available as a compatibility command.
Claude web plan usage is collected by the Chrome extension in
extensions/claude-usage-reporter, not by this CLI.
Default config:
~/.epaper-dashboard/epaper-client.jsonOverride config path:
node src/cli.mjs codex:usage --upload --config /path/to/epaper-client.jsonUpload request body:
{
"measuredAt": "2026-05-20T08:00:00.000Z",
"payload": {}
}The server binds the row to the API key's device_name; the client does not
send or control a device id.
Collect Codex ChatGPT rate limit usage through the local Codex app-server:
npm run start -- codex:usageBy default this runs codex app-server over stdio, sends
account/rateLimits/read, and writes ~/.codex/epaper_usage.json. The saved
payload keeps the selected Codex bucket, primary/secondary window usage, reset
time, and plan when Codex returns it.
Upload Codex usage to the independent Codex API endpoint:
npm run start -- codex:usage --uploadIf cron or launchd cannot find the Codex binary, pass an explicit path:
npm run start -- codex:usage --codex-command /opt/homebrew/bin/codex --uploadCollect Mac calendar context:
npm run start -- calendar:contextThis command uses icalBuddy for Calendar/Reminders data and macOS
NSCalendar through osascript for the Chinese lunar date. By default it
writes ~/.epaper-dashboard/calendar-context.json, includes a small agenda
window, and limits holiday lookup to common holiday calendar names. To point at
specific subscribed holiday calendars:
npm run start -- calendar:context --holiday-calendars "中国节假日,US Holidays" --uploadUse the same today-through-N-days window for schedule, reminders, and holidays:
npm run start -- calendar:context --calendar-days 14 --uploadCalendar uploads intentionally omit notes, URLs, and attendees. The server
binds the snapshot to the API key's device_name.
