@herbertgao/pi-extensions 2026.9.18 → 2026.9.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +20 -28
  2. package/THIRD_PARTY_NOTICES.md +1 -1
  3. package/node_modules/@herbertgao/pi-cc-extensions/README.en.md +76 -59
  4. package/node_modules/@herbertgao/pi-cc-extensions/README.md +76 -59
  5. package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/preview.webp +0 -0
  6. package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/config.ts +93 -34
  7. package/node_modules/@herbertgao/pi-cc-extensions/extensions/config/panel.ts +346 -117
  8. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/agent-summary/core.ts +6 -36
  9. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/agent-summary/index.ts +2 -2
  10. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/compact-thinking.ts +24 -29
  11. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/context.ts +330 -360
  12. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/index.ts +56 -108
  13. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/session.ts +97 -15
  14. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/reference/subagent.ts +80 -45
  15. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/flush-docked-bash.ts +36 -0
  16. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/footer-layout.ts +229 -0
  17. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/footer.ts +479 -0
  18. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/startup-header.ts +92 -61
  19. package/node_modules/@herbertgao/pi-cc-extensions/extensions/feature/shell/working-message.ts +75 -40
  20. package/node_modules/@herbertgao/pi-cc-extensions/extensions/index.ts +19 -3
  21. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/compact-mode.ts +1080 -229
  22. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/default-mode.ts +232 -259
  23. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/index.ts +42 -41
  24. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/markdown-enhance.ts +8 -2
  25. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/hover.ts +2 -7
  26. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/interaction.ts +277 -113
  27. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/layout.ts +15 -6
  28. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/packets.ts +18 -72
  29. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/mouse/scroll.ts +61 -26
  30. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/ansi-utils.ts +25 -57
  31. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-component.ts +125 -0
  32. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-edit-render.ts +227 -0
  33. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-header.ts +136 -0
  34. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-highlight.ts +115 -0
  35. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-inline.ts +324 -0
  36. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-layout.ts +762 -0
  37. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-limits.ts +152 -0
  38. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-palette.ts +410 -0
  39. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-parse.ts +535 -0
  40. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-presentation.ts +2 -2
  41. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-renderer.ts +21 -3219
  42. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-text.ts +44 -0
  43. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/diff-write-render.ts +568 -0
  44. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/index.ts +47 -10
  45. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/line-width-safety.ts +2 -2
  46. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/write-execution.ts +1 -0
  47. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/grouping.ts +145 -190
  48. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/mcp-title.ts +39 -0
  49. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/{message-display.ts → tool/message-display.ts} +24 -90
  50. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/names.ts +426 -0
  51. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/result.ts +90 -132
  52. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/{show-more-hint.ts → tool/show-more-hint.ts} +10 -0
  53. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/transcript-refresh.ts +8 -26
  54. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/ansi-color.ts +44 -0
  55. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/ansi-text.ts +76 -0
  56. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/component-tree.ts +34 -0
  57. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/format.ts +28 -0
  58. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/fullscreen-detect.ts +51 -0
  59. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/patch-keys.ts +124 -0
  60. package/node_modules/@herbertgao/pi-cc-extensions/extensions/utils/sgr-mouse.ts +70 -0
  61. package/node_modules/@herbertgao/pi-cc-extensions/package.json +8 -8
  62. package/node_modules/pi-antigravity/README.md +29 -6
  63. package/node_modules/pi-antigravity/package.json +12 -7
  64. package/node_modules/pi-antigravity/src/auth/accounts.ts +327 -0
  65. package/node_modules/pi-antigravity/src/auth/index.ts +9 -0
  66. package/node_modules/pi-antigravity/src/client/client.ts +1 -1
  67. package/node_modules/pi-antigravity/src/image/image.ts +4 -4
  68. package/node_modules/pi-antigravity/src/index.ts +203 -13
  69. package/node_modules/pi-antigravity/src/search/index.ts +1 -0
  70. package/node_modules/pi-antigravity/src/search/search.ts +325 -0
  71. package/node_modules/pi-antigravity/src/stream/stream.ts +191 -14
  72. package/node_modules/pi-antigravity/src/types/enums.ts +45 -36
  73. package/node_modules/pi-antigravity/src/types/types.ts +5 -12
  74. package/node_modules/pi-antigravity/src/utils/http.ts +7 -2
  75. package/node_modules/pi-antigravity/src/utils/util.ts +31 -3
  76. package/node_modules/pi-typesafe/README.md +2 -0
  77. package/node_modules/pi-typesafe/package.json +2 -1
  78. package/node_modules/pi-web-access/CHANGELOG.md +72 -0
  79. package/node_modules/pi-web-access/README.md +34 -13
  80. package/node_modules/pi-web-access/chrome-cookies.ts +79 -25
  81. package/node_modules/pi-web-access/curator-page.ts +5 -1
  82. package/node_modules/pi-web-access/curator-server.ts +2 -0
  83. package/node_modules/pi-web-access/dist/index.js +1337 -1009
  84. package/node_modules/pi-web-access/exa.ts +20 -52
  85. package/node_modules/pi-web-access/extract.ts +41 -4
  86. package/node_modules/pi-web-access/gemini-search.ts +12 -4
  87. package/node_modules/pi-web-access/index.ts +29 -37
  88. package/node_modules/pi-web-access/openai-search.ts +35 -7
  89. package/node_modules/pi-web-access/package.json +6 -5
  90. package/node_modules/pi-web-access/page-query.ts +2 -2
  91. package/node_modules/pi-web-access/query-rewrite.ts +2 -3
  92. package/node_modules/pi-web-access/ssrf-protection.ts +27 -10
  93. package/node_modules/pi-web-access/storage.ts +48 -77
  94. package/node_modules/pi-web-access/summary-model-scope.ts +6 -77
  95. package/node_modules/pi-web-access/summary-review.ts +3 -4
  96. package/node_modules/pi-web-access/tavily.ts +67 -20
  97. package/node_modules/pi-web-access/tool-activation.ts +53 -33
  98. package/node_modules/pi-web-access/utils.ts +1 -1
  99. package/node_modules/pi-web-access/you.ts +164 -0
  100. package/node_modules/pi-web-access/zai.ts +161 -0
  101. package/package.json +7 -11
  102. package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/hero.en.svg +0 -101
  103. package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/hero.svg +0 -101
  104. package/node_modules/@herbertgao/pi-cc-extensions/assets/readme/welcome.webp +0 -0
  105. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/render-utils.ts +0 -5
  106. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/types.ts +0 -30
  107. package/node_modules/@herbertgao/pi-cc-extensions/extensions/renderer/tool/diff/write-display-utils.ts +0 -12
  108. package/node_modules/pi-footer/CHANGELOG.md +0 -145
  109. package/node_modules/pi-footer/LICENSE +0 -21
  110. package/node_modules/pi-footer/README.md +0 -354
  111. package/node_modules/pi-footer/package.json +0 -68
  112. package/node_modules/pi-footer/src/cache.ts +0 -106
  113. package/node_modules/pi-footer/src/colors.ts +0 -237
  114. package/node_modules/pi-footer/src/config.ts +0 -202
  115. package/node_modules/pi-footer/src/event-widgets.ts +0 -41
  116. package/node_modules/pi-footer/src/extension-statuses.ts +0 -102
  117. package/node_modules/pi-footer/src/git.ts +0 -135
  118. package/node_modules/pi-footer/src/index.ts +0 -268
  119. package/node_modules/pi-footer/src/metrics.ts +0 -141
  120. package/node_modules/pi-footer/src/presets.ts +0 -383
  121. package/node_modules/pi-footer/src/render.ts +0 -114
  122. package/node_modules/pi-footer/src/separators.ts +0 -52
  123. package/node_modules/pi-footer/src/types.ts +0 -122
  124. package/node_modules/pi-footer/src/ui/color-level-confirm.ts +0 -22
  125. package/node_modules/pi-footer/src/ui/color-options.ts +0 -195
  126. package/node_modules/pi-footer/src/ui/config-lifecycle.ts +0 -61
  127. package/node_modules/pi-footer/src/ui/edit-colors.ts +0 -13
  128. package/node_modules/pi-footer/src/ui/events.ts +0 -35
  129. package/node_modules/pi-footer/src/ui/extension-status-picker.ts +0 -60
  130. package/node_modules/pi-footer/src/ui/extension-statuses.ts +0 -73
  131. package/node_modules/pi-footer/src/ui/fields.ts +0 -252
  132. package/node_modules/pi-footer/src/ui/global-menu.ts +0 -126
  133. package/node_modules/pi-footer/src/ui/helpers.ts +0 -44
  134. package/node_modules/pi-footer/src/ui/layout.ts +0 -17
  135. package/node_modules/pi-footer/src/ui/line-list.ts +0 -19
  136. package/node_modules/pi-footer/src/ui/model.ts +0 -64
  137. package/node_modules/pi-footer/src/ui/navigation.ts +0 -29
  138. package/node_modules/pi-footer/src/ui/option-edit.ts +0 -93
  139. package/node_modules/pi-footer/src/ui/overlay-render.ts +0 -103
  140. package/node_modules/pi-footer/src/ui/screen-context.ts +0 -18
  141. package/node_modules/pi-footer/src/ui/screen-controller.ts +0 -27
  142. package/node_modules/pi-footer/src/ui/screen-render.ts +0 -32
  143. package/node_modules/pi-footer/src/ui/screen-state.ts +0 -20
  144. package/node_modules/pi-footer/src/ui/screen.ts +0 -243
  145. package/node_modules/pi-footer/src/ui/screens/add-widget.ts +0 -92
  146. package/node_modules/pi-footer/src/ui/screens/confirm-exit.ts +0 -52
  147. package/node_modules/pi-footer/src/ui/screens/controller.ts +0 -12
  148. package/node_modules/pi-footer/src/ui/screens/edit-colors.ts +0 -68
  149. package/node_modules/pi-footer/src/ui/screens/edit-widget.ts +0 -115
  150. package/node_modules/pi-footer/src/ui/screens/extension-status-row.ts +0 -61
  151. package/node_modules/pi-footer/src/ui/screens/global.ts +0 -75
  152. package/node_modules/pi-footer/src/ui/screens/line-list.ts +0 -108
  153. package/node_modules/pi-footer/src/ui/screens/main.ts +0 -99
  154. package/node_modules/pi-footer/src/ui/screens/terminal.ts +0 -121
  155. package/node_modules/pi-footer/src/ui/screens/widget-list.ts +0 -154
  156. package/node_modules/pi-footer/src/ui/terminal-menu.ts +0 -32
  157. package/node_modules/pi-footer/src/ui/theme.ts +0 -48
  158. package/node_modules/pi-footer/src/ui/title-bar.ts +0 -100
  159. package/node_modules/pi-footer/src/ui/widget-actions.ts +0 -76
  160. package/node_modules/pi-footer/src/ui.ts +0 -66
  161. package/node_modules/pi-footer/src/widgets/context.ts +0 -28
  162. package/node_modules/pi-footer/src/widgets/core/active-tools.ts +0 -17
  163. package/node_modules/pi-footer/src/widgets/core/context-window.ts +0 -24
  164. package/node_modules/pi-footer/src/widgets/core/cwd-basename.ts +0 -19
  165. package/node_modules/pi-footer/src/widgets/core/cwd.ts +0 -108
  166. package/node_modules/pi-footer/src/widgets/core/event.ts +0 -34
  167. package/node_modules/pi-footer/src/widgets/core/external-status.ts +0 -102
  168. package/node_modules/pi-footer/src/widgets/core/model-provider.ts +0 -20
  169. package/node_modules/pi-footer/src/widgets/core/model.ts +0 -35
  170. package/node_modules/pi-footer/src/widgets/core/provider.ts +0 -17
  171. package/node_modules/pi-footer/src/widgets/core/session-name.ts +0 -17
  172. package/node_modules/pi-footer/src/widgets/core/text-verbosity.ts +0 -17
  173. package/node_modules/pi-footer/src/widgets/core/thinking-level.ts +0 -17
  174. package/node_modules/pi-footer/src/widgets/git/ahead-behind.ts +0 -17
  175. package/node_modules/pi-footer/src/widgets/git/branch.ts +0 -81
  176. package/node_modules/pi-footer/src/widgets/git/clean.ts +0 -19
  177. package/node_modules/pi-footer/src/widgets/git/deletions.ts +0 -17
  178. package/node_modules/pi-footer/src/widgets/git/diff.ts +0 -38
  179. package/node_modules/pi-footer/src/widgets/git/insertions.ts +0 -17
  180. package/node_modules/pi-footer/src/widgets/git/remote.ts +0 -17
  181. package/node_modules/pi-footer/src/widgets/git/root.ts +0 -17
  182. package/node_modules/pi-footer/src/widgets/git/sha.ts +0 -17
  183. package/node_modules/pi-footer/src/widgets/git/staged.ts +0 -17
  184. package/node_modules/pi-footer/src/widgets/git/status.ts +0 -19
  185. package/node_modules/pi-footer/src/widgets/git/unstaged.ts +0 -17
  186. package/node_modules/pi-footer/src/widgets/git/untracked.ts +0 -17
  187. package/node_modules/pi-footer/src/widgets/instance.ts +0 -118
  188. package/node_modules/pi-footer/src/widgets/layout/custom-text.ts +0 -18
  189. package/node_modules/pi-footer/src/widgets/layout/flex-separator.ts +0 -32
  190. package/node_modules/pi-footer/src/widgets/layout/separator.ts +0 -57
  191. package/node_modules/pi-footer/src/widgets/layout/spacer.ts +0 -31
  192. package/node_modules/pi-footer/src/widgets/options.ts +0 -122
  193. package/node_modules/pi-footer/src/widgets/project/runtime.ts +0 -361
  194. package/node_modules/pi-footer/src/widgets/registry.ts +0 -223
  195. package/node_modules/pi-footer/src/widgets/session/assistant-messages.ts +0 -17
  196. package/node_modules/pi-footer/src/widgets/session/compactions.ts +0 -17
  197. package/node_modules/pi-footer/src/widgets/session/elapsed.ts +0 -18
  198. package/node_modules/pi-footer/src/widgets/session/last-activity.ts +0 -18
  199. package/node_modules/pi-footer/src/widgets/session/messages.ts +0 -19
  200. package/node_modules/pi-footer/src/widgets/session/session-id.ts +0 -17
  201. package/node_modules/pi-footer/src/widgets/session/session-start.ts +0 -18
  202. package/node_modules/pi-footer/src/widgets/session/tool-results.ts +0 -17
  203. package/node_modules/pi-footer/src/widgets/session/total-messages.ts +0 -19
  204. package/node_modules/pi-footer/src/widgets/session/total-time.ts +0 -18
  205. package/node_modules/pi-footer/src/widgets/session/user-messages.ts +0 -17
  206. package/node_modules/pi-footer/src/widgets/store.ts +0 -26
  207. package/node_modules/pi-footer/src/widgets/tokens/cache-hit-rate.ts +0 -55
  208. package/node_modules/pi-footer/src/widgets/tokens/cache-read.ts +0 -18
  209. package/node_modules/pi-footer/src/widgets/tokens/cache-write.ts +0 -18
  210. package/node_modules/pi-footer/src/widgets/tokens/context-bar.ts +0 -108
  211. package/node_modules/pi-footer/src/widgets/tokens/context-length.ts +0 -26
  212. package/node_modules/pi-footer/src/widgets/tokens/context-remaining.ts +0 -29
  213. package/node_modules/pi-footer/src/widgets/tokens/context.ts +0 -29
  214. package/node_modules/pi-footer/src/widgets/tokens/cost.ts +0 -51
  215. package/node_modules/pi-footer/src/widgets/tokens/input-speed.ts +0 -25
  216. package/node_modules/pi-footer/src/widgets/tokens/input-tokens.ts +0 -18
  217. package/node_modules/pi-footer/src/widgets/tokens/output-speed.ts +0 -25
  218. package/node_modules/pi-footer/src/widgets/tokens/output-tokens.ts +0 -18
  219. package/node_modules/pi-footer/src/widgets/tokens/tokens.ts +0 -20
  220. package/node_modules/pi-footer/src/widgets/tokens/total-speed.ts +0 -25
  221. package/node_modules/pi-footer/src/widgets/tokens/total-tokens.ts +0 -18
  222. package/node_modules/pi-footer/src/widgets/types.ts +0 -181
  223. package/node_modules/pi-footer/src/widgets/utils/colors.ts +0 -11
  224. package/node_modules/pi-footer/src/widgets/utils/context.ts +0 -112
  225. package/node_modules/pi-footer/src/widgets/utils/session.ts +0 -19
  226. package/node_modules/pi-footer/src/widgets/utils/token-format.ts +0 -78
