- ClawdDotNet.Web: Kestrel im Prozess der Anwendung, Token-Absicherung (TokenGate mit FixedTimeEquals), Endpunkte unter /api, Ereignisstrom unter /events (Server-Sent Events) und fortlaufendes Log-Streaming. - Weboberflaeche (wwwroot/): Vollstaendiges Single-Page-Frontend mit nativem HTML5, CSS3 und ES-Modulen ohne Buildschritt (strikt textContent, #-Routing, sofortiger Login-Sprung bei fehlendem Token, Light/Dark-Theme, lokale Barlow-Schriften). - ClawdDotNet.App: Fachlogik aus den Avalonia-ViewModels in Dienste herausgeloest (AgentAdministration, JobAdministration, ServiceAdministration, RunCoordinator) und ueber InstanceChange synchronisiert. - Tests: ClawdDotNet.Web.Tests und ClawdDotNet.App.Tests hinzugefuegt, alle 684 Tests erfolgreich.
This commit is contained in:
@@ -28,9 +28,35 @@ public sealed class InstanceConfig
|
||||
[JsonPropertyName("logDirectory")]
|
||||
public string LogDirectory { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Port der Weboberfläche. Je Instanz und nicht anwendungsweit: Zwei Instanzen auf
|
||||
/// einer Maschine stritten sich sonst um einen Port.
|
||||
/// </summary>
|
||||
[JsonPropertyName("webServerPort")]
|
||||
public int WebServerPort { get; set; } = 8080;
|
||||
|
||||
/// <summary>
|
||||
/// Ob die Weboberfläche mitläuft. Ausgeschaltet vorbelegt — sie macht aus einer
|
||||
/// lokalen Anwendung einen Netzwerkdienst, der Agenten mit Datei-, Mail- und
|
||||
/// FTP-Zugriff steuert. Das schaltet man bewusst ein.
|
||||
/// </summary>
|
||||
[JsonPropertyName("webUiEnabled")]
|
||||
public bool WebUiEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// <c>loopback</c> (Vorgabe) oder <c>any</c>. Bei <c>any</c> ist
|
||||
/// <see cref="WebUiToken"/> Pflicht, sonst startet die Weboberfläche nicht.
|
||||
/// </summary>
|
||||
[JsonPropertyName("webUiBinding")]
|
||||
public string WebUiBinding { get; set; } = "loopback";
|
||||
|
||||
/// <summary>
|
||||
/// Zugangstoken der Weboberfläche. Steht in <c>ConfigSecrets</c> und liegt damit
|
||||
/// geschützt in der Instanzdatei — wie der OpenRouter-Schlüssel daneben.
|
||||
/// </summary>
|
||||
[JsonPropertyName("webUiToken")]
|
||||
public string WebUiToken { get; set; } = "";
|
||||
|
||||
[JsonPropertyName("telegramClient")]
|
||||
public TelegramClientConfig? TelegramClient { get; set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user