{"_id":"@aiwayds/pi-think-panel","_rev":"6-34da2abadbea48f2215783ce043766cb","name":"@aiwayds/pi-think-panel","dist-tags":{"latest":"0.3.3"},"versions":{"0.1.0":{"name":"@aiwayds/pi-think-panel","version":"0.1.0","keywords":["pi-package","pi-extension","think","reasoning","panel","tui"],"author":{"name":"fan56"},"license":"MIT","_id":"@aiwayds/pi-think-panel@0.1.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-think-panel#readme","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"dist":{"shasum":"04dc0e37e09f2d39e186e3b1930b5b08ffb9d4de","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.1.0.tgz","fileCount":4,"integrity":"sha512-kYMqq+NDO8uYnwpitdPn72IjN6PmShGtEvkOgSTPT6bQCMIkKI8Q28w4jzSYGKVMR/itDUfhKWlwYsg4oMaDkw==","signatures":[{"sig":"MEUCIFt0kh4c57hw+M61R1KGwflaEfpJPMGggsalzLA25h6+AiEA08jBxrW83ih6X0tCNrB9rICVJjLVPOKQSDFKwwnb1s8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31664},"main":"extensions/pi-think-panel.ts","engines":{"node":">=18"},"gitHead":"be7f18111435596773ff7e732bab6f9a4f0b6e50","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — toggleable floating 'think' content panel showing live reasoning, ctrl+o for full-text view","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-think-panel_0.1.0_1785899182848_0.7506909802031834","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aiwayds/pi-think-panel","version":"0.2.0","keywords":["pi-package","pi-extension","think","reasoning","panel","tui"],"author":{"name":"fan56"},"license":"MIT","_id":"@aiwayds/pi-think-panel@0.2.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-think-panel#readme","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"pi":{"extensions":["extensions/pi-think-panel.ts"]},"dist":{"shasum":"f0f7b5bd58d06635453b36f75644f8f825a8e5cb","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.2.0.tgz","fileCount":4,"integrity":"sha512-FrahxrfWoGk5wEAhRC57Ywb8f6cUvI9L+ApCkZnYcPRMbq/Iz6eADgaA5uFcH93/Qk5UoXTf80Mtqg2TMVqC5g==","signatures":[{"sig":"MEUCIQC4B5nU1l8vHEN9Cu+TdQoenr4ISqBT86dRqHlLVfQw+gIgIhKGhUQ+stgXUeOLU+VljfAWmRe35xNyTRvRqghSyY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36106},"main":"extensions/pi-think-panel.ts","engines":{"node":">=18"},"gitHead":"1e8753d69120b0d90011cc4c573bcca993e5c59d","scripts":{"typecheck":"tsc --noEmit"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — toggleable floating 'think' content panel showing live reasoning, ctrl+o for full-text view","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-think-panel_0.2.0_1786675136751_0.40991146970415415","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aiwayds/pi-think-panel","version":"0.3.0","keywords":["pi-package","pi-extension","think","reasoning","panel","tui"],"author":{"name":"fan56"},"license":"MIT","_id":"@aiwayds/pi-think-panel@0.3.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-think-panel#readme","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"pi":{"extensions":["extensions/pi-think-panel.ts"]},"dist":{"shasum":"8ad3c758e11a25e46956c46a7c763e3a463b89e1","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.3.0.tgz","fileCount":4,"integrity":"sha512-uVHlj6XvCbzarXDp62mrNHsJL9ADN4ztKkxdx/PdqQPUAdnBTheH32UK5+pFVv8FtsRbRKvR8y9bIQC0XvDeQw==","signatures":[{"sig":"MEUCIQC6fk8YWechSOIQtdyPSWqglUPsvbR9FNCugZiUqaf3agIgAWmvROIowmWghAgcglV2yo8FT/ihLbvLjdt1M/VxeCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCMsvOJevoJckOTCTPn38Ky2SxBHP8tt1XzU09DYG4gQQIgdVBAt9NWVeGsnFD5h8Se4SiriYGp1ybL5bKn3jyOoBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17356},"main":"extensions/pi-think-panel.ts","engines":{"node":">=18"},"gitHead":"26630a6ec2c0aba461dd402dbac6cd8ba55d1c67","scripts":{"smoke":"node smoke-test.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — thinking viewport widget above the editor, live-scrolls the model's reasoning (1/3/5/7 lines)","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-think-panel_0.3.0_1789873470830_0.45372387658442204","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aiwayds/pi-think-panel","version":"0.3.1","keywords":["pi","pi-package","pi-extension","think","reasoning","widget","tui"],"author":{"name":"fan56"},"license":"MIT","_id":"@aiwayds/pi-think-panel@0.3.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-think-panel#readme","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"pi":{"extensions":["extensions/pi-think-panel.ts"]},"dist":{"shasum":"4f781c189e3f39024ae534ce2b4114d94db9f0dc","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.3.1.tgz","fileCount":4,"integrity":"sha512-thespcX87BtTiwHJ3H/7EyTjzc70ck7ZhVGTfXL5jpnxKFeFyjGa1hoeKxmSMKNpbR4eSaJEeZXb+rLejffBIQ==","signatures":[{"sig":"MEUCIQDWRqw6khlXDVK8DfJsQzIPaz9rMzyZplxyWqw2tEhefwIgbBTBf+QUaUe7jk1isWT5nuXHn6quob/sbLnDzUHx9uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGxbXQhI8WEHtUBYPeKRpl+JeWU2sgGGu8cRewxtuiylAiEAjWQYrU9Bbmsb4dWHysI0Q3dpFI1t16qvo8nwBsxfOLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17367},"main":"extensions/pi-think-panel.ts","engines":{"node":">=18"},"gitHead":"dfc81ab0a114af55a198134baae9287285d0e997","scripts":{"smoke":"node smoke-test.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — thinking viewport widget above the editor, live-scrolls the model's reasoning (1/3/5/7 lines)","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-think-panel_0.3.1_1789880440061_0.7222327372041648","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aiwayds/pi-think-panel","version":"0.3.2","keywords":["pi","pi-package","pi-extension","think","reasoning","widget","tui"],"author":{"name":"fan56"},"license":"MIT","_id":"@aiwayds/pi-think-panel@0.3.2","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-think-panel#readme","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"pi":{"extensions":["extensions/pi-think-panel.ts"]},"dist":{"shasum":"676e822b670b1c36fe7809e8dc55e683bf637cc4","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.3.2.tgz","fileCount":4,"integrity":"sha512-3zPHcSNbQQV0wTisUT1U1gsh2AwqGfcDcYTUMJfHScx64Ftp2D3Wm+DlZczx1NivNOHyDiXP4+5uhu91W2v7sw==","signatures":[{"sig":"MEQCIB4d2rEsYA2BMatdEUeUKAsiopfMz1+RJ/8MHiB1G4QiAiAx4D/eWvm2/VUGvMt7nXhqOrUFnWTRFeOuPOXD1bunsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDH/WyE9HpRhN1Qn15WT7ztmPQUHo/Rs2U0oKpmLLdNRAIhAMUdqw/CaXxCOUPOMMMLcXSYLarNIWA1M+QF66sHShll","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17813},"main":"extensions/pi-think-panel.ts","engines":{"node":">=18"},"gitHead":"0194a63654676201648e3b2a4f6b0468a0d6b72d","scripts":{"smoke":"node smoke-test.cjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — thinking viewport widget above the editor, live-scrolls the model's reasoning (1/3/5/7 lines)","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-think-panel_0.3.2_1789880579712_0.3629887299822867","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"pi":{"extensions":["extensions/pi-think-panel.ts"]},"_id":"@aiwayds/pi-think-panel@0.3.3","bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"dist":{"shasum":"ee3d9e25b9381770561bcb43b26ed8c7ad1a1a1a","tarball":"https://registry.npmjs.org/@aiwayds/pi-think-panel/-/pi-think-panel-0.3.3.tgz","fileCount":4,"integrity":"sha512-oVns6gUKAb2rYYhtLe8pPxfOQUISlfcIn1eZenC9NxPZ5M+BoewkUo8ROu4xd56yIBu5og2hTm4m4dWh1puUEg==","signatures":[{"sig":"MEQCID/Lk0qK3HKbYLE12Fh1INhQUnG4B+K8aUGgJCV/CKTCAiAKUEloealEJWMGTDtHCm7Hd6WQ8Hz0WYw0+1QTqILfow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA2tEvlxo3Yud0N4mcXIuSSWDDiqMd3JQIc+RAdZxg8WAiEA0+B3KUwBTxwULNrC1WAUjNP10HHgwiZoqrsWxEyrtsc="}],"unpackedSize":19762},"main":"extensions/pi-think-panel.ts","name":"@aiwayds/pi-think-panel","author":{"name":"fan56"},"engines":{"node":">=18"},"gitHead":"1d52902d9b885cf29925baa49556c642adba10fe","license":"MIT","scripts":{"smoke":"node smoke-test.cjs","typecheck":"tsc --noEmit"},"version":"0.3.3","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"homepage":"https://github.com/fan56/pi-think-panel#readme","keywords":["pi","pi-package","pi-extension","think","reasoning","widget","tui"],"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension — thinking viewport widget above the editor, live-scrolls the model's reasoning (1/3/5/7 lines)","directories":{},"maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.4.0","typescript":"^5.6.0","@types/node":"^22.0.0","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"peerDependencies":{"@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-think-panel_0.3.3_1789881251475_0.11004656095930843"}}},"time":{"created":"2026-08-05T03:06:22.676Z","modified":"2026-09-20T05:14:11.735Z","0.1.0":"2026-08-05T03:06:23.200Z","0.2.0":"2026-08-14T02:38:56.926Z","0.3.0":"2026-09-20T03:04:30.943Z","0.3.1":"2026-09-20T05:00:40.161Z","0.3.2":"2026-09-20T05:02:59.790Z","0.3.3":"2026-09-20T05:14:11.558Z"},"bugs":{"url":"https://github.com/fan56/pi-think-panel/issues"},"author":{"name":"fan56"},"license":"MIT","homepage":"https://github.com/fan56/pi-think-panel#readme","keywords":["pi","pi-package","pi-extension","think","reasoning","widget","tui"],"repository":{"url":"git+https://github.com/fan56/pi-think-panel.git","type":"git"},"description":"pi-coding-agent extension — thinking viewport widget above the editor, live-scrolls the model's reasoning (1/3/5/7 lines)","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"readme":"# pi-think-panel\n\nThinking viewport widget for the pi coding agent TUI — a todo-style widget\nabove the editor that live-scrolls the model's reasoning.\n\n> pi 编码代理 TUI 的思考视口 widget——像 todo widget 一样挂在输入框上方，\n> 实时滚动显示模型推理内容。\n\n## Why / 为什么做这个扩展\n\nReasoning models now spend longer and longer \"thinking\" before they answer —\nand both ways of surfacing that output are bad:\n\n- **Hidden** (`hideThinkingBlock` on, or the block scrolled out of view): the\n  TUI looks frozen. You can't tell whether the model is stuck, exploring, or\n  about to finish — there is no health monitoring and no progress signal.\n- **Fully shown**: a wall of reasoning text floods the chat pane, pushing the\n  real content around and making the conversation hard to read.\n\nThis extension sits in between. A one-to-seven-line viewport sits right above\nthe editor and live-scrolls the **latest** reasoning — a heartbeat that shows\nthe model is alive and where its head is at — while the chat pane stays clean.\n\n> **中文**：推理模型的思考时间越来越长，而两种展示方式都不理想——\n> 隐藏（`hideThinkingBlock` 开启或滚动出视野）时 TUI 看起来像卡住，缺乏健康\n> 监控和进度信号；全部显示时，大段推理文本冲击聊天区，对话难以阅读。\n> 本扩展取中间态：输入框上方挂一个 1–7 行的滚动视口，始终跟随**最新**推理\n> （\"心跳\"，证明模型活着、思路在哪），聊天区保持干净。\n\n## Layout / 布局\n\nThe widget occupies the extension widget slot above the editor (same slot the\ntodo widget uses). It shows the latest N wrapped lines of thinking; when the\nstream grows past N lines it scrolls up, so the newest content is always in\nview. No thinking → zero rows, no space taken.\n\n> widget 位于输入框上方的扩展 widget 槽位（与 todo widget 同槽位），显示最近\n> N 行思考内容；超过 N 行向上滚动，最新内容始终可见。没有思考时 0 行不占位。\n\n```text\n┌──────────────────────────────────────────────────────────┐\n│  chat history                                            │\n│  …                                                       │\n├──────────────────────────────────────────────────────────┤\n│  🧠Thinking: 先确认 widget 槽位的宽度约束，再决定 wrap 策略  │   ← widget (N lines,\n│  终端宽度变化时按新宽度重排，始终显示窗口尾部最新内容          │      scrolls up)\n├──────────────────────────────────────────────────────────┤\n│  ❯ editor input                                          │\n└──────────────────────────────────────────────────────────┘\n```\n\n- Default height is **1 line**: `🧠Thinking: <latest text>` — tail-truncated\n  to terminal width.\n- Heights **3 / 5 / 7** show more of the latest reasoning; row 0 keeps the\n  `🧠Thinking:` prefix, rows below are pure continuation lines.\n- Every row is painted with a theme background key (default\n  `customMessageBg`) and padded to full width — the viewport reads as one\n  solid band, light/dark adaptive.\n\n> 默认 **1 行**：`🧠Thinking: <最新思考>`，超出终端宽度尾部截断。\n> **3 / 5 / 7 行**显示更多最新推理；首行保留 `🧠Thinking:` 前缀，其余为纯内容行。\n\n## Command / 命令\n\n```bash\n/think-panel           # show current settings / 查看当前配置\n/think-panel 3         # switch to 3 lines / 切换 3 行\n/think-panel 7         # switch to 7 lines / 切换 7 行\n/think-panel off       # disable the widget (0 rows) / 关闭 widget\n/think-panel bg toolPendingBg   # switch background theme key / 换底色\n```\n\nThe settings are persisted to `~/.pi/agent/think-panel.json` as\n`{\"lines\": N, \"bg\": \"customMessageBg\"}` and survive restarts.\n\n> 设置持久化到 `~/.pi/agent/think-panel.json`，重启后保持。\n\n## What it does / 功能\n\n- Captures live thinking from `message_update` events and renders it in the\n  editor-adjacent widget slot — no overlays, no key grabbing. `ctrl+o`\n  (expand tool output) and `ctrl+h` remain pi-native.\n- Lines are **visual lines** after ANSI-aware wrapping to the current terminal\n  width — the view reflows on resize.\n- Shows while the model is thinking; the viewport **auto-hides the moment\n  thinking stops** (`thinking_end`) and clears again on turn settle\n  (`agent_settled`, safety net) or when thinking is switched off.\n- Completed think blocks within a turn are separated by a blank line.\n\n> - 从 `message_update` 事件捕获实时思考，渲染在输入框上方 widget 槽位——\n>   无浮层、不抢键。`ctrl+o`（展开工具输出）与 `ctrl+h` 保持 pi 原生行为。\n> - 行 = 按当前终端宽度 ANSI 感知换行后的**视觉行**，终端缩放自动重排。\n> - 模型思考期间显示；回合结束（`agent_settled`）或思考关闭后清空。\n> - 同一回合内多个思考块之间用空行分隔。\n\n## Config / 配置\n\n`~/.pi/agent/think-panel.json`:\n\n```json\n{ \"lines\": 1, \"bg\": \"customMessageBg\" }\n```\n\n- `lines`: `1 | 3 | 5 | 7 | 0` (`0` = off)\n- `bg`: any pi theme bg key — `selectedBg` / `searchMatchBg` /\n  `userMessageBg` / `customMessageBg` (default) / `toolPendingBg` /\n  `toolSuccessBg` / `toolErrorBg`. Light/dark adaptive.\n\nPrefer the `/think-panel` command — it validates and writes the same file.\n\n> 推荐用 `/think-panel` 命令切换，会校验参数并写同一文件。底色为语义主题键，\n> 明暗主题自适应。\n\n## Install / update / 安装与更新\n\nFrom npm (recommended / 推荐):\n\n```bash\npi install npm:@aiwayds/pi-think-panel\n```\n\nOr copy the single file (same loader, no build step / 单文件直载，无构建):\n\n```bash\ncp extensions/pi-think-panel.ts ~/.pi/agent/extensions/pi-think-panel.ts\n```\n\nThen `/reload` in pi (or restart). Remove by deleting the entry/file and\nreloading.\n\n> 在 pi 里 `/reload`（或重启）生效；删除对应包/文件并 reload 即可卸载。\n\n## Development / 开发\n\n```bash\nnpm run typecheck   # type-check against installed pi types\nnpm run smoke       # jiti-loads the entry, verifies the factory shape\n```\n\n## Known tradeoffs / 已知取舍\n\n- Think content from replayed/loaded sessions is not captured (no events fire\n  on replay).\n- Hiding the native thinking block in chat is pi's own `hideThinkingBlock`\n  setting (recommended companion). This extension never writes user settings.\n- The widget only surfaces thinking. Native tool rendering is intentionally\n  untouched — pi has no official API to suppress it.\n\n> - 回放/加载的旧会话不产生事件，无法捕获其中的思考内容。\n> - 隐藏聊天区原生思考块请配合 pi 自带的 `hideThinkingBlock` 设置（推荐同开）；\n>   本扩展绝不改写用户设置。\n> - widget 只承载思考内容。原生工具渲染刻意不动——pi 没有官方 API 可以关掉它。\n","readmeFilename":"README.md"}