Background process management for Pi. Start long-running commands without blocking the conversation.

Manage background processes from Pi without blocking the conversation.
This extension lets Pi keep long-running commands alive while the conversation continues. It is useful for dev servers, test watchers, local APIs, builds, and log tails.
When a task needs a long-running command, Pi can start it in the background by itself and keep helping with the rest of the work.
That means Pi can, for example:
You can then inspect, pin, stop, or clear those processes from the UI.
From npm:
pi install npm:@aliou/pi-processes
From git:
pi install git:github.com/aliou/pi-processes
Pi does not wait around for a background process. After it starts one, it keeps helping with the rest of the work and gets brought back automatically when something happens:
That is how Pi can start a dev server and then keep coding, or run a test watcher and react when a test fails, without sleeping or polling. If a watch fires too often, Pi can quiet it without restarting the process.
Use /ps to open the main process panel. It shows running and finished processes, with the most recent output preview. The preview opens on the newest page so you can see live activity without scrolling.
From there you can:
Use /ps:logs [id] to open the log overlay for one process. The viewer is cached per process, so switching tabs preserves scroll position and follow mode.
This is useful when Pi started a server, watcher, or local API and you want to follow what it is doing in more detail.
Use /ps:dock [expand|collapse|close] to control dock visibility.
The dock gives you a compact live view without leaving the conversation.
Use /ps:pin [id] to keep the dock focused on one process.
This is useful when one process matters more than the others, such as a dev server or a test watcher.
Without arguments, Pi shows a picker.
Use /ps:kill [id] to stop a running process, and /ps:clear to remove finished entries from the panel and free their log storage.
/ps:kill waits for the process to actually exit (or time out), so the result it reports reflects what happened. Without arguments, Pi shows a picker.
/ps:clear never touches live processes.
Enable the status widget in /ps:settings to show a compact line of running processes below the editor. Each process shows a status dot, its name, and its state, with +N more overflow when the line does not fit.
It is disabled by default. The widget reflows on resize and clears itself when the process list is empty.
Use the process tool with action: "write" to send bytes to a running process’s stdin. This is how you drive interactive servers, REPLs, and CLIs that expect input after they start.
Pass input for the bytes to write, and set end: true to close stdin (for example to signal EOF to a waiting process).
Use /ps:settings to configure the extension.
Available settings include:
Open /ps for a quick overview, or use /ps:logs for full logs.
Use /ps:pin to focus the dock on that process.
Enable background command interception in /ps:settings. When enabled, Pi avoids normal shell background patterns and uses the process workflow instead.
Watch a file-backed log and recover from an error
Open the log overlay and inspect output
Stop and clear processes
Send input to a running process
For development, testing, docs generation, and extension internals, see CONTRIBUTING.md.
MIT