原始内容
pi-session-yank
A Pi extension that copies assistant or user message content from the current session branch directly to your clipboard.
It avoids terminal selection issues caused by soft wrapping in the Pi TUI.
What it does
Adds one command:
/yank <assistant|user> <raw|code> [N|all]
Examples:
/yank assistant raw
/yank assistant raw 3
/yank assistant code all
/yank user raw all
Semantics
assistant|userselects which role to copy fromraw|codeselects whether to copy plain text or fenced code blocks[N|all]selects how many messages to scan- omitted =
1 N= lastNmatching messagesall= all matching messages in the current branch
- omitted =
Important detail:
amountis message scopecodecopies all fenced code blocks inside the selected messages
So:
/yank assistant code 3
means: copy all fenced code blocks from the last 3 assistant messages.
Install
From npm:
pi install npm:pi-session-yank
From a local checkout during development:
pi -e ./extensions/yank.ts
Then reload Pi inside the app:
/reload
Clipboard behavior
The extension tries the system clipboard first, with OSC 52 terminal clipboard support as a fallback when available.
On Linux-family systems it tries these transports as available:
termux-clipboard-setwl-copyxclipxsel
Warnings and limitations
- Only text blocks are copied from messages.
- Attachments and images are ignored.
codemode only extracts fenced code blocks using triple backticks.- The command works on the current session branch only.
Development
Run checks:
npm install
npm run check