{"_id":"@aalalice233/pi-brainstorm","_rev":"5-6bd4d1c06a34e0b27bd57f528cd6e368","name":"@aalalice233/pi-brainstorm","dist-tags":{"latest":"0.3.2"},"versions":{"0.2.0":{"name":"@aalalice233/pi-brainstorm","version":"0.2.0","keywords":["pi-package"],"license":"MIT","_id":"@aalalice233/pi-brainstorm@0.2.0","maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"pi":{"extensions":["./extensions"]},"dist":{"shasum":"e608091d6164ad44157a66952f613a7678a012f8","tarball":"https://registry.npmjs.org/@aalalice233/pi-brainstorm/-/pi-brainstorm-0.2.0.tgz","fileCount":4,"integrity":"sha512-l1VUugqtc6SLnxlfAiFy5/TZqmuYOkuQ06Z3iBC9yZGw7t+pgoypMA/RWQSC6NmS3XBOrCH3raVCqjYizlxpig==","signatures":[{"sig":"MEQCIBCfD8bHn9u/hIk+3d6OvORSkZ7YqLnqvI43xSIXEayiAiAhRX72OK8LtdTJwd5Py2eGi3oclZUYY7zfrCweObAASQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40573},"gitHead":"da4b1d9373494243b23d3777ba3ced76d77655f9","_npmUser":{"name":"aaalice233","email":"2515448788@qq.com"},"repository":{"url":"git+https://github.com/Aaalice233/pi-brainstorm.git","type":"git"},"_npmVersion":"11.11.0","description":"A conversation-only brainstorm mode extension for pi, with ask_user_question tool integration","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-agent-core":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-brainstorm_0.2.0_1780908677823_0.35983440544107026","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aalalice233/pi-brainstorm","version":"0.2.1","keywords":["pi-package"],"license":"MIT","_id":"@aalalice233/pi-brainstorm@0.2.1","maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"pi":{"extensions":["./extensions"]},"dist":{"shasum":"81d22c70edde351a32d4540bea7440b2bf097034","tarball":"https://registry.npmjs.org/@aalalice233/pi-brainstorm/-/pi-brainstorm-0.2.1.tgz","fileCount":4,"integrity":"sha512-uxxuWsGB0gKBlFKnfXF0Bmh6qzpulVeXrpBGx5Dwt20FEUZAN9X9SSgRQ94fVFbw25xO/n6PqghuGvy8Eqsjfg==","signatures":[{"sig":"MEUCIDlnXLBxaL61KwvYidIUNfYRCSLP1qGntJsbuIQJ9KmlAiEA9uMWYkgIj8WQ4zUma9BIk3xXrLCpZp/koDlXNk5L78U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41685},"gitHead":"49739d81e54d948ade01377aa074c8a753ded5bf","_npmUser":{"name":"aaalice233","email":"2515448788@qq.com"},"repository":{"url":"git+https://github.com/Aaalice233/pi-brainstorm.git","type":"git"},"_npmVersion":"11.11.0","description":"A conversation-only brainstorm mode extension for pi, with ask_user_question tool integration","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-agent-core":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-brainstorm_0.2.1_1780908722590_0.1996360952304419","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aalalice233/pi-brainstorm","version":"0.3.0","keywords":["pi-package"],"license":"MIT","_id":"@aalalice233/pi-brainstorm@0.3.0","maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"pi":{"extensions":["./extensions"]},"dist":{"shasum":"78d5eed981121b695402386a626947483d62c484","tarball":"https://registry.npmjs.org/@aalalice233/pi-brainstorm/-/pi-brainstorm-0.3.0.tgz","fileCount":4,"integrity":"sha512-aT31/a3zGJvLMmhmjwIZsxLvlSqDZs+RXICYQm6mA4UXIjmCgteSXXj1wS+RqNpqIYYO6//cRTaFrCCkKNhMew==","signatures":[{"sig":"MEYCIQC2olLosmRGXlUJcq1pdtP0BtT266/GXJ6Nd6HUXvaVOgIhAMMrBd2FAf4Cz9pZNF2I2gZTIH9XQEKL9Zxyd1alyJXU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43257},"gitHead":"3617a91b1c32f862d330f55db2ac13ea5b72e5a8","_npmUser":{"name":"aaalice233","email":"2515448788@qq.com"},"repository":{"url":"git+https://github.com/Aaalice233/pi-brainstorm.git","type":"git"},"_npmVersion":"11.11.0","description":"A conversation-only brainstorm mode extension for pi, with dynamic tool detection (grep, ask_user_question, subagent)","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-agent-core":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-brainstorm_0.3.0_1780989384393_0.30725869845186504","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aalalice233/pi-brainstorm","version":"0.3.1","keywords":["pi-package"],"license":"MIT","_id":"@aalalice233/pi-brainstorm@0.3.1","maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"pi":{"extensions":["./extensions"]},"dist":{"shasum":"8f225b09ffb36569009d6196acea7c29dc1ba6e5","tarball":"https://registry.npmjs.org/@aalalice233/pi-brainstorm/-/pi-brainstorm-0.3.1.tgz","fileCount":4,"integrity":"sha512-O2V7yQF0e7Rq8LYduf9ZX9e+pZsyumtbHWcgDJO4EqZYH0elRf3kkA9Soip8FzerkEgkLEBkppHDk49s7gtQOg==","signatures":[{"sig":"MEUCIQC6KfDnzs7aycCnQrssFqhRSaLz1gwOVyIXX0KuEoc3OQIgWkvw4q7ADvzodQ35K6sOzlEUtI8wqFdEMjdAQmjE6tQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43866},"gitHead":"cb8655c88fd7e24af757ed8bfd596c5a1b879327","_npmUser":{"name":"aaalice233","email":"2515448788@qq.com"},"repository":{"url":"git+https://github.com/Aaalice233/pi-brainstorm.git","type":"git"},"_npmVersion":"11.11.0","description":"A conversation-only brainstorm mode extension for pi, with dynamic tool detection (grep, ask_user_question, subagent)","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-agent-core":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-brainstorm_0.3.1_1780989499311_0.04290178266202882","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aalalice233/pi-brainstorm","version":"0.3.2","description":"A conversation-only brainstorm mode extension for pi, with dynamic tool detection (grep, ask_user_question, subagent)","license":"MIT","keywords":["pi-package"],"repository":{"type":"git","url":"git+https://github.com/Aaalice233/pi-brainstorm.git"},"homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"publishConfig":{"access":"public"},"peerDependencies":{"@mariozechner/pi-ai":"*","@mariozechner/pi-agent-core":"*","@mariozechner/pi-coding-agent":"*","@mariozechner/pi-tui":"*"},"pi":{"extensions":["./extensions"]},"gitHead":"dc4c680eb9778ec90eb446ad00721f9a7e0adc15","_id":"@aalalice233/pi-brainstorm@0.3.2","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-MTTbUO710p+N1EDXhRXEDfEslqz8dAshrvw/G28jAhToDtVACv/jx7N6DG+dRDnMe9Kqa7VQ2MyFayHA2tA7QA==","shasum":"744f226d2f41eb091ba749694636e4763204a06f","tarball":"https://registry.npmjs.org/@aalalice233/pi-brainstorm/-/pi-brainstorm-0.3.2.tgz","fileCount":4,"unpackedSize":43825,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGwH+Xvo1Pyf8K+SPZfyKfFrjN5IutxJTSmp846gilpHAiEAlpsmQf6Z9JlDpAt6pjeBIyatzWETN63iuS5+kE0ki+w="}]},"_npmUser":{"name":"aaalice233","email":"2515448788@qq.com"},"directories":{},"maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-brainstorm_0.3.2_1780989666345_0.5715676120632138"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-08T08:51:17.706Z","modified":"2026-06-09T07:21:06.609Z","0.2.0":"2026-06-08T08:51:17.940Z","0.2.1":"2026-06-08T08:52:02.729Z","0.3.0":"2026-06-09T07:16:24.519Z","0.3.1":"2026-06-09T07:18:19.491Z","0.3.2":"2026-06-09T07:21:06.478Z"},"bugs":{"url":"https://github.com/Aaalice233/pi-brainstorm/issues"},"license":"MIT","homepage":"https://github.com/Aaalice233/pi-brainstorm#readme","keywords":["pi-package"],"repository":{"type":"git","url":"git+https://github.com/Aaalice233/pi-brainstorm.git"},"description":"A conversation-only brainstorm mode extension for pi, with dynamic tool detection (grep, ask_user_question, subagent)","maintainers":[{"name":"aaalice233","email":"2515448788@qq.com"}],"readme":"# pi-brainstorm\r\n\r\n> Fork of [@paulmupeters/pi-brainstorm](https://github.com/paulmupeters/pi-brainstorm) with expanded read-only tool support.\r\n\r\nA pi extension that adds a read-only `/brainstorm` mode with dynamic tool detection. During brainstorm, the agent can use `read`, `find`, and any of the following optional tools if registered in the environment:\r\n- `grep` — for pattern search within files\r\n- `ask_user_question` — for structured clarifying questions\r\n- `subagent` / `get_subagent_result` — for deep codebase exploration\r\n\r\n## What it does\r\n\r\nWhen brainstorm mode is active:\r\n- allows `read`, `find` and any detected optional tools (`grep`, `ask_user_question`, `subagent`, `get_subagent_result`)\r\n- blocks shell commands and file edits/writes\r\n- keeps the conversation exploratory\r\n- avoids unsolicited \"you should do X next\" suggestions\r\n- gives a clear recommendation when you ask for the best option\r\n- shows a visible reminder in the UI\r\n- drafts a decision-oriented markdown brief when you finish\r\n- can replace the brainstorm transcript with the reviewed brief in LLM context when you finish without saving or when you save and choose the context-preserving option\r\n\r\n## Key difference from upstream\r\n\r\nThe original extension blocks all non-read tools during brainstorm mode. This fork:\r\n- dynamically detects which tools are available in the current pi environment (`grep`, `ask_user_question`, `subagent`, `get_subagent_result`)\r\n- allows all detected tools alongside `read` and `find`, giving the agent richer capabilities during brainstorm (e.g. searching code, asking structured questions, exploring codebases in background)\r\n- silently omits tools that are not registered — no configuration needed\r\n- shows a dynamic allowed-tool list in the system prompt so the agent knows exactly what it can use\r\n\r\n## UX\r\n\r\n- `/brainstorm` starts brainstorm mode\r\n- `/brainstorm` again opens a small menu:\r\n  - Continue brainstorming\r\n  - Finish and summarize\r\n  - Cancel and discard\r\n- `/brainstorm finish` finishes directly\r\n- `/brainstorm cancel` exits immediately without a summary\r\n- `/brainstorm-summary-model` configures an optional dedicated summary model\r\n- `Ctrl+Alt+B` is a shortcut for the same flow\r\n\r\nWhile active, the footer/widget reminds you how to finish or cancel.\r\n\r\n## Install / test\r\n\r\n### Quick test\r\n\r\n```bash\r\npi --no-extensions -e /path/to/brainstorm.ts\r\n```\r\n\r\n### Use from your normal pi setup\r\n\r\nInstall from npm:\r\n\r\n```bash\r\npi install npm:@aalalice233/pi-brainstorm\r\n```\r\n\r\nOr copy `extensions/brainstorm.ts` into `~/.pi/agent/extensions/`.\r\n\r\n### Optional: enable additional brainstorm tools\r\n\r\nThe extension detects these optional tools at runtime — install any of the packages below and the tool is automatically available in brainstorm mode:\r\n\r\n| Tool | Package |\r\n|---|---|\r\n| `grep` | Built-in to pi, no extra install needed |\r\n| `ask_user_question` | `@juicesharp/rpiv-ask-user-question` |\r\n| `subagent` / `get_subagent_result` | Built-in to pi, no extra install needed |\r\n\r\nFor example:\r\n\r\n```bash\r\npi install npm:@juicesharp/rpiv-ask-user-question\r\n```\r\n\r\nAll tool detection is automatic — no config needed.\r\n\r\n## Brief export\r\n\r\nWhen you finish a brainstorm, the extension:\r\n1. collects the conversation since brainstorm mode started\r\n2. asks the current model, or an optional dedicated summary-model override, to draft a concise decision brief\r\n3. opens that brief in an editor so you can tweak it\r\n4. then offers:\r\n   - `Brief to context`\r\n   - `Brief to markdown`\r\n   - `Brief to markdown and context`\r\n   - `Continue brainstorming`\r\n   - `Exit`\r\n\r\nThe generated brief uses `# Decision Brief: <topic>` when the session reached a clear decision, recommendation, or strong preference. If no firm conclusion emerged, it uses `# Brainstorm Brief: <topic>` and calls out the strongest current leaning without inventing certainty. It leads with the recommendation/current leaning, then covers rationale, alternatives, risks/open questions, and a transcript summary capped at 5 sentences.\r\n\r\nDefault save path:\r\n\r\n```text\r\nbrainstorms/YYYY-MM-DD-topic.md\r\n```\r\n\r\n### Optional summary model override\r\n\r\nBy default, brainstorm summaries use the currently active Pi model.\r\n\r\nYou can persist a separate user-level summary model with:\r\n\r\n```text\r\n/brainstorm-summary-model\r\n```\r\n\r\nOr set it directly:\r\n\r\n```text\r\n/brainstorm-summary-model google/gemini-2.5-flash\r\n/brainstorm-summary-model clear\r\n```\r\n\r\nThe preference is stored globally in `~/.pi/agent/settings.json` under `piBrainstorm.summaryModel` and falls back to the active model when unset or unavailable.\r\n\r\nIf you choose **Brief to context** or **Brief to markdown and context**, the brainstorm transcript stays in session history, but future LLM context uses the reviewed brief instead of the full brainstorm exchange.\r\n\r\n## Notes\r\n\r\n- During brainstorm mode, `read` and `find` are always enabled; `grep`, `ask_user_question`, `subagent`, and `get_subagent_result` are enabled when their respective packages/tools are registered.\r\n- The extension restores your previously active tools after finishing/canceling.\r\n- If model-based brief generation is unavailable, the extension falls back to a simple markdown transcript.\r\n- Tool detection happens at runtime — no config or restart needed when installing/removing packages or when tools become available/unavailable.\r\n","readmeFilename":"README.md"}