{"id":51029016,"url":"https://github.com/quavedev/pager-agent","last_synced_at":"2026-06-21T22:03:45.736Z","repository":{"id":364564524,"uuid":"1268370013","full_name":"quavedev/pager-agent","owner":"quavedev","description":"Agent skill and CLI for calling user attention through Quave Alarm","archived":false,"fork":false,"pushed_at":"2026-06-16T16:36:52.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T17:24:01.096Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quavedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-13T12:59:14.000Z","updated_at":"2026-06-16T15:37:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/quavedev/pager-agent","commit_stats":null,"previous_names":["quavedev/quave-alarm-agent","quavedev/pager-agent"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/quavedev/pager-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quavedev%2Fpager-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quavedev%2Fpager-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quavedev%2Fpager-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quavedev%2Fpager-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quavedev","download_url":"https://codeload.github.com/quavedev/pager-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quavedev%2Fpager-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34627260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-21T22:03:45.094Z","updated_at":"2026-06-21T22:03:45.731Z","avatar_url":"https://github.com/quavedev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quave Pager Agent\n\nInstall this package so an AI agent can call your attention through Quave Pager.\n\n## Android app\n\nDownload the latest public APK:\n\n```text\nhttps://github.com/quavedev/pager-agent/releases/latest/download/QuavePager.apk\n```\n\nInstall it on Android, open Quave Pager, create or verify your account, and grant the requested alarm permissions:\n\n- notifications\n- full-screen alarm alerts\n- exact alarms\n- Do Not Disturb bypass / notification policy access\n- ignore battery optimization / unrestricted battery usage\n\nCopy the generated API key only into `QUAVE_PAGER_API_KEY` for your agent environment or approved secret store.\n\n## macOS app\n\nRecommended terminal install:\n\n```bash\ncurl -fsSL https://pager.quave.ai/install-macos.sh | bash\n```\n\nManual drag-and-drop install:\n\n```text\nhttps://github.com/quavedev/pager-agent/releases/latest/download/QuavePager-macOS.dmg\n```\n\nOpen the DMG, drag Quave Pager into Applications, then open it. The terminal installer downloads the latest zip, installs Quave Pager into `~/Applications`, opens it, and prints the next setup steps.\n\nOpen Quave Pager on macOS, paste an existing API key, and enable launch-at-login in Preferences if you want desktop-first delivery. The macOS app stores the API key in Keychain, long-polls the same API as Android, locally schedules synced future alarms, and shows a full-screen looping alarm until dismiss or snooze.\n\nThe current public macOS DMG and zip are Developer ID signed, notarized, and stapled for direct download outside the Mac App Store. Local preview builds may still require an explicit Open action.\n\n## Agent install\n\n```bash\nnpx skills add quavedev/pager-agent --skill quave-pager -g -a '*'\n```\n\nSet your API key as `QUAVE_PAGER_API_KEY`. Create or rotate the key from the Quave Pager Android app, then reuse it in the macOS app if desired.\n\nDry-run:\n\n```bash\nnpx -y github:quavedev/pager-agent trigger --dry-run --message \"Quave Pager setup test.\"\n```\n\nReal page:\n\n```bash\nQUAVE_PAGER_API_KEY=\"\u003cyour key\u003e\" \\\n  npx -y github:quavedev/pager-agent trigger \\\n  --message \"Look at Codex: I need your decision to continue.\" \\\n  --codex-thread-id \"\u003cthread-id\u003e\"\n```\n\n## Automatic paging (hooks)\n\nThe skill above pages on request, but a skill is **discretionary** — the agent has to decide\nto call it, so it will not reliably page you on its own. For automatic paging when a task\nfinishes or the agent gets blocked, wire Quave Pager into your agent's **deterministic\nnotification hook**.\n\nFor Claude Code, configure `Stop` and `Notification` hooks in `settings.json` so every\nfinished turn and every input prompt fires a page. Full copy-paste setup, including where the\nconfig lives for local vs. web sessions:\n\n- [docs/claude-code-hooks.md](docs/claude-code-hooks.md)\n\nOther agents follow the same pattern (e.g. point the Codex `notify` program in\n`~/.codex/config.toml` at `npx -y github:quavedev/pager-agent trigger`).\n\n## Link vs AI conversation resume\n\nUse `--link` for the thing produced by the conversation: a PR, doc, checkout page, incident dashboard, Slack thread, etc. Use AI conversation resume fields when the button should return the user to Codex, Claude Code, Cursor, or another agent. Compatible Android/macOS clients show that as a separate **Resume AI conversation** action.\n\nExamples:\n\n```bash\n# Codex: tell compatible clients how to return to the Codex conversation.\nnpx -y github:quavedev/pager-agent trigger \\\n  --message \"Look at Codex: I need your decision.\" \\\n  --codex-thread-id \"\u003cthread-id\u003e\"\n\n# Claude Code: copy a resume command on macOS.\nnpx -y github:quavedev/pager-agent trigger \\\n  --message \"Claude Code is blocked.\" \\\n  --claude-session \"\u003csession-id\u003e\" \\\n  --ai-cwd \"$PWD\"\n\n# Cursor: copy a resume command on macOS.\nnpx -y github:quavedev/pager-agent trigger \\\n  --message \"Cursor agent needs you.\" \\\n  --cursor-session \"\u003csession-id\u003e\" \\\n  --ai-cwd \"$PWD\"\n\n# Result/action URL: separate from returning to the AI conversation.\nnpx -y github:quavedev/pager-agent trigger \\\n  --message \"Review the PR that is ready.\" \\\n  --link \"https://github.com/example/repo/pull/123\"\n```\n\nAdvanced resume fields:\n\n- `--ai-resume-json '\u003cjson object\u003e'`: send the full `aiConversationResume` object.\n- `--ai-provider codex|claude-code|cursor|other`\n- `--ai-conversation-id \u003cid\u003e` / `--ai-title \u003ctitle\u003e` / `--ai-label \u003cbutton label\u003e`\n- `--ai-resume-url \u003curl\u003e` with optional `--ai-platforms android,ios,macos,web`\n- `--ai-resume-command \u003ccommand\u003e` with optional `--ai-cwd \u003cpath\u003e`\n- `--ai-resume-instructions \u003ctext\u003e`\n- `edit \u003calarm-id\u003e --clear-ai-conversation-resume` removes resume metadata.\n\nList, edit, and remove existing alarms:\n\n```bash\nnpx -y github:quavedev/pager-agent list\nnpx -y github:quavedev/pager-agent edit \u003calarm-id\u003e \\\n  --scheduled-at \"2026-06-13 16:19:00\" \\\n  --time-zone \"America/Campo_Grande\" \\\n  --status pending\nnpx -y github:quavedev/pager-agent remove \u003calarm-id\u003e\n```\n\nUse `cancel`, `dismiss`, or `snooze` when you want lifecycle history instead of removal.\n\nNever commit, log, or paste API keys into chat, URLs, or command arguments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquavedev%2Fpager-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquavedev%2Fpager-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquavedev%2Fpager-agent/lists"}