{"_id":"@audsiui/pi-statusbar","_rev":"5-267792b5dc6b5de4e0d8bfe76dc7c089","name":"@audsiui/pi-statusbar","dist-tags":{"latest":"1.7.1"},"versions":{"1.2.0":{"name":"@audsiui/pi-statusbar","version":"1.2.0","keywords":["pi-package","extension","statusbar"],"author":{"name":"audsiui"},"license":"MIT","_id":"@audsiui/pi-statusbar@1.2.0","maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"homepage":"https://github.com/audsiui/pi-statusbar#readme","bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"pi":{"extensions":["./extensions"]},"dist":{"shasum":"a6100b6b2c1f8669d12581bd4ecca3b96141b21f","tarball":"https://registry.npmjs.org/@audsiui/pi-statusbar/-/pi-statusbar-1.2.0.tgz","fileCount":3,"integrity":"sha512-hg1MbSl0X5qWHDtLaYCSlxgip4tvjGQ5B1rHvzix9r881W+LsyhXeODVvL4stMCh1w0HPGBLoLBgz7WsQJtACQ==","signatures":[{"sig":"MEQCICrj1XxQRCDo1BLlh2JWlL5Z7yP2/pf3N7Y2OVpBfl1TAiAK0d7zvFfgoPhOX2mVqxQ2gezh9qER67PgxIpz8mHn4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17477},"gitHead":"5e66be1b5f7f8322c97e54b185598d0c5ee87dd8","_npmUser":{"name":"audsiui","email":"audsiui@outlook.com"},"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"_npmVersion":"12.0.1","description":"优雅高效的状态栏扩展 —— 替换内置 footer：会话用量/缓存/成本/上下文占用 + 模型身份","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-statusbar_1.2.0_1787816486869_0.6136749849495509","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@audsiui/pi-statusbar","version":"1.5.0","keywords":["pi-package","extension","statusbar"],"author":{"name":"audsiui"},"license":"MIT","_id":"@audsiui/pi-statusbar@1.5.0","maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"homepage":"https://github.com/audsiui/pi-statusbar#readme","bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"116a9c51132f8d4e7b990f67b7472cfdcf4e5b7d","tarball":"https://registry.npmjs.org/@audsiui/pi-statusbar/-/pi-statusbar-1.5.0.tgz","fileCount":10,"integrity":"sha512-Q9fS3NTxmIXuezxGVL8mTDbQwI7IFptXxHZyiCRZauzxlQcM65XM9Bif1GyIA38Xp2lGPb1cu03Prhq80H62tA==","signatures":[{"sig":"MEUCIQCGtPxxLkcIPFqVWMsTxW16r5f60MuB0wBDhun4NbbNmAIgNLiSsqKw//yRGK8H5goxqqSTQiQLU0C1xEMQ7w5/g/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38102},"type":"module","gitHead":"b36470ead959bcc1401aebf9582d3668f56a1aff","_npmUser":{"name":"audsiui","email":"audsiui@outlook.com"},"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"_npmVersion":"12.0.1","description":"Minimalist terminal aesthetic suite for Pi — clean startup header, model-border editor, and single-line statusbar","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-statusbar_1.5.0_1787821897498_0.7767512918909458","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@audsiui/pi-statusbar","version":"1.5.1","keywords":["pi-package","extension","statusbar"],"author":{"name":"audsiui"},"license":"MIT","_id":"@audsiui/pi-statusbar@1.5.1","maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"homepage":"https://github.com/audsiui/pi-statusbar#readme","bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"6309eb53deb06214cf72b071b03ac0d8a768e70c","tarball":"https://registry.npmjs.org/@audsiui/pi-statusbar/-/pi-statusbar-1.5.1.tgz","fileCount":10,"integrity":"sha512-M7qqISbLxKuislav0B2noiCEqWwnwF6cZmGLnaDFWqGt7i7gXvXLn2fKVl+/3mzZn8yrwZ1Kz9yCyGNiIEiTnw==","signatures":[{"sig":"MEUCIQC1rIy3a68Aqc1z+vQFV/08xJSaySjWwNgVw4TeC1SLhAIgEzNTKXeUeIeuJ/PN02Bd+ITO6AmRGpgLo5MI1U3dxiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41545},"type":"module","gitHead":"de2d92817d3f80be9ea696b7c646511a2363368e","_npmUser":{"name":"audsiui","email":"audsiui@outlook.com"},"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"_npmVersion":"12.0.1","description":"Minimalist terminal aesthetic suite for Pi — clean startup header, model-border editor, and single-line statusbar","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-statusbar_1.5.1_1787878931209_0.63887827628676","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@audsiui/pi-statusbar","version":"1.5.2","keywords":["pi-package","extension","statusbar"],"author":{"name":"audsiui"},"license":"MIT","_id":"@audsiui/pi-statusbar@1.5.2","maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"homepage":"https://github.com/audsiui/pi-statusbar#readme","bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"c6e1f1a5a2fbffc73db916b7ad93522e490e7d9f","tarball":"https://registry.npmjs.org/@audsiui/pi-statusbar/-/pi-statusbar-1.5.2.tgz","fileCount":10,"integrity":"sha512-beTXZwRB8QfS5P5jmuj1mqZcrcRS0OGSsmo1E5yVIs7LtEHDC9oAkT+fLtGcdOO5vebi9VMyBZ9ivdQPj8YeDg==","signatures":[{"sig":"MEQCIDTcF+EtSq0Hs0U21aOTeXjdxjvVpO/9KxFc71OsxFLBAiBsttr6WMOc4P0Awau9Y3otRCEUJHzXc1p9PhYJZTm7zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42723},"type":"module","gitHead":"de2d92817d3f80be9ea696b7c646511a2363368e","_npmUser":{"name":"audsiui","email":"audsiui@outlook.com"},"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"_npmVersion":"12.0.1","description":"Minimalist terminal aesthetic suite for Pi — clean startup header, model-border editor, and single-line statusbar","directories":{},"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-statusbar_1.5.2_1787882965441_0.9984263071619319","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"pi":{"extensions":["./extensions/index.ts"]},"_id":"@audsiui/pi-statusbar@1.7.1","bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"dist":{"shasum":"7d52847337abdf793a5cfacc169a19c9aaab8295","tarball":"https://registry.npmjs.org/@audsiui/pi-statusbar/-/pi-statusbar-1.7.1.tgz","fileCount":9,"integrity":"sha512-ZkuikJGEXtCNPf78qSij3OSjcFdI6EEtRPEQf6nNMyjd1UFgjddL5FWI3aAA0x3KdyX6gugPUawwwhxh+/vkZg==","signatures":[{"sig":"MEUCICOqTPZVeZfoPRqnRTwQSq16Z7XQq3qC6iMsYxKz5CODAiEA33SvEHD+RKyMo/xEtg5iZ5nsp+T1b6Ln0rYtJFlKxlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEgwV8XOLH8jl3dbyXckO+kR+Jj7pFhkk7aTfpO8lstdAiEAkVtdSj5bQKxYE0IjDKLLG18Barw+yIHxk6o/Kjo8qTI="}],"unpackedSize":31652},"name":"@audsiui/pi-statusbar","type":"module","author":{"name":"audsiui"},"gitHead":"c10e1b64922e9ec69f90a28cf7b60070e06d36c6","license":"MIT","version":"1.7.1","_npmUser":{"name":"audsiui","email":"audsiui@outlook.com"},"homepage":"https://github.com/audsiui/pi-statusbar#readme","keywords":["pi-package","extension","statusbar"],"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"_npmVersion":"12.0.1","description":"Minimalist terminal aesthetic suite for Pi — startup resource card, model-border editor, and single-line statusbar","directories":{},"maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"_nodeVersion":"24.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-statusbar_1.7.1_1790130550852_0.0400634307565646"}}},"time":{"created":"2026-08-27T07:41:26.666Z","modified":"2026-09-23T02:29:11.069Z","1.2.0":"2026-08-27T07:41:26.990Z","1.5.0":"2026-08-27T09:11:37.634Z","1.5.1":"2026-08-28T01:02:11.391Z","1.5.2":"2026-08-28T02:09:25.576Z","1.7.1":"2026-09-23T02:29:10.937Z"},"bugs":{"url":"https://github.com/audsiui/pi-statusbar/issues"},"author":{"name":"audsiui"},"license":"MIT","homepage":"https://github.com/audsiui/pi-statusbar#readme","keywords":["pi-package","extension","statusbar"],"repository":{"url":"git+https://github.com/audsiui/pi-statusbar.git","type":"git"},"description":"Minimalist terminal aesthetic suite for Pi — startup resource card, model-border editor, and single-line statusbar","maintainers":[{"name":"audsiui","email":"audsiui@outlook.com"}],"readme":"# @audsiui/pi-statusbar\n\nA [Pi](https://github.com/earendil-works/pi) extension that replaces the default startup screen, editor chrome, and footer with a denser, single-line layout.\n\n## What it changes\n\n**Startup screen** — silences Pi's built-in verbose header (logo + keybinding hints) and re-renders the built-in `[Skills] / [Prompts] / [Extensions]` lists as a single grouped card with a 2-row overflow guard (`+N more`). The chat body (tool calls, thinking) is left to Pi's native rendering.\n\n**Editor** — wraps the input box in rounded borders (`╭─╮` / `╰─╯`). The top border shows the current model, reasoning level (when on), the running tool name (`[read]`, `[edit]`, `[bash]`, …), and the latest turn's throughput (`52.4 tok/s`). The built-in `working…` row is hidden to avoid a duplicate spinner.\n\n**Footer** — collapses the status bar to one line.\n\n- Left: cwd (with `~`), git branch, staged/modified counts (`+N` green, `~N` yellow), session name.\n- Right (anchored): context-usage bar (`▰▰▰▱▱▱ 48.2%/200k`), cost, cache read/write + hit rate, tokens in/out, extension statuses.\n- Drops auxiliary metrics from the left when the terminal is too narrow, so the context bar and key info never wrap.\n\n## Screenshot\n\n```text\n  ╭─ Extensions (8) ────────────────────────────────────────────────────────────╮\n  │  • pi-keenable   • rpiv-ask-user   • rpiv-todo   • pi-goal                   │\n  ├─ Skills (4) ────────────────────────────────────────────────────────────────┤\n  │  • codegraph   • council-mode   • keenable-web-search   • pi-subagents       │\n  ├─ Prompts (6) ───────────────────────────────────────────────────────────────┤\n  │  • /council   • /parallel-research   • /review-loop   • +3 more             │\n  ╰──────────────────────────────────────────────────────────────────────────────╯\n\n╭─ [ ● claude-3-7-sonnet • high ] ─────────────────────── [ 52.4 tok/s ] ──╮\n│ Ask me anything or type / for commands...                                  │\n╰────────────────────────────────────────────────────────── [ ↵ Send ] ──╯\n~/workspace/pi ⎇ main +2 ~5    $0.123 · ⚡85% · ↑12k ↓3k · ▰▰▰▱▱▱ 48.2%/200k\n```\n\n## Install\n\n```bash\n# from npm\npi install npm:@audsiui/pi-statusbar\n\n# from GitHub\npi install git:github.com/audsiui/pi-statusbar\n\n# try without saving config\npi -e npm:@audsiui/pi-statusbar\n```\n\n## Uninstall\n\n```bash\npi remove @audsiui/pi-statusbar\n```\n\n## Layout\n\n```text\nextensions/\n├── index.ts          # lifecycle hooks, wires the three components\n├── header.ts         # silent header + startup resource card re-render\n├── editor.ts         # rounded editor with model/tool/tps border\n├── footer.ts         # single-line status bar\n└── utils/\n    ├── git.ts        # async git status polling (non-blocking)\n    ├── tokens.ts     # cached token + cost aggregation\n    └── format.ts     # border layout, token formatting, package-name cleanup\n```\n\n## Implementation notes\n\n- Only the context-usage bar and git counts carry semantic color; everything else is dim/muted.\n- Git status is polled in the background (`GIT_OPTIONAL_LOCKS=0`); token usage is cached. Neither blocks the input or render loop.\n- The chat body (tool calls, thinking blocks) is never touched — Pi's native `ToolExecutionComponent` renders it, so `Ctrl+O` expansion and all tool renderers keep working unchanged.\n- Only uses Pi's public surface (`ExtensionAPI`, `sessionManager`, `theme`, `footerData`).\n\n## License\n\nMIT © [audsiui](https://github.com/audsiui)","readmeFilename":"README.md"}