pi-bro 0.24.0 → 0.25.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.
- package/CHANGELOG.md +24 -0
- package/README.md +29 -15
- package/docs/README.md +32 -14
- package/docs/elevate.md +125 -0
- package/docs/examples.md +268 -0
- package/docs/features/advisor.md +70 -0
- package/docs/features/btw.md +51 -0
- package/docs/features/explain.md +92 -0
- package/docs/features/show.md +154 -0
- package/docs/getting-started.md +47 -0
- package/docs/pig-compatibility.md +1 -0
- package/docs/reference/commands.md +50 -0
- package/docs/reference/data-and-permissions.md +130 -0
- package/docs/reference/settings.md +108 -0
- package/docs/reference/troubleshooting.md +55 -0
- package/docs/user-guide.md +50 -900
- package/package.json +12 -3
- package/src/bro.ts +25 -0
- package/src/elevate-engine.ts +214 -0
- package/src/elevate.ts +597 -0
- package/src/explain-modal.ts +12 -6
- package/src/modal-kit.ts +35 -2
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Set up models and preferences
|
|
2
|
+
|
|
3
|
+
[Docs home](../README.md) · [All commands](commands.md) · [Safety and permissions](data-and-permissions.md)
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
Use `/bro config` to review or change the shared default backend/model/effort
|
|
8
|
+
and any per-capability (explain/show/btw/advisor/review) overrides, the explanation
|
|
9
|
+
mode, and the default show turn count. Changes save immediately. Esc inside a
|
|
10
|
+
picker cancels that pick; Esc on the settings screen closes it, keeping
|
|
11
|
+
whatever was already saved. If the terminal becomes too small, config blocks
|
|
12
|
+
hidden actions; Esc closes config even if a picker was open, after pending saves
|
|
13
|
+
finish. A failed save cancels that close and shows its error inline; if the error
|
|
14
|
+
alone makes config too small, any other key clears it so you can try again. `/bro mode` changes the mode directly (**M** in an explanation
|
|
15
|
+
tries another mode without saving it), and `/bro help` shows the active settings
|
|
16
|
+
and file path.
|
|
17
|
+
|
|
18
|
+
Elevate inherits the **BTW** backend/model/effort selection. There is no separate Elevate setting in this release. See the [Elevate guide](../elevate.md).
|
|
19
|
+
|
|
20
|
+
Settings live in this user-editable file, created when the extension loads
|
|
21
|
+
(under `$PI_CODING_AGENT_DIR` instead when that is set):
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
~/.pi/agent/bro-settings.json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"version": 2,
|
|
30
|
+
"default": { "backend": "agy", "model": "gemini-3.7-flash", "effort": "low" },
|
|
31
|
+
"mode": "balanced",
|
|
32
|
+
"showTurns": 1,
|
|
33
|
+
"overrides": {
|
|
34
|
+
"explain": { "backend": "claude", "model": "sonnet", "effort": "medium" },
|
|
35
|
+
"advisor": { "backend": "grok", "model": "grok-4.7", "effort": "high" }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Bro reads the file again before each request, so manual edits apply next time.
|
|
41
|
+
|
|
42
|
+
- Each selection is one atomic backend/model/effort choice. An override pins
|
|
43
|
+
its own complete selection and ignores the shared default, even when it
|
|
44
|
+
happens to match it; select **Default** in `/bro config` to inherit again.
|
|
45
|
+
Omitted overrides inherit `default`.
|
|
46
|
+
- `effort` must be one the backend offers (`default` omits it and lets the
|
|
47
|
+
model decide). Agy selections are normalized against Agy's installed model
|
|
48
|
+
catalog. Claude, Grok, Codex, and Muse accept seeded or custom model IDs; a model/effort
|
|
49
|
+
combination the account does not support fails with the backend's own error
|
|
50
|
+
instead of silently falling back.
|
|
51
|
+
- `mode` is `brief`, `balanced` (the default), or `faithful`. `showTurns` is
|
|
52
|
+
the default number of turns `/bro show` draws (default 1); `/bro show
|
|
53
|
+
<n-turns>` overrides it for one run.
|
|
54
|
+
- `PI_BRO_MODEL` picks the initial Agy model only when Bro creates a missing
|
|
55
|
+
settings file, for example `PI_BRO_MODEL=gemini-3.7-flash-low pi`.
|
|
56
|
+
- Older flat settings files (root `model`/`effort`) still load and mean Agy.
|
|
57
|
+
|
|
58
|
+
## Preferences
|
|
59
|
+
|
|
60
|
+
Tell Bro about yourself and how you like answers. Bro adds what you write to
|
|
61
|
+
every explain, `/bro show`, `/bro btw`, `/bro elevate`, and Guided Review prompt as a labelled section,
|
|
62
|
+
alongside its own instructions. It never replaces them: modes, **M**, and the
|
|
63
|
+
source rules keep working. The advisor never receives your preferences; use
|
|
64
|
+
`/bro advisor-steer` for it.
|
|
65
|
+
|
|
66
|
+
Run `/bro preferences` to edit them: **Ctrl+S** saves, **Ctrl+K** deletes the
|
|
67
|
+
file, **Ctrl+C** copies, and **Esc** closes without saving. The first time,
|
|
68
|
+
the editor opens with this starter text, which is not saved until you press
|
|
69
|
+
**Ctrl+S**:
|
|
70
|
+
|
|
71
|
+
```md
|
|
72
|
+
## About me
|
|
73
|
+
I'm an overworked white-collar worker, and so are my colleagues. By the end of a
|
|
74
|
+
hard day our brains are fried and we can only handle simple language, no matter
|
|
75
|
+
how sharp we are at our best.
|
|
76
|
+
|
|
77
|
+
## How I like answers
|
|
78
|
+
- Explain it like I'm a simpleton: plain, everyday words.
|
|
79
|
+
- Go easy on analogies. No forced ones.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
You can also edit the file directly (under `$PI_CODING_AGENT_DIR` instead when
|
|
83
|
+
that is set):
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
~/.pi/agent/bro-preferences.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- **Free-form**: no placeholder or structure is required. Bro re-reads the
|
|
90
|
+
file on every request, so edits apply next time. A missing or empty file
|
|
91
|
+
means no preferences, and Bro's prompts are then exactly the built-in ones.
|
|
92
|
+
- **What preferences can change**: wording, tone, technical depth, length in
|
|
93
|
+
BTW, and the answer language. If you name a language, code, commands, paths,
|
|
94
|
+
names, and numbers still stay exactly as written. In `/bro show`,
|
|
95
|
+
preferences only change wording and language. Guided Review also receives preferences for explanation/answer wording; they do not override its evidence or review rules. A per-run choice (the mode,
|
|
96
|
+
**M**, a Show steering query, or what a BTW/review question asks for) wins over a
|
|
97
|
+
standing preference.
|
|
98
|
+
- **Limit**: 4,000 characters, because the text goes with every request. A
|
|
99
|
+
longer file stops explain, Show, BTW, and Guided Review with an error until you trim it;
|
|
100
|
+
Bro never cuts it silently. `/bro doctor` reports the problem, and the
|
|
101
|
+
editor still opens the file so you can fix it.
|
|
102
|
+
- **BTW threads**: when your preferences change, the next side question starts
|
|
103
|
+
a fresh backend session that is caught up on the thread, so old preferences
|
|
104
|
+
don't linger.
|
|
105
|
+
|
|
106
|
+
`bro-prompt.md`, the full prompt template from earlier versions, is no longer
|
|
107
|
+
read. Move what you want to keep into `/bro preferences`, and choose
|
|
108
|
+
`/bro mode brief` for the original ELI-simpleton instruction.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Diagnostics and troubleshooting
|
|
2
|
+
|
|
3
|
+
[Docs home](../README.md) · [All commands](commands.md) · [Safety and permissions](data-and-permissions.md)
|
|
4
|
+
|
|
5
|
+
## Check your setup
|
|
6
|
+
|
|
7
|
+
Run `/bro doctor` when Bro is newly installed or something is not working. It
|
|
8
|
+
checks Bro's settings and preferences, then probes only the backends some feature
|
|
9
|
+
actually selects, and reports the effective backend/model/effort for each
|
|
10
|
+
feature. Failed checks explain what to fix.
|
|
11
|
+
|
|
12
|
+
- **Agy**: installed version, model catalog, and account access.
|
|
13
|
+
- **Claude Code**: installed version and configured authentication.
|
|
14
|
+
- **Grok**: installed version only; authentication and connectivity are not
|
|
15
|
+
verified.
|
|
16
|
+
- **Codex**: installed version and configured authentication.
|
|
17
|
+
- **Muse**: installed version only; authentication and connectivity are not
|
|
18
|
+
verified.
|
|
19
|
+
|
|
20
|
+
Doctor never sends source text or runs a model completion. A successful check
|
|
21
|
+
confirms the setup but cannot guarantee that a later provider request will
|
|
22
|
+
succeed.
|
|
23
|
+
|
|
24
|
+
## Troubleshooting and current limits
|
|
25
|
+
|
|
26
|
+
If an explanation fails, run `/bro doctor` first. If a webpage cannot be
|
|
27
|
+
extracted, copy its content into a supported text file or save it as a PDF and
|
|
28
|
+
use `/bro file`. If a PDF contains only scanned images, run OCR with another
|
|
29
|
+
tool before giving it to Bro.
|
|
30
|
+
|
|
31
|
+
- An unsupported model, effort, or missing backend fails with that backend's
|
|
32
|
+
diagnostic; Bro never falls back to another backend.
|
|
33
|
+
- Document input supports `.md`, `.markdown`, `.txt`, `.pdf`, and `.docx` only;
|
|
34
|
+
it does not perform OCR.
|
|
35
|
+
- Webpage input supports one public HTML page, up to 5 MiB downloaded and
|
|
36
|
+
100,000 extracted characters. JavaScript-only, authenticated, paywalled,
|
|
37
|
+
blocked, paginated, and media-first pages are not supported.
|
|
38
|
+
- Direct webpage fetching does not currently use `HTTP_PROXY`, `HTTPS_PROXY`,
|
|
39
|
+
or other proxy environment variables.
|
|
40
|
+
- `/bro elevate` is pre-execution only. It does not validate expert claims, run source research or keep a persistent thread. Invalid discovery JSON can be retried with the [Retry] button; if it recurs, choose another BTW backend/model in `/bro config`. See [Elevate](../elevate.md).
|
|
41
|
+
- `/bro btw` threads are memory-only and do not survive reloads or restarts.
|
|
42
|
+
- The Agy advisor requires Agy CLI `>=1.1.15`.
|
|
43
|
+
- Show captures only the conversation text of what already happened in the
|
|
44
|
+
current session — the last few turns' user and assistant messages, with
|
|
45
|
+
tool calls, tool results, reasoning, and images always omitted; its shapes
|
|
46
|
+
reflect what was reported in the conversation, not independent verification.
|
|
47
|
+
- Diagrams open in your default browser; pressing **O** on a remote or
|
|
48
|
+
headless session with no display reports the failure instead of opening
|
|
49
|
+
anything.
|
|
50
|
+
- Explain keeps only the latest result in memory and does not export directly to files. Guided Review separately persists review records and captured source.
|
|
51
|
+
- Guided Review is local-Pi interactive only, keeps its captured revision on reopen, and does not publish, review a branch or fetch later PR changes. See [review recovery and limits](../guided-review.md#if-something-goes-wrong).
|
|
52
|
+
- Bro temporarily captures mouse input while its modal is open so mouse-wheel
|
|
53
|
+
and trackpad scrolling work in regular and fullscreen modes. Native mouse
|
|
54
|
+
selection may be unavailable or visually extend outside the Bro window;
|
|
55
|
+
press **C** to copy the full explanation instead.
|