Omahub
← All plugins
F

Omaharness

by Fabio Pauli

A bar dashboard for Omaharness readiness and desktop automation capabilities.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
6e26405
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
6e26405
Reviewed
1 month ago

The deterministic scan found no issues, and the sampled QML code matches its documented behavior: the widget only runs the externally installed `omaharness doctor` diagnostic with bounded output and timeouts, opens a browser only on explicit user action, and makes no network requests or destructive changes. The README's `uv tool install` command is documentation for a separately installed backend, not code executed by the plugin itself.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/fabiopauli/omarchy-omaharness-plugin --enable
Developer Tools #Hyprland #quickshell #ai

Omaharness for Omarchy

A Quattro bar widget for Omaharness, the desktop harness that gives coding agents direct access to an Omarchy session.

The widget runs omaharness doctor and turns its report into a compact dashboard: backend readiness, background-safe capture and input capabilities, blockers, and degraded features. It does not install packages or change system configuration.

Requirements

  • Omarchy Quattro
  • omaharness available on PATH
  • xdg-open for the optional Setup guide button

The widget remains usable before the backend is installed and shows the setup path instead of failing to load.

Install

Install the Python backend first. Matching the system Python minor version matters because PyGObject is a compiled dependency:

uv tool install --python /usr/bin/python3 \
  --with 'PyGObject==3.56.3' \
  --constraints "https://raw.githubusercontent.com/fabiopauli/omarchy-quattro-harness/2614ba03fe98ef711575f0c830a8eb518804e7d4/constraints.txt" \
  --build-constraints "https://raw.githubusercontent.com/fabiopauli/omarchy-quattro-harness/2614ba03fe98ef711575f0c830a8eb518804e7d4/build-constraints.txt" \
  --upgrade "git+https://github.com/fabiopauli/omarchy-quattro-harness.git@2614ba03fe98ef711575f0c830a8eb518804e7d4"
omaharness doctor

The backend source, complete runtime dependency graph, and Python build dependency graph all come from the same immutable commit. uv tool install does not read a repository's uv.lock by itself, so both constraint arguments are required. Future plugin releases will advance the commit and its constraints together after testing that exact environment.

Then install and enable the widget:

omarchy plugin add https://github.com/fabiopauli/omarchy-omaharness-plugin.git --enable

The widget is placed in the right bar section by default. Left-click opens the dashboard; middle-click refreshes it. In the panel, press R to refresh, G to open the backend setup guide, or Esc to close it.

The same status is available to scripts and agents, including whether the installed backend version and source commit match this plugin release:

omarchy-shell io.github.fabiopauli.omaharness status

Update

omarchy plugin update io.github.fabiopauli.omaharness --yes

# The backend is installed separately. Re-run the pinned install command above
# when the panel reports "Backend update required".

Remove

Remove the widget and its Omarchy configuration entry:

omarchy plugin remove io.github.fabiopauli.omaharness --yes

This does not remove the separately installed backend. If you no longer use Omaharness:

uv tool uninstall omaharness

Security and privacy

Omarchy plugins run unsandboxed. This plugin executes /usr/bin/env omaharness doctor when loaded, when its panel opens, and when refresh is requested. That diagnostic reads local compositor, dependency, input, and capability state; it does not install software or perform desktop actions. The panel streams output under a combined 128 Ki-character ceiling, stops the diagnostic after 15 seconds, escalates to SIGKILL if normal termination stalls, and renders all diagnostic values as plain text. Rendered diagnostic lists are limited to 25 entries of 512 characters each, and an error is limited to 2,048 characters. The backend independently caps every child command's combined output at 1 MiB and terminates its process group when the time or output limit is reached. Its documented installation constrains both runtime and Python build dependencies to files from the pinned backend commit. The plugin makes no network requests. Opening the setup guide is the only action that launches another application.

Review Panel.qml to see the complete process surface.

Development

Validate the repository against the same manifest contract used by Omarchy:

omarchy plugin validate .
python -m unittest discover -s tests -v

For a live development copy, add this repository through omarchy plugin add, edit the installed checkout under ~/.config/omarchy/plugins/io.github.fabiopauli.omaharness, and let the shell's file watcher reload it.

License

MIT