package/README.md CHANGED
@@ -18,29 +18,27 @@ When migrating from `pi-mcp-adapter`, remove any standalone adapter install as w
18
18
 
19
19
  ## Bundled extensions
20
20
 
21
- The package bundles 6 active `@herbertgao/*` child packages—`pi-bark`, `pi-cc-extensions`, `resume-from`, `pi-subagents`, `sol-pi`, and the maintained Antigravity provider mirror—plus the following upstream packages under their original names:
22
-
23
- - `pi-antigravity@0.7.2`
24
- - `@dietrichgebert/ponytail@4.9.0`
25
- - `@juicesharp/rpiv-ask-user-question@2.8.0`
26
- - `@narumitw/pi-btw@0.61.0`
27
-
28
- - `@narumitw/pi-caffeinate@0.49.7`
29
- - `@pi-plugins/fast-mode@0.1.10`
30
- - `@tifan/pi-copy-response@0.2.6`
21
+ The package bundles 5 active `@herbertgao/*` child packages—`pi-bark`, `pi-cc-extensions`, `resume-from`, `pi-subagents`, and `sol-pi`—plus the following upstream packages under their original names:
22
+
23
+ - `pi-antigravity@0.8.1`
24
+ - `@dietrichgebert/ponytail@4.10.0`
25
+ - `@juicesharp/rpiv-ask-user-question@2.11.0`
26
+ - `@narumitw/pi-btw@0.61.1`
27
+ - `@narumitw/pi-caffeinate@0.49.8`
28
+ - `@pi-plugins/fast-mode@0.1.12`
29
+ - `@tifan/pi-copy-response@0.2.7`
31
30
  - `@tifan/pi-handoff@2.2.2`
