@gavin-hu/my-pi-agent 0.11.4 → 0.13.0

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 (197) hide show
  1. package/README.md +38 -26
  2. package/README.zh-CN.md +33 -23
  3. package/extensions/bytefly/README.md +381 -225
  4. package/extensions/bytefly/chrome.ts +7 -2
  5. package/extensions/bytefly/doctor/register.ts +6 -0
  6. package/extensions/bytefly/doctor/runtime.ts +52 -6
  7. package/extensions/bytefly/doctor/tools.ts +1 -3
  8. package/extensions/bytefly/footer/collect/snapshot.ts +12 -2
  9. package/extensions/bytefly/footer/config.ts +7 -1
  10. package/extensions/bytefly/footer/delegation.ts +100 -0
  11. package/extensions/bytefly/footer/price/config.ts +54 -15
  12. package/extensions/bytefly/footer/price/price.ts +20 -7
  13. package/extensions/bytefly/footer/price/types.ts +13 -7
  14. package/extensions/bytefly/footer/register.ts +13 -2
  15. package/extensions/bytefly/footer/render/format.ts +3 -2
  16. package/extensions/bytefly/footer/render/lines.ts +2 -0
  17. package/extensions/bytefly/footer/render/segments.ts +30 -2
  18. package/extensions/bytefly/footer/types.ts +12 -0
  19. package/extensions/bytefly/header/component.ts +21 -6
  20. package/extensions/bytefly/header/config.ts +3 -0
  21. package/extensions/bytefly/header/register.ts +34 -3
  22. package/extensions/bytefly/index.ts +15 -4
  23. package/extensions/bytefly/notify/config.ts +2 -0
  24. package/extensions/bytefly/notify/format.ts +19 -1
  25. package/extensions/bytefly/notify/register.ts +37 -13
  26. package/extensions/bytefly/notify/types.ts +2 -0
  27. package/extensions/bytefly/panel/commands.ts +34 -13
  28. package/extensions/bytefly/panel/settings-runtime.ts +71 -28
  29. package/extensions/bytefly/panel/settings.ts +293 -48
  30. package/extensions/bytefly/panel/tui/entries.ts +58 -0
  31. package/extensions/bytefly/panel/tui/extensions-view.ts +86 -0
  32. package/extensions/bytefly/panel/tui/frame.ts +71 -0
  33. package/extensions/bytefly/panel/tui/nav.ts +75 -0
  34. package/extensions/bytefly/panel/tui/settings-view.ts +115 -0
  35. package/extensions/bytefly/panel/tui.ts +205 -319
  36. package/extensions/bytefly/picker/runtime.ts +61 -2
  37. package/extensions/bytefly/picker/toggle.ts +56 -0
  38. package/extensions/bytefly/update/cache.ts +73 -0
  39. package/extensions/bytefly/update/check.ts +59 -0
  40. package/extensions/bytefly/update/format.ts +87 -0
  41. package/extensions/bytefly/update/register.ts +158 -0
  42. package/extensions/bytefly/update/state.ts +40 -0
  43. package/extensions/bytefly/update/version.ts +83 -0
  44. package/extensions/document/README.md +24 -14
  45. package/extensions/document/config.ts +4 -0
  46. package/extensions/document/deadline.ts +61 -0
  47. package/extensions/document/tool.ts +14 -5
  48. package/extensions/file-browse/README.md +12 -8
  49. package/extensions/file-browse/client.ts +6 -7
  50. package/extensions/file-browse/files.ts +0 -4
  51. package/extensions/file-browse/git.ts +9 -10
  52. package/extensions/file-browse/html.ts +17 -7
  53. package/extensions/file-browse/router.ts +24 -15
  54. package/extensions/file-open/README.md +30 -15
  55. package/extensions/file-open/index.ts +4 -3
  56. package/extensions/file-open/open.ts +52 -21
  57. package/extensions/goal/README.md +45 -13
  58. package/extensions/goal/clarify-prompt.ts +5 -36
  59. package/extensions/goal/clarify.ts +55 -86
  60. package/extensions/goal/commands.ts +41 -35
  61. package/extensions/goal/format.ts +12 -4
  62. package/extensions/goal/schema.ts +6 -2
  63. package/extensions/goal/tools.ts +28 -8
  64. package/extensions/goal/tui.ts +1 -1
  65. package/extensions/goal/types.ts +6 -2
  66. package/extensions/job/README.md +16 -12
  67. package/extensions/job/runtime.ts +23 -6
  68. package/extensions/job/status.ts +4 -2
  69. package/extensions/memory/README.md +56 -14
  70. package/extensions/memory/commands.ts +20 -2
  71. package/extensions/memory/doctor.ts +137 -0
  72. package/extensions/memory/format.ts +24 -7
  73. package/extensions/memory/runtime.ts +49 -0
  74. package/extensions/memory/store.ts +31 -0
  75. package/extensions/memory/tui.ts +136 -12
  76. package/extensions/plan/README.md +83 -36
  77. package/extensions/plan/blocks.ts +1 -35
  78. package/extensions/plan/commands.ts +84 -19
  79. package/extensions/plan/index.ts +35 -11
  80. package/extensions/plan/plan-index.ts +234 -0
  81. package/extensions/plan/plan-text.ts +95 -0
  82. package/extensions/plan/plans.ts +91 -2
  83. package/extensions/plan/policy.ts +4 -3
  84. package/extensions/plan/review.ts +246 -0
  85. package/extensions/plan/runtime.ts +73 -24
  86. package/extensions/plan/steps.ts +60 -39
  87. package/extensions/plan/todos.ts +29 -60
  88. package/extensions/plan/tools.ts +188 -244
  89. package/extensions/plan/tui.ts +18 -31
  90. package/extensions/plan/types.ts +12 -0
  91. package/extensions/plan/web-client.ts +51 -18
  92. package/extensions/plan/web-page.ts +7 -2
  93. package/extensions/plan/web-router.ts +11 -3
  94. package/extensions/plan/web.ts +106 -41
  95. package/extensions/question/README.md +1 -1
  96. package/extensions/question/tools.ts +1 -1
  97. package/extensions/rewind/README.md +28 -8
  98. package/extensions/rewind/commands.ts +1 -1
  99. package/extensions/rewind/format.ts +4 -4
  100. package/extensions/rewind/git.ts +56 -18
  101. package/extensions/rewind/index.ts +3 -5
  102. package/extensions/rewind/path-picker.ts +198 -0
  103. package/extensions/rewind/paths.ts +128 -0
  104. package/extensions/rewind/restore.ts +69 -28
  105. package/extensions/rewind/rewind.ts +80 -3
  106. package/extensions/rewind/runtime.ts +13 -5
  107. package/extensions/rewind/snapshot-run.ts +5 -2
  108. package/extensions/rewind/types.ts +2 -0
  109. package/extensions/subagent/README.md +7 -1
  110. package/extensions/subagent/accounting.ts +34 -0
  111. package/extensions/subagent/index.ts +23 -3
  112. package/extensions/subagent/stream.ts +2 -0
  113. package/extensions/subagent/types.ts +2 -0
  114. package/extensions/todo/README.md +19 -11
  115. package/extensions/todo/index.ts +5 -3
  116. package/extensions/todo/nudge.ts +58 -9
  117. package/extensions/todo/runtime.ts +28 -17
  118. package/extensions/watch/README.md +8 -3
  119. package/extensions/watch/index.ts +19 -0
  120. package/extensions/web-access/README.md +46 -16
  121. package/extensions/web-access/charset.ts +58 -0
  122. package/extensions/web-access/fetch/find.ts +11 -7
  123. package/extensions/web-access/fetch/format.ts +64 -18
  124. package/extensions/web-access/fetch/page.ts +5 -1
  125. package/extensions/web-access/fetch/tool.ts +20 -21
  126. package/extensions/web-access/http.ts +49 -8
  127. package/extensions/web-access/search/facts.ts +38 -0
  128. package/extensions/web-access/search/tool.ts +14 -3
  129. package/extensions/web-access/text.ts +50 -11
  130. package/extensions/wechat/README.md +5 -4
  131. package/extensions/wechat/tools.ts +0 -2
  132. package/extensions/worktree/README.md +74 -15
  133. package/extensions/worktree/config.ts +11 -0
  134. package/extensions/worktree/exit.ts +35 -3
  135. package/extensions/worktree/gaps.ts +74 -0
  136. package/extensions/worktree/guard.ts +50 -4
  137. package/extensions/worktree/handoff.ts +55 -0
  138. package/extensions/worktree/index.ts +12 -2
  139. package/extensions/worktree/runtime.ts +20 -0
  140. package/extensions/worktree/status.ts +15 -2
  141. package/extensions/worktree/tools.ts +3 -2
  142. package/lib/README.md +12 -9
  143. package/lib/config.ts +43 -1
  144. package/lib/env.ts +12 -0
  145. package/lib/events.ts +86 -1
  146. package/lib/goal-state.ts +95 -0
  147. package/lib/requirements.ts +340 -46
  148. package/lib/todo-state.ts +62 -0
  149. package/lib/tui/README.md +91 -0
  150. package/lib/tui/glyphs.ts +2 -0
  151. package/lib/web/layout.ts +12 -2
  152. package/package.json +5 -3
  153. package/themes/bytefly-dark.json +1 -1
  154. package/assets/bytefly.schema.json +0 -785
  155. package/assets/chrome.png +0 -0
  156. package/assets/file-browse.png +0 -0
  157. package/assets/job.png +0 -0
  158. package/assets/plan-review.png +0 -0
  159. package/assets/question.png +0 -0
  160. package/assets/rewind.png +0 -0
  161. package/assets/todo.png +0 -0
  162. package/assets/tool-renderings.png +0 -0
  163. package/assets/tools/ask_user_question-cancelled.png +0 -0
  164. package/assets/tools/ask_user_question.png +0 -0
  165. package/assets/tools/bash.png +0 -0
  166. package/assets/tools/edit.png +0 -0
  167. package/assets/tools/enter_plan_mode.png +0 -0
  168. package/assets/tools/enter_worktree.png +0 -0
  169. package/assets/tools/exit_plan_mode.png +0 -0
  170. package/assets/tools/exit_worktree.png +0 -0
  171. package/assets/tools/find.png +0 -0
  172. package/assets/tools/goal.png +0 -0
  173. package/assets/tools/grep.png +0 -0
  174. package/assets/tools/job.png +0 -0
  175. package/assets/tools/list_worktrees.png +0 -0
  176. package/assets/tools/ls.png +0 -0
  177. package/assets/tools/memory-long-subject.png +0 -0
  178. package/assets/tools/memory.png +0 -0
  179. package/assets/tools/notice.png +0 -0
  180. package/assets/tools/open_path.png +0 -0
  181. package/assets/tools/prune_worktrees.png +0 -0
  182. package/assets/tools/read.png +0 -0
  183. package/assets/tools/read_doc-running.png +0 -0
  184. package/assets/tools/read_doc.png +0 -0
  185. package/assets/tools/run_doctor.png +0 -0
  186. package/assets/tools/send_wechat.png +0 -0
  187. package/assets/tools/set_plan_steps.png +0 -0
  188. package/assets/tools/subagent.png +0 -0
  189. package/assets/tools/todo.png +0 -0
  190. package/assets/tools/turn-rule.png +0 -0
  191. package/assets/tools/user-message.png +0 -0
  192. package/assets/tools/watch.png +0 -0
  193. package/assets/tools/web_fetch-rejected.png +0 -0
  194. package/assets/tools/web_fetch.png +0 -0
  195. package/assets/tools/web_search.png +0 -0
  196. package/assets/tools/write.png +0 -0
  197. package/assets/tools/write_plan.png +0 -0
