iris-*-Skripte: Bearer-Token auch aus IRIS_BEARER_TOKEN lesen (SSH-Nutzung ohne Schlüsselbund) #44

Closed
opened 2026-10-13 20:28:47 +00:00 by alf · 4 comments
Owner

Problem: iris-claude.sh, iris-hermes und iris-opencode lesen den Token über security find-generic-password. In einer SSH-Sitzung ist der Login-Schlüsselbund gesperrt, die Skripte melden dann irreführend „Kein Bearer-Token für Iris im Schlüsselbund gefunden“ (aufgetreten auf dev-slave-1).

Änderung: tools/iris-agent-common.sh nimmt IRIS_BEARER_TOKEN aus der Umgebung, wenn gesetzt; sonst unverändert der Schlüsselbund.

Warum: Dev-VMs werden per SSH bedient; Entsperren pro Sitzung ist zu umständlich.

**Problem:** `iris-claude.sh`, `iris-hermes` und `iris-opencode` lesen den Token über `security find-generic-password`. In einer SSH-Sitzung ist der Login-Schlüsselbund gesperrt, die Skripte melden dann irreführend „Kein Bearer-Token für Iris im Schlüsselbund gefunden“ (aufgetreten auf dev-slave-1). **Änderung:** `tools/iris-agent-common.sh` nimmt `IRIS_BEARER_TOKEN` aus der Umgebung, wenn gesetzt; sonst unverändert der Schlüsselbund. **Warum:** Dev-VMs werden per SSH bedient; Entsperren pro Sitzung ist zu umständlich.
Author
Owner

PR #45 gemergt: feat(tools): IRIS_BEARER_TOKEN aus der Umgebung vor dem Schlüsselbund lesen (#44)
#45