32
- - `@tifan/pi-inline-skills@1.0.5`
33
- - `@tifan/pi-mermaid-open@0.2.0`
34
- - `@tifan/pi-preferred-thinking@1.0.1`
35
- - `@tifan/pi-recap@0.4.6`
31
+ - `@tifan/pi-inline-skills@1.0.6`
32
+ - `@tifan/pi-mermaid-open@0.2.1`
33
+ - `@tifan/pi-preferred-thinking@1.0.2`
34
+ - `@tifan/pi-recap@0.4.7`
36
35
  - `@tifan/pi-rename@0.6.0`
37
- - `pi-typesafe@0.8.0`
36
+ - `pi-typesafe@0.8.1`
38
37
  - `pi-multi-account@1.23.2`
39
38
  - `pi-next-cue@1.0.7`
40
- - `pi-footer@0.5.1`
41
39
  - `pi-jev-auto-mode@0.5.0`
42
- - `pi-lens@4.2.1`
43
- - `pi-web-access@0.27.0`
40
+ - `pi-lens@4.3.0`
41
+ - `pi-web-access@0.34.0`
44
42
  - `remote-pi@0.7.0`
45
43
 
46
44
  Pi loads their extensions and skills through `node_modules/` paths inside one package root. The upstream companions are pinned and bundled, not forked or renamed.