package/README.md CHANGED
@@ -3,13 +3,13 @@
3
3
  **English** · [简体中文](./README.zh-CN.md)
4
4
 
5
5
  [![CI](https://github.com/gavin-hu/my-pi-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/gavin-hu/my-pi-agent/actions/workflows/ci.yml)
6
+ [![npm](https://img.shields.io/npm/v/%40gavin-hu%2Fmy-pi-agent)](https://www.npmjs.com/package/@gavin-hu/my-pi-agent)
6
7
  [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
7
8
  [![built for Pi](https://img.shields.io/badge/built%20for-Pi-5A4FCF)](https://pi.dev)
8
9
 
9
- Plan before you act, delegate the work, keep the main checkout clean, and carry
10
- context across sessions. `my-pi-agent` is a single [Pi](https://pi.dev) package
11
- that adds sixteen extensions and two themes — install the pack, turn off what
12
- you do not want, and keep using Pi unchanged.
10
+ `my-pi-agent` is a single [Pi](https://pi.dev) package that adds a curated set
11
+ of extensions and themes to the agent you already use — install the pack, turn
12
+ off what you do not want, and keep using Pi unchanged.
13
13
 
14
14
  ![A terminal window running the Pi TUI with the bytefly header, hint row, context and loaded extensions, a turn separator, and the status bar](assets/chrome.png)
15
15
 
@@ -20,7 +20,6 @@ you do not want, and keep using Pi unchanged.
20
20
  - [What you get](#what-you-get)
21
21
  - [Configuration](#configuration)
22
22
  - [Documentation](#documentation)
23
- - [Requirements](#requirements)
24
23
  - [Contributing](#contributing)
25
24
  - [License](#license)
26
25
 
@@ -52,28 +51,40 @@ Requires a working [Pi](https://pi.dev) installation.
52
51
  ```bash
53
52
  pi install npm:@gavin-hu/my-pi-agent # install from npm
54
53
  pi install git:github.com/gavin-hu/my-pi-agent # install from git
55
- pi install git:github.com/gavin-hu/my-pi-agent@v0.8.0 # pin a release
54
+ pi install git:github.com/gavin-hu/my-pi-agent@v0.13.0 # pin a release
56
55
  pi install ./ -l # project-local (.pi/settings.json)
57
56
  pi -e . # try it for one run
58
57
  ```
59
58
 
59
+ `git` on `PATH` is needed by [`worktree`](./extensions/worktree/) and
60
+ [`rewind`](./extensions/rewind/); everything else degrades or disables cleanly,
61
+ and `/bytefly doctor` names what is missing, including optional runtime pieces.
62
+ Windows, macOS, and Linux all work, and the full check suite runs on each in CI.
63
+
60
64
  Then, from inside Pi:
61
65
 
62
66
  - `/bytefly [extension] [refresh]` opens the control center on Extensions, lists
63
- every loaded extension with its runtime health, and enables or disables one.
67
+ every loaded extension with its runtime health, enables or disables one, and
68
+ clears a project override with `x`.
64
69
  - `/bytefly settings` opens the control center's Settings section: bytefly
65
- startup TUI, desktop notifications, the transcript rail glyph, output padding,
66
- and the hardware cursor, with `Space`/`Enter` to change a value and `Tab` for
67
- Global/Project scope.
70
+ startup TUI, desktop notifications and their delivery method, the proactive
71
+ health check, the currency and cost precision, the transcript
72
+ rail glyph, output padding, and the hardware cursor, with `Space`/`Enter` to
73
+ change a value and `Tab` for Global/Project scope.
68
74
  - `/bytefly doctor [extension] [refresh]` prints the doctor report —
69
75
  `run_doctor`'s text — and checks that each enabled extension has what it needs
70
76
  at runtime.
71
77
  - `/settings` → **Theme** selects a theme.
72
78
  - `/plan <task>` starts a task in read-only planning mode.
73
79
 
80
+ One thing the pack does on its own: once per interactive session, `bytefly` asks
81
+ npm for the newest published version and marks the header when yours is older.
82
+ Nothing about the session is sent, and `PI_OFFLINE` skips the request;
83
+ [`docs/security.md`](./docs/security.md) covers the trust boundaries.
84
+
74
85
  ## What you get
75
86
 
76
- Sixteen extensions and two themes, grouped by what you are trying to do. Each
87
+ Sixteen extensions, grouped by what you are trying to do, plus two themes. Each
77
88
  extension's own `README.md` has the full tool and command surface.
78
89
 
79
90
  ### Plan and delegate
@@ -110,8 +121,16 @@ extension's own `README.md` has the full tool and command surface.
110
121
 
111
122
  | Extension | Tools and commands | What it does |
112
123
  |---|---|---|
113
- | [`bytefly`](./extensions/bytefly/) | `/bytefly` (with the `doctor` and `settings` subcommands), `run_doctor` | A themed header and width-adaptive footer, a two-row `You` nameplate on each user message, a rule between completed turns, a shared transcript notice, a tool block that leads with its call line and rails its result body two columns under it (the rail glyph is the `chrome.rail` setting), a live elapsed counter on Pi's working row, the `/bytefly` control center — an Extensions section that lists every extension with its health and enables or disables one, plus a Settings section with five curated preferences (`/bytefly settings`) — `/bytefly doctor` prints the doctor report, and an opt-in `notify` capability that raises OS notifications when a run or a background job finishes or the agent asks for input. DeepSeek is priced out of the box, and `bytefly.json` is the shared config document every extension reads. |
114
- | [`bytefly-dark`](./themes/bytefly-dark.json) / [`bytefly-light`](./themes/bytefly-light.json) | `/settings` → **Theme** | A GitHub-inspired dark palette and its light companion, with optional automatic light/dark switching. |
124
+ | [`bytefly`](./extensions/bytefly/) | `/bytefly` (with the `doctor` and `settings` subcommands), `run_doctor` | The visible layer: a themed header with a width-adaptive footer, a live elapsed counter on Pi's working row, and a transcript where every tool block leads with its call line and rails its result under it. `/bytefly` switches extensions and holds the curated settings; opt-in `notify` raises OS notifications when a run, a job, or a question needs you. `bytefly.json` is the config document every extension reads. |
125
+
126
+ ### Themes
127
+
128
+ [`bytefly-dark`](./themes/bytefly-dark.json) is a GitHub-inspired dark palette
129
+ and [`bytefly-light`](./themes/bytefly-light.json) its light companion, with
130
+ optional automatic light/dark switching. Installing the pack does not change
131
+ your theme: pick one through `/settings` → **Theme**, or set
132
+ `"theme": "bytefly-light/bytefly-dark"` for switching. The screenshots in this
133
+ README use `bytefly-dark`.
115
134
 
116
135
  ### Screens
117
136
 
@@ -144,9 +163,10 @@ one image per tool under [`assets/tools/`](./assets/tools).
144
163
  Most extensions need no configuration. Every setting lives in one shared
145
164
  document, `bytefly.json`, read from `<agent-dir>/bytefly.json` and merged with
146
165
  `<cwd>/.pi/bytefly.json` (project wins), under a top-level section named for the
147
- extension. Each extension's `README.md` lists its keys,
148
- [`docs/configuration.md`](./docs/configuration.md) indexes them, and
149
- [`assets/bytefly.schema.json`](./assets/bytefly.schema.json) validates the file.
166
+ extension. Each extension's `README.md` covers the behaviour around its keys,
167
+ [`docs/configuration.md`](./docs/configuration.md) indexes the sections, and
168
+ [`docs/references/bytefly-config.md`](./docs/references/bytefly-config.md) lists
169
+ every key with its type, default, and bounds.
150
170
 
151
171
  Every extension is on by default. To load the pack without some of them, set
152
172
  `PI_DISABLED_EXTENSIONS` to a comma- or whitespace-separated list of extension
@@ -167,19 +187,11 @@ stops the factories from registering; to drop the whole package, use Pi's
167
187
  | [Getting started](./docs/getting-started.md) | Requirements, install options, verifying the load, themes. |
168
188
  | [Extensions](./docs/extensions.md) | The full catalog of every extension and theme. |
169
189
  | [Configuration](./docs/configuration.md) | Config-file resolution, the per-extension index, environment variables. |
190
+ | [Configuration reference](./docs/references/bytefly-config.md) | Every `bytefly.json` section and key, with its type, default, and bounds. |
170
191
  | [Architecture](./docs/architecture.md) | How the package, its extensions, and `lib/` fit together. |
171
192
  | [Development](./docs/development.md) | Local setup, checks, tests, cross-platform notes, and the release process. |
172
193
  | [Security](./docs/security.md) | Trust boundaries for the loopback and remote surfaces. |
173
-
174
- ## Requirements
175
-
176
- - **Pi** — a working installation; `my-pi-agent` is a package, not a fork.
177
- - **OS** — Windows, macOS, and Linux; the full check suite runs on all three in
178
- CI.
179
- - **git** on `PATH` for the `worktree` and `rewind` extensions; everything else
180
- degrades or disables cleanly, and `/bytefly doctor` tells you what is missing.
181
- - Optional runtime pieces (for example a browser for HTML exports) are reported
182
- per extension by `/bytefly doctor`.
194
+ | [Roadmap](./ROADMAP.md) | Where the pack is going, grouped by the README's promises, with the evidence behind each item. |
183
195
 
184
196
  ## Contributing
185
197
 
package/README.zh-CN.md CHANGED
@@ -3,12 +3,12 @@
3
3
  [English](./README.md) · **简体中文**
4
4
 
5
5
  [![CI](https://github.com/gavin-hu/my-pi-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/gavin-hu/my-pi-agent/actions/workflows/ci.yml)
6
+ [![npm](https://img.shields.io/npm/v/%40gavin-hu%2Fmy-pi-agent)](https://www.npmjs.com/package/@gavin-hu/my-pi-agent)
6
7
  [![license: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)
7
8
  [![built for Pi](https://img.shields.io/badge/built%20for-Pi-5A4FCF)](https://pi.dev)
8
9
 
9
- 先规划,再行动;委派工作,保持主检出区干净,并让上下文跨会话延续。
10
- `my-pi-agent` 是一个 [Pi](https://pi.dev) 包,新增十六个扩展和两个主题 —— 安装
11
- 整个包,关掉你不需要的部分,其余照常使用 Pi。
10
+ `my-pi-agent` 是一个 [Pi](https://pi.dev) 包,在你已经使用的智能体之上新增一组精选
11
+ 扩展和主题 —— 安装整个包,关掉你不需要的部分,其余照常使用 Pi。
12
12
 
13
13
  ![一个运行 Pi TUI 的终端窗口,包含 bytefly 头部、提示行、上下文与已加载扩展、回合分隔线以及状态栏](assets/chrome.png)
14
14
 
@@ -19,7 +19,6 @@
19
19
  - [包含内容](#包含内容)
20
20
  - [配置](#配置)
21
21
  - [文档](#文档)
22
- - [环境要求](#环境要求)
23
22
  - [参与贡献](#参与贡献)
24
23
  - [许可证](#许可证)
25
24
 
@@ -48,27 +47,36 @@ Pi 提供一个精简而锐利的内核。这个包是在其之上的一层,
48
47
  ```bash
49
48
  pi install npm:@gavin-hu/my-pi-agent # 从 npm 安装
50
49
  pi install git:github.com/gavin-hu/my-pi-agent # 从 git 安装
51
- pi install git:github.com/gavin-hu/my-pi-agent@v0.8.0 # 固定到某个版本
50
+ pi install git:github.com/gavin-hu/my-pi-agent@v0.13.0 # 固定到某个版本
52
51
  pi install ./ -l # 仅项目本地(.pi/settings.json)
53
52
  pi -e . # 试运行一次
54
53
  ```
55
54
 
55
+ `git` 需在 `PATH` 上,供 [`worktree`](./extensions/worktree/) 与
56
+ [`rewind`](./extensions/rewind/) 使用;其余部分会优雅降级或禁用,
57
+ `/bytefly doctor` 会指出缺少什么,包括可选的运行时组件。
58
+ Windows、macOS 和 Linux 均可运行,完整检查套件在每个平台上都会执行。
59
+
56
60
  然后在 Pi 中:
57
61
 
58
62
  - `/bytefly [extension] [refresh]` 打开控制中心的 Extensions 区,列出每个已加载扩展
59
- 及其运行时健康状况,并启用或禁用一个扩展。
60
- - `/bytefly settings` 打开控制中心的 Settings 区:bytefly 启动 TUI、桌面通知、
61
- 转录轨道字形、输出内边距和硬件光标;用 `Space`/`Enter` 修改,用 `Tab` 切换
62
- Global/Project 作用域。
63
+ 及其运行时健康状况,启用或禁用一个扩展,并用 `x` 清除项目级覆盖。
64
+ - `/bytefly settings` 打开控制中心的 Settings 区:bytefly 启动 TUI、桌面通知及其
65
+ 投递方式、主动健康检查、货币与费用精度、转录轨道字形、输出内边距和硬件光标;
66
+ 用 `Space`/`Enter` 修改,用 `Tab` 切换 Global/Project 作用域。
63
67
  - `/bytefly doctor [extension] [refresh]` 打印 doctor 报告(`run_doctor` 的文本),
64
68
  检查每个已启用扩展在运行时是否具备所需条件。
65
69
  - `/settings` → **Theme** 选择主题。
66
70
  - `/plan <任务>` 以只读规划模式开始一个任务。
67
71
 
72
+ 还有一件包会自行做的事:每次交互式会话启动时,`bytefly` 向 npm 询问最新发布
73
+ 版本,当你的版本较旧时在头部标出。不会发送任何会话内容,`PI_OFFLINE` 可跳过
74
+ 该请求;信任边界见 [`docs/security.md`](./docs/security.md)。
75
+
68
76
  ## 包含内容
69
77
 
70
- 十六个扩展和两个主题,按你想达成的目标分组。每个扩展自己的 `README.md` 提供完整的
71
- 工具与命令说明。
78
+ 十六个扩展,按你想达成的目标分组,外加两个主题。每个扩展自己的 `README.md`
79
+ 提供完整的工具与命令说明。
72
80
 
73
81
  ### 规划与委派
74
82
 
@@ -104,8 +112,15 @@ pi -e . # 试运行一次
104
112
 
105
113
  | 扩展 | 工具与命令 | 说明 |
106
114
  |---|---|---|
107
- | [`bytefly`](./extensions/bytefly/) | `/bytefly`(`doctor`、`settings` 子命令)、`run_doctor` | 主题化头部与宽度自适应页脚、每条用户消息上方的两行 `You` 铭牌、已完成回合之间的分隔线、共享的转录通知、以调用行为标题并将结果正文挂在轨道下两列的工具块(轨道字形由 `chrome.rail` 设置)、Pi 工作行上的实时用时计数、`/bytefly` 控制中心——Extensions 区列出每个扩展及其健康状况并启用或禁用一个扩展,另有一个 Settings 区,提供五项常用偏好(`/bytefly settings`);`/bytefly doctor` 打印 doctor 报告;以及可选的 `notify` 能力:当一次运行或后台任务结束、或智能体请求输入时发出系统通知。DeepSeek 开箱即定价,`bytefly.json` 是每个扩展都会读取的共享配置文档。 |
108
- | [`bytefly-dark`](./themes/bytefly-dark.json) / [`bytefly-light`](./themes/bytefly-light.json) | `/settings` → **Theme** | GitHub 风格的深色调色板及其浅色搭档,并支持可选的自动浅色/深色切换。 |
115
+ | [`bytefly`](./extensions/bytefly/) | `/bytefly`(`doctor`、`settings` 子命令)、`run_doctor` | 可见的那一层:主题化头部配宽度自适应页脚,Pi 工作行上实时计时,转录中每个工具块以调用行为标题、结果正文挂在其下方。`/bytefly` 可开关扩展并集中存放精选设置;可选的 `notify` 会在一次运行、后台任务或待回答的问题需要你时发出系统通知。`bytefly.json` 是每个扩展都会读取的配置文档。 |
116
+
117
+ ### 主题
118
+
119
+ [`bytefly-dark`](./themes/bytefly-dark.json) 是 GitHub 风格的深色调色板,
120
+ [`bytefly-light`](./themes/bytefly-light.json) 是其浅色搭档,并支持可选的自动
121
+ 浅色/深色切换。安装本包不会改变你的主题:通过 `/settings` → **Theme** 选择,
122
+ 或设置 `"theme": "bytefly-light/bytefly-dark"` 以自动切换。本 README 的截图
123
+ 使用 `bytefly-dark`。
109
124
 
110
125
  ### 截图
111
126
 
@@ -136,9 +151,10 @@ pi -e . # 试运行一次
136
151
 
137
152
  大多数扩展无需配置。所有设置都在一个共享文档 `bytefly.json` 中,从
138
153
  `<agent-dir>/bytefly.json` 读取,并与 `<cwd>/.pi/bytefly.json` 合并(项目优先),
139
- 位于一个以扩展名命名的顶层 section 下。每个扩展的 `README.md` 列出它的键,
154
+ 位于一个以扩展名命名的顶层 section 下。每个扩展的 `README.md` 说明其键位的行为,
140
155
  [`docs/configuration.md`](./docs/configuration.md) 为其建立索引,
141
- [`assets/bytefly.schema.json`](./assets/bytefly.schema.json) 校验该文件。
156
+ [`docs/references/bytefly-config.md`](./docs/references/bytefly-config.md) 逐个列出每个键的
157
+ 类型、默认值和取值范围。
142
158
 
143
159
  每个扩展默认都开启。若要在加载整包时排除其中一些,把 `PI_DISABLED_EXTENSIONS`
144
160
  设为一个以逗号或空白分隔的扩展名列表(即 [`extensions/`](./extensions/) 下的目录
@@ -158,17 +174,11 @@ Pi 的 `--no-extensions`,或从你的设置中删除该包。
158
174
  | [快速开始](./docs/getting-started.md) | 环境要求、安装选项、验证加载、主题。 |
159
175
  | [扩展](./docs/extensions.md) | 所有扩展与主题的完整目录。 |
160
176
  | [配置](./docs/configuration.md) | 配置文件解析、按扩展索引、环境变量。 |
177
+ | [配置参考](./docs/references/bytefly-config.md) | 列出 `bytefly.json` 的每个 section 与键,包括类型、默认值和取值范围。 |
161
178
  | [架构](./docs/architecture.md) | 包、各扩展与 `lib/` 如何协同。 |
162
179
  | [开发](./docs/development.md) | 本地设置、检查、测试、跨平台注意事项与发布流程。 |
163
180
  | [安全](./docs/security.md) | 回环与远程界面的信任边界。 |
164
-
165
- ## 环境要求
166
-
167
- - **Pi** —— 需要一个可用的安装;`my-pi-agent` 是一个包,不是分叉。
168
- - **操作系统** —— Windows、macOS 和 Linux;完整检查套件在三者的 CI 上都会运行。
169
- - **git** 需在 `PATH` 上,供 `worktree` 和 `rewind` 扩展使用;其余部分会优雅降级或
170
- 禁用,`/bytefly doctor` 会告诉你缺什么。
171
- - 可选的运行时组件(例如用于 HTML 导出的浏览器)由 `/bytefly doctor` 按扩展报告。
181
+ | [路线图](./ROADMAP.md) | 包的下一步方向,按 README 的承诺分组,并列出每条事项的依据。 |
172
182
 
173
183
  ## 参与贡献
174
184