Commits:

  • feat(tools): IRIS_BEARER_TOKEN aus der Umgebung vor dem Schlüsselbund lesen (#44)
PR #45 gemergt: feat(tools): IRIS_BEARER_TOKEN aus der Umgebung vor dem Schlüsselbund lesen (#44) https://forgejo.lewerken.duckdns.org/alf/2ndbrain/pulls/45 Commits: - feat(tools): IRIS_BEARER_TOKEN aus der Umgebung vor dem Schlüsselbund lesen (#44)
Author
Owner

Stand: tools/iris-agent-common.sh liest IRIS_BEARER_TOKEN aus der Umgebung, sonst unverändert den Schlüsselbund; die Fehlermeldung nennt jetzt beide Quellen.

Geprüft: bash -n ok. Mit IRIS_BEARER_TOKEN=dummy wird der Schlüsselbund nicht abgefragt; der Ablauf läuft bis zum Abruf von /config und scheitert dort erwartungsgemäß am falschen Token. Der VM-Stand (dev-slave-1) ist per pull-all aktualisiert.

Nicht geprüft: Lauf von iris-claude.sh/iris-hermes/iris-opencode mit echtem Token in der VM. Der Token muss dort einmalig in ~/.zshrc als IRIS_BEARER_TOKEN stehen.

Offen: Issue bleibt offen, bis der Lauf in der VM bestätigt ist.

**Stand:** `tools/iris-agent-common.sh` liest `IRIS_BEARER_TOKEN` aus der Umgebung, sonst unverändert den Schlüsselbund; die Fehlermeldung nennt jetzt beide Quellen. **Geprüft:** `bash -n` ok. Mit `IRIS_BEARER_TOKEN=dummy` wird der Schlüsselbund nicht abgefragt; der Ablauf läuft bis zum Abruf von `/config` und scheitert dort erwartungsgemäß am falschen Token. Der VM-Stand (dev-slave-1) ist per `pull-all` aktualisiert. **Nicht geprüft:** Lauf von `iris-claude.sh`/`iris-hermes`/`iris-opencode` mit echtem Token in der VM. Der Token muss dort einmalig in `~/.zshrc` als `IRIS_BEARER_TOKEN` stehen. **Offen:** Issue bleibt offen, bis der Lauf in der VM bestätigt ist.
Author
Owner

Auf Anweisung des Nutzers geschlossen. Umgesetzt in PR #45 (567278b): IRIS_BEARER_TOKEN hat Vorrang vor dem Schlüsselbund. Der Lauf von iris-claude.sh mit Token in der ~/.zshrc der VM wurde von Claude nicht selbst geprüft.

Auf Anweisung des Nutzers geschlossen. Umgesetzt in PR #45 (`567278b`): `IRIS_BEARER_TOKEN` hat Vorrang vor dem Schlüsselbund. Der Lauf von `iris-claude.sh` mit Token in der `~/.zshrc` der VM wurde von Claude nicht selbst geprüft.
alf closed this issue 2026-10-13 20:33:49 +00:00
Author
Owner

PR #161 gemergt: chore(terminal-scripts): Bundle-Kopie von iris-agent-common.sh auf Bearer-Token-Umgebungsvariablen-Stand gebracht (alf/2ndbrain#44)
iris/Iris#161

Commits:

  • chore(terminal-scripts): Bundle-Kopie von iris-agent-common.sh auf Bearer-Token-Umgebungsvariablen-Stand gebracht (alf/2ndbrain#44)

Befund: alf/2ndbrain#44 (gemergt als 567278b) hat tools/iris-agent-common.sh so geändert, dass IRIS_BEARER_TOKEN aus der Umgebung Vorrang vor dem Schlüsselbund hat — in SSH-Sitzungen ist der Login-Keychain gesperrt, die Skripte meldeten dann irreführend „Kein Bearer-Token im Schlüsselbund". Die inhaltlich identische Kopie im App-Bundle, Iris/Resources/tools/iris-agent-common.sh, war dabei übersehen worden und stand noch auf dem alten Stand. check-marketplace-page-sync prüft nur die Swift-/Marktplatz-Kopien, nicht tools/, deshalb war das nicht aufgefallen.

Geändert: Bundle-Kopie auf den Stand der Wurzel-Datei gebracht (Umgebungsvariable vor Schlüsselbund, Fehlermeldung nennt beide Quellen). Inhaltlich identisch zu tools/iris-agent-common.sh, keine eigene Idee.

Geprüft: Datei ist byte-identisch zur Wurzel-Kopie (diff leer); bash -n ok.

Nicht geprüft: Kein Lauf der gebündelten Skripte aus einer gebauten Iris.app mit gesetztem IRIS_BEARER_TOKEN — die Änderung ist 3 Zeilen und entspricht exakt dem in #44 diskutierten Stand.

Grenzen: Rein textlicher Nachzug; das Verhalten der Wurzel-Skripte ist unverändert. Offen bleibt, ob tools/*.sh-Kopien in einen Sync-Prüfer aufgenommen werden — separates Thema.

PR #161 gemergt: chore(terminal-scripts): Bundle-Kopie von iris-agent-common.sh auf Bearer-Token-Umgebungsvariablen-Stand gebracht (alf/2ndbrain#44) https://forgejo.lewerken.duckdns.org/iris/Iris/pulls/161 Commits: - chore(terminal-scripts): Bundle-Kopie von iris-agent-common.sh auf Bearer-Token-Umgebungsvariablen-Stand gebracht (alf/2ndbrain#44) --- **Befund:** `alf/2ndbrain#44` (gemergt als `567278b`) hat `tools/iris-agent-common.sh` so geändert, dass `IRIS_BEARER_TOKEN` aus der Umgebung Vorrang vor dem Schlüsselbund hat — in SSH-Sitzungen ist der Login-Keychain gesperrt, die Skripte meldeten dann irreführend „Kein Bearer-Token im Schlüsselbund". Die inhaltlich identische Kopie im App-Bundle, `Iris/Resources/tools/iris-agent-common.sh`, war dabei übersehen worden und stand noch auf dem alten Stand. `check-marketplace-page-sync` prüft nur die Swift-/Marktplatz-Kopien, nicht `tools/`, deshalb war das nicht aufgefallen. **Geändert:** Bundle-Kopie auf den Stand der Wurzel-Datei gebracht (Umgebungsvariable vor Schlüsselbund, Fehlermeldung nennt beide Quellen). Inhaltlich identisch zu `tools/iris-agent-common.sh`, keine eigene Idee. **Geprüft:** Datei ist byte-identisch zur Wurzel-Kopie (`diff` leer); `bash -n` ok. **Nicht geprüft:** Kein Lauf der gebündelten Skripte aus einer gebauten Iris.app mit gesetztem `IRIS_BEARER_TOKEN` — die Änderung ist 3 Zeilen und entspricht exakt dem in #44 diskutierten Stand. **Grenzen:** Rein textlicher Nachzug; das Verhalten der Wurzel-Skripte ist unverändert. Offen bleibt, ob `tools/*.sh`-Kopien in einen Sync-Prüfer aufgenommen werden — separates Thema.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
alf/2ndbrain#44
No description provided.