Home / Docs / OpenCaddis.App

OpenCaddis.App

The local control application

OpenCaddis.App is the user-facing Windows application. It owns local configuration, coordinates which OpenCaddis host is running, creates agents from that host's live registry, and embeds Surface as the agent-facing command center.

Current platform

The project currently targets net10.0-windows10.0.19041.0. Other MAUI platform folders remain in the repository, but the present build target is Windows.

App sections

SectionPurpose
HomeCurrent landing page for the desktop shell.
ServerSelect Server or Server Builder mode, set the port and add-on directory, start, stop, restart, or open the host in a browser.
Cloud configurationEdit and validate separate model/API-key documents for Server and Server Builder.
AgentsLoad the running host registry, select an agent type plus plugins and standalone tools, configure its identity and prompt, then create it through the FabrCore Host API.
BuilderCreate or inspect a .NET solution, add FabrCore class libraries, list projects through Roslyn, and provision project agents.
SurfaceEmbed the running host's /surface route in a WebView.

Host lifecycle

The app persists the selected mode, local port, and add-on path. Before starting a host it verifies that the matching cloud configuration is valid. Only one host mode runs at a time:

Server mode

Loads managed DLLs from the add-on directory and exposes the runtime Surface experience.

Server Builder mode

Registers builder agents and tools but intentionally does not load add-on DLLs from the output directory.

Create agents from the live registry

The Agents tab appears while a host is running. It reads FabrCore discovery metadata instead of hard-coding available types, so agents and extensions registered by the selected host drive the form.

InputBehavior
Agent typeSelect a registered alias and review its description, capabilities, notes, and implementation type.
Principal and handleEnter a principal plus a bare agent handle. OpenCaddis creates the full principal:agent handle.
Model and promptChoose the model configuration name and optionally provide a description and system prompt.
Plugins and toolsSelect registered plugin bundles and standalone tools discovered from the running host.
Show in SurfaceOptionally add the created agent to that principal's Surface preferences immediately.
Registry collisions are visible

If the host reports alias collisions, the App displays them so you can resolve ambiguous agent, plugin, or tool registrations before relying on the selection.

Local addresses

  • Configuration service: fixed at http://localhost:5082/.
  • Selected host: defaults to http://localhost:5083/ and can be changed in the app.
  • Surface: served from /surface on the selected host.

The selected host port cannot reuse port 5082. Both OpenCaddis host implementations require an HTTP loopback URL.

Documentation