Project

pi-noctalia-shell-plugin

experimental

Noctalia Shell assistant panel backed by Pi's RPC mode through a local Python bridge.

Overview

pi-noctalia-shell-plugin puts the Pi coding assistant in a Noctalia Shell panel. The QML interface provides a compact desktop chat surface, while Pi keeps responsibility for models, authentication and agent behaviour.

The interaction follows the panel design used in piclaw, but runs as a small local plugin rather than a web application.

How it works

The plugin starts a Python bridge in the background. That bridge launches pi --mode rpc and exposes a local Unix socket to the QML interface, translating panel messages and streamed Pi events across the process boundary.

Pi starts in ~/Build when that directory exists and falls back to the user's home directory. Tool access defaults to --no-tools; settings can switch the session to read-only or full tools.

Features
→
Native shell panel

QML components provide the bar widget, panel, floating window, message bubbles, settings and chat view.

→
Pi RPC backend

Uses Pi's supported RPC mode instead of scraping terminal output or reimplementing provider clients.

→
Local Unix socket

The Python bridge keeps transport on the local machine and separates QML UI concerns from the Pi subprocess.

→
Conservative tools default

Sessions start without tools. Users can select no-tools, read-only or full access from plugin settings.

→
Existing Pi configuration

Uses the model and credentials already configured through Pi, including its /login and /model flows.

→
Working-directory choice

Starts in ~/Build when available, otherwise in the home directory, so coding sessions begin in a predictable location.

Architecture
Desktop user Noctalia Shell QML assistant panel chat · settings · sessions Python bridge local Unix socket Pi RPC process models · auth · agent loop Tool policy off · read-only · full Workspace ~/Build or home Noctalia panel backed by a local Pi RPC process
Posts