@zihanw/pi-forge 0.5.2 → 0.5.3

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 (60) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +22 -21
  3. package/README.zh-CN.md +22 -21
  4. package/dist/agent-profile.js +5 -5
  5. package/dist/agent-profile.js.map +1 -1
  6. package/dist/codecs/agent-profile.js +4 -4
  7. package/dist/codecs/agent-profile.js.map +1 -1
  8. package/dist/codecs/prompt-stack.d.ts +2 -2
  9. package/dist/codecs/prompt-stack.js +20 -20
  10. package/dist/codecs/prompt-stack.js.map +1 -1
  11. package/dist/preset-command.js +13 -13
  12. package/dist/preset-command.js.map +1 -1
  13. package/dist/preview.js +1 -1
  14. package/dist/preview.js.map +1 -1
  15. package/dist/profile-command.js +6 -6
  16. package/dist/profile-command.js.map +1 -1
  17. package/dist/profile-service.js +4 -4
  18. package/dist/profile-service.js.map +1 -1
  19. package/dist/repositories/prompt-stack.js +8 -8
  20. package/dist/repositories/prompt-stack.js.map +1 -1
  21. package/dist/runtime/profile-runtime.js +3 -3
  22. package/dist/runtime/profile-runtime.js.map +1 -1
  23. package/dist/runtime/prompt-stack-runtime.js +1 -1
  24. package/dist/runtime/prompt-stack-runtime.js.map +1 -1
  25. package/dist/runtime/tool-policy-runtime.d.ts.map +1 -1
  26. package/dist/runtime/tool-policy-runtime.js +16 -4
  27. package/dist/runtime/tool-policy-runtime.js.map +1 -1
  28. package/dist/runtime/web-editor-runtime.js +7 -7
  29. package/dist/runtime/web-editor-runtime.js.map +1 -1
  30. package/dist/subagent-host.js +4 -4
  31. package/dist/subagent-host.js.map +1 -1
  32. package/dist/web-editor/client-script.generated.d.ts.map +1 -1
  33. package/dist/web-editor/client-script.generated.js +1 -1
  34. package/dist/web-editor/client-script.generated.js.map +1 -1
  35. package/dist/web-editor/client-styles.generated.d.ts.map +1 -1
  36. package/dist/web-editor/client-styles.generated.js +1 -1
  37. package/dist/web-editor/client-styles.generated.js.map +1 -1
  38. package/dist/web-editor/server.js +4 -4
  39. package/dist/web-editor/server.js.map +1 -1
  40. package/dist/web-editor/styles.d.ts.map +1 -1
  41. package/dist/web-editor/styles.js +26 -1
  42. package/dist/web-editor/styles.js.map +1 -1
  43. package/dist/web-editor/types.d.ts +11 -1
  44. package/dist/web-editor/types.d.ts.map +1 -1
  45. package/dist/web-host.d.ts.map +1 -1
  46. package/dist/web-host.js +30 -14
  47. package/dist/web-host.js.map +1 -1
  48. package/docs/README.md +5 -5
  49. package/docs/concepts/prompt-stacks.md +17 -17
  50. package/docs/development/roadmap.md +4 -2
  51. package/docs/guides/use-cases.md +1 -1
  52. package/docs/guides/web-editor.md +10 -9
  53. package/docs/zh-CN/README.md +4 -4
  54. package/docs/zh-CN/concepts/prompt-stacks.md +11 -11
  55. package/docs/zh-CN/guides/web-editor.md +8 -7
  56. package/examples/custom-system-status-extension/README.md +5 -6
  57. package/examples/custom-system-status-extension/index.ts +11 -6
  58. package/examples/fake-assistant-direct-output-prompt-stack.json +48 -0
  59. package/examples/minimal-prompt-stack.json +7 -3
  60. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"web-host.js","sourceRoot":"","sources":["../src/web-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-host.js","sourceRoot":"","sources":["../src/web-host.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -6,14 +6,14 @@ Use this page as the documentation map. Each subject has one authoritative home;
6
6
 
7
7
  ## Start here
8
8
 
9
- - [Getting started](getting-started.md) — install pi-forge, create a stack, open the editor, and save a profile.
10
- - [Prompt stacks](concepts/prompt-stacks.md) — the prompt-composition and policy model.
11
- - [Agent profiles](concepts/agent-profiles.md) — one-shot model, thinking, and stack presets.
9
+ - [Getting started](getting-started.md) — install pi-forge, create a Preset, open the editor, and save a Profile.
10
+ - [Presets and Stacks](concepts/prompt-stacks.md) — complete Presets and their ordered Block/Slot composition.
11
+ - [Agent profiles](concepts/agent-profiles.md) — one-shot model, thinking, and Preset bundles.
12
12
 
13
13
  ## Guides
14
14
 
15
15
  - [Web editor](guides/web-editor.md)
16
- - [Prompt-stack patterns and examples](guides/use-cases.md)
16
+ - [Preset patterns and examples](guides/use-cases.md)
17
17
  - [Migrating to 0.5](guides/migrating-to-0.5.md)
18
18
  - [Foreground delegation](guides/delegation.md) — experimental; read the security boundary before enabling it.
19
19
  - [Custom macros and slots](guides/custom-macros-and-slots.md)
@@ -22,7 +22,7 @@ Use this page as the documentation map. Each subject has one authoritative home;
22
22
  ## Reference
23
23
 
24
24
  - [Commands](reference/commands.md)
25
- - [Prompt-stack schema and policy](reference/stack-schema.md)
25
+ - [Preset schema and policy](reference/stack-schema.md)
26
26
  - [Macros and runtime slots](reference/macros-and-slots.md)
27
27
  - [Configuration](reference/configuration.md)
28
28
  - [Implemented feature inventory](reference/features.md)
@@ -1,10 +1,10 @@
1
- # Prompt stacks
1
+ # Presets and Stacks
2
2
 
3
3
  [Documentation](../README.md) · [中文](../zh-CN/concepts/prompt-stacks.md)
4
4
 
5
- A prompt stack is an ordered, declarative description of the prompt and policy Pi should use. It combines static **blocks** with dynamic **slots**.
5
+ A **Preset** is the complete declarative resource Pi Forge applies. Its **Stack** is the ordered prompt composition made from static **Blocks** and dynamic **Slots**; the same Preset also carries policy, Regex, parameters, and extension references.
6
6
 
7
- > **Naming note.** Prompt stacks are managed by the `/preset` command family: a stack file bundles composition and policy together, behaving like a complete preset. The names will converge in a future release; this document keeps "prompt stack" for the resource.
7
+ > **0.5.3 compatibility note.** The UI uses Preset → Stack terminology. The file path, JSON type, profile field, API route, and internal type names retain their existing `prompt-stack` / `promptStack` spellings in this patch.
8
8
 
9
9
  ## Blocks and slots
10
10
 
@@ -42,22 +42,22 @@ Slots cover conversation history, tools, tool guidance, skills, project context,
42
42
  For each new user turn, pi-forge:
43
43
 
44
44
  1. Orders enabled blocks and slots exactly as written.
45
- 2. Builds `system` content and applies the stack's `replace`, `append`, or `prepend` mode.
45
+ 2. Builds `system` content and applies the Preset's `replace`, `append`, or `prepend` mode.
46
46
  3. Inserts synthetic user/assistant messages around the movable `chat-history` slot.
47
47
  4. Compiles forge-v1 templates over `runtime.*`, `parameters.*`, and `extensions.*`.
48
- 5. Applies the stack's tool policy to Pi and filters skills rendered by pi-forge.
48
+ 5. Applies the Preset's tool policy to Pi and filters skills rendered by pi-forge.
49
49
  6. Applies outgoing history/compiled regex rules.
50
50
  7. Optionally applies destructive finalize rules when an assistant message completes.
51
51
 
52
52
  The context rewrite happens only on the first provider request for a user-submitted turn. Pi can then continue its normal tool loop without repeatedly rebuilding the same context.
53
53
 
54
- Stacks can optionally merge runs of consecutive same-role stack items into a single message with `context.mergeConsecutiveRoles` (and an optional `context.mergeSeparator`); chat-history output and custom-role items are never merged. See the [stack schema](../reference/stack-schema.md#context-options).
54
+ A Stack can optionally merge runs of consecutive same-role items into a single message with `context.mergeConsecutiveRoles` (and an optional `context.mergeSeparator`); chat-history output and custom-role items are never merged. See the [Preset schema](../reference/stack-schema.md#context-options).
55
55
 
56
56
  ## System modes
57
57
 
58
- - `replace` is the default and gives the stack complete control. An empty replacement falls back to Pi's base prompt.
59
- - `append` adds stack system content after Pi's base prompt.
60
- - `prepend` adds stack system content before Pi's base prompt.
58
+ - `replace` is the default and gives the Preset complete control. An empty replacement falls back to Pi's base prompt.
59
+ - `append` adds the Stack's system content after Pi's base prompt.
60
+ - `prepend` adds the Stack's system content before Pi's base prompt.
61
61
 
62
62
  Use `replace` when the model-visible skill list must be controlled. With `append` or `prepend`, Pi's base prompt may already contain an unfiltered skill listing.
63
63
 
@@ -74,26 +74,26 @@ This preserves prior context while presenting the current request once, in an ex
74
74
 
75
75
  ## Tool and skill policy
76
76
 
77
- Stacks may use either `allow` or `deny` patterns for each resource. Tool policy changes Pi's active tools and is guarded at tool-call time; it remains enforced while the stack is selected. Skill policy only filters skills rendered by pi-forge—it does not prevent explicit skill invocation and is not a security boundary.
77
+ Presets may use either `allow` or `deny` patterns for each resource. Tool policy changes Pi's active tools and is guarded at tool-call time; it remains enforced while the Preset is selected. Skill policy only filters skills rendered by pi-forge—it does not prevent explicit skill invocation and is not a security boundary.
78
78
 
79
- External tool additions are preserved in the baseline restored when a restrictive stack is disabled. See the exact behavior in [stack policy reference](../reference/stack-schema.md#tool-and-skill-policy).
79
+ External tool additions are preserved in the baseline restored when a restrictive Preset is disabled. See the exact behavior in the [Preset policy reference](../reference/stack-schema.md#tool-and-skill-policy).
80
80
 
81
81
  ## Scopes and shadowing
82
82
 
83
- Stacks may live in the user-global `~/.pi/forge/prompt-stacks/` or the project `.pi/forge/prompt-stacks/`. A project stack shadows a same-ID global stack for unqualified commands. Selectors are `reviewer`, `project:reviewer`, or `global:reviewer`. Duplicate IDs are errors only within one scope.
83
+ Presets currently live in the compatibility paths `~/.pi/forge/prompt-stacks/` or `.pi/forge/prompt-stacks/`. A project Preset shadows a same-ID global Preset for unqualified commands. Selectors are `reviewer`, `project:reviewer`, or `global:reviewer`. Duplicate IDs are errors only within one scope.
84
84
 
85
85
  ## Activation and session behavior
86
86
 
87
- - A stack may set `autoActivate: true`; conflicting auto-activation in one scope is invalid and fails closed.
87
+ - A Preset may set `autoActivate: true`; conflicting auto-activation in one scope is invalid and fails closed.
88
88
  - `default.json` has no special filename role anymore; missing `autoActivate` yields a migration warning.
89
89
  - `/preset use none` records an explicit session opt-out.
90
- - Active stack selection follows Pi's session-tree branch.
90
+ - Active Preset selection follows Pi's session-tree branch.
91
91
  - Restored branch state takes precedence over fresh-session auto-activation.
92
- - Project auto-activation candidates take precedence over global ones; an invalid or ambiguous project candidate never falls back to a global stack.
93
- - An auto-activated agent profile takes precedence over standalone stack autoload.
92
+ - Project auto-activation candidates take precedence over global ones; an invalid or ambiguous project candidate never falls back to a global Preset.
93
+ - An auto-activated Agent Profile takes precedence over standalone Preset autoload.
94
94
 
95
95
  ## Extensions and transforms
96
96
 
97
- Immutable `parameters` support forge-v1 interpolation and pure filters; tool/slot conditionals use `runtime.tool.*` / `runtime.slot.*` booleans. Trusted JavaScript/TypeScript registration modules can add macros and slots without putting executable code in stack JSON. Deterministic regex rules can transform model-bound prompt text or, with an explicit warning, replace finalized assistant transcript text.
97
+ Immutable `parameters` support forge-v1 interpolation and pure filters; tool/slot conditionals use `runtime.tool.*` / `runtime.slot.*` booleans. Trusted JavaScript/TypeScript registration modules can add macros and slots without putting executable code in Preset JSON. Deterministic Regex rules can transform model-bound prompt text or, with an explicit warning, replace finalized assistant transcript text.
98
98
 
99
99
  See [custom macros and slots](../guides/custom-macros-and-slots.md), [macro reference](../reference/macros-and-slots.md), and [regex schema](../reference/stack-schema.md#regex-transforms).
@@ -49,9 +49,11 @@ Stable 0.4 does not imply that the subagent adapter or runtime has become stable
49
49
 
50
50
  ### Naming convergence (preset/stack)
51
51
 
52
- Target model: **stack** names the composition section (ordered blocks/slots), **preset** names the file that bundles composition with tool/skill/regex policy, **profile** remains the model/thinking/preset bundle. The `/preset` command family already matches the target; the stored resource does not.
52
+ Target model: **stack** names the composition section (ordered blocks/slots), **preset** names the file that bundles composition with tool/skill/regex policy, **profile** remains the model/thinking/preset bundle. The `/preset` command family already matches the target.
53
53
 
54
- When scheduled (bundle with other breaking cleanup, never as a standalone release):
54
+ 0.5.3 starts with the non-breaking user-visible layer: the web editor calls the complete resource a **Preset**, calls its ordered Block/Slot composition the **Stack**, and labels the old whole-resource Stack tab **Advanced**. User-facing diagnostics follow the same terminology. Compatibility identifiers remain unchanged in this phase: `/api/stacks`, TypeScript `PromptStack` names, `.pi/forge/prompt-stacks/`, JSON type `pi-forge.prompt-stack`, profile field `promptStack`, and the subagent wire contract.
55
+
56
+ The remaining storage/schema convergence must be bundled with breaking cleanup, never shipped as an implicit patch migration:
55
57
 
56
58
  - Migrate `.pi/forge/prompt-stacks/` to `.pi/forge/presets/` byte-preserving, reusing the legacy stack-migration path; read-compat for the `"pi-forge.prompt-stack"` type, write `"pi-forge.preset"`.
57
59
  - Profile field `promptStack` becomes `preset` with read-compat for the old field.
@@ -60,4 +60,4 @@ Allow read/search tools, include the `pi-docs` and project-context slots, and ke
60
60
 
61
61
  ## Trusted runtime status
62
62
 
63
- The [custom system-status example](../../examples/custom-system-status-extension/README.md) captures host data once when its trusted module registers, then exposes that immutable snapshot through `{{ extensions.cpuLoad }}` and a `machine-status` slot. Use this pattern when registration-time data is sufficient; reload the extension to capture a new snapshot.
63
+ The [custom system-status example](../../examples/custom-system-status-extension/README.md) samples host data when its trusted macro or slot renders during prompt compilation, then exposes that fresh snapshot through `{{ extensions.cpuLoad }}` and a `machine-status` slot. Use this pattern when a new user turn should see current machine state; it is compile-time telemetry, not a continuous background monitor.
@@ -14,7 +14,7 @@ Use `/preset ui restart` to replace its server or `/preset ui stop` to close it.
14
14
 
15
15
  The editor binds to an available `127.0.0.1` port and uses a session token. Multiple Pi projects can run editors simultaneously. Lifecycle reinitialization reuses the existing editor URL for the same project when possible.
16
16
 
17
- Reads, preview, resources, and payload inspection remain available as appropriate, but writes require Pi to trust the project. Files are constrained to pi-forge's stack/profile storage. Never expose or proxy the editor URL to an untrusted network.
17
+ Reads, preview, resources, and payload inspection remain available as appropriate, but writes require Pi to trust the project. Files are constrained to Pi Forge's Preset/Profile storage. Never expose or proxy the editor URL to an untrusted network.
18
18
 
19
19
  Choose a preferred port in `.pi/forge/config.json`:
20
20
 
@@ -30,14 +30,15 @@ If that port is unavailable, pi-forge selects another and shows the actual URL.
30
30
 
31
31
  ## Interface language
32
32
 
33
- The editor interface is available in English and Chinese. Use the language selector in the top bar (Auto / English / 中文); the choice is written to `webEditor.locale` in the project config. `Auto` (the default) follows the browser language, and the initial page render also honors the browser's `Accept-Language` header. Interface chrome, built-in stack/profile surfaces, and the preview/diff dock are localized; compiler diagnostics, provider-contributed settings pages, and stack content (item names, block text) stay in their authored language.
33
+ The editor interface is available in English and Chinese. Use the language selector in the top bar (Auto / English / 中文); the choice is written to `webEditor.locale` in the project config. `Auto` (the default) follows the browser language, and the initial page render also honors the browser's `Accept-Language` header. Interface chrome, built-in Preset/Profile surfaces, and the preview/diff dock are localized; compiler diagnostics, provider-contributed settings pages, and authored Preset content stay in their authored language.
34
34
 
35
- ## Prompt-stack workspace
35
+ ## Preset workspace
36
36
 
37
- The stack workspace provides:
37
+ The Preset workspace provides:
38
38
 
39
39
  - creation from the default Pi-mirror layout;
40
- - structured metadata, item, policy, variables, context, and regex editing;
40
+ - an ordered **Stack** tab for Block/Slot composition;
41
+ - structured metadata, policy, parameters, context, and Regex editing;
41
42
  - drag-and-drop item order and enable/disable controls;
42
43
  - validation and a full compiled preview;
43
44
  - registered-tool and loaded-skill search with exact-name chips and wildcard patterns;
@@ -47,15 +48,15 @@ The stack workspace provides:
47
48
  - payload arming and redacted captured-payload inspection;
48
49
  - light and dark themes.
49
50
 
50
- Existing IDs are immutable during edit. Use **More → Fork** to create a different ID without breaking profile references or the active selection. The compact selector attached to **New stack** (default `Project`) chooses where new stacks, imports, and forks are written: `Global` targets the user-global `~/.pi/forge/prompt-stacks`, `Project` targets `.pi/forge/prompt-stacks`. Less-used capture, fork, import, export, and delete actions live under **More** so the stack and Preview/Diff panes keep the available viewport. Stack rows show a `global` badge, and save/delete routes use `global:<id>` for exact global mutations. Legacy stacks remain editable in place.
51
+ Existing IDs are immutable during edit. Use **More → Fork** to create a different ID without breaking Profile references or the active selection. The compact selector attached to **New preset** (default `Project`) chooses where new Presets, imports, and forks are written: `Global` targets the user-global `~/.pi/forge/prompt-stacks`, `Project` targets `.pi/forge/prompt-stacks`. Those paths keep their pre-0.5.3 names for compatibility. Less-used capture, fork, import, export, and delete actions live under **More** so the Stack and Preview/Diff panes keep the available viewport. Preset rows show a `global` badge, and save/delete routes use `global:<id>` for exact global mutations. Legacy resources remain editable in place.
51
52
 
52
- Saves, imports, forks, and deletes reload stack state into the current Pi session. When another surface changes a referenced stack, returning to profiles refreshes profile resolution.
53
+ Saves, imports, forks, and deletes reload Preset state into the current Pi session. When another surface changes a referenced Preset, returning to Profiles refreshes Profile resolution.
53
54
 
54
55
  ## Agent-profile workspace
55
56
 
56
- The profile list shows each profile's ID, display metadata, model, thinking level, stack, resolution state, auto-activation, last-applied provenance, and a `project`/`global` scope badge. Same-ID shadow pairs are marked `shadows global:<id>` or `shadowed by project:<id>`.
57
+ The Profile list shows each Profile's ID, display metadata, model, thinking level, Preset, resolution state, auto-activation, last-applied provenance, and a `project`/`global` scope badge. Same-ID shadow pairs are marked `shadows global:<id>` or `shadowed by project:<id>`.
57
58
 
58
- Trusted projects can create profiles in either scope: the scope selector beside **New profile** (default `project`) chooses whether to write the user-global `~/.pi/forge/agent-profiles` or the project `.pi/forge/agent-profiles`. Global profiles can be edited, validated, saved, applied once, and deleted through explicit `global:<id>` routes; unqualified routes stay project-only. When editing a global profile, the prompt-stack dropdown offers only global stacks. Model choices come from Pi's model registry, thinking choices reflect model support, and stack choices come from the shared repository. The editor rejects a second auto-activation profile within the same scope.
59
+ Trusted projects can create Profiles in either scope: the scope selector beside **New profile** (default `project`) chooses whether to write the user-global `~/.pi/forge/agent-profiles` or the project `.pi/forge/agent-profiles`. Global Profiles can be edited, validated, saved, applied once, and deleted through explicit `global:<id>` routes; unqualified routes stay project-only. When editing a global Profile, the Preset dropdown offers only global Presets. Model choices come from Pi's model registry, thinking choices reflect model support, and Preset choices come from the shared repository. The editor rejects a second auto-activation Profile within the same scope.
59
60
 
60
61
  The runtime/provenance card separates current runtime state, last-applied snapshot, source-definition changes, and field-level runtime drift.
61
62
 
@@ -4,16 +4,16 @@
4
4
 
5
5
  ## 从这里开始
6
6
 
7
- - [快速上手](getting-started.md):安装、创建 stack、打开编辑器并保存 profile。
8
- - [Prompt stack](concepts/prompt-stacks.md):prompt 组合、历史布局和策略模型。
9
- - [Agent profile](concepts/agent-profiles.md):一次性模型/思考等级/stack 预设。
7
+ - [快速上手](getting-started.md):安装、创建预设、打开编辑器并保存 Profile。
8
+ - [预设与堆栈](concepts/prompt-stacks.md):完整预设及其有序 Block/Slot 编排。
9
+ - [Agent Profile](concepts/agent-profiles.md):一次性模型/思考等级/预设组合。
10
10
 
11
11
  ## 指南
12
12
 
13
13
  - [Web 编辑器](guides/web-editor.md)
14
14
  - [迁移到 0.5](guides/migrating-to-0.5.md)
15
15
  - [实验性前台 delegation](guides/delegation.md):启用前请先阅读安全边界。
16
- - [Prompt stack 使用场景(英文)](../guides/use-cases.md)
16
+ - [预设使用场景(英文)](../guides/use-cases.md)
17
17
 
18
18
  自定义 macros/slots 和调试的完整说明目前以英文版为准:
19
19
 
@@ -1,12 +1,12 @@
1
- # Prompt stack
1
+ # 预设与堆栈
2
2
 
3
3
  [中文文档](../README.md) · [English](../../concepts/prompt-stacks.md)
4
4
 
5
- Prompt stack 是一份有序、声明式的 prompt 与策略描述,由固定 **block** 和动态 **slot** 组成。
5
+ **Preset(预设)**是 Pi Forge 应用的完整声明式资源;其中由固定 **Block** 和动态 **Slot** 组成的有序 prompt 编排叫 **Stack(堆栈)**。同一份预设还会携带策略、Regex、参数和扩展引用。
6
6
 
7
- > **命名说明。** Prompt stack 由 `/preset` 命令族管理:stack 文件把编排与策略打包在一起,实际作用相当于一份完整预设。命名将在未来版本统一;本文档沿用"prompt stack/提示词栈"指代该资源。
7
+ > **0.5.3 兼容说明。** UI 使用“预设 → 堆栈”术语。这个补丁版本仍保留文件路径、JSON type、Profile 字段、API 路由和内部类型中的 `prompt-stack` / `promptStack` 拼写。
8
8
 
9
- Stack 可以放在项目 `.pi/forge/prompt-stacks/`,也可以放在用户全局 `~/.pi/forge/prompt-stacks/`。命令接受 `reviewer`、`project:reviewer` 和 `global:reviewer`;未限定 ID 优先解析项目 stack,项目 stack 会遮蔽同 ID 全局 stack。重复 ID 只在同一 scope 内算错误。
9
+ 预设当前放在兼容路径 `.pi/forge/prompt-stacks/` 或用户全局 `~/.pi/forge/prompt-stacks/`。命令接受 `reviewer`、`project:reviewer` 和 `global:reviewer`;未限定 ID 优先解析项目预设,项目预设会遮蔽同 ID 全局预设。重复 ID 只在同一 scope 内算错误。
10
10
 
11
11
  ## 编译模型
12
12
 
@@ -29,20 +29,20 @@ Stack 可以放在项目 `.pi/forge/prompt-stacks/`,也可以放在用户全
29
29
 
30
30
  这样既保留旧上下文,又只在最后明确出现一次当前请求。History 还可以过滤 summary/role、去掉旧工具消息、移除 assistant thinking,并限制消息数或字符数。
31
31
 
32
- Stack 还可以通过 `context.mergeConsecutiveRoles`(及可选的 `context.mergeSeparator`)把连续的同角色条目合并成一条消息;chat-history 输出和 custom 角色条目永远不会被合并。详见英文 [stack schema](../../reference/stack-schema.md#context-options)。
32
+ 堆栈还可以通过 `context.mergeConsecutiveRoles`(及可选的 `context.mergeSeparator`)把连续的同角色条目合并成一条消息;chat-history 输出和 custom 角色条目永远不会被合并。详见英文 [Preset schema](../../reference/stack-schema.md#context-options)。
33
33
 
34
34
  ## 策略边界
35
35
 
36
- 工具 `allow`/`deny` 会修改 Pi active tools,并在 tool call 时再次检查。具体的 `allow` 列表会从 Pi 的完整已注册工具目录中选择,因此可以启用 stack 激活前处于 inactive 状态的工具;`deny` 只从原 active baseline 中移除工具,`allow: ["*"]` 仍表示不限制且不会启用全部工具。Skill policy 只过滤 pi-forge 渲染给模型的列表;它不能阻止明确调用,也不是安全边界。若必须控制模型可见 skill 列表,请使用 `replace`,因为 Pi 的基础 prompt 可能已经在 `append`/`prepend` 内容之前列出 skills。
36
+ 工具 `allow`/`deny` 会修改 Pi active tools,并在 tool call 时再次检查。具体的 `allow` 列表会从 Pi 的完整已注册工具目录中选择,因此可以启用预设激活前处于 inactive 状态的工具;`deny` 只从原 active baseline 中移除工具,`allow: ["*"]` 仍表示不限制且不会启用全部工具。Skill policy 只过滤 pi-forge 渲染给模型的列表;它不能阻止明确调用,也不是安全边界。若必须控制模型可见 skill 列表,请使用 `replace`,因为 Pi 的基础 prompt 可能已经在 `append`/`prepend` 内容之前列出 skills。
37
37
 
38
38
  ## Scope 与自动启用
39
39
 
40
- - 只有显式设置 `"autoActivate": true` 的 stack 参与自动启用;文件名(包括 `default.json`)没有特殊作用。
41
- - 项目 stack 优先于全局 stack;项目 scope 存在候选时,即使项目候选无效或冲突也会 fail closed,不会回退到全局 stack。
42
- - 同 ID 项目 stack 会遮蔽全局 stack,包括无效 shadow 或显式 opt-out。
40
+ - 只有显式设置 `"autoActivate": true` 的预设参与自动启用;文件名(包括 `default.json`)没有特殊作用。
41
+ - 项目预设优先于全局预设;项目 scope 存在候选时,即使项目候选无效或冲突也会 fail closed,不会回退到全局预设。
42
+ - 同 ID 项目预设会遮蔽全局预设,包括无效 shadow 或显式 opt-out。
43
43
  - `/preset use none` 会记录 session branch 的 opt-out。
44
- - Active stack 选择会跟随 Pi session tree branch。
44
+ - Active Preset 选择会跟随 Pi session tree branch。
45
45
  - 恢复的 branch 状态优先于新 session 自动启用。
46
- - 自动启用的 agent profile 优先于独立 stack autoload。
46
+ - 自动启用的 Agent Profile 优先于独立预设 autoload。
47
47
 
48
48
  完整字段见英文 [stack schema](../../reference/stack-schema.md)(schema v2 使用 `parameters`),模板语法见[参考](../../reference/macros-and-slots.md)。
@@ -10,7 +10,7 @@
10
10
 
11
11
  `/preset ui restart` 会替换 server,`/preset ui stop` 会关闭它。
12
12
 
13
- 编辑器绑定在带 session token 的可用 `127.0.0.1` 端口;多个项目可以同时运行。读取、预览和 payload 检查在合适范围内可用;写入要求 Pi 信任项目,并且文件被限制在 pi-forge 的 stack/profile 存储内。可以在 `.pi/forge/config.json` 中设置偏好端口:
13
+ 编辑器绑定在带 session token 的可用 `127.0.0.1` 端口;多个项目可以同时运行。读取、预览和 payload 检查在合适范围内可用;写入要求 Pi 信任项目,并且文件被限制在 Pi Forge 的预设/Profile 存储内。可以在 `.pi/forge/config.json` 中设置偏好端口:
14
14
 
15
15
  ```json
16
16
  {
@@ -22,13 +22,14 @@
22
22
 
23
23
  ## 界面语言
24
24
 
25
- 编辑器界面提供英文和中文。使用顶栏的语言选择器(Auto / English / 中文);选择会写入项目配置中的 `webEditor.locale`。默认为 `Auto`,跟随浏览器语言,首次页面渲染也会参考浏览器的 `Accept-Language` 请求头。界面框架、内置 stack/profile 界面以及预览/差异停靠栏均已本地化;编译器诊断信息、插件提供的设置页面以及堆栈内容(条目名称、块文本)保持其原始语言。
25
+ 编辑器界面提供英文和中文。使用顶栏的语言选择器(Auto / English / 中文);选择会写入项目配置中的 `webEditor.locale`。默认为 `Auto`,跟随浏览器语言,首次页面渲染也会参考浏览器的 `Accept-Language` 请求头。界面框架、内置预设/Profile 界面以及预览/差异停靠栏均已本地化;编译器诊断信息、插件提供的设置页面以及预设中自行编写的内容保持其原始语言。
26
26
 
27
- ## Prompt stack 工作区
27
+ ## 预设工作区
28
28
 
29
29
  支持:
30
30
 
31
- - 从默认 Pi mirror 新建 stack;
31
+ - 从默认 Pi mirror 新建预设;
32
+ - 在 **堆栈** tab 中编排有序的 Block/Slot;
32
33
  - 结构化和原始 JSON 编辑;
33
34
  - 拖拽排序、启用/禁用、校验和完整编译预览;
34
35
  - 工具/skill 搜索、精确名称 chips 和通配符策略;
@@ -36,13 +37,13 @@
36
37
  - 原生 pi-forge JSON 导入;
37
38
  - 导出、fork、删除和 payload 捕获。
38
39
 
39
- 已有 ID 在编辑时不可修改;需要新 ID 时使用 **Fork**,避免破坏 profile 引用和当前选择。工具栏的 scope 下拉(默认 `project`)决定新建、导入和 fork 的写入位置:选择 `global` 写入用户全局 `~/.pi/forge/prompt-stacks`,选择 `project` 写入项目 `.pi/forge/prompt-stacks`。列表会为全局 stack 显示 `global` badge;保存和删除通过 `global:<id>` 路由精确作用于全局文件。保存、导入、fork 和删除后会重新加载当前 Pi session。
40
+ 已有 ID 在编辑时不可修改;需要新 ID 时使用 **Fork**,避免破坏 Profile 引用和当前选择。工具栏的 scope 下拉(默认 `project`)决定新建、导入和 fork 的写入位置:选择 `global` 写入用户全局 `~/.pi/forge/prompt-stacks`,选择 `project` 写入项目 `.pi/forge/prompt-stacks`;这些目录名在 0.5.3 中为兼容性暂时保留。列表会为全局预设显示 `global` badge;保存和删除通过 `global:<id>` 路由精确作用于全局文件。保存、导入、fork 和删除后会重新加载当前 Pi session。
40
41
 
41
42
  ## Agent profile 工作区
42
43
 
43
- 列表显示 profile ID、名称、模型、思考等级、stack、校验状态、auto-activation 和 last-applied provenance。每个 profile 都带 `project` / `global` scope badge;同 ID 的 shadow 对会显示 `shadows global:<id>` 或 `shadowed by project:<id>`。
44
+ 列表显示 Profile ID、名称、模型、思考等级、预设、校验状态、auto-activation 和 last-applied provenance。每个 Profile 都带 `project` / `global` scope badge;同 ID 的 shadow 对会显示 `shadows global:<id>` 或 `shadowed by project:<id>`。
44
45
 
45
- 可信项目通过 **New profile** 旁的 scope 下拉(默认 `project`)选择目标 scope:选择 `global` 写入用户全局 `~/.pi/forge/agent-profiles`,选择 `project` 写入项目 `.pi/forge/agent-profiles`。全局 profile 可通过显式 `global:<id>` 路由编辑、校验、保存、一次性应用和删除;未限定路由始终只作用于项目资源。编辑全局 profile 时,stack 下拉只显示全局 stack。Model 选项来自 Pi registry,thinking 选项反映模型支持,stack 选项来自同一个 repository。编辑器会拒绝同 scope 内第二个 auto-activation profile。
46
+ 可信项目通过 **New profile** 旁的 scope 下拉(默认 `project`)选择目标 scope:选择 `global` 写入用户全局 `~/.pi/forge/agent-profiles`,选择 `project` 写入项目 `.pi/forge/agent-profiles`。全局 Profile 可通过显式 `global:<id>` 路由编辑、校验、保存、一次性应用和删除;未限定路由始终只作用于项目资源。编辑全局 Profile 时,预设下拉只显示全局预设。Model 选项来自 Pi registry,thinking 选项反映模型支持,预设选项来自同一个 repository。编辑器会拒绝同 scope 内第二个 auto-activation Profile。
46
47
 
47
48
  ## Delegation
48
49
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  This example shows how trusted pi-forge extension modules can register a custom macro and custom slot without importing `@zihanw/pi-forge` from a loose Pi extension file.
4
4
 
5
- At registration time it captures one machine snapshot, then registers:
5
+ It registers two renderers that sample the machine when the prompt is compiled:
6
6
 
7
- - `{{ extensions.cpuLoad }}` macro: one-line CPU load summary.
8
- - `machine-status` slot: CPU load, OS load average, memory, and uptime snapshot.
7
+ - `{{ extensions.cpuLoad }}` macro: one-line CPU load summary sampled when that macro is rendered.
8
+ - `machine-status` slot: CPU load, OS load average, memory, and uptime sampled when that slot is rendered.
9
9
 
10
- The renderers only format that captured value, so repeated prompt compilation over the same registered extension is deterministic. The snapshot stays fixed until the extension is reloaded; this is intentionally a registration/pure-render example, not live telemetry or an async sampled CPU-utilization profiler.
10
+ This is compile-time telemetry, not a continuous sampler: no background timer runs and nothing streams while the model is generating. pi-forge performs the full Stack compilation for the first provider request of each user turn (and for explicit Preview/Diff compilation); tool-result follow-up requests do not rerun the full Stack. The macro and slot render independently, so their snapshots may differ slightly.
11
11
 
12
12
  ## Try It
13
13
 
@@ -26,8 +26,7 @@ Start Pi, trust the project if prompted, then run:
26
26
  /preset use custom-system-status
27
27
  ```
28
28
 
29
- Use `/preset diagnostics` to confirm the extension file is listed under loaded pi-forge extensions.
30
- Run `/preset reload` whenever you want to capture a fresh machine snapshot.
29
+ Use `/preset diagnostics` to confirm the extension file is listed under loaded pi-forge extensions. Start another user turn or recompile Preview to sample again. `/preset reload` is only needed after changing the extension or stack files.
31
30
 
32
31
  ## Where To Put The Extension
33
32
 
@@ -24,7 +24,7 @@ interface ForgeRegistrationApi {
24
24
  }): () => void;
25
25
  }
26
26
 
27
- interface SystemStatusSnapshot {
27
+ export interface SystemStatusSnapshot {
28
28
  logicalCores: number;
29
29
  cpuModel: string;
30
30
  load1: number;
@@ -37,20 +37,23 @@ interface SystemStatusSnapshot {
37
37
  uptimeSeconds: number;
38
38
  }
39
39
 
40
- export default function registerSystemStatus(api: ForgeRegistrationApi): void {
41
- const snapshot = Object.freeze(readSystemStatus());
40
+ export default function registerSystemStatus(
41
+ api: ForgeRegistrationApi,
42
+ sampleSystemStatus: () => SystemStatusSnapshot = readSystemStatus,
43
+ ): void {
42
44
  api.registerMacro({
43
45
  name: "cpuLoad",
44
46
  source: "pi-forge-example-system-status",
45
- description: "Machine CPU load captured when the trusted extension was registered.",
47
+ description: "Machine CPU load sampled when the prompt is compiled.",
46
48
  dependencies: [],
47
- render: () => formatCpuLoad(snapshot),
49
+ // Renderers run during prompt compilation. Read a fresh snapshot for each render.
50
+ render: () => formatCpuLoad(Object.freeze(sampleSystemStatus())),
48
51
  });
49
52
 
50
53
  api.registerSlot({
51
54
  name: "machine-status",
52
55
  source: "pi-forge-example-system-status",
53
- description: "Machine CPU, memory, and uptime captured when the trusted extension was registered.",
56
+ description: "Machine CPU, memory, and uptime sampled when the prompt is compiled.",
54
57
  dependencies: [],
55
58
  options: {
56
59
  format: { type: "enum", values: ["plain", "xml"], default: "plain" },
@@ -59,6 +62,8 @@ export default function registerSystemStatus(api: ForgeRegistrationApi): void {
59
62
  includeUptime: { type: "boolean", default: true },
60
63
  },
61
64
  render: (ctx) => {
65
+ // Do not capture this at registration time: sample when the slot is rendered.
66
+ const snapshot = Object.freeze(sampleSystemStatus());
62
67
  const includeMemory = ctx.options.includeMemory !== false;
63
68
  const includeUptime = ctx.options.includeUptime !== false;
64
69
  const heading = typeof ctx.options.heading === "string" && ctx.options.heading.trim()
@@ -0,0 +1,48 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "type": "pi-forge.prompt-stack",
4
+ "id": "fake-assistant-direct-output",
5
+ "name": "Fake Assistant: Direct Output",
6
+ "description": "Model-specific experiment: append an ordinary assistant text message after chat history to suggest that tagged reasoning has already finished. Compatibility varies by model, provider, and endpoint; verify with an A/B run before use.",
7
+ "autoActivate": false,
8
+ "mode": "replace",
9
+ "defaults": {
10
+ "syntheticMessagesVisible": false,
11
+ "unresolvedMacroPolicy": "warn"
12
+ },
13
+ "context": {
14
+ "allowDuplicateChatHistory": false,
15
+ "mergeConsecutiveRoles": false
16
+ },
17
+ "tools": {
18
+ "deny": [
19
+ "*"
20
+ ]
21
+ },
22
+ "items": [
23
+ {
24
+ "kind": "block",
25
+ "id": "direct-answer-role",
26
+ "name": "Direct Answer Role",
27
+ "enabled": true,
28
+ "role": "system",
29
+ "content": "You are a concise assistant. Answer the user's latest request directly and include only the requested result."
30
+ },
31
+ {
32
+ "kind": "slot",
33
+ "id": "chat-history",
34
+ "name": "Chat History",
35
+ "enabled": true,
36
+ "slot": "chat-history"
37
+ },
38
+ {
39
+ "kind": "block",
40
+ "id": "fake-completed-thinking",
41
+ "name": "Fake Completed Thinking",
42
+ "enabled": true,
43
+ "role": "assistant",
44
+ "content": "<think>思考已完成,直接输出结果。</think>"
45
+ }
46
+ ],
47
+ "parameters": {}
48
+ }
@@ -3,7 +3,7 @@
3
3
  "type": "pi-forge.prompt-stack",
4
4
  "id": "minimal",
5
5
  "name": "Minimal Worker",
6
- "description": "Bare-minimum stack: one role block, one tools slot, chat history. Policy allows bash only - what you see is literally everything that gets sent.",
6
+ "description": "Minimal Pi approximation of the DeepSeek Harness Minimal shape: the exact one-line persona, chat history, and only Pi's stock bash plus edit. It does not replicate DSH's persistent shell, editor tool, PTY, sandbox, or deployment semantics.",
7
7
  "autoActivate": false,
8
8
  "mode": "replace",
9
9
  "defaults": {
@@ -12,7 +12,8 @@
12
12
  },
13
13
  "tools": {
14
14
  "allow": [
15
- "bash"
15
+ "bash",
16
+ "edit"
16
17
  ]
17
18
  },
18
19
  "items": [
@@ -29,7 +30,10 @@
29
30
  "id": "chat-history",
30
31
  "name": "Chat History",
31
32
  "enabled": true,
32
- "slot": "chat-history"
33
+ "slot": "chat-history",
34
+ "options": {
35
+ "includeSummaries": false
36
+ }
33
37
  }
34
38
  ],
35
39
  "parameters": {}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zihanw/pi-forge",
3
- "version": "0.5.2",
4
- "description": "Pi extension for prompt stacks, one-shot agent profiles, policy, import, and debugging.",
3
+ "version": "0.5.3",
4
+ "description": "Pi extension for editable context presets, one-shot agent profiles, tool policy, and request debugging.",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/MacroSony/pi-forge.git"