omp packages

pi-btw-cc0.2.0

Claude Code-style /btw side questions for pi: a no-tools side thread in a floating overlay, persisted per session and promotable into the main conversation with one key.

lune_99 Published 28 days ago MIT ~389 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-btw-cc

npm CI license

/btw side questions for pi: ask about the work in progress without derailing it. The answer lands in a floating overlay instead of the main conversation, and only reaches it if you promote it with f.

/btw what does the retry wrapper do on a 429?
The /btw overlay showing a side question, its answer, the side thread and the key hints

Install

pi install npm:pi-btw-cc
pi install git:github.com/Nouvelle-Lune/pi-btw-cc   # or from GitHub

Needs Node >= 22.19 and pi 0.85.x.

Usage

Command
/btw <question> Ask a side question — opens the overlay and starts the request right away
/btw Reopen the overlay on the existing side thread (no model call)
Key
↑ ↓ Scroll the answer
⇧← ⇧→ Browse the side thread
e Expand or fold a long side question
c Copy the selected answer
f Promote the selected exchange into the main conversation
x Delete the selected side question
Esc Enter Close

The selected exchange is the one expanded in the body and the one ⇧←/⇧→, e, c, f and x act on. The thread list under it marks the selection with ❯, and the footer shows the position as 2/3.

A question that wraps to more than three rows is folded to its first line plus a … N more lines (e to show) marker, so it does not push the answer — or the spinner while the request runs — out of the body. e unfolds the selected question; opening the overlay again starts folded.

Browsing to an older side question: the thread list marks the selection and the footer shows 1/3

f adds the selected exchange to the main conversation, and the main agent answers it on its next turn:

The promoted exchange in the main transcript

Notes

  • A side request sees the session's conversation (compaction-aware) but has no tools: it answers from context only, in one response, and cannot read files or run commands.
  • Side questions stay in the session, so the thread continues across restarts, /reload, /resume and /tree branches.
  • Promotion only appends, so the main conversation's cached prompt prefix stays valid. While a side request is still running, f waits instead of aborting it.
  • Side requests don't share the main conversation's prompt cache, so their input tokens are billed in full.
  • On narrow terminals the key hints wrap onto more rows and the answer area shrinks to keep them visible.
  • Depending on the fold, a state change reveals what changed: a folded question keeps the top of the exchange in view, an unfolded one scrolls to the answer (or to the error) below the question. On a terminal too short to show both, the answer or status row wins over the question top.

Development

npm install
npm run typecheck
npm test
npm run docs:images   # regenerate docs/*.svg + docs/*.png (needs rsvg-convert)

License

MIT