This repository has been archived on 2026-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Levi Neely 0418dd9fad move prompts and skills to parent repo
Keep only SYSTEM_PROMPT.md (KDE world-view prompt) in kde/prompts/.
Shared prompts and skills now live at the repo root.
2026-07-19 12:07:29 +02:00
dolphin krunner, dolphin: use Generate one-shot instead of session lifecycle 2026-07-18 23:09:51 +02:00
gui krunner: open selected session in ollie-gui via SelectSession D-Bus call 2026-07-18 23:47:25 +02:00
kate kf5: fix build error and sync features with KF6 2026-07-17 09:41:33 +02:00
krunner krunner: launch ollie-gui when selecting a session from list 2026-07-18 23:56:24 +02:00
plasmoid gui: add process detach support + Process Manager window 2026-07-17 17:01:16 +02:00
prompts move prompts and skills to parent repo 2026-07-19 12:07:29 +02:00
tools remove tier routing: drop route/cascade/escalate tools and prompts 2026-07-18 16:55:33 +02:00
tray kate/krunner/tray: add session rename, pick session, CMakeLists-active 2026-07-06 13:19:05 +02:00
.gitignore gitignore: add CMakeFiles/ 2026-07-16 08:44:23 +02:00
CMakeLists-active.txt kate/krunner/tray: add session rename, pick session, CMakeLists-active 2026-07-06 13:19:05 +02:00
CMakeLists-kf5.txt Add KF5/Qt5 support for Plasma 5.27 2026-07-06 09:18:04 +02:00
CMakeLists.txt gui: inline video embeds in chat 2026-07-18 18:46:35 +02:00
Makefile kate: fix context menu (use contextMenuAboutToShow signal, deduplicate actions) 2026-07-16 21:07:39 +02:00
README.md readme: krunner uses Generate one-shot, not a session 2026-07-18 23:07:04 +02:00
test-e2e.sh phase 2: interaction + state queries 2026-07-05 22:46:37 +02:00
test-peers.sh phase 6: peers verified end-to-end 2026-07-05 23:31:48 +02:00

README.md

ollie-kde

KDE-native integration for ollie — thin KDE clients (system tray, Plasmoid, KRunner, Kate plugin, Dolphin menus) that talk to the org.ollie.SessionManager D-Bus interface.

Architecture

┌──────────────────────────────────────────────────────────────┐
│                     Plasma Desktop                            │
│  System Tray │ KRunner │ Plasmoid │ Kate Plugin │ Dolphin    │
└──────────────────────────┬───────────────────────────────────┘
                           │ D-Bus (org.ollie.SessionManager)
                           │
          ┌────────────────┴────────────────┐
          │                                 │
┌─────────┴──────────┐          ┌───────────┴──────────────────┐
│   ollied (../dbus) │          │  olliesrv -nodbus=false       │
│   Pure D-Bus daemon│          │  (../9p, embedded adapter)    │
│   Go │ godbus      │          │  Go │ 9P + D-Bus              │
└────────────────────┘          └──────────────────────────────┘

Two backends provide the D-Bus interface — pick one:

  • ollied (../dbus/) — standalone D-Bus daemon, pure Go, no 9P. Lighter weight.
  • olliesrv (../9p/) — the full 9P server with an embedded D-Bus adapter (enabled by default; disable with -nodbus).

Both register the same org.ollie.SessionManager bus name. They cannot run side by side — choose one. KDE components here are pure D-Bus clients, lightweight, stateless, and independently restartable.

Dependencies

  • Qt 6 (Core, DBus, Widgets, Quick) or Qt 5 (Core, DBus, Widgets, Quick, Qml)
  • KDE Frameworks 6 (StatusNotifierItem, Runner, TextEditor, CoreAddons, Config) or KDE Frameworks 5 (Notifications, Runner, TextEditor, CoreAddons, Config, Plasma)
  • Plasma 6 or Plasma 5 (for Plasmoid)
  • ECM (Extra CMake Modules)

KF6/Qt6 is the default. To build against KF5/Qt5:

make kf5

Build

make          # builds tray + KRunner + Kate + Plasmoid via CMake

Outputs:

  • build-cmake/ollie-tray — system tray icon
  • build-cmake/lib/kf6/krunner/krunner_ollie.so — KRunner plugin
  • build-cmake/lib/kf6/ktexteditor/ollie_kate.so — Kate plugin
  • build-cmake/org/ollie/private/ — Plasmoid QML plugin

Install

sudo make install      # all KDE components (KF6)
sudo make kf5-install  # all KDE components (KF5)

# Individual:
make krunner-install
make dolphin-install
make plasmoid-install

The D-Bus daemon is installed separately — either ollied from ../dbus/ or use olliesrv from ../9p/ (which includes D-Bus by default).

Usage

KRunner

  • ollie <prompt> — one-shot generation via Generate (no session created); shows result in a popup
  • ollie list — show active sessions
  • ollie kill <id> — terminate a session

Dolphin

Right-click any file or directory:

  • Ask Ollie about this — one-shot prompt with file context, shows result in kdialog
  • Start Ollie session here — creates a persistent session in that directory

Kate

Enable the "Ollie" plugin in Settings → Configure Kate → Plugins. Panel appears on the right with:

  • Session indicator + CWD label
  • New — create session in project/file directory
  • Ask File — send current file path for description
  • Explain — send selected text for explanation
  • Prompt input for free-form messages
  • Live-streaming chat view

Plasmoid

Add the "Ollie" widget to your panel or desktop:

  • Session list with state indicators (○ idle, ● thinking, ⚡ tool call)
  • Live chat view with auto-scroll
  • Inline prompt input
  • Real-time updates via D-Bus signals

System Tray

  • Tooltip: session count
  • Status: passive (no sessions), active (sessions idle), attention (agent working)
  • Right-click: New Session, Sessions submenu (kill each), Stop All, Quit

File Layout

ollie-kde/
├── Makefile                        # CMake orchestration
├── CMakeLists.txt
├── tray/
│   ├── main.cpp
│   └── ollie_tray.h/cpp            # KStatusNotifierItem
├── krunner/
│   ├── metadata.json
│   └── ollie_runner.h/cpp          # KRunner plugin
├── kate/
│   ├── metadata.json
│   └── ollie_kate.h/cpp            # KTextEditor plugin
├── plasmoid/
│   ├── metadata.json
│   ├── contents/ui/main.qml
│   └── plugin/
│       └── olliedbusclient.h/cpp   # QML singleton (D-Bus client)
├── dolphin/
│   ├── ollie-actions.desktop       # Service menu entries
│   ├── ollie-ask                   # One-shot helper script
│   └── ollie-session-here          # Session creation helper
└── test-e2e.sh                     # End-to-end test script