Luigit
repositories / pi-ext

pi-ext

bugabingas pi extensions

owned by admin

extensions/ephemlets/README.md

Raw
Rendered preview
ephemlets

ephemlets

Keep long-running task reports and purpose-built interactive controls beside your Pi conversation, without reloading Pi.

Use in Pi

Available only in Pi's interactive TUI; headless, JSON, print, and RPC modes expose no ephemlet tool or builders. Ask Pi to create a living task report or an interactive ephemlet for your task. The agent can write Markdown directly, supply native Pi/TUI component source, or delegate construction in the background. Ephemlets have stable IDs and persist with the session, including source and JSON state. Tool rows stay compact; Pi's normal tool expansion reveals bounded detail previews. The agent reads metadata by default and explicitly requests source or current interaction state when needed. The agent cannot see the panel, and local state changes do not automatically become conversation messages.

/ephemlets or alt+e hides/shows the panel; ctrl+alt+e focuses it. The overlay appears on the right in landscape terminals and at the top in portrait terminals. It covers underlying content rather than reflowing the transcript.

Within the panel: alt+left/right switches ephemlets, alt+tab selects chrome controls, ctrl+s saves, ctrl+w closes, and escape hides. Mouse navigation and component interactions require Pi fullscreen mode; regular mode retains terminal-owned mouse handling. Close deletes the ephemlet from the active session branch; hiding does not. Save sends an exact snapshot and save instructions to the main agent as a follow-up, rather than directly exporting it.

Generated components execute as trusted native code with Pi's permissions, not in a sandbox. Use only source you trust. Background construction defaults to the current model, consumes API tokens, and can be overridden per build with provider/model. Successful background build usage is stored in ephemlets.build-usage entries, not automatically added to the main session's cost counter. Successful waited builds additionally return native tool usage; failed/cancelled builder usage is not currently recovered into parent accounting. Background ready/failed notices reach the main agent without starting a new turn; build completion does not imply that the human finished interacting. Interrupted builds are marked failed on session reopen; existing usable source remains available.

Installation Native component authoring

Commands

Command Purpose
/ephemlets Toggle ephemlets, or show/hide/focus panel
<img src="assets/banner.svg" alt="ephemlets" height="70">

# ephemlets

Keep long-running task reports and purpose-built interactive controls beside your Pi conversation, without reloading Pi.

## Use in Pi

Available only in Pi's interactive TUI; headless, JSON, print, and RPC modes expose no ephemlet tool or builders.
Ask Pi to create a living task report or an interactive ephemlet for your task.
The agent can write Markdown directly, supply native Pi/TUI component source, or delegate construction in the background.
Ephemlets have stable IDs and persist with the session, including source and JSON state.
Tool rows stay compact; Pi's normal tool expansion reveals bounded detail previews.
The agent reads metadata by default and explicitly requests source or current interaction state when needed.
The agent cannot see the panel, and local state changes do not automatically become conversation messages.

`/ephemlets` or `alt+e` hides/shows the panel; `ctrl+alt+e` focuses it.
The overlay appears on the right in landscape terminals and at the top in portrait terminals.
It covers underlying content rather than reflowing the transcript.

Within the panel: `alt+left/right` switches ephemlets, `alt+tab` selects chrome controls, `ctrl+s` saves, `ctrl+w` closes, and `escape` hides.
Mouse navigation and component interactions require Pi fullscreen mode; regular mode retains terminal-owned mouse handling.
**Close deletes the ephemlet from the active session branch; hiding does not.**
**Save sends an exact snapshot and save instructions to the main agent as a follow-up, rather than directly exporting it.**

Generated components execute as trusted native code with Pi's permissions, not in a sandbox.
Use only source you trust.
Background construction defaults to the current model, consumes API tokens, and can be overridden per build with `provider/model`.
Successful background build usage is stored in `ephemlets.build-usage` entries, not automatically added to the main session's cost counter.
Successful waited builds additionally return native tool usage; failed/cancelled builder usage is not currently recovered into parent accounting.
Background ready/failed notices reach the main agent without starting a new turn; build completion does not imply that the human finished interacting.
Interrupted builds are marked failed on session reopen; existing usable source remains available.

[Installation](../../README.md#install)
[Native component authoring](guidance/authoring.md)

<!-- config:start -->
### Commands

| Command | Purpose |
| --- | --- |
| `/ephemlets` | Toggle ephemlets, or show/hide/focus panel |
<!-- config:end -->