{"_id":"@airjelly/cli","name":"@airjelly/cli","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@airjelly/cli","version":"0.1.0","description":"Official command-line client for AirJelly Desktop — query memories, tasks, events, app usage, and daily content feeds from the terminal.","type":"module","bin":{"airjelly":"dist/index.js"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"(cd ../sdk && bun run build) && bun run build && vitest run","test:watch":"vitest","prepublishOnly":"bun run build"},"dependencies":{"@airjelly/sdk":"0.1.0","commander":"13.1.0"},"devDependencies":{"tsup":"^8.4.0","typescript":"^5.7.0"},"engines":{"node":">=18"},"license":"UNLICENSED","homepage":"https://www.airjelly.ai","bugs":{"email":"support@airjelly.ai"},"keywords":["airjelly","cli","memory","ai","context"],"_id":"@airjelly/cli@0.1.0","gitHead":"4ed5d537223c5e3c0bf8f19dbc4e5e9ac08ca9b4","_nodeVersion":"22.13.1","_npmVersion":"11.4.1","dist":{"integrity":"sha512-4wQNgVYIuXt17oT2W37/89mC8sZ+p+Ou5L2kKiwJmsWZQn/ECdQLtv7d6PDy3+3z17w+hQsUQi4tyXJXg7wauw==","shasum":"8ee0086141bfdce4e76237ea2e93fbdc59ef2909","tarball":"https://registry.npmjs.org/@airjelly/cli/-/cli-0.1.0.tgz","fileCount":3,"unpackedSize":45335,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDeU3HcyH/H9B4+V5zuSAScCNRHeggVr89vOAAdUnJk+QIgZ7Fqep5nqSjLdzS242niYjkch+ZGx59uu9iRpdHxSZI="}]},"_npmUser":{"name":"ziwen2005","email":"ziwensong.cs@gmail.com"},"directories":{},"maintainers":[{"name":"ziwen2005","email":"ziwensong.cs@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.0_1776943523756_0.8974425031633742"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-23T11:25:23.631Z","0.1.0":"2026-04-23T11:25:23.907Z","modified":"2026-04-23T11:25:24.100Z"},"maintainers":[{"name":"ziwen2005","email":"ziwensong.cs@gmail.com"}],"description":"Official command-line client for AirJelly Desktop — query memories, tasks, events, app usage, and daily content feeds from the terminal.","homepage":"https://www.airjelly.ai","keywords":["airjelly","cli","memory","ai","context"],"bugs":{"email":"support@airjelly.ai"},"license":"UNLICENSED","readme":"# @airjelly/cli\n\n> ⚠️ Install only from the official scope: `@airjelly/cli`. Any `airjelly-cli` (without scope) is not published by us.\n\nCommand-line client for [AirJelly](https://www.airjelly.ai) — query memories, tasks, events, and app usage from the terminal. Everything stays on `127.0.0.1`; no data leaves your machine.\n\n> **Note**: Some commands require a recent AirJelly Desktop version. Older desktops (e.g. v1.0.0) expose a subset. Run `airjelly capabilities` to see what your desktop supports.\n\n## Install\n\n```bash\nnpm i -g @airjelly/cli\n```\n\nRequires Node 18+ and the AirJelly Desktop app running.\n\n## Quick start\n\n```bash\nairjelly status                              # connection check\nairjelly task open                           # your open tasks\nairjelly memory search \"project meeting\"     # semantic search\nairjelly apps today                          # today's app usage\nairjelly ui                                  # open local web console\n```\n\nEvery command supports `--json` for piping into jq / scripts:\n\n```bash\nairjelly task open --json | jq '.[].title'\n```\n\n## Commands\n\n| Group | What it does |\n|---|---|\n| `airjelly status` | Connection check |\n| `airjelly capabilities` | List methods your AirJelly exposes |\n| `airjelly memory …` | Search, list, and fetch memories + people entities |\n| `airjelly task …` | Read, create, update, complete, snooze, archive tasks |\n| `airjelly apps …` | App usage today / range / top / sessions |\n| `airjelly reminder …` | Dismiss / snooze reminders |\n| `airjelly recording …` | Screen recording status, permissions, stats |\n| `airjelly ui` | Launch a local web console for memories, tasks, and app usage |\n\nRun any command with `--help` for its flags, e.g. `airjelly memory search --help`.\n\n## Authentication\n\nAirJelly Desktop writes a `runtime.json` on startup with a random port and bearer token (chmod 600). The CLI reads it automatically — no configuration needed. The token is regenerated on every AirJelly restart.\n\n## Troubleshooting\n\n| Error | Fix |\n|---|---|\n| `✗ AirJelly is not running` | Open the AirJelly Desktop app |\n| `✗ Cannot connect to AirJelly` | Restart AirJelly Desktop |\n| `✗ Method not found: xxx` | The method isn't exposed by your AirJelly version. Run `airjelly capabilities` to see what's available, or upgrade AirJelly Desktop |\n| `✗ AirJelly protocol version mismatch` | Upgrade the side that's older (CLI or Desktop) |\n\n## Security\n\n- Server binds to `127.0.0.1` only — never network-reachable.\n- Auth via bearer token in `runtime.json` (chmod 600), regenerated on every AirJelly restart.\n- Any local process running as your OS user can read `runtime.json`. Only install CLI wrappers from trusted sources.\n- The public API does **not** expose shell or file-system access to external clients.\n- LLM-cost commands (`memory search`, `task create`) trigger server-side LLM / embedding calls and consume your AirJelly credits.\n\nReport security issues privately to **security@airjelly.ai**.\n\n## Support\n\nQuestions or bug reports: **support@airjelly.ai**\n\nThis package is distributed as a compiled binary. Source code is not public.\n","readmeFilename":"README.md","_rev":"1-8dc742a4f4f5d8a1f175962e161610da"}