Third-party drivers (e.g. a Codex-style computer-use reimplementation) could only replace cua-driver by patching core. computer_use now follows the single-select provider model Hermes uses for memory providers, context engines and cron schedulers: - plugins/computer_use/__init__.py discovers bundled plugins/computer_use/<name>/ then user $HERMES_HOME/plugins/<name>/ (marker: register_computer_use_provider / ComputerUseProvider) and loads ONLY the provider computer_use.backend names (default "cua"), read per call so each profile gets its own. Unselected providers are never imported; listing reads plugin.yaml only. An unknown/unloadable name returns an error naming it and the installed providers; no fallback. - The built-in cua-driver is an ordinary bundled provider at plugins/computer_use/cua/ (driver implementation stays in tools/computer_use). tools/computer_use/backend.py gains ComputerUseProvider (create_backend(permission_mode=...), is_available(), optional doctor()). - The tool's check_fn and backend construction go through the selected provider; the model-facing schema is unchanged for every provider (prompt-cache invariant). The test-only HERMES_COMPUTER_USE_BACKEND env switch is gone (tests patch _new_backend). - General plugin discovery treats computer-use providers as exclusive (not eagerly imported, not listed as toggleable) and skips the bundled computer_use/ category, same as memory/, context_engine/, cron_providers/. - hermes tools and the Desktop toolset panel list installed providers next to cua; computer-use doctor/status/permissions and the Desktop status payload skip cua-driver/TCC probes when another provider is selected.
7 lines
226 B
YAML
7 lines
226 B
YAML
name: cua
|
|
description: >-
|
|
cua-driver (built-in) — background computer use on macOS, Windows and Linux; does not steal the cursor
|
|
or focus. Default when computer_use.backend is unset.
|
|
version: 1.0.0
|
|
author: Nous Research
|