UI-Entwurf umgesetzt, Rocket.Chat-Tool, Deploymentcenter 2.4

Sicherungspunkt vor dem Aufraeumen. Buendelt die Arbeit, die seit dem
Abschluss der Avalonia-Portierung im Arbeitsverzeichnis lag.

Oberflaeche
- Entwurf aus Mockup/ umgesetzt: Theme.axaml (Farben je Thema, Barlow als
  mitgelieferte Schrift), Icons.axaml (Symbolgeometrien), Shell.axaml
  (eigene ControlThemes statt Fluent umzufaerben).
- Neue Steuerelemente StrokeIcon und BlueprintFrame, Seiten fuer
  Token-Verbrauch und Agenten-Chats, Werkzeug-Einstellungen als Seite
  statt eigenem Fenster, Texteditor-Fenster.
- ThemeManager mit hellem und dunklem Thema; die beiden Pinsel-Konverter
  entfallen, weil ein fester Farbwert den Themenwechsel nicht ueberlebt.

Rocket.Chat
- Neues Tool-Projekt (Client, Konfiguration, Workspace-Dateien) nach der
  Bauform des Telegram-Tools: rocketchat_poll als Tool-Job, geweckt wird
  nur, wenn wirklich etwas anliegt.
- send_file ist freigabepflichtig, send_message bewusst nicht: Der Raum
  ist Arbeitsraum, der Schutz sitzt an der Raum-Allowlist.
- Konzept-Doc um die Messung gegen die echte Instanz 8.7 ergaenzt; drei
  Annahmen waren falsch und sind korrigiert.

Deploymentcenter
- DC6 (Update anwenden) und DC7 (Erstinstallation ueber setup.json)
  erledigt, DC3 fuer win-x64/dev; deploy/publish.py als Release-Strecke.
- AppHost.DisposeAsync gegen doppeltes Herunterfahren gesperrt - sonst
  ueberschreibt eine zweite Abmeldung den Wartungszustand am Watchdog.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-08-23 12:16:05 +02:00
co-authored by Claude Opus 5
parent b5bf97ae74
commit 33d95a6c3f
88 changed files with 11665 additions and 1029 deletions
+62
View File
@@ -0,0 +1,62 @@
{
"_comment": "Wird vom update-agent bei 'install' und 'configure' gelesen und liegt im Paket neben der manifest.json. Beschreibung des Formats: Deploymentcenter/docs/SETUP_INTEGRATION_GUIDE.md",
"schema": 1,
"displayName": "ClawdDotNet",
"description": "ClawdDotNet braucht die Adresse des Deploymentcenters, einen Lizenzschluessel und ein Token fuer Heartbeat und Fehlermeldungen. Das Token stellt der Server selbst aus.",
"_targets_comment": "location 'config' loest zu %APPDATA% bzw. $XDG_CONFIG_HOME auf - genau das, was AppPaths.ConfigDirectory erwartet. AppPaths schreibt den Ordner plattformabhaengig unterschiedlich: 'ClawdDotNet' unter Windows, 'clawddotnet' unter Linux. Beide Namen sind deshalb ausdruecklich angegeben, statt sich darauf zu verlassen, dass NTFS die Schreibweise ignoriert - auf einem per fsutil umgestellten Ordner oder unter APFS mit Beachtung der Schreibweise traegt das naemlich nicht mehr.",
"targets": [
{
"id": "app",
"file": "clawddotnet/Settings.json",
"fileWindows": "ClawdDotNet/Settings.json",
"fileLinux": "clawddotnet/Settings.json",
"location": "config",
"format": "json"
}
],
"fields": [
{
"key": "deploymentcenterUrl",
"label": "Deploymentcenter",
"help": "Adresse, von der auch dieses Paket geladen wurde.",
"type": "url",
"source": "detect:baseurl"
},
{
"key": "licenseKey",
"label": "Lizenzschluessel",
"help": "Fuenf Bloecke zu fuenf Zeichen. Oeffnet zugleich die Release-Ablage fuer kuenftige Updates.",
"type": "secret",
"required": true,
"validate": "^[A-Za-z0-9]{5}(-[A-Za-z0-9]{5}){4}$",
"validationMessage": "Erwartet werden fuenf Bloecke zu fuenf Zeichen, durch Bindestriche getrennt."
},
{
"key": "deploymentcenterToken",
"label": "Token dieser Installation",
"help": "Wird vom Server ausgestellt und eingetragen - nichts zu kopieren.",
"source": "provision",
"scopes": ["watchdog:ping", "bugtracker:report"]
},
{
"key": "updateChannel",
"label": "Update-Kanal",
"type": "enum",
"options": ["prod", "beta", "dev"],
"default": "prod",
"required": false
},
{
"key": "deploymentcenterEnvironment",
"label": "Umgebung",
"help": "Haengt an Fehler- und Bugtracker-Meldungen.",
"type": "enum",
"options": ["production", "development"],
"default": "production",
"required": false
}
]
}