@xynogen/pix-display

Pi core extension — inline chips, thinking blocks, and framed code rendering

Packages

Package details

extension

Install @xynogen/pix-display from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@xynogen/pix-display
Package
@xynogen/pix-display
Version
0.3.1
Published
Oct 6, 2026
Downloads
729/mo · 81/wk
Author
xynogen
License
MIT
Types
extension
Size
20.3 KB
Dependencies
1 dependency · 2 peers
Pi manifest JSON
{
  "extensions": [
    "src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pix-display

Pi core extension — inline chips, thinking blocks, and polished code snippets.

What it does

Three features, always on when installed:

Inline chips. Renders <path>…</path> spans (written by e.g. pix-search) as @name chips, <skill>…</skill> spans (written by the pix-skills $ picker) as $name chips with the skills.sh owner/repo in dim, and replaces Pi's paste markers ([paste #1 2232 chars]) with styled icon chips: image #1 for image pastes (blue), text N chars / text Nk chars for text pastes over 100 characters (green). A shorter paste stays inline, even with many lines. Collapses pasted image paths into markers in the buffer while showing human-readable labels on screen. The display rewrite is purely visual — the buffer keeps the real path for the model. Expansion wraps each paste in <paste>…</paste> so adjacent pastes don't merge into one wall in the model-facing text. Sent user messages get the same treatment in the transcript (display-only, via Pi's Markdown transformer hook, Pi ≥ 0.85): <paste>/<path>/<skill> spans collapse to inline chips, text pastes keep a head…tail glimpse. The chip code lives in @xynogen/pix-pretty/chips. pix-display only calls registerChips(pi).

Thinking blocks. Converts leaked reasoning tags (<think>/<thinking>) from some providers into native Pi thinking content blocks, which render dim + italic via the thinkingText theme token. No ANSI injection, no markdown blockquote shim. Applies during streaming (message_update) and finalization (message_end).

Code snippets. Renders every fenced code block in assistant responses inside a themed, language-labeled frame—including Python, TypeScript, JSON, YAML, Rust, Go, SQL, shell, and arbitrary custom language tags. Untagged fences use a code label. Pi's native syntax highlighting remains intact for recognized languages, while long lines are safely clipped to the terminal width.

The features are registered at session start. TUI-only display changes are no-ops in JSON/RPC/print modes. In-process non-TUI child sessions (such as background subagents) do not clear the parent TUI's renderer state.

Install

pi install npm:@xynogen/pix-display

Bundled in @xynogen/pix-core. Install it alone only if you do not use pix-core.

Full distro

This package is part of Pix. The installer sets up Pi and the full distro. See Install for the notes for each OS.

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.sh | sh
# Windows
irm https://raw.githubusercontent.com/xynogen/pix-mono/main/scripts/install.ps1 | iex

License

MIT