Golem 1.5 erschien am 9. Oktober mit Händen auf dem Desktop: Claude konnte die Fenster eines anderen Rechners lesen, in ihre Textfelder schreiben und ihre Schaltflächen drücken. Seitdem sind drei weitere Versionen erschienen. Dieser Beitrag fasst sie zusammen, weil jede etwas behebt, das man bei der Nutzung bemerkt hat.
1.5.1: die Hände, auf echten Rechnern geprüft
Version 1.5 habe ich veröffentlicht, bevor die Zertifizierung fertig war, weil ein Kunde sie brauchte. Die Zertifizierung hat sie danach auf dem Rechner eines Kunden mit Golem Assist, auf einem Server mit dem Guardian und am Anmeldebildschirm eines ERP in Visual FoxPro geprüft und einen ernsten Fehler gefunden. Waren zwei Fenster desselben Programms offen, zum Beispiel der Explorer und das Feld „Ausführen“, die beide explorer.exe sind, konnten die Tasten für das eine im anderen landen. Golem prüfte, ob das Programm vorne war, und nicht das Fenster.
In 1.5.1 wird das Fenster geprüft, und zwar vor jeder Taste. Fängt jemand mitten im Schreiben an, in einem anderen Fenster zu arbeiten, hält Golem an und sagt, wie viele Tasten schon gesendet wurden.
Mit dieser Korrektur kamen weitere aus derselben Zertifizierung:
- Unter dem Guardian kann der Helfer, der auf dem Desktop arbeitet, nicht mehr in Administratorfenster schreiben, auch nicht, wenn man sich mit dem integrierten Windows-Administrator anmeldet.
- Bei gesperrter Arbeitsstation (Win+L) tun die Werkzeuge, die schreiben oder drücken, nichts und sagen das. Vorher ließ sich über UI Automation eine Schaltfläche hinter dem Sperrbildschirm drücken.
- Was Claude als Geheimnis schreibt, taucht nicht an anderer Stelle wieder auf. Ein Kennwortfeld in Visual FoxPro gibt sich gegenüber Windows nicht als solches zu erkennen, und der Wert ließ sich danach im Klartext lesen; der Editor kopiert den Text in seinen Titel, und der Titel landete im Protokoll. Jetzt merkt sich der Golem-Agent im Speicher, was ihm als Geheimnis geschickt wurde, und ersetzt es durch
***in allem, was er liest, und in jeder Zeile des Protokolls. - Im Nur-Lesen-Modus lassen sich die drei Werkzeuge nutzen, die den Bildschirm lesen.
1.5.2: ein langer Aufruf trennt die Verbindungen nicht mehr
Die Claude-App bricht ein Werkzeug ab, das länger als 60 Sekunden braucht, und startet beim nächsten Aufruf den Golem-Client neu. Damit gingen alle offenen Verbindungen verloren, auch die anderer Unterhaltungen, die sich denselben Client teilen. Ein run_powershell von drei Minuten reichte, um alles lahmzulegen.
Seit 1.5.2 wartet kein Aufruf länger als 45 Sekunden. Ist das entfernte Werkzeug noch nicht fertig, antwortet Golem mit pending und einer Kennung, der Aufruf läuft auf dem anderen Rechner weiter, und Claude holt ihn mit resume ab. Diese Version hat nur den Client geändert.
1.5.3: FoxAgent und die anderen untergeordneten Server
Golem kann auf dem anderen Rechner weitere MCP-Server starten, etwa FoxAgent, und ihre Werkzeuge neben den eigenen veröffentlichen. Fällt einer dieser Server aus, startet Golem ihn neu und wiederholt den Aufruf.
Bis 1.5.2 hielt Golem einen Server, der mit einem Fehler antwortete oder länger als die Frist brauchte, für ausgefallen. Es schloss ihn mit allem, was er offen hatte, startete ihn neu und wiederholte den Aufruf. In der Zertifizierung zeigte sich, dass ein Werkzeug, das mit einem gewöhnlichen Fehler scheitert, so zweimal ausgeführt wurde. In 1.5.3 wird nur ein Server neu gestartet, der ausgefallen ist, weil sein Prozess beendet ist oder weil die Verbindung zu ihm abgerissen ist. Antwortet er mit einem Fehler, gibt Golem diesen Fehler unverändert zurück, und überschreitet er die Frist, sagt Golem das, ohne den Aufruf zu wiederholen.
Auch gleichzeitige Aufrufe blieben hängen. Auf einem Server mit zwei Prozessoren brauchten acht gleichzeitige Aufrufe an FoxAgent 6 Sekunden, und bei 48 gingen sechs verloren. Mit 1.5.3 brauchen die acht im selben Test weniger als eine Zehntelsekunde, und 96 Aufrufe von vier Clients gleichzeitig kommen alle in weniger als 0,15 Sekunden an.
Diese Version ändert den Agenten und den Client. Damit ein Server sie bekommt, muss seine golem.exe aktualisiert werden, oder die seines Guardian.
Geprüft
1.5.1 und 1.5.3 sind vor der Veröffentlichung durch die Zertifizierung auf echten Rechnern gegangen, und 1.5.2, die nur den Client änderte, durch die üblichen Tests. Die aktuelle Version, 1.5.3, ist signiert, und die Hashes jeder Datei stehen in der Installationsanleitung.