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.
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
| Section | Purpose |
|---|---|
| Home | Current landing page for the desktop shell. |
| Server | Select Server or Server Builder mode, set the port and add-on directory, start, stop, restart, or open the host in a browser. |
| Cloud configuration | Edit and validate separate model/API-key documents for Server and Server Builder. |
| Agents | Load 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. |
| Builder | Create or inspect a .NET solution, add FabrCore class libraries, list projects through Roslyn, and provision project agents. |
| Surface | Embed 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:
Loads managed DLLs from the add-on directory and exposes the runtime Surface experience.
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.
| Input | Behavior |
|---|---|
| Agent type | Select a registered alias and review its description, capabilities, notes, and implementation type. |
| Principal and handle | Enter a principal plus a bare agent handle. OpenCaddis creates the full principal:agent handle. |
| Model and prompt | Choose the model configuration name and optionally provide a description and system prompt. |
| Plugins and tools | Select registered plugin bundles and standalone tools discovered from the running host. |
| Show in Surface | Optionally add the created agent to that principal's Surface preferences immediately. |
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
/surfaceon the selected host.
The selected host port cannot reuse port 5082. Both OpenCaddis host implementations require an HTTP loopback URL.