@@ -49,11 +47,11 @@ Pi loads their extensions and skills through `node_modules/` paths inside one pa
49
47
 
50
48
  `@herbertgao/pi-bark` sends localized Bark pushes when a user-facing Pi run fully settles or `@juicesharp/rpiv-ask-user-question` needs an answer. Notifications include emoji-labeled machine/path metadata and support the bundled official Pi badge through Bark's `icon` parameter. Configure it in `$PI_CODING_AGENT_DIR/bark.json` (normally `~/.pi/agent/bark.json`); see the [package README](../pi-bark/README.md). Without a valid endpoint it stays inactive.
51
49
 
52
- `@narumitw/pi-caffeinate@0.49.7` uses the host platform's sleep inhibitor during each Pi agent run. On macOS, `/caffeinate sleep` keeps the system awake while allowing the display to sleep; `/caffeinate display` also keeps the display awake. It releases the inhibitor when the run or session ends.
50
+ `@narumitw/pi-caffeinate@0.49.8` uses the host platform's sleep inhibitor during each Pi agent run. On macOS, `/caffeinate sleep` keeps the system awake while allowing the display to sleep; `/caffeinate display` also keeps the display awake. It releases the inhibitor when the run or session ends.
53
51
 
54
- `pi-jev-auto-mode@0.5.0` adds fail-closed Jev safety gates for shell commands and file changes. `pi-typesafe@0.8.0` adds the `/typesafe` command and `typesafe_evaluate` tool for explicit structured decisions; both use the TypeSafe API after login.
52
+ `pi-jev-auto-mode@0.5.0` adds fail-closed Jev safety gates for shell commands and file changes. `pi-typesafe@0.8.1` adds the `/typesafe` command and `typesafe_evaluate` tool for explicit structured decisions; both use the TypeSafe API after login.
55
53
 
56
- `@herbertgao/resume-from@0.2.0` keeps Claude Code sessions associated with their original repository when the active transcript later moves into a nested cwd. `@herbertgao/sol-pi@0.1.0` adds opt-in Action Fusion, ObservationPack, Evidence-Preserving Reducer, and Online Context Compact; see its [configuration guide](../sol-pi/docs/configuration.md). `pi-lens@4.2.1` expands language routing and bounds retained diagnostic facts across multi-root sessions. `pi-web-access@0.27.0` adds configurable fetch deadlines and answer models plus isolated GitHub clone runtimes. Preferred Thinking 1.0.1 preserves an explicit subagent `--thinking` choice. Deprecated `@tifan/pi-titlebar-spinner` is no longer bundled; Rename remains the single owner of Herdr tab naming.
54
+ `@herbertgao/resume-from@0.2.0` keeps Claude Code sessions associated with their original repository when the active transcript later moves into a nested cwd. `@herbertgao/sol-pi@0.1.0` adds opt-in Action Fusion, ObservationPack, Evidence-Preserving Reducer, and Online Context Compact; see its [configuration guide](../sol-pi/docs/configuration.md). `pi-lens@4.3.0` expands language routing and bounds retained diagnostic facts across multi-root sessions. `pi-web-access@0.34.0` provides configurable web search and fetch tools; its `toolActivation` defaults to `auto`, choosing eager or dynamic tool activation per model. `pi-antigravity@0.8.1` reads Pi 0.86+ transcript system messages, so Antigravity requests carry Pi's system prompt and tools; it also registers `google_search` and `generate_image` tools that use the signed-in Antigravity account. Preferred Thinking 1.0.2 preserves an explicit subagent `--thinking` choice. Deprecated `@tifan/pi-titlebar-spinner` is no longer bundled; Rename remains the single owner of Herdr tab naming.
57
55
 
58
56
  `pi-stash` is no longer bundled: `/btw` already preserves the main editor draft while handling side questions outside the main conversation. Prior `@herbertgao/pi-stash` releases remain available but are no longer maintained here.
59
57
 
@@ -61,15 +59,9 @@ Pi loads their extensions and skills through `node_modules/` paths inside one pa
61
59
 
62
60
  `pi-next-cue@1.0.7` predicts a short next prompt after each completed agent turn. In the empty editor, `Tab` fills the suggestion and `Enter` sends it. Each settled turn can make one extra model request using recent conversation text, recent tool names/results, and the configured active or explicitly selected model. It is TUI-only and wraps the prompt editor, so do not enable another custom-editor extension that also owns the editor slot.
63
61
 
64
- If `pi-footer` was installed separately before upgrading to an aggregate release that includes it, remove the standalone source shown by `pi list` so only the bundled copy loads. For the pinned standalone install used while preparing this integration:
65
-
66
- ```bash
67
- pi remove npm:pi-footer@0.5.1
68
- ```
69
-
70
62
  ### Footer
71
63
 
72
- `pi-footer` is enabled by the aggregate. It preserves the native path, Git branch, session, token/context, model, and thinking information. Configure it in `$PI_CODING_AGENT_DIR/extensions/pi-footer.json`; use `/footer` for interactive changes. Only one footer-replacement extension should be enabled at a time.
64
+ The configurable status bar is provided by `@herbertgao/pi-cc-extensions` and enabled by default (`/ccstyle` → Footer page: chips, lines, ordering, plain-text icons). `pi-footer` is no longer bundled. If `pi-footer` was installed separately, remove it so only one footer extension owns the status bar; a leftover `$PI_CODING_AGENT_DIR/extensions/pi-footer.json` can be deleted.
73
65
 
74
66
  For the intended compact status text, merge the optional pi-lens widget setting into its existing file rather than replacing the file:
75
67
 
@@ -86,7 +86,7 @@ THE SOFTWARE.
86
86
 
87
87
  ## `pi-antigravity`
88
88
 
89
- The aggregate bundles the MIT-licensed [`pi-antigravity`](https://github.com/Rahularya01/pi-antigravity) package version 0.7.2 under its original attribution:
89
+ The aggregate bundles the MIT-licensed [`pi-antigravity`](https://github.com/Rahularya01/pi-antigravity) package version 0.8.1 under its original attribution:
90
90
 
91
91
  MIT License
92
92
 
@@ -1,109 +1,126 @@
1
- <p align="center">
2
- <img src="./assets/readme/hero.en.svg" width="100%" alt="pi-cc-extensions: a productivity extension suite for Pi">
3
- </p>
4
-
5
- <p align="center">
6
- <a href="https://pi.dev/packages?name=%40herbertgao%2Fpi-cc-extensions"><img alt="Pi package catalog" src="https://img.shields.io/badge/Pi-package-58B7FF?style=flat-square"></a>
7
- <a href="https://www.npmjs.com/package/@herbertgao/pi-cc-extensions"><img alt="npm version" src="https://img.shields.io/npm/v/%40herbertgao%2Fpi-cc-extensions?style=flat-square&color=66E3C4"></a>
8
- <a href="#compatibility"><img alt="Node.js 24 or newer" src="https://img.shields.io/badge/Node.js-%E2%89%A524-66E3C4?style=flat-square"></a>
9
- <a href="./extensions"><img alt="TypeScript extensions" src="https://img.shields.io/badge/TypeScript-extensions-3178C6?style=flat-square"></a>
10
- </p>
11
-
12
- <p align="center">
13
- Claude Code-style TUI output with some personal touches and handy utilities.
14
- </p>
15
-
16
1
  <p align="center">
17
2
  <a href="./README.md">简体中文</a> · <strong>English</strong>
18
3
  </p>
19
4
 
20
- ---
5
+ # pi-cc-extensions
6
+
7
+ > Claude Code-style TUI output with some personal touches and handy utilities.
21
8
 
22
9
  ## Preview
23
10
 
24
- <table>
25
- <img width="100%" alt="demo_new" src="https://github.com/user-attachments/assets/d4f9bb51-a49a-4a34-aa60-006514d37b09" />
26
- </table>
11
+ <a href="https://github.com/user-attachments/assets/6c858000-fdad-43f9-957f-4d0278648498"><img src="./assets/readme/preview.webp" alt="pi-cc-extensions UI preview" width="100%"></a>
12
+
13
+ Click the cover to play the demo video
27
14
 
28
15
  ## Quick start
29
16
 
30
17
  ```bash
31
18
  pi install npm:@herbertgao/pi-cc-extensions
19
+
20
+ # GitHub (this monorepo)
21
+ pi install git:github.com/HerbertGao/pi-extensions
32
22
  ```
33
23
 
34
24
  Run `/reload` after installation.
35
25
 
36
26
  ## Features
37
27
 
38
- | Feature | Description | Entry point |
39
- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
40
- | Claude Code Output | Tool summaries, expand/collapse, rich edit/write diffs, and `on` / `compact` / `off` modes | `/ccstyle` |
41
- | Fullscreen mode | Tool card/group click-to-toggle, previews, hover highlight, and a back-to-bottom button | `TUIMODE=fullscreen` or `--tui-mode fullscreen` |
42
- | Settings panel | `Style / Diff / Thinking / UI / Feature` tabs with startup, wheel, and optional feature toggles | `/ccstyle` |
43
- | Context inspection | Usage breakdown and previews for the system prompt, memory, tools, tool results, skills, and messages | `/context` |
44
- | Session/Subagent references | Search and inject effective context from previous Sessions or existing SubAgents | `@` |
45
- | Theme | Bundled CC Dark and CC Light themes | `/theme` |
28
+ | Feature | Description | Entry point |
29
+ | --------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------- |
30
+ | Claude Code UI | Tool summaries, expand/collapse, rich edit/write diffs, and `on` / `compact` / `off` modes | `/ccstyle` |
31
+ | Markdown enhancements | Mermaid diagrams, admonitions, URL linking, and more | Automatic |
32
+ | Fullscreen mode | Tool card/group expand and collapse on click, previews, hover highlight, and a back-to-bottom button | `TUIMODE=fullscreen` or `--tui-mode fullscreen` |
33
+ | Settings panel | `Style / Features / UI / Diff / Thinking / Footer` tabs | `/ccstyle` |
34
+ | Context inspection | Usage breakdown and previews for the system prompt, memory, skills, tools definition, and messages | `/context` |
35
+ | Session/Subagent references | Search and inject effective context from previous Sessions or existing SubAgents | `@` |
36
+ | Status bar | Shows model, context, cache, cost, and git; also works with `@narumitw/pi-usage` for live quota. Git/cache Nerd Font icons can be turned off | `/ccstyle` |
37
+ | Theme | Bundled CC Dark and CC Light themes | `/theme` |
38
+
39
+ Renderer snapshots for `on` / `compact` modes: [default](./docs/tool-render-examples-default.md) · [compact](./docs/tool-render-examples-compact.md)
46
40
 
47
41
  ## Configuration
48
42
 
49
- `/ccstyle` behavior is configured through `~/.pi/agent/claude-code-style.json`:
43
+ `/ccstyle` behavior is configured through `~/.pi/agent/pi-cc-extensions.json`:
50
44
 
51
- ```js
45
+ ```jsonc
52
46
  {
53
- "mode": "on", // on: Claude Code style; compact: one-line summaries; off: Pi native rendering
54
- "excludeRenderers": [], // exact tool names that keep their native renderer; Agent always keeps its dedicated renderer
55
- "diffViewMode": "auto", // diff layout: auto / split / unified
56
- "diffIndicatorMode": "bars", // diff change indicators: bars / classic / none
57
- "diffSplitMinWidth": 120, // min terminal width before auto layout uses side-by-side columns
58
- "editDiffCollapsedLines": 24, // diff body lines shown when collapsed; beyond that shows the expand hint (Ctrl+O / click)
59
- "diffWordWrap": true, // whether long diff lines wrap (otherwise truncated)
60
- "expandedPreviewMaxLines": 40, // max body lines for expanded output/diff
61
- "useSummaryTitlesAsThinkingTitle": true, // use the latest provider summary as the active thinking title
62
- "previewLines": 3, // thinking preview lines; 0 hides the preview body
63
- "animationIntervalMs": 90, // thinking title animation interval in ms
64
- "dimThinkingText": false, // dim thinking body text
65
- "showStartupHeader": true, // custom startup header (logo + tips) toggle
66
- "scrollStepLines": 3, // fullscreen mouse wheel scroll lines
47
+ // style
48
+ "mode": "on", // on / compact / off
49
+ "excludeRenderers": [], // tools keeping the native renderer; Agent always keeps its dedicated renderer
50
+
51
+ // features
67
52
  "enableSessionReference": true, // @ session references
68
- "enableSubagentAutocomplete": true, // @ subagent autocomplete
69
- "enableContextCommand": true, // /context inspection
53
+ "enableSubagentAutocomplete": true, // @subagent:[name] completion and delegation hints
54
+ "enableContextCommand": true, // /context usage check
70
55
  "enableAgentSummary": true, // per-turn tool summary
71
- "enableWorkingMessage": true, // Working... token/time details
72
- "enableAliases": true // /clear and /exit aliases
56
+ "enableWorkingMessage": true, // Working... bottom token/elapsed
57
+ "enableAliases": true, // /clear, /exit aliases
58
+
59
+ // ui
60
+ "expandedInputMaxLines": 5, // expanded tool Input lines; overflow shows a footer hint
61
+ "expandedOutputMaxLines": 10, // expanded tool Output lines; overflow shows a footer hint
62
+ "expandedPreviewMaxLines": 40, // max lines for expanded TaskList bodies (expanded diffs always show all)
63
+ "inputClip": 0, // tool summary path/command clip length; 0 = fit width
64
+ "showStartupHeader": true, // startup header (logo + tips) toggle
65
+ "scrollStepLines": 3, // fullscreen wheel scroll step
66
+
67
+ // diff
68
+ "diffViewMode": "auto", // layout: auto / split / unified
69
+ "diffIndicatorMode": "bars", // change indicators: bars / classic / none
70
+ "diffSplitMinWidth": 120, // min terminal width for side-by-side columns
71
+ "editDiffCollapsedLines": 24, // Edit collapse lines; beyond that shows the expand hint
72
+ "writeDiffCollapsedLines": 0, // write collapse lines; 0 = creation summary only
73
+ "diffWordWrap": true, // wrap long diff lines
74
+
75
+ // thinking
76
+ "useSummaryTitlesAsThinkingTitle": true, // use latest summary as thinking title
77
+ "previewLines": 3, // preview lines; 0 hides
78
+ "animationIntervalMs": 90, // title animation interval (ms)
79
+ "dimThinkingText": false, // dim thinking body text
80
+
81
+ // footer
82
+ "enableCustomFooter": true, // custom status bar
83
+ "footerNerdIcons": true, // Nerd Font glyphs for git/cache; false = plain text
84
+ "footerHiddenKeys": [], // hidden plugin chip keys
85
+ "footerLine1Keys": ["pi-usage"], // line1 plugin chip order; pi-usage is shown by default, data from @narumitw/pi-usage
86
+ "footerLine2Keys": [], // line2 plugin chip order (after cwd/git)
87
+ "footerLine3Keys": [] // line3 overflow slot; painted only when a chip is visible
73
88
  }
74
89
  ```
75
90
 
76
- > **Tip**: set Mermaid diagrams to `final` in `/settings` to avoid redrawing streaming content frame by frame.
91
+ > [!TIP]
92
+ > **Fullscreen**: click `click to show more` to expand tool cards, thinking, Skill, and compact summaries. An expanded diff always shows every line; when expanded Input/Output exceeds the line cap, the footer `… +N more lines • click to show more` opens a full preview. Click to collapse (dragging inside the card selects text).
93
+
94
+ > [!NOTE]
95
+ > **Mermaid rendering**: set `markdown.mermaid` to `final` via `~/.pi/agent/settings.json` or the Mermaid diagrams option in `/settings`. Default `streaming` redraws per frame; `final` renders once at completion.
77
96
 
78
97
  ## Local development
79
98
 
80
99
  ```bash
81
- bun run test
82
- bun run typecheck
100
+ npm test
101
+ npm run typecheck
83
102
  ./test.bat # or pi -e .
84
103
  ```
85
104
 
86
105
  ## Compatibility
87
106
 
88
- - Node.js `>=24`, Pi `^0.84.0 || ^0.85.0` (loaded through `pi.extensions` and `pi.themes` in the root `package.json`)
89
-
90
- ## Built-in capabilities
91
-
92
- Pi 0.99+ provides native MCP tools and `/mcp` management; do not install another MCP extension that registers `/mcp`.
107
+ - Node.js `>=22.19.0`, Pi `^0.84.0`
93
108
 
94
109
  ## Recommended companions
95
110
 
96
111
  | Extension | Purpose |
97
- | ------------------------------------------ | -------------------------------------------------------------- |
112
+ | ---------------------------------------- | ------------------------------------------------------------ |
98
113
  | `npm:@tintinweb/pi-subagents` | Parallel SubAgents, background tasks, and worktree isolation |
99
114
  | `npm:@tintinweb/pi-tasks` | Claude Code-style task tracking and coordination |
115
+ | `npm:pi-mcp-adapter` | On-demand MCP tool discovery with lower context usage |
100
116
  | `npm:@ff-labs/pi-fff` | FFF-powered fuzzy file and content search (fffind / ffgrep) |
101
117
  | `npm:pi-web-access` | Web search, URL fetching, GitHub cloning, PDF/video parsing |
102
- | `npm:pi-theme-picker` | Theme search and live preview |
103
118
  | `npm:@narumitw/pi-usage` | Current-account usage for Codex / Copilot / OpenRouter |
104
- | `git:github.com/DietrichGebert/ponytail` | Lazy-mode coding: forces the simplest working solution |
105
119
 
106
120
  ## Credits
107
121
 
108
- - Derived from [`minuque/pi-cc-extensions` v0.8.68](https://github.com/minuque/pi-cc-extensions/releases/tag/v0.8.68) (`1ca144c`) under the MIT license.
109
122
  - Rich diffs are adapted from [`MasuRii/pi-tool-display`](https://github.com/MasuRii/pi-tool-display) (MIT). See [`extensions/renderer/tool/diff/ATTRIBUTION.md`](./extensions/renderer/tool/diff/ATTRIBUTION.md).
123
+
124
+ ## License
125
+
126
+ [MIT](./LICENSE) © 2026 minuque; derivative maintained in [HerbertGao/pi-extensions](https://github.com/HerbertGao/pi-extensions/tree/master/packages/pi-cc-extensions)
@@ -1,109 +1,126 @@
1
- <p align="center">
2
- <img src="./assets/readme/hero.svg" width="100%" alt="pi-cc-extensions:Pi 终端效率扩展套件">
3
- </p>
4
-
5
- <p align="center">
6
- <a href="https://pi.dev/packages?name=%40herbertgao%2Fpi-cc-extensions"><img alt="Pi package catalog" src="https://img.shields.io/badge/Pi-package-58B7FF?style=flat-square"></a>
7
- <a href="https://www.npmjs.com/package/@herbertgao/pi-cc-extensions"><img alt="npm version" src="https://img.shields.io/npm/v/%40herbertgao%2Fpi-cc-extensions?style=flat-square&color=66E3C4"></a>
8
- <a href="#兼容性"><img alt="Node.js 24 or newer" src="https://img.shields.io/badge/Node.js-%E2%89%A524-66E3C4?style=flat-square"></a>
9
- <a href="./extensions"><img alt="TypeScript extensions" src="https://img.shields.io/badge/TypeScript-extensions-3178C6?style=flat-square"></a>
10
- </p>
11
-
12
- <p align="center">
13
- 类 Claude Code TUI 输出风格,并融入了一些个人喜好,和一些实用小功能。
14
- </p>
15
-
16
1
  <p align="center">
17
2
  <strong>简体中文</strong> · <a href="./README.en.md">English</a>
18
3
  </p>
19
4
 
20
- ---
5
+ # pi-cc-extensions
6
+
7
+ > 类 Claude Code TUI 输出风格,并融入了一些个人喜好,和一些实用小功能。
21
8
 
22
9
  ## 界面预览
23
10
 
24
- <table>
25
- <img width="100%" alt="demo_new" src="https://github.com/user-attachments/assets/d4f9bb51-a49a-4a34-aa60-006514d37b09" />
26
- </table>
11
+ <a href="https://github.com/user-attachments/assets/6c858000-fdad-43f9-957f-4d0278648498"><img src="./assets/readme/preview.webp" alt="pi-cc-extensions 界面预览" width="100%"></a>
12
+
13
+ 点击封面播放演示视频
27
14
 
28
15
  ## 快速开始
29
16
 
30
17
  ```bash
31
18
  pi install npm:@herbertgao/pi-cc-extensions
19
+
20
+ # GitHub(本 monorepo)
21
+ pi install git:github.com/HerbertGao/pi-extensions
32
22
  ```
33
23
 
34
24
  安装后执行 `/reload`
35
25
 
36
26
  ## 功能
37
27
 
38
- | 功能 | 说明 | 入口 |
39
- | ---------------------- | ---------------------------------------------------------------------------------------------------------- | ------------- |
40
- | Claude Code UI | 工具摘要、折叠展开、rich edit/write diff,以及 `on` / `compact` / `off` 三种模式 | `/ccstyle` |
41
- | Fullscreen mode | 工具卡/group 点击展开与收起、预览、hover 高亮、回到底部按钮 | `TUIMODE=fullscreen` 或 `--tui-mode fullscreen` |
42
- | 配置面板 | `Style / Diff / Thinking / UI / Feature` 五页签,含启动头、滚轮步进及可选功能开关 | `/ccstyle` |
43
- | 上下文检查 | 查看上下文占用,并预览 System prompt、Memory、Tools、Tool results、Skills 和消息内容 | `/context` |
44
- | Session/Subagent 引用 | 搜索并注入历史 Session 或现有 SubAgent 的有效上下文 | `@` |
45
- | 主题 | 随包提供内置 CC Dark、CC Light 主题 | `/theme` |
28
+ | 功能 | 说明 | 入口 |
29
+ | --------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------- |
30
+ | Claude Code UI | 工具摘要、折叠展开、rich edit/write diff,以及`on` / `compact` / `off` 三种模式 | `/ccstyle` |
31
+ | Markdown 增强 | Mermaid 图、提示框、URL 链接化等 | 自动生效 |
32
+ | Fullscreen mode | 工具卡/group 单击展开与收起、预览、hover 高亮、回到底部按钮 | `TUIMODE=fullscreen` 或 `--tui-mode fullscreen` |
33
+ | 配置面板 | `Style / Features / UI / Diff / Thinking / Footer` 六页签 | `/ccstyle` |
34
+ | 上下文检查 | 查看上下文占用,并预览 System prompt、Memory、Skills、Tools definition 和消息内容 | `/context` |
35
+ | Session/Subagent 引用 | 搜索并注入历史 Session 或现有 SubAgent 的有效上下文 | `@` |
36
+ | 状态栏 | 显示:模型、上下文、缓存、费用、git并适配 @narumitw/pi-usage 实时显示额度;git/缓存图标可关 Nerd Font | `/ccstyle` |
37
+ | 主题 | 随包提供内置 CC Dark、CC Light 主题 | `/theme` |
38
+
39
+ `on` / `compact` 两种模式的渲染样例:[默认模式](./docs/tool-render-examples-default.md) · [紧凑模式](./docs/tool-render-examples-compact.md)
46
40
 
47
41
  ## 配置
48
42
 
49
- `/ccstyle` 的行为由 `~/.pi/agent/claude-code-style.json` 配置:
43
+ `/ccstyle` 的行为由 `~/.pi/agent/pi-cc-extensions.json` 配置:
50
44
 
51
- ```js
45
+ ```jsonc
52
46
  {
53
- "mode": "on", // on:Claude Code 风格;compact:单行摘要;off:Pi 原生渲染
54
- "excludeRenderers": [], // 走原生渲染的工具名列表(精确匹配),Agent 始终保留专用渲染器
55
- "diffViewMode": "auto", // diff 布局:auto / split / unified
56
- "diffIndicatorMode": "bars", // diff 变更指示:bars / classic / none
57
- "diffSplitMinWidth": 120, // 自动布局下使用左右分栏的最小终端宽度
58
- "editDiffCollapsedLines": 24, // 折叠时展示的 diff 行数,超出显示展开提示(Ctrl+O / 点击)
59
- "diffWordWrap": true, // 长 diff 行是否换行(否则截断)
60
- "expandedPreviewMaxLines": 40, // 展开后输出/diff 正文的最大行数
61
- "useSummaryTitlesAsThinkingTitle": true, // 用最新 provider 摘要作为思考标题
62
- "previewLines": 3, // thinking 预览行数,0 隐藏预览正文
63
- "animationIntervalMs": 90, // thinking 标题动画间隔(毫秒)
64
- "dimThinkingText": false, // thinking 正文使用 dim 色
65
- "showStartupHeader": true, // 自定义启动头(logo + tips)开关
66
- "scrollStepLines": 3, // fullscreen 滚轮滚动步进行数
47
+ // style
48
+ "mode": "on", // on / compact / off
49
+ "excludeRenderers": [], // 走原生渲染的工具名;Agent 始终保留专用渲染器
50
+
51
+ // features
67
52
  "enableSessionReference": true, // @ session 引用
68
- "enableSubagentAutocomplete": true, // @ subagent 自动补全
53
+ "enableSubagentAutocomplete": true, // @subagent:[name] 补全与委派提示
69
54
  "enableContextCommand": true, // /context 上下文检查
70
- "enableAgentSummary": true, // 每回合工具统计摘要
71
- "enableWorkingMessage": true, // Working... token/耗时展示
72
- "enableAliases": true // /clear、/exit 别名
55
+ "enableAgentSummary": true, // 每回合工具摘要
56
+ "enableWorkingMessage": true, // Working... 底部 token/耗时
57
+ "enableAliases": true, // /clear、/exit 别名
58
+
59
+ // ui
60
+ "expandedInputMaxLines": 5, // 展开工具卡 Input 可见行数,超出在末行显示展开提示
61
+ "expandedOutputMaxLines": 10, // 展开工具卡 Output 可见行数,超出在末行显示展开提示
62
+ "expandedPreviewMaxLines": 40, // 展开 TaskList 正文最大行数(展开 diff 始终全量)
63
+ "inputClip": 0, // 工具摘要 path/command 折叠字符数;0 = 按可用宽度
64
+ "showStartupHeader": true, // 启动头(logo + tips)开关
65
+ "scrollStepLines": 3, // fullscreen 滚轮步进
66
+
67
+ // diff
68
+ "diffViewMode": "auto", // 布局:auto / split / unified
69
+ "diffIndicatorMode": "bars", // 变更指示:bars / classic / none
70
+ "diffSplitMinWidth": 120, // 左右分栏的最小终端宽度
71
+ "editDiffCollapsedLines": 24, // Edit 折叠行数,超出显示展开提示
72
+ "writeDiffCollapsedLines": 0, // write 折叠行数,0 仅显示创建摘要
73
+ "diffWordWrap": true, // 长 diff 行换行
74
+
75
+ // thinking
76
+ "useSummaryTitlesAsThinkingTitle": true, // 用最新摘要作思考标题
77
+ "previewLines": 3, // 预览行数,0 隐藏
78
+ "animationIntervalMs": 90, // 标题动画间隔(毫秒)
79
+ "dimThinkingText": false, // thinking 正文用 dim 色
80
+
81
+ // footer
82
+ "enableCustomFooter": true, // 自定义状态栏
83
+ "footerNerdIcons": true, // git/缓存用 Nerd Font 图标;false 为纯文本
84
+ "footerHiddenKeys": [], // 隐藏的插件芯片 key
85
+ "footerLine1Keys": ["pi-usage"], // line1 插件芯片顺序;pi-usage 默认显示,数据来自 @narumitw/pi-usage
86
+ "footerLine2Keys": [], // line2 插件芯片顺序(接在 cwd/git 后)
87
+ "footerLine3Keys": [] // line3 备用槽,有可见芯片才占行
73
88
  }
74
89
  ```
75
90
 
76
- > **建议**:在 `/settings` 中将 Mermaid diagrams 设为 `final`,避免流式内容逐帧重绘。
91
+ > [!TIP]
92
+ > **全屏模式**:单击 `click to show more` 展开工具卡、思考、Skill 和 compact 摘要;工具卡展开态 diff 全量显示,Input/Output 超行时末行 `… +N more lines • click to show more` 打开全量预览,单击收起(卡内拖动为选中文本)。
93
+
94
+ > [!NOTE]
95
+ > **Mermaid 渲染**:建议把 `markdown.mermaid` 设为 `final`(`~/.pi/agent/settings.json` 或 `/settings` 面板的 Mermaid diagrams 选项)。默认 `streaming` 逐帧重绘,`final` 渲染最终版更稳定。
77
96
 
78
97
  ## 本地开发
79
98
 
80
99
  ```bash
81
- bun run test
82
- bun run typecheck
100
+ npm test
101
+ npm run typecheck
83
102
  ./test.bat # or pi -e .
84
103
  ```
85
104
 
86
105
  ## 兼容性
87
106
 
88
- - Node.js `>=24`,Pi `^0.84.0 || ^0.85.0`(通过根目录 `package.json` 的 `pi.extensions` 和 `pi.themes` 加载)
89
-
90
- ## 内置能力
91
-
92
- Pi 0.99+ 的内置 MCP 负责 MCP 工具与 `/mcp` 管理;不要再安装会注册 `/mcp` 的第三方 MCP 扩展。
107
+ - Node.js `>=22.19.0`,Pi `^0.84.0`
93
108
 
94
109
  ## 推荐搭配
95
110
 
96
111
  | 扩展 | 用途 |
97
- | ------------------------------------------ | -------------------------------------------------- |
112
+ | ---------------------------------------- | ------------------------------------------------ |
98
113
  | `npm:@tintinweb/pi-subagents` | 并行 SubAgent、后台任务与工作树隔离 |
99
114
  | `npm:@tintinweb/pi-tasks` | Claude Code 风格任务跟踪与协调 |
115
+ | `npm:pi-mcp-adapter` | 按需发现 MCP 工具,减少上下文占用 |
100
116
  | `npm:@ff-labs/pi-fff` | 模糊文件与内容检索(fffind / ffgrep) |
101
117
  | `npm:pi-web-access` | 网页搜索、URL 抓取、GitHub 克隆、PDF/视频解析 |
102
- | `npm:pi-theme-picker` | 主题搜索和实时预览 |
103
118
  | `npm:@narumitw/pi-usage` | 查看当前账号用量(Codex / Copilot / OpenRouter) |
104
- | `git:github.com/DietrichGebert/ponytail` | 极简编码:强制最懒但有效的方案 |
105
119
 
106
120
  ## 致谢
107
121
 
108
- - 基于 MIT 许可的 [`minuque/pi-cc-extensions` v0.8.68](https://github.com/minuque/pi-cc-extensions/releases/tag/v0.8.68)(`1ca144c`)衍生维护。
109
122
  - Rich diff 改编自 [`MasuRii/pi-tool-display`](https://github.com/MasuRii/pi-tool-display)(MIT);详见 [`extensions/renderer/tool/diff/ATTRIBUTION.md`](./extensions/renderer/tool/diff/ATTRIBUTION.md)。
123
+
124
+ ## 许可证
125
+
126
+ [MIT](./LICENSE) © 2026 minuque;衍生维护:[HerbertGao/pi-extensions](https://github.com/HerbertGao/pi-extensions/tree/master/packages/pi-cc-extensions)