Merge main
This commit is contained in:
@@ -203,12 +203,14 @@ other language mirrors the English files under a locale folder.
|
||||
| Korean | `ko/` | `ko` |
|
||||
| Polish | `pl/` | `pl` |
|
||||
| French | `fr/` | `fr` |
|
||||
| German | `de/` | `de` |
|
||||
| Japanese | `ja/` | `ja` |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The **content folder** uses the lowercase locale key (`zh-cn`, `pt-br`); the
|
||||
> **sidebar `translations`** key uses the BCP-47 language tag (`zh-CN`, `pt-BR`).
|
||||
> They look similar but are not interchangeable — Starlight resolves them with
|
||||
> different rules. Everything else (`uk`, `es`, `ko`, `pl`, `fr`, `en`) is identical
|
||||
> different rules. Everything else (`uk`, `es`, `ko`, `pl`, `fr`, `de`, `ja`, `en`) is identical
|
||||
> in both columns.
|
||||
|
||||
This locale set is mirrored in the website at
|
||||
@@ -230,6 +232,7 @@ content/docs/
|
||||
ko/install.mdx # Korean
|
||||
pl/install.mdx # Polish
|
||||
fr/install.mdx # French
|
||||
ja/install.mdx # Japanese
|
||||
|
||||
guides/tunnels.mdx # nested English page
|
||||
uk/guides/tunnels.mdx # its Ukrainian translation
|
||||
@@ -266,7 +269,9 @@ to each section and item in `sidebar.config.json`:
|
||||
"pt-BR": "Comece aqui",
|
||||
"ko": "여기서 시작",
|
||||
"pl": "Zacznij tutaj",
|
||||
"fr": "Commencer ici"
|
||||
"fr": "Commencer ici",
|
||||
"de": "Hier starten",
|
||||
"ja": "ここから開始"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -279,7 +284,9 @@ to each section and item in `sidebar.config.json`:
|
||||
"pt-BR": "Instalação",
|
||||
"ko": "설치",
|
||||
"pl": "Instalacja",
|
||||
"fr": "Installation"
|
||||
"fr": "Installation",
|
||||
"de": "Installation",
|
||||
"ja": "インストール"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Agent Control Tool
|
||||
description: Let an agent manage OpenChamber sessions, worktrees, and scheduled tasks from chat.
|
||||
---
|
||||
|
||||
# Agent Control Tool
|
||||
|
||||
Use the `openchamber` agent tool to manage work in the app directly from chat. It is enabled by default when OpenChamber runs its own local OpenCode server; there is no separate tool to install or shell command to run.
|
||||
|
||||
## What you can ask
|
||||
|
||||
Ask the agent in plain language. For example:
|
||||
|
||||
- "Create a new OpenChamber session in this project, use the `openai/gpt-5.6-sol` model, and send it this prompt: review the authentication flow."
|
||||
- "Create a new OpenChamber session for this task in a separate worktree, and ask it to add tests for the login flow."
|
||||
- "Use OpenChamber to list my 10 most recent sessions and include their current status."
|
||||
- "Create an OpenChamber scheduled task named Weekday review that sends this prompt at 09:00 every weekday: review changes since the last run."
|
||||
- "Run the OpenChamber scheduled task named Weekday review now."
|
||||
- "Check the OpenChamber session named Authentication review and show me its latest assistant response."
|
||||
|
||||
The tool can list projects and model preferences, create and follow up on sessions, fork a session, create isolated worktree sessions, and manage scheduled tasks. Sessions started this way appear in OpenChamber like any other session, so you can open them and continue the work yourself.
|
||||
|
||||
## Keep in mind
|
||||
|
||||
- New session prompts return immediately by default. Follow the session in OpenChamber, or ask the agent to check it later.
|
||||
- A separate worktree is only created when you ask for one. Uncommitted changes from your current worktree are not copied into it.
|
||||
- The tool cannot delete sessions or worktrees, register project paths, run arbitrary shell commands, or call arbitrary URLs.
|
||||
|
||||
## Turn the tool on or off
|
||||
|
||||
Open **Settings → General → OpenChamber Tools** and change **Agent control tool**. The setting applies once the managed OpenCode server restarts, which OpenChamber offers as **Apply & Restart**.
|
||||
|
||||
The tool is not available when OpenChamber connects to an external OpenCode server through `OPENCODE_HOST` or skip-start, or inside the VS Code extension. Desktop and web installations that use OpenChamber's managed OpenCode server support it automatically.
|
||||
|
||||
## Related
|
||||
|
||||
- [Scheduled Tasks](/scheduled-tasks/)
|
||||
- [Worktree Sessions](/worktrees/)
|
||||
- [Session Goals](/session-goals/)
|
||||
- [Browser Panel](/desktop-browser/) — the OpenChamber Web tool, for looking at and driving a page
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Connect a Device
|
||||
description: Pair your phone, desktop, or another browser with your OpenChamber server using a one-time QR code.
|
||||
---
|
||||
|
||||
# Connect a Device
|
||||
|
||||
Pair another device — the mobile app, the desktop app, or a browser on another machine — with your OpenChamber server by scanning a one-time QR code. This is the recommended way to connect devices; there are no ports to open and no addresses to type.
|
||||
|
||||
## Pair a device
|
||||
|
||||
1. On the machine running OpenChamber, open **Settings → Remote Instances → Connect to this server** and press **Add a device**.
|
||||
2. Give the device a name (e.g. *My iPhone*) so you can recognize it later.
|
||||
3. Pick where you'll use the device:
|
||||
- **This computer only** — for apps running on this same machine
|
||||
- **Home network only** — connects directly over your Wi-Fi; does not work away from this network
|
||||
- **Anywhere** — works at home and away; away traffic goes through the [Private Relay](/private-relay/), an end-to-end encrypted tunnel with no setup needed
|
||||
4. Press **Create QR code**.
|
||||
5. On the other device, scan the code:
|
||||
- **mobile app** — tap **Scan QR code** on the connect screen (or in the instances list)
|
||||
- **desktop app** — copy the connection link instead and paste it in **Settings → Remote Instances → Other OpenChamber servers → Import Link**
|
||||
|
||||
The dialog closes on its own as soon as the device connects, and the device appears in the list with a live status. That's it — you're paired.
|
||||
|
||||
## How pairing stays safe
|
||||
|
||||
- **The QR code is single-use.** It stops working the moment a device redeems it, and it expires on its own if never used.
|
||||
- **Each device gets its own token.** Scanning a code never exposes your UI password, and one device's token can't be used to impersonate another.
|
||||
- **You stay in control.** Every paired device is listed with its name, platform, and connection status — revoke any of them at any time.
|
||||
- **Away-from-home traffic is end-to-end encrypted.** With **Anywhere**, traffic outside your network rides the [Private Relay](/private-relay/), which cannot read what passes through it.
|
||||
|
||||
## Manage paired devices
|
||||
|
||||
**Settings → Remote Instances → Connect to this server** lists every device that can reach this server, with a green dot when it's online and whether it's connected over the local network or the relay.
|
||||
|
||||
- **Revoke** cuts a device off immediately. Pair it again with a new QR code if you change your mind.
|
||||
- **Clear revoked** tidies up the list.
|
||||
|
||||
The same physical device keeps one entry even if it signs in again later — you won't collect duplicates.
|
||||
|
||||
## Connect from the command line
|
||||
|
||||
If the server runs headless (no UI open), create a connection link from a terminal on that machine.
|
||||
|
||||
For a device on the same network:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --qr
|
||||
```
|
||||
|
||||
For a device that should connect from **anywhere** — the equivalent of picking **Anywhere** in the dialog:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --relay --qr
|
||||
```
|
||||
|
||||
A `--relay` link carries both routes, just like the dialog: the device connects directly over your local network when it can reach the server, and falls back to the [Private Relay](/private-relay/) when away. The relay starts on its own: a running instance picks the link up within a minute, a stopped one on its next launch.
|
||||
|
||||
> The direct route only works if the server actually listens on your network. By default OpenChamber listens on the machine itself only — start it with `--lan` to make it reachable over Wi-Fi. The command warns you (`[LAN_UNREACHABLE]`) when the link's direct route won't be usable from other devices; a `--relay` link still works then, just always through the relay.
|
||||
|
||||
The printed link and QR code work exactly like the ones from the settings dialog — single-use, expiring, revocable.
|
||||
|
||||
## Related
|
||||
|
||||
- [Private Relay](/private-relay/) — how "Anywhere" connections work and what the relay can and cannot see
|
||||
- [Mobile Apps](/mobile/) — install the iOS or Android app
|
||||
- [Remote Instances](/remote-instances/) — connect the desktop app to servers over SSH or links
|
||||
- [Remote access](/troubleshooting/remote-access/) — when a device won't connect
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Agent-Steuerungswerkzeug
|
||||
description: Lass einen Agenten OpenChamber-Sitzungen, Worktrees und geplante Aufgaben direkt aus dem Chat verwalten.
|
||||
---
|
||||
|
||||
# Agent-Steuerungswerkzeug
|
||||
|
||||
Verwende das Agentenwerkzeug `openchamber`, um Arbeit in der App direkt aus dem Chat zu verwalten. Es ist standardmäßig aktiviert, wenn OpenChamber seinen eigenen lokalen OpenCode-Server ausführt; du musst kein separates Werkzeug installieren und keinen Shell-Befehl ausführen.
|
||||
|
||||
## Was du anfragen kannst
|
||||
|
||||
Sprich einfach in natürlicher Sprache mit dem Agenten. Zum Beispiel:
|
||||
|
||||
- "Erstelle in diesem Projekt eine neue OpenChamber-Sitzung, verwende das Modell `openai/gpt-5.6-sol` und sende ihr diese Aufforderung: überprüfe den Authentifizierungsfluss."
|
||||
- "Erstelle für diese Aufgabe eine neue OpenChamber-Sitzung in einem separaten Worktree und bitte sie, Tests für den Login-Fluss hinzuzufügen."
|
||||
- "Verwende OpenChamber, um meine 10 neuesten Sitzungen aufzulisten und ihren aktuellen Status anzuzeigen."
|
||||
- "Erstelle eine geplante OpenChamber-Aufgabe mit dem Namen Weekday review, die diese Aufforderung werktags um 09:00 sendet: review changes since the last run."
|
||||
- "Führe die geplante OpenChamber-Aufgabe mit dem Namen Weekday review jetzt aus."
|
||||
- "Prüfe die OpenChamber-Sitzung mit dem Namen Authentication review und zeige mir die neueste Antwort des Assistenten."
|
||||
|
||||
Das Werkzeug kann Projekte und Modelleinstellungen auflisten, Sitzungen erstellen und weiterführen, eine Sitzung forken, isolierte Worktree-Sitzungen erstellen und geplante Aufgaben verwalten. Auf diese Weise gestartete Sitzungen erscheinen in OpenChamber wie jede andere Sitzung auch, sodass du sie öffnen und die Arbeit selbst fortsetzen kannst.
|
||||
|
||||
## Beachten
|
||||
|
||||
- Neue Sitzungsaufforderungen kehren standardmäßig sofort zurück. Verfolge die Sitzung in OpenChamber oder bitte den Agenten, sie später noch einmal zu prüfen.
|
||||
- Ein separater Worktree wird nur erstellt, wenn du ausdrücklich danach fragst. Nicht-committete Änderungen aus deinem aktuellen Worktree werden nicht dorthin kopiert.
|
||||
- Das Werkzeug kann keine Sitzungen oder Worktrees löschen, keine Projektpfade registrieren, keine beliebigen Shell-Befehle ausführen und keine beliebigen URLs aufrufen.
|
||||
|
||||
## Werkzeug ein- oder ausschalten
|
||||
|
||||
Öffne **Einstellungen → Allgemein → OpenChamber-Werkzeuge** und ändere **Agent control tool**. Die Einstellung gilt, sobald der verwaltete OpenCode-Server neu startet — OpenChamber bietet das als **Apply & Restart** an.
|
||||
|
||||
Das Werkzeug ist nicht verfügbar, wenn OpenChamber über `OPENCODE_HOST` oder skip-start mit einem externen OpenCode-Server verbunden ist oder innerhalb der VS-Code-Erweiterung läuft. Desktop- und Web-Installationen, die den verwalteten OpenCode-Server von OpenChamber verwenden, unterstützen es automatisch.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Geplante Aufgaben](/scheduled-tasks/)
|
||||
- [Worktree-Sitzungen](/worktrees/)
|
||||
- [Sitzungsziele](/session-goals/)
|
||||
- [Browser-Panel](/desktop-browser/) — das OpenChamber-Web-Werkzeug, um eine Seite anzusehen und zu bedienen
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Befehle & Snippets
|
||||
description: Wiederverwendbare Slash-Befehle und Text-Snippets für den Chat erstellen.
|
||||
---
|
||||
|
||||
# Befehle & Snippets
|
||||
|
||||
Sowohl Befehle als auch Snippets ersparen dir das wiederholte Tippen derselben Dinge. Befehle sind ganze Prompts, die du mit `/` aufrufst; Snippets sind Textbausteine, die du mit `#` in eine Nachricht einfügst.
|
||||
|
||||
## Befehle
|
||||
|
||||
Ein Befehl ist ein gespeicherter Prompt, den du mit einem Slash aufrufst, etwa `/review`. Du verwaltest ihn unter **Einstellungen → Befehle**.
|
||||
|
||||
1. Öffne **Einstellungen → Befehle** und erstelle einen Befehl.
|
||||
2. Gib ihm einen Namen, eine Beschreibung und den Prompt-Text, den er senden soll.
|
||||
3. Optional kannst du ihn an einen bestimmten Agenten oder ein Modell binden.
|
||||
4. Wähle den Geltungsbereich: persönlich oder projektbezogen.
|
||||
|
||||
Gib im Chat als **erstes** Zeichen der Nachricht `/` ein, um Befehle anzuzeigen, und wähle dann einen aus. Dein Text kann Platzhalter verwenden:
|
||||
|
||||
- `$ARGUMENTS` — alles, was du nach dem Befehl eingibst
|
||||
- `@filename` — fügt den Inhalt einer Datei ein
|
||||
- `` !`command` `` — fügt die Ausgabe eines Shell-Befehls ein
|
||||
|
||||
Die eingebauten Befehle `init` und `review` können zurückgesetzt, aber nicht gelöscht werden.
|
||||
|
||||
## Snippets
|
||||
|
||||
Ein Snippet ist wiederverwendbarer Text, auf den du inline mit einer Raute verweist, zum Beispiel `#signoff`. Du verwaltest ihn unter **Einstellungen → Snippets**.
|
||||
|
||||
1. Öffne **Einstellungen → Snippets** und erstelle ein Snippet.
|
||||
2. Gib ihm einen Namen und den Text, für den es steht. Füge Aliase hinzu, wenn du mehr als einen Auslöser möchtest.
|
||||
3. Wähle den persönlichen oder projektbezogenen Geltungsbereich.
|
||||
|
||||
Gib im Chat `#` ein und wähle ein Snippet aus. OpenChamber ersetzt es vor dem Senden durch den vollständigen Text.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Skills](/skills/) — größere Anweisungssätze bei Bedarf laden
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Ein Gerät verbinden
|
||||
description: Kopple dein Telefon, deinen Desktop oder einen anderen Browser mit deinem OpenChamber-Server über einen einmaligen QR-Code.
|
||||
---
|
||||
|
||||
# Ein Gerät verbinden
|
||||
|
||||
Kopple ein weiteres Gerät — die Mobile App, die Desktop-App oder einen Browser auf einem anderen Rechner — mit deinem OpenChamber-Server, indem du einen einmaligen QR-Code scannst. Das ist der empfohlene Weg, Geräte zu verbinden; du musst keine Ports öffnen und keine Adressen eintippen.
|
||||
|
||||
## Gerät koppeln
|
||||
|
||||
1. Öffne auf dem Rechner mit OpenChamber **Settings → Remote Instances → Connect to this server** und drücke **Add a device**.
|
||||
2. Gib dem Gerät einen Namen (z. B. *Mein iPhone*), damit du es später wiedererkennst.
|
||||
3. Wähle, wo du das Gerät nutzen wirst:
|
||||
- **This computer only** — für Apps, die auf genau diesem Rechner laufen
|
||||
- **Home network only** — verbindet sich direkt über dein WLAN; funktioniert außerhalb dieses Netzwerks nicht
|
||||
- **Anywhere** — funktioniert zu Hause und unterwegs; Daten außerhalb deines Netzwerks laufen über das [Private Relay](/private-relay/), ein Ende-zu-Ende-verschlüsselter Tunnel ohne zusätzliche Einrichtung
|
||||
4. Drücke **Create QR code**.
|
||||
5. Scanne den Code auf dem anderen Gerät:
|
||||
- **mobile app** — tippe auf dem Verbindungsbildschirm (oder in der Instanzliste) auf **Scan QR code**
|
||||
- **desktop app** — kopiere stattdessen den Verbindungslink und füge ihn unter **Settings → Remote Instances → Other OpenChamber servers → Import Link** ein
|
||||
|
||||
Der Dialog schließt sich von selbst, sobald das Gerät verbunden ist, und das Gerät erscheint mit Live-Status in der Liste. Das war’s — die Kopplung ist abgeschlossen.
|
||||
|
||||
## So bleibt die Kopplung sicher
|
||||
|
||||
- **Der QR-Code ist nur einmal verwendbar.** Er funktioniert in dem Moment nicht mehr, in dem ein Gerät ihn einlöst, und läuft von selbst ab, wenn er nie benutzt wird.
|
||||
- **Jedes Gerät erhält sein eigenes Token.** Beim Scannen wird niemals dein UI-Passwort offengelegt, und das Token eines Geräts kann nicht verwendet werden, um sich als ein anderes auszugeben.
|
||||
- **Du behältst die Kontrolle.** Jedes gekoppelte Gerät wird mit Name, Plattform und Verbindungsstatus angezeigt — du kannst jedes davon jederzeit widerrufen.
|
||||
- **Verkehr von unterwegs ist Ende-zu-Ende verschlüsselt.** Bei **Anywhere** läuft Verkehr außerhalb deines Netzwerks über das [Private Relay](/private-relay/), das nicht lesen kann, was hindurchläuft.
|
||||
|
||||
## Gekoppelte Geräte verwalten
|
||||
|
||||
**Settings → Remote Instances → Connect to this server** listet jedes Gerät, das diesen Server erreichen kann, mit einem grünen Punkt, wenn es online ist, und zeigt an, ob es über das lokale Netzwerk oder das Relay verbunden ist.
|
||||
|
||||
- **Revoke** trennt ein Gerät sofort. Kopple es mit einem neuen QR-Code erneut, wenn du es dir anders überlegst.
|
||||
- **Clear revoked** räumt die Liste auf.
|
||||
|
||||
Dasselbe physische Gerät bleibt nur in einem Eintrag, auch wenn es sich später erneut anmeldet — du sammelst keine Duplikate an.
|
||||
|
||||
## Über die Kommandozeile verbinden
|
||||
|
||||
Wenn der Server ohne UI läuft (also headless), erstelle einen Verbindungslink in einem Terminal auf diesem Rechner.
|
||||
|
||||
Für ein Gerät im selben Netzwerk:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --qr
|
||||
```
|
||||
|
||||
Für ein Gerät, das sich von **überall** verbinden soll — das entspricht der Wahl von **Anywhere** im Dialog:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --relay --qr
|
||||
```
|
||||
|
||||
Ein `--relay`-Link enthält beide Routen, genau wie der Dialog: Das Gerät verbindet sich direkt über dein lokales Netzwerk, wenn es den Server erreichen kann, und fällt auf das [Private Relay](/private-relay/) zurück, wenn es unterwegs ist. Das Relay startet von selbst: Eine laufende Instanz übernimmt den Link innerhalb einer Minute, eine gestoppte Instanz beim nächsten Start.
|
||||
|
||||
> Die direkte Route funktioniert nur, wenn der Server tatsächlich im Netzwerk lauscht. Standardmäßig lauscht OpenChamber nur auf dem Rechner selbst — starte es mit `--lan`, damit es über WLAN erreichbar ist. Der Befehl warnt dich (`[LAN_UNREACHABLE]`), wenn die direkte Route des Links von anderen Geräten nicht nutzbar ist; ein `--relay`-Link funktioniert dann trotzdem, nur immer über das Relay.
|
||||
|
||||
Der ausgegebene Link und QR-Code funktionieren genau wie die aus dem Einstellungsdialog — nur einmal verwendbar, mit Ablaufzeit und widerrufbar.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Private Relay](/private-relay/) — wie "Anywhere"-Verbindungen funktionieren
|
||||
- [Mobile Apps](/mobile/) — die iOS- oder Android-App installieren
|
||||
- [Remote Instances](/remote-instances/) — die Desktop-App per SSH oder Link mit Servern verbinden
|
||||
- [Remote access](/troubleshooting/remote-access/) — wenn sich ein Gerät nicht verbinden kann
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Kontext
|
||||
description: Sieh, wie viel des Modellgedächtnisses eine Session verwendet.
|
||||
---
|
||||
|
||||
# Kontext
|
||||
|
||||
Jedes Modell kann immer nur so viel von einer Unterhaltung gleichzeitig halten — seinen Kontext. OpenChamber zeigt dir, wie voll er ist, damit du erkennst, wenn eine Session an die Grenze kommt und eine Antwort vielleicht ältere Details fallen lässt.
|
||||
|
||||
## Die schnelle Anzeige
|
||||
|
||||
Während du chattest, zeigt eine kleine Anzeige den prozentualen Kontextverbrauch. Die Farbe ändert sich, während er voller wird:
|
||||
|
||||
- grün — noch reichlich Platz
|
||||
- gelb — wird voll (etwa drei Viertel)
|
||||
- rot — fast voll
|
||||
|
||||
Bewege den Mauszeiger darüber (oder tippe sie auf dem Handy an), um die genauen Token-Zahlen zu sehen.
|
||||
|
||||
## Das vollständige Kontext-Panel
|
||||
|
||||
Öffne den Tab **Kontext** in der rechten Seitenleiste für ein vollständigeres Bild der aktuellen Session:
|
||||
|
||||
- das verwendete Modell und wann die Session gestartet wurde
|
||||
- Gesamtzahl der Tokens im Verhältnis zum Limit des Modells
|
||||
- Gesamtzahlen für Nachrichten und Kosten
|
||||
- eine Aufschlüsselung der Token der letzten Antwort
|
||||
- eine grobe Aufteilung dessen, was den Kontext belegt (deine Nachrichten, die des Agenten, Tool-Ausgaben)
|
||||
|
||||
Die Aufschlüsselung ist eine Schätzung, keine exakte Zahl — nutze sie, um zu erkennen, was das Fenster füllt, nicht für die Abrechnung.
|
||||
|
||||
## Was tun, wenn es voll ist
|
||||
|
||||
Starte für eine neue Aufgabe eine frische Session, statt eine Session endlos wachsen zu lassen. Ein kürzerer Kontext ist schneller und hält das Modell fokussiert.
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Projekte](/projects/) — Sessions werden pro Projekt gruppiert
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: Browser-Panel
|
||||
description: Öffne jede Seite in der App, annotiere sie und lass den Agenten sie bedienen.
|
||||
---
|
||||
|
||||
# Browser-Panel
|
||||
|
||||
Das Browser-Panel öffnet jede Seite direkt neben deinem Chat. Öffne es über die Globus-Schaltfläche in der Kopfzeile.
|
||||
|
||||
In der Desktop-App ist es ein echter Browser: Deine Logins bleiben erhalten, Hot Reload funktioniert, und die Entwicklerwerkzeuge sind einen Klick entfernt. In einem Browser-Tab zeigt das Panel eine Seite zwar an, kann aber nicht in sie hineinsehen — die Annotationswerkzeuge unten gibt es nur auf dem Desktop.
|
||||
|
||||
Seiten, die hier geöffnet werden, bekommen keinen Zugriff auf Kamera, Mikrofon oder Standort: solche Anfragen werden abgelehnt.
|
||||
|
||||
## Die Werkzeugleiste
|
||||
|
||||
Die Adressleiste merkt sich Seiten, die du in diesem Projekt geöffnet hast, und schlägt sie beim Tippen vor — passend zu einem Teil der Adresse oder des Seitentitels. Mit den Pfeiltasten gehst du durch die Liste, Enter öffnet den markierten Eintrag, und die Schaltfläche in einer Zeile entfernt ihn.
|
||||
|
||||
Daneben liegt **Neu laden**, dazu ein **hartes Neuladen**, das den Cache übergeht, wenn eine Änderung partout nicht erscheint, sowie eine Zoomsteuerung, die nur die Seite skaliert.
|
||||
|
||||
**Cookies löschen** und **Zwischengespeicherte Daten löschen** gelten allein für dieses Panel. Deine OpenChamber-Sitzung und andere Fenster bleiben unberührt.
|
||||
|
||||
## Eine Seite annotieren
|
||||
|
||||
Drücke **Annotieren**, und über der Seite erscheint eine Leiste mit drei Werkzeugen:
|
||||
|
||||
- **Element** — klicke ein Element an. Ein Klick auf ein anderes verschiebt die Auswahl, ein erneuter Klick auf dasselbe hebt sie auf.
|
||||
- **Bereich** — ziehe einen Rahmen um einen Ausschnitt, wenn es um mehr als ein Element geht.
|
||||
- **Zeichnen** — skizziere frei über die Seite.
|
||||
|
||||
Schreib dein Anliegen in das Feld neben deiner Markierung und drücke **Anhängen** — oder einfach Enter. Deine Chat-Nachricht bekommt eine Karte mit allem Markierten, deiner Notiz und einem Screenshot der sichtbaren Seite mit deinen Markierungen darauf — du kannst also „dieser Button, etwas runder" sagen, statt zu beschreiben, wo er steht.
|
||||
|
||||
Die Seite selbst wird nie verändert — Annotieren markiert nur, was da ist. `Esc` bricht ab und schließt die Leiste.
|
||||
|
||||
## Den Agenten steuern lassen
|
||||
|
||||
Der Agent kann das Browser-Panel selbst benutzen — eine Seite öffnen, lesen, was darauf steht, klicken, tippen, scrollen und zwischen mobiler, Tablet- und Desktop-Ansicht wechseln — um seine eigene Arbeit zu prüfen, statt dich darum zu bitten. Du siehst es im Panel passieren.
|
||||
|
||||
Beliebigen Code kann der Agent auf der Seite nicht ausführen. Der Browser behält deine echten Logins, deshalb bleibt er auf die genannten Aktionen beschränkt.
|
||||
|
||||
Er kann außerdem ein Bild dessen, was er sieht, in `.openchamber/screenshots/` in deinem Projekt speichern und es dir in seiner Antwort zeigen. Genau das macht ein Vorher-Nachher möglich, und die Datei bleibt danach liegen, um sie an einen Pull Request zu hängen.
|
||||
|
||||
Die Browser-Aktionen sind das **OpenChamber-Web-Werkzeug**, das sich unter **Einstellungen → Allgemein → OpenChamber-Werkzeuge** einzeln ein- und ausschalten lässt.
|
||||
|
||||
Dafür braucht es die Desktop-App: eine Seite in einem Browser-Tab lässt sich nicht steuern.
|
||||
|
||||
## Entwicklerwerkzeuge
|
||||
|
||||
Drücke die Terminal-Schaltfläche in der Leiste, um Chromiums eigene Entwicklerwerkzeuge für die Seite zu öffnen — Konsole, Netzwerk, Elemente, alles Gewohnte.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Vorschau & Dev-Server](/preview/) — deine laufende App öffnen, auch auf einem entfernten Rechner
|
||||
- [Agenten-Steuerungswerkzeug](/agent-control-tool/) — Sitzungen, Worktrees und geplante Aufgaben aus dem Chat
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Desktop-Tunnel
|
||||
description: Erstelle Cloudflare- oder Ngrok-Tunnel aus der Desktop-App.
|
||||
---
|
||||
|
||||
# Desktop-Tunnel
|
||||
|
||||
Die Desktop-App kann unter **Settings → OpenChamber → Tunnel** einen öffentlichen Tunnel erstellen. Für diesen Weg musst du OpenChamber nicht per CLI starten.
|
||||
|
||||
## Anbieter installieren
|
||||
|
||||
OpenChamber startet das Provider-CLI auf deinem Rechner. Installiere zuerst den Anbieter, den du verwenden möchtest:
|
||||
|
||||
```bash
|
||||
brew install cloudflared
|
||||
brew install ngrok
|
||||
```
|
||||
|
||||
Cloudflare verwendet `cloudflared`. Ngrok benötigt ein ngrok-Konto und ein Authtoken aus dem ngrok-Dashboard:
|
||||
|
||||
```bash
|
||||
ngrok config add-authtoken <your-ngrok-token>
|
||||
```
|
||||
|
||||
## In der App starten
|
||||
|
||||
1. Öffne **Settings → OpenChamber → Tunnel**.
|
||||
2. Wähle **Cloudflare** oder **Ngrok**.
|
||||
3. Starte einen Quick Tunnel.
|
||||
4. Scanne den erzeugten QR-Code mit deinem Telefon.
|
||||
|
||||
Ngrok unterstützt derzeit Quick Tunnels. Cloudflare unterstützt Quick Tunnels und verwaltete Cloudflare-Modi.
|
||||
|
||||
## Zugriffsschutz
|
||||
|
||||
Auch wenn die Anbieter-URL selbst öffentlich ist, schützt OpenChamber den Zugriff weiterhin mit seinem eigenen Verbindungs-Token. Der erzeugte Verbindungslink enthält ein Einmal-Token, hat eine TTL, und alte unbenutzte Links werden widerrufen, wenn du einen neuen erzeugst oder den Tunnel stoppst bzw. neu startest.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Tunnels](/tunnels/) — Tunnel-Nutzung per CLI und verwaltete Cloudflare-Modi
|
||||
- [PWA & Mobile](/mobile/) — OpenChamber vom Telefon aus erreichen
|
||||
@@ -0,0 +1,138 @@
|
||||
---
|
||||
title: Umgebungsvariablen
|
||||
description: Konfiguriere die OpenChamber- und OpenCode-Integration mit Umgebungsvariablen.
|
||||
---
|
||||
|
||||
# Umgebungsvariablen
|
||||
|
||||
OpenChamber liest diese Umgebungsvariablen beim Start. Für Startdienste speichert `openchamber startup enable` die aktuelle Umgebung standardmäßig als Schnappschuss, also führe den Befehl nach Änderungen an den Variablen, die der Dienst verwenden soll, erneut aus.
|
||||
|
||||
## OpenChamber-Server
|
||||
|
||||
### `OPENCHAMBER_HOST`
|
||||
|
||||
Bind-Adresse für den OpenChamber-Webserver. Verwende `0.0.0.0`, um Zugriff von anderen Maschinen zu erlauben.
|
||||
|
||||
### `OPENCHAMBER_UI_PASSWORD`
|
||||
|
||||
Passwort für die Browser-Oberfläche. Verwende es, wenn du außerhalb von localhost bindest, Tunnels nutzt oder hinter einem Reverse Proxy läufst.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Startet OpenChamber im Headless-Modus, wenn auf `true` oder `1` gesetzt. API-Routen bleiben für Desktop- und Mobile-Clients verfügbar, aber die Browser-Oberfläche wird nicht ausgeliefert.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Überschreibt das OpenChamber-Datenverzeichnis. Standard ist `~/.config/openchamber`.
|
||||
|
||||
### `OPENCHAMBER_COMPRESS_API`
|
||||
|
||||
Steuert die Komprimierung von API-Antworten. Verwende `true` oder `1`, um sie zu erzwingen, und `false` oder `0`, um sie zu deaktivieren.
|
||||
|
||||
### `OPENCHAMBER_SKIP_API_COMPRESSION`
|
||||
|
||||
Deaktiviert die Komprimierung von API-Antworten, wenn auf `true` oder `1` gesetzt. Das hat Vorrang vor `OPENCHAMBER_COMPRESS_API`.
|
||||
|
||||
### `OPENCHAMBER_VERBOSE_REQUEST_LOGS`
|
||||
|
||||
Aktiviert ausführliche HTTP-Request-Logs, wenn auf `true` oder `1` gesetzt.
|
||||
|
||||
### `OPENCHAMBER_UPDATE_API_URL`
|
||||
|
||||
Überschreibt den API-Endpunkt für Update-Prüfungen. Die meisten Nutzer sollten das nicht setzen.
|
||||
|
||||
### `OPENCHAMBER_PACKAGE_MANAGER`
|
||||
|
||||
Erzwingt den Paketmanager, den Update-Operationen verwenden, wenn die automatische Erkennung falsch liegt.
|
||||
|
||||
## OpenCode-Server
|
||||
|
||||
### `OPENCODE_HOST`
|
||||
|
||||
Verbindet OpenChamber mit einem vorhandenen OpenCode-Server. Der Wert muss ein `http`- oder `https`-Origin mit explizitem Port und ohne Pfad, Query oder Hash sein. `OPENCODE_HOST` hat Vorrang vor `OPENCODE_PORT`.
|
||||
|
||||
### `OPENCODE_PORT`
|
||||
|
||||
Legt den Port des OpenCode-Servers fest. Bei verwaltetem OpenCode fordert dies den verwalteten Port an; mit `OPENCODE_SKIP_START=true` verbindet es sich mit einem externen Server auf diesem Port.
|
||||
|
||||
### `OPENCODE_SKIP_START`
|
||||
|
||||
Verhindert, dass OpenChamber einen eigenen OpenCode-Server startet, wenn auf `true` gesetzt.
|
||||
|
||||
### `OPENCHAMBER_OPENCODE_HOSTNAME`
|
||||
|
||||
Bind-Hostname für den von OpenChamber verwalteten OpenCode-Server. Standard ist `127.0.0.1`.
|
||||
|
||||
### `OPENCODE_BINARY`
|
||||
|
||||
Pfad zur ausführbaren `opencode`-Datei, die OpenChamber ausführen soll.
|
||||
|
||||
### `OPENCODE_CONFIG`
|
||||
|
||||
Pfad zu einer bestimmten OpenCode-Konfigurationsdatei.
|
||||
|
||||
### `OPENCODE_CONFIG_DIR`
|
||||
|
||||
Pfad zu einem bestimmten OpenCode-Konfigurationsverzeichnis für Agents, Skills, Snippets und Konfigurationssuche.
|
||||
|
||||
### `OPENCODE_DATA_DIR`
|
||||
|
||||
Benutzerdefiniertes Datenverzeichnis für den verwalteten OpenCode-Server.
|
||||
|
||||
### `OPENCODE_WSL_DISTRO`
|
||||
|
||||
Wählt die WSL-Distribution für die OpenCode-Integration unter Windows aus.
|
||||
|
||||
### `OPENCHAMBER_OPENCODE_WSL_DISTRO`
|
||||
|
||||
OpenChamber-spezifischer Alias zur Auswahl der WSL-Distribution. `OPENCODE_WSL_DISTRO` hat Vorrang, wenn beide gesetzt sind.
|
||||
|
||||
### `OPENCODE_JWT_SECRET`
|
||||
|
||||
Geheimnis zum Signieren von UI-Authentifizierungstokens. Verwende für dauerhafte Diensteinrichtungen einen langen, zufälligen Wert.
|
||||
|
||||
## Terminal und Git
|
||||
|
||||
### `OPENCHAMBER_TERMINAL_SHELL`
|
||||
|
||||
Shell-Executable, die OpenChamber für Terminal-Sessions verwendet.
|
||||
|
||||
### `OPENCHAMBER_GIT_BINARY`
|
||||
|
||||
Git-Executable, die OpenChamber-Git-Funktionen verwenden.
|
||||
|
||||
### `GIT_BINARY`
|
||||
|
||||
Alternative Git-Executable-Überschreibung. Bevorzuge `OPENCHAMBER_GIT_BINARY` für OpenChamber-spezifische Konfiguration.
|
||||
|
||||
### `OPENCHAMBER_GIT_READ_CACHE_TTL_MS`
|
||||
|
||||
Lebensdauer in Millisekunden für zwischengespeicherte Git-gestützte Dateilesevorgänge. Setze `0`, um diesen Cache beim Debuggen zu deaktivieren.
|
||||
|
||||
## Voice und Tunnels
|
||||
|
||||
### `OPENAI_API_KEY`
|
||||
|
||||
API-Schlüssel, den OpenChamber-Voice-Funktionen für OpenAI-kompatible Dienste verwenden.
|
||||
|
||||
### `OPENCHAMBER_ALLOW_REMOTE_OPENAI_COMPAT_URLS`
|
||||
|
||||
Erlaubt entfernte OpenAI-kompatible Basis-URLs für Voice-Funktionen, wenn auf `true` oder `1` gesetzt.
|
||||
|
||||
### `NGROK_AUTHTOKEN`
|
||||
|
||||
ngrok-Auth-Token, den OpenChamber-Tunnel-Befehle verwenden. Du kannst ngrok auch mit `ngrok config add-authtoken <token>` konfigurieren.
|
||||
|
||||
## Laufzeit-Helfer
|
||||
|
||||
### `BUN_BINARY`
|
||||
|
||||
Bun-Executable, die OpenChamber beim Starten von Daemon-Prozessen verwenden soll.
|
||||
|
||||
### `BUN_INSTALL`
|
||||
|
||||
Installationswurzel von Bun. OpenChamber verwendet sie, um `bin/bun` für Daemon-Start und Updates zu finden.
|
||||
|
||||
### `VITE_OPENCODE_URL`
|
||||
|
||||
Build-Zeit-API-Basis-URL für die mit Vite gebaute Web-App. Die meisten Nutzer sollten sie für die normale CLI- oder Desktop-Nutzung nicht setzen.
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Git-Identitäten
|
||||
description: Committe mit dem richtigen Namen und der richtigen E-Mail für jedes Repository.
|
||||
---
|
||||
|
||||
# Git-Identitäten
|
||||
|
||||
Eine Git-Identität ist der Name und die E-Mail-Adresse, mit denen deine Commits signiert werden. Wenn du zwischen privaten und Arbeits-Repos wechselst, kannst du Identitäten speichern und pro Repository die richtige anwenden, statt dich auf eine einzige globale Einstellung zu verlassen. Verwalte sie unter **Einstellungen → Git**.
|
||||
|
||||
## Eine Identität hinzufügen
|
||||
|
||||
1. Öffne **Einstellungen → Git** und wähle **New**.
|
||||
2. Gib den **name** und die **email** ein, mit denen committen werden soll.
|
||||
3. Wähle aus, wie sie sich beim Remote authentifiziert:
|
||||
- **SSH** — verweise auf einen SSH-Schlüssel
|
||||
- **token** — verwende eine gespeicherte Anmeldedaten für einen Host
|
||||
4. Gib ihr optional eine Farbe und ein Symbol, damit sie leicht zu erkennen ist.
|
||||
|
||||
Auch deine globale System-Identität wird angezeigt, allerdings nur lesbar.
|
||||
|
||||
## Eine Identität auf ein Repo anwenden
|
||||
|
||||
Das Anwenden einer Identität schreibt sie in die **lokale** Git-Konfiguration dieses Repositories — sie betrifft nur dieses Repo, nicht deine globale Einstellung. SSH-Identitäten setzen außerdem den zu verwendenden SSH-Befehl auf deinen Schlüssel; Token-Identitäten richten die Anmeldedatenspeicherung für den Host ein.
|
||||
|
||||
Du kannst Identitäten importieren, die OpenChamber aus deinen vorhandenen Git-Anmeldedaten erkennt, und sie als Token-Identitäten speichern.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Git- & GitHub-Workflows](/git/) — mit der von dir festgelegten Identität committen
|
||||
- [GitHub Issues & PRs](/github/) — ein GitHub-Konto für PRs verbinden
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Git- & GitHub-Workflows
|
||||
description: Änderungen vormerken, committen und Branches verwalten, ohne OpenChamber zu verlassen.
|
||||
---
|
||||
|
||||
# Git- & GitHub-Workflows
|
||||
|
||||
OpenChamber hat eine integrierte Git-Ansicht, damit du Änderungen prüfen, committen und Branches verwalten kannst, ohne in ein Terminal zu wechseln. Öffne sie über den **Git**-Tab in der rechten Seitenleiste.
|
||||
|
||||
## Prüfen und committen
|
||||
|
||||
Die Git-Ansicht teilt deine Änderungen in **staged** und **unstaged** auf:
|
||||
|
||||
- klicke auf das **+** einer Datei, um sie zu stage'n, oder auf **−**, um sie wieder unstaged zu machen
|
||||
- stage oder unstage ganze Gruppen auf einmal
|
||||
- klicke auf eine Datei, um ihren Diff zu sehen
|
||||
|
||||
Schreibe dann eine Commit-Nachricht und committe. Du kannst OpenChamber eine **Commit-Nachricht generieren** lassen, basierend auf deinen gestagten Änderungen — dabei wird das Modell der aktuellen Sitzung verwendet, also brauchst du eine geöffnete Sitzung.
|
||||
|
||||
## Branches und Verlauf
|
||||
|
||||
Die Git-Ansicht deckt auch den üblichen Rest von Git ab:
|
||||
|
||||
- Branches erstellen, wechseln, umbenennen und löschen
|
||||
- pushen, pullen und fetchen
|
||||
- Verlauf und Diffs pro Commit durchsuchen
|
||||
- Änderungen stashen und wiederherstellen
|
||||
|
||||
## Pull Requests
|
||||
|
||||
Verbinde GitHub (siehe [GitHub Issues & PRs](/github/)) und der **PR**-Tab lässt dich einen Pull Request öffnen, aktualisieren, als bereit markieren oder mergen — und seinen Titel und seine Beschreibung auf dieselbe Weise wie Commit-Nachrichten generieren.
|
||||
|
||||
## Konflikte übernehmen
|
||||
|
||||
Wenn ein Merge, Rebase oder Integrate auf einen Konflikt stößt, zeigt OpenChamber, was festhängt, und lässt dich es lösen — einschließlich der Übergabe an den Agenten.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [GitHub Issues & PRs](/github/) — GitHub verbinden und mit Issues mit der Arbeit beginnen
|
||||
- [Worktree-Sitzungen](/worktrees/) — einen Branch in seinem eigenen Ordner isolieren
|
||||
- [Git-Identitäten](/git-identities/) — als die richtige Person pro Repo committen
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: GitHub Issues & PRs
|
||||
description: Verbinde GitHub und starte Sitzungen aus Issues und Pull Requests.
|
||||
---
|
||||
|
||||
# GitHub Issues & PRs
|
||||
|
||||
Verbinde dein GitHub-Konto und OpenChamber kann Issues und Pull Requests einlesen, direkt daraus eine Sitzung starten und PRs für dich öffnen oder aktualisieren.
|
||||
|
||||
## GitHub verbinden
|
||||
|
||||
1. Öffne **Einstellungen → Git**.
|
||||
2. Wähle unter GitHub **Connect**. OpenChamber zeigt einen Link und einen kurzen Code an.
|
||||
3. Öffne den Link, gib den Code ein und bestätige.
|
||||
|
||||
Wenn die Verbindung steht, erscheint dein Konto im GitHub-Bereich. Du kannst mehr als ein Konto verbinden und zwischen ihnen wechseln oder dich jederzeit trennen.
|
||||
|
||||
## Arbeit aus einem Issue oder PR starten
|
||||
|
||||
Wenn du mit verbundenem GitHub eine [Worktree-Sitzung](/worktrees/) erstellst, kannst du **Start from GitHub issue/PR** wählen:
|
||||
|
||||
- wähle ein **issue** und OpenChamber benennt den Branch danach und öffnet die Sitzung mit dem Issue und seinen Kommentaren als erster Nachricht
|
||||
- wähle einen **pull request** und OpenChamber checkt den Branch des PR aus; du kannst den Diff des PR einbeziehen, damit der Agent die komplette Änderung hat
|
||||
|
||||
So landest du direkt in einer Sitzung, in der der Kontext bereits geladen ist.
|
||||
|
||||
## Pull Requests öffnen und verwalten
|
||||
|
||||
Im **PR**-Tab der [Git-Ansicht](/git/) kannst du einen Pull Request erstellen, aktualisieren, einen Entwurf als bereit markieren oder mergen. OpenChamber kann den PR-Titel und die Beschreibung aus deinen Änderungen generieren.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Git- & GitHub-Workflows](/git/) — committen und Branches verwalten
|
||||
- [Worktree-Sitzungen](/worktrees/) — dort starten Issue- und PR-Sitzungen
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: OpenChamber-Dokumentation
|
||||
description: Ein Einrichtungs- und Bedienhandbuch für OpenChamber für Web, Desktop und VS Code.
|
||||
---
|
||||
|
||||
# OpenChamber-Dokumentation
|
||||
|
||||
OpenChamber ist der visuelle Arbeitsbereich rund um OpenCode (den KI-Coding-Agenten, der in deinem Terminal läuft). Er gibt dir einen Bildschirm, auf dem du diese Arbeit beobachten und steuern kannst, statt nur auf der Befehlszeile zu arbeiten.
|
||||
|
||||
Nutze diese Doku, um:
|
||||
|
||||
- die richtige App für deine Arbeitsweise zu installieren
|
||||
- OpenChamber für den sicheren Remote-Einsatz zu öffnen
|
||||
- das Aussehen anzupassen und häufige Probleme zu beheben
|
||||
|
||||
## Lies zuerst das hier
|
||||
|
||||
- [Install](/install/)
|
||||
- [Quickstart](/quickstart/)
|
||||
- [Tunnels](/tunnels/)
|
||||
- [Troubleshooting](/troubleshooting/)
|
||||
|
||||
## Entdecken
|
||||
|
||||
- [Projects](/projects/) und [Worktree Sessions](/worktrees/) — deine Arbeit organisieren und isolieren
|
||||
- [Providers, Models & Agents](/providers/) — OpenCode verbinden und ein Modell wählen
|
||||
- [Git & GitHub Workflows](/git/) — commits erstellen, prüfen und PRs öffnen
|
||||
- [Security](/security/) und [Tunnels](/tunnels/) — deine Instanz schützen und erreichen
|
||||
|
||||
## Wofür OpenChamber gedacht ist
|
||||
|
||||
OpenChamber ist für die Teile des KI-Codings gedacht, die von einer Leitstelle profitieren: verzweigende Sessions, Diffs prüfen, Terminals verwalten, den Fortschritt von Tools beobachten, Projektaktionen ausführen und das gesamte Board sichtbar halten, während der Agent arbeitet.
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Installieren
|
||||
description: Installiere OpenChamber für Desktop, Web oder VS Code.
|
||||
---
|
||||
|
||||
# Installieren
|
||||
|
||||
Es gibt drei Möglichkeiten, OpenChamber auszuführen:
|
||||
|
||||
- Desktop-App für macOS
|
||||
- Web-App, die vom CLI gehostet wird und die du wie eine Handy-App installieren kannst (eine PWA)
|
||||
- VS-Code-Erweiterung
|
||||
|
||||
## Voraussetzung
|
||||
|
||||
Installiere zuerst [OpenCode](https://opencode.ai) — OpenChamber läuft darauf auf.
|
||||
|
||||
## Web + PWA
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/openchamber/openchamber/main/scripts/install.sh | bash
|
||||
openchamber --ui-password be-creative-here
|
||||
```
|
||||
|
||||
Öffne die URL, die das CLI ausgibt (normalerweise `http://localhost:3000`). Du solltest die OpenChamber-Session-Liste sehen. Damit du sie griffbereit hast, kannst du im Adressfeld deines Browsers über die Option „Installieren“ daraus eine App machen.
|
||||
|
||||
## Desktop
|
||||
|
||||
Lade den aktuellen Desktop-Build von der GitHub-Releases-Seite oder der OpenChamber-Downloadseite herunter. Öffne ihn und melde dich in deinem gewohnten OpenCode-Workflow an.
|
||||
|
||||
## VS Code
|
||||
|
||||
Installiere sie aus dem VS Code Marketplace und melde dich in deinem gewohnten OpenCode-Workflow an. Die OpenChamber-Ansicht öffnet sich dann in der Seitenleiste.
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: Integrationen
|
||||
description: Nutze dein Claude- oder Cursor-Abo als Provider.
|
||||
---
|
||||
|
||||
# Integrationen
|
||||
|
||||
Eine Integration ist ein kleines Plugin, das OpenChamber einen Provider hinzufügt — auf Basis eines Abos, das du bereits hast. Verwalten kannst du sie unter **Settings → Integrations**.
|
||||
|
||||
> **Experimentelle Funktion.** Wir bemühen uns, die Richtlinien der Anbieter zu respektieren, aber Kontobeschränkungen und Sperrungen liegen bei jedem Anbieter. Nutze Integrationen auf eigenes Risiko.
|
||||
|
||||
Verfügbare Integrationen:
|
||||
|
||||
- **Claude Code** — dein Claude Pro- oder Max-Plan, ohne API-Keys
|
||||
- **Cursor** — die Modell-Limits deines Cursor-Plans
|
||||
|
||||
## Integration installieren
|
||||
|
||||
1. Öffne **Settings → Integrations**.
|
||||
2. Suche die Integration und wähle **Install**.
|
||||
3. Starte OpenCode neu, wenn darum gebeten wird — der Provider erscheint nach dem Neustart.
|
||||
4. Wähle **Set up** und melde dich an. Die Modelle erscheinen danach in der Modellauswahl im Chat.
|
||||
|
||||
Integrationen werden für deinen Benutzer installiert und funktionieren damit in jedem Projekt. Aktualisieren oder entfernen kannst du sie jederzeit über dieselbe Karte.
|
||||
|
||||
## Claude Code
|
||||
|
||||
Claude Code nutzt deinen Claude Pro- oder Max-Plan — ohne API-Keys und ohne separate Claude-App.
|
||||
|
||||
1. Installiere die Integration (siehe oben).
|
||||
2. Wähle **Set up** und melde dich an. Wenn du die Claude Code CLI noch nicht hast, bietet die Einrichtung an, sie zuerst zu installieren, und meldet dich danach an.
|
||||
|
||||
Claude Code ist die einzige Integration hier, die ihre Provider-CLI installiert und angemeldet benötigt. Cursor braucht seine CLI nicht.
|
||||
|
||||
**Wie dein Claude-Konto geschützt bleibt:** Diese Integration nutzt das offizielle Claude Agent SDK von Anthropic und deine installierte Claude Code CLI. Sie kapert kein OAuth, extrahiert oder wiederholt keine Browser-Tokens, gibt sich nicht als nicht unterstützter Client aus und umgeht nicht Anthropics Authentifizierung. Sie bleibt auf dem von Anthropic unterstützten Zugriffsweg und trägt daher nicht das mit Token-Hijacking oder unautorisierten Authentifizierungsumgehungen verbundene Sperrrisiko.
|
||||
|
||||
## Cursor
|
||||
|
||||
Cursor macht die Modelle deines Cursor-Plans in OpenChamber nutzbar.
|
||||
|
||||
1. Installiere die Integration (siehe oben).
|
||||
2. Wähle **Set up**, öffne den Link und genehmige den Zugriff im Browser. Kein API-Key nötig. Die Modellliste lädt nach der Anmeldung automatisch.
|
||||
|
||||
## Aktualisieren oder entfernen
|
||||
|
||||
- **Update** installiert die neueste veröffentlichte Version des Plugins.
|
||||
- **Remove** löscht das Plugin aus deiner OpenCode-Konfiguration. Der Provider wird beim nächsten Neuladen von OpenCode nicht mehr geladen.
|
||||
|
||||
Wenn eine Karte meldet, dass Einträge manuell verwaltet werden müssen, wähle **Manage plugins** und bereinige die Duplikate dort.
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Anbieter, Modelle und Agenten](/de/providers/) — weitere Provider verbinden und Modelle wählen
|
||||
- [Nutzung und Kontingente](/de/usage/) — verfolge, wie viel du genutzt hast
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Magische Prompts
|
||||
description: Passe die eingebauten Prompts an, die hinter OpenChambers automatisierten Abläufen stehen.
|
||||
---
|
||||
|
||||
# Magische Prompts
|
||||
|
||||
OpenChamber verwendet im Hintergrund eingebaute Prompts, wenn etwas automatisch geschieht — eine Commit-Nachricht schreiben, einen PR entwerfen, ein Issue prüfen, einen Konflikt lösen oder eine Sitzung zusammenfassen. Hier kannst du diese Prompts ansehen und umschreiben. Öffne die Seite unter **Einstellungen → Magische Prompts**.
|
||||
|
||||
Für die normale Nutzung brauchst du diese Seite nicht. Nutze sie, wenn ein Ablauf sich anders verhalten soll — etwa bei Commit-Nachrichten in einem bestimmten Stil.
|
||||
|
||||
## Einen Prompt bearbeiten
|
||||
|
||||
1. Öffne **Einstellungen → Magische Prompts**.
|
||||
2. Wähle einen Prompt aus den Gruppen in der Seitenleiste — Git, GitHub, Planung und Sitzung.
|
||||
3. Bearbeite den Text und speichere ihn.
|
||||
|
||||
Einige Prompts haben einen sichtbaren Teil (die Nachricht, die du sehen würdest) und einen Anweisungsteil (versteckte Hinweise für den Agenten). Prompts können `{{placeholders}}` enthalten, die OpenChamber einsetzt, zum Beispiel den Diff oder den Issue-Titel — lass diese unverändert.
|
||||
|
||||
## Zurücksetzen
|
||||
|
||||
Anders entschieden? Jeder Prompt hat **Auf Standard zurücksetzen**, und es gibt **Alle zurücksetzen**, wenn du überall neu anfangen möchtest.
|
||||
|
||||
## Wo jeder Prompt verwendet wird
|
||||
|
||||
Für jeden Prompt steht unten, wo er läuft und was ihn auslöst. Prüfe den Auslöser vor der Bearbeitung, dann weißt du, welchen Ablauf du änderst.
|
||||
|
||||
### Git
|
||||
|
||||
| Prompt | Wo er läuft | Wann er ausgelöst wird |
|
||||
| --- | --- | --- |
|
||||
| Commit-Erstellung | Die Generieren-Schaltfläche im Commit-Feld der Git-Ansicht und im mobilen Changes-Bildschirm | Du erzeugst eine Commit-Nachricht. Ausgewählte Dateien und die letzten Commit-Betreffs des Branchs werden eingesetzt, sodass die Nachricht zum Stil deines Repos passt. |
|
||||
| PR-Erstellung | Das Pull-Request-Anlegen-Formular im PR-Tab der Git-Ansicht | Du erzeugst Titel und Beschreibung eines PRs. Eingebaut werden Base- und Head-Branch, die Commits und geänderten Dateien dazwischen, dein zusätzlicher Kontext und die PR-Vorlage des Repos, falls vorhanden. |
|
||||
| Merge/Rebase-Konfliktlösung | Der Konflikt-Dialog der Git-Ansicht, wenn ein Merge oder Rebase auf Konflikten stoppt | Du wählst "Resolve in current session" oder "Resolve in new session". Der Agent liest die konfliktbehafteten Dateien, schlägt eine Lösungsstrategie pro Datei vor und wartet auf deine Bestätigung, bevor er etwas ändert, staged oder fortfährt. |
|
||||
| Cherry-pick-Konfliktlösung | Der Bereich "Re-integrate commits" einer Worktree-Sitzung | Beim Übertragen der Sitzungs-Commits auf den Zielbranch entsteht ein Konflikt und du übergibst ihn dem Agenten. Der Agent löst im temporären Worktree, staged die Dateien und setzt den Cherry-pick fort. |
|
||||
|
||||
### GitHub
|
||||
|
||||
| Prompt | Wo er läuft | Wann er ausgelöst wird |
|
||||
| --- | --- | --- |
|
||||
| PR-Review | Der "Link GitHub PR"-Picker im Anhänge-Menü des Composers und der neue Worktree-Dialog | Zwei Auslöser. Hängst du einen PR als Kontext an, werden die Anweisungen erzeugt und mit deiner nächsten Nachricht mitgesendet. Startest du eine Worktree-Sitzung aus einem PR, bildet der Prompt die erste Nachricht dieser Sitzung, mit dem vollständigen PR-Kontext. |
|
||||
| Issue-Review | Der neue Worktree-Dialog, wenn der Worktree aus einem Issue startet | Die erste Nachricht der neuen Sitzung reviewed das Issue, mit Titel, Text und Kommentaren als Kontext. |
|
||||
| Fehlgeschlagene PR-Checks / PR-Kommentare / einzelner PR-Kommentar | — | Wird heute von keinem Ablauf gesendet. Die PR-Ansicht löste sie früher über Ein-Klick-Review-Aktionen aus; fehlgeschlagene Checks und Kommentare werden jetzt als Chat-Kontext-Entwürfe angeheftet. Sie bleiben editierbar, damit bestehende Overrides weiter funktionieren. |
|
||||
|
||||
### Planung
|
||||
|
||||
| Prompt | Wo er läuft | Wann er ausgelöst wird |
|
||||
| --- | --- | --- |
|
||||
| Todo-Planung | Das Todos-Panel in der Projekt-Seitenleiste | Du schickst ein Todo an eine Sitzung oder eine neue Worktree-Sitzung. Der Todo-Text wird zur sichtbaren Nachricht; die Anweisungen machen daraus einen fragegesteuerten Planungsdialog statt sofort loszulegen. |
|
||||
| Plan verbessern | Die Aktion "Improve" für einen gespeicherten Plan in der Plans-Ansicht | Du schickst einen gespeicherten Plan in den Verbesserungsfluss. Der Agent liest zuerst die Plandatei, schlägt dann Änderungen auf Basis des aktuellen Repo-Zustands vor und bietet an, dieselbe Datei zu bearbeiten. |
|
||||
| Plan umsetzen | Die Aktion "Implement" für einen gespeicherten Plan | Du schickst einen gespeicherten Plan in den Umsetzungsfluss. Der Agent liest die Plandatei und setzt sie komplett um, ohne den Rahmen zu sprengen; nötige Plananpassungen schreibt er in dieselbe Datei zurück. |
|
||||
|
||||
### Sitzung
|
||||
|
||||
Die meisten davon treiben Slash-Befehle an, die du im Composer eingibst. Die meisten erscheinen auch als Starter-Chips im Entwurf einer neuen Sitzung.
|
||||
|
||||
| Prompt | Wo er läuft | Wann er ausgelöst wird |
|
||||
| --- | --- | --- |
|
||||
| Codebase-Tour | `/explore` | Du möchtest einen Überblick über die Codebase. |
|
||||
| Sitzungszusammenfassung | `/summary`, optional `/summary <Thema>` | Du fasst die bisherige Konversation zusammen — nützlich zur Übergabe an eine neue Sitzung. Benötigt eine bestehende Sitzung. |
|
||||
| Workspace-Review | `/workspace-review` | Du lässt den Agenten den aktuellen Workspace-Diff auf Absicht, Korrektheit und Sicherheit prüfen. |
|
||||
| Feature-Planung | `/plan-feature` | Du machst aus einer groben Feature-Idee über einen geführten Frage-Antwort-Dialog einen Umsetzungsplan. |
|
||||
| Goal formulieren | `/craft-goal`, optional `/craft-goal <Idee>` | Du machst aus einer Idee ein überprüfbares Goal-Ziel für den Goal-Dialog. |
|
||||
| Catch-up | `/catch-up` | Du kehrst zu einem Projekt zurück und fragst, wo es steht und wie es weitergeht. |
|
||||
| Debugging | `/debug` | Du untersuchst einen Bug: Der Agent bildet Hypothesen, bestätigt die Ursache aus dem Code und schlägt erst dann eine Lösung vor. |
|
||||
| Optionen abwägen | `/weigh` | Du weißt, was du bauen willst, aber nicht wie. Der Agent vergleicht zwei oder drei Ansätze und empfiehlt einen. |
|
||||
| Fusion | Die Aktion "Run fusion" auf einer Multi-run-Gruppe | Du vereinigst die Ausgaben mehrerer Läufe zu einer Antwort. Die Lauf-Ausgaben werden hinter die Anweisungen angehängt. |
|
||||
|
||||
### Prompts ohne Settings-Seite
|
||||
|
||||
Einige Prompts laufen automatisch und haben keine editierbare Seite in den Einstellungen:
|
||||
|
||||
| Prompt | Wann er ausgelöst wird |
|
||||
| --- | --- |
|
||||
| Geplante Aufgabe | `/schedule-task`, optional mit einer ersten Idee. Führt durch den Dialog, der eine geplante Aufgabe definiert. |
|
||||
| Review-Übergabe | `/handoff-review` oder die Review-Schaltfläche in der Diff-Ansicht mit aktivierter Übergabe. Erzeugt die Übergabe in der Arbeitssitzung. |
|
||||
| Startnachricht der Review-Sitzung | Die erste Nachricht der erzeugten Review-Sitzung — mit Übergabe, wenn eine erzeugt wurde, sonst ohne. |
|
||||
| Review-Feedback / Umsetzungsantwort | Bringen Nachrichten zwischen den beiden Sitzungen hin und her: Review-Feedback geht zurück an die umsetzende Sitzung, die Antwort des Umsetzers zurück an die Review-Sitzung. |
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Git- & GitHub-Workflows](/git/) — viele dieser Prompts treiben die Git-Abläufe an
|
||||
- [Notizen, Todos & Pläne](/notes-todos-plans/) — die Todos und Pläne hinter den Planungs-Prompts
|
||||
- [Multi-run](/multi-run/) — Laufgruppen und Fusion
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: MCP-Server
|
||||
description: Füge MCP-Server hinzu, damit Agents zusätzliche Werkzeuge erhalten.
|
||||
---
|
||||
|
||||
# MCP-Server
|
||||
|
||||
Ein MCP-Server gibt deinen Agents zusätzliche Werkzeuge — etwa um eine Datenbank zu durchsuchen, eine API aufzurufen oder einen genutzten Dienst auszulesen. Du fügst sie unter **Einstellungen → MCP** hinzu.
|
||||
|
||||
## Einen Server hinzufügen
|
||||
|
||||
1. Öffne **Einstellungen → MCP**.
|
||||
2. Füge einen Server hinzu und wähle seinen Typ:
|
||||
- **lokal** — OpenChamber führt einen Befehl auf deinem Rechner aus. Du gibst den auszuführenden Befehl an und, falls nötig, Umgebungsvariablen.
|
||||
- **entfernt** — OpenChamber verbindet sich mit einer URL, die jemand anderes hostet. Du gibst die URL und alle nötigen Header an (zum Beispiel ein Auth-Token).
|
||||
3. Speichere. Der Server ist standardmäßig eingeschaltet; du kannst ihn deaktivieren, ohne ihn zu löschen.
|
||||
|
||||
## Wo es gilt
|
||||
|
||||
Wähle den Geltungsbereich, wenn du einen Server hinzufügst:
|
||||
|
||||
- **persönlich** — in jedem Projekt verfügbar
|
||||
- **projektbezogen** — nur im aktuellen Projekt verfügbar und zusammen mit den übrigen Projekteinstellungen gespeichert
|
||||
|
||||
Servernamen verwenden Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Provider, Modelle & Agents](/providers/) — verbinde zuerst ein Modell
|
||||
- [Skills](/skills/) — eine weitere Möglichkeit, die Fähigkeiten von Agents zu erweitern
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: Mobile Apps & PWA
|
||||
description: Installiere die OpenChamber-App auf iOS oder Android und verbinde sie mit deinem Server.
|
||||
---
|
||||
|
||||
# Mobile Apps & PWA
|
||||
|
||||
OpenChamber hat native Apps für iPhone und Android, damit du Sitzungen verfolgen, auf Agenten antworten und Arbeiten von deinem Telefon aus verwalten kannst — zu Hause über WLAN oder von überall über das [Private Relay](/private-relay/).
|
||||
|
||||
## App installieren
|
||||
|
||||
- **iPhone/iPad** — tritt der [TestFlight-Beta](https://testflight.apple.com/join/5ek6GU1E) bei
|
||||
- **Android** — lade das APK aus dem [latest release](https://github.com/openchamber/openchamber/releases/latest) herunter
|
||||
|
||||
## Mit deinem Server verbinden
|
||||
|
||||
1. Öffne auf dem Computer mit OpenChamber **Settings → Remote Instances → Connect to this server** und drücke **Add a device**.
|
||||
2. Wähle **Anywhere** (oder **Home network only**, wenn du das Telefon nur zu Hause nutzt) und drücke **Create QR code**.
|
||||
3. Tippe in der Mobile App auf **Scan QR code** und halte die Kamera darauf.
|
||||
|
||||
Die App verbindet sich und merkt sich den Server. Der QR-Code ist nur einmal verwendbar, und jedes Gerät erhält sein eigenes, widerrufbares Token — siehe [Connect a Device](/connect-devices/) für die sichere Kopplung.
|
||||
|
||||
Du kannst die App mit mehreren Servern koppeln und im Instanzenbereich zwischen ihnen wechseln; die App zeigt bei jedem an, ob er erreichbar ist und ob du über das lokale Netzwerk oder das Relay verbunden bist.
|
||||
|
||||
## PWA (Browser-Installation)
|
||||
|
||||
Du willst gar keinen App-Store? Die Web-App lässt sich direkt aus dem Browser installieren:
|
||||
|
||||
- **desktop browser** — nutze die Option **Install** in der Adressleiste
|
||||
- **iPhone/iPad (Safari)** — Teilen → **Add to Home Screen**
|
||||
- **Android (Chrome)** — Menü → **Install app** / **Add to Home Screen**
|
||||
|
||||
Um die PWA von außerhalb deines Netzwerks zu erreichen, brauchst du einen [Tunnel](/tunnels/) und ein starkes [UI password](/security/) — die nativen Apps übernehmen das für dich über das Relay.
|
||||
|
||||
## Mobile Einstellungen
|
||||
|
||||
Unter **Settings → OpenChamber** passen ein paar Optionen die mobile und installierte Nutzung an — der Installationsname der App, die Bildschirmausrichtung und das Verhalten der Bildschirmtastatur.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Connect a Device](/connect-devices/) — Kopplung, einmalige QR-Codes und Geräteverwaltung
|
||||
- [Private Relay](/private-relay/) — wie "Anywhere"-Zugriff funktioniert
|
||||
- [Security](/security/) — die UI schützen, bevor du sie freigibst
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Multi-run
|
||||
description: Führe dieselbe Aufforderung gleichzeitig über mehrere Modelle oder Sitzungen aus.
|
||||
---
|
||||
|
||||
# Multi-run
|
||||
|
||||
Multi-run startet mehrere Sitzungen aus einem einzigen Formular — praktisch, um dieselbe Aufgabe mit verschiedenen Modellen zu testen und die Ergebnisse zu vergleichen. Öffne es über die Schaltfläche oben in der Sitzungs-Seitenleiste.
|
||||
|
||||
## Einen Multi-run starten
|
||||
|
||||
1. Öffne den Multi-run-Startbildschirm.
|
||||
2. Wähle das Projekt und benenne die Run-Gruppe.
|
||||
3. Schreibe die Aufforderung und wähle die Modelle aus, mit denen sie ausgeführt werden soll (bis zu fünf pro Gruppe).
|
||||
4. Entscheide, ob du **Runs isolieren** möchtest.
|
||||
5. Starte.
|
||||
|
||||
Jedes Modell erhält seine eigene Sitzung, und alle beginnen mit deiner Aufforderung.
|
||||
|
||||
## Isolierte Runs
|
||||
|
||||
Aktiviere **Runs isolieren**, damit jeder Run seinen eigenen [Worktree](/worktrees/) und Branch bekommt und sie sich nie dieselben Dateien teilen. Dafür brauchst du ein Git-Repo — für Ordner, die keines sind, wird es automatisch deaktiviert. Wähle den Branch, von dem die Runs starten.
|
||||
|
||||
Ohne Isolation ist jeder Run einfach eine normale Sitzung im Projektordner.
|
||||
|
||||
## Ergebnisse vergleichen
|
||||
|
||||
Jeder Run ist eine normale Sitzung, die du öffnen, lesen und behalten oder verwerfen kannst. Wenn du Runs gestartet hast, um Ansätze zu vergleichen, prüfe sie nebeneinander und nimm den besten mit.
|
||||
|
||||
Wenn ein einzelner Run nicht startet, werden die anderen trotzdem ausgeführt — du siehst dann nur weniger Sitzungen, als du angefordert hast.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Worktree-Sitzungen](/worktrees/) — wie Isolation unter der Haube funktioniert
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: Projektnotizen, Todos & Pläne
|
||||
description: Halte Notizen, eine Todo-Liste und gespeicherte Pläne für jedes Projekt fest.
|
||||
---
|
||||
|
||||
# Projektnotizen, Todos & Pläne
|
||||
|
||||
Jedes Projekt hat seinen eigenen Arbeitsbereich für Notizen, eine Todo-Liste und gespeicherte Pläne. Sie gehören zum Projekt und nicht zu einer einzelnen Session, also bleiben sie erhalten, wenn du zwischen Sessions wechselst. Du findest sie im Tab **Kontext** der rechten Seitenleiste (auf Mobilgeräten ein eigener Tab).
|
||||
|
||||
## Notizen
|
||||
|
||||
Ein freies Notizfeld für alles, woran du dich zum Projekt erinnern möchtest. Es speichert automatisch, während du tippst.
|
||||
|
||||
## Todos
|
||||
|
||||
Eine einfache Checkliste. Füge Einträge hinzu, hake sie ab, ordne sie per Drag-and-drop um und lösche die erledigten.
|
||||
|
||||
Jedes Todo hat ein Menü **Senden**, damit du es an den Agenten übergeben kannst:
|
||||
|
||||
- an die aktuelle Session senden
|
||||
- mit ihm eine neue Session starten
|
||||
- mit ihm eine neue [Worktree-Session](/worktrees/) starten (nur wenn das Projekt ein Git-Repo ist)
|
||||
|
||||
## Pläne
|
||||
|
||||
Ein Ort, um längere Pläne als gespeicherte Dateien aufzubewahren. Du kannst:
|
||||
|
||||
- einen Plan aus einer Markdown- oder Textdatei importieren
|
||||
- einen Plan öffnen, um ihn im Seitenpanel zu lesen
|
||||
- Pläne löschen, die du nicht mehr brauchst
|
||||
|
||||
Du solltest danach wieder im Kontext-Tab landen — mit gespeicherter Notiz, abgehakter Todo oder gelistetem Plan; so erkennst du, dass es geklappt hat.
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Worktree-Sessions](/worktrees/) — eine Todo in einem eigenen Branch ausführen
|
||||
- [Projekte](/projects/) — diese gehören zum aktiven Projekt
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Benachrichtigungen
|
||||
description: Lass dich benachrichtigen, wenn eine Sitzung deine Aufmerksamkeit braucht oder fertig ist.
|
||||
---
|
||||
|
||||
# Benachrichtigungen
|
||||
|
||||
Benachrichtigungen sagen dir, wenn etwas deine Aufmerksamkeit braucht, damit du nicht ständig auf den Bildschirm schauen musst — eine Sitzung ist fertig, hat einen Fehler, stellt eine Frage oder braucht eine Berechtigung für etwas. Du richtest sie unter **Einstellungen → OpenChamber → Benachrichtigungen** ein.
|
||||
|
||||
## Aktivieren
|
||||
|
||||
1. Öffne **Einstellungen → OpenChamber → Benachrichtigungen**.
|
||||
2. Erlaube Benachrichtigungen, wenn dein Browser oder System dich danach fragt.
|
||||
3. Wähle aus, worüber du informiert werden möchtest:
|
||||
- eine Sitzung **endet**
|
||||
- eine Sitzung **hat einen Fehler**
|
||||
- eine Sitzung **stellt eine Frage**
|
||||
- eine Sitzung braucht **eine Berechtigung**
|
||||
- **Unteraufgaben** sind abgeschlossen
|
||||
|
||||
## Wie sie bei dir ankommen
|
||||
|
||||
- auf dem **Desktop** bekommst du native Systembenachrichtigungen
|
||||
- in einem **Browser oder einer installierten App** bekommst du Web-Push-Benachrichtigungen, damit sie auch ankommen, wenn der Tab im Hintergrund ist
|
||||
|
||||
Sitzungen, die auf automatisches Annehmen gesetzt sind, belästigen dich nicht mit Berechtigungsbenachrichtigungen.
|
||||
|
||||
## Die Formulierungen anpassen
|
||||
|
||||
Jede Art von Benachrichtigung hat einen Titel und eine Nachrichtenvorlage, die du bearbeiten kannst, mit Feldern wie Agentenname und Modell. Außerdem gibt es eine Begrenzung, wie viel der letzten Nachricht eingefügt wird, damit Benachrichtigungen kurz bleiben.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Sprachmodus](/voice/) — lass dir Antworten stattdessen vorlesen
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: OpenCode-Server
|
||||
description: Verbinde OpenChamber mit einem lokalen oder entfernten OpenCode-Server.
|
||||
---
|
||||
|
||||
# OpenCode-Server
|
||||
|
||||
OpenChamber läuft auf einem OpenCode-Server auf. Standardmäßig startet es einen für dich, sodass du nichts tun musst. Diese Seite brauchst du nur, wenn du OpenChamber auf einen Server zeigen lassen willst, den du bereits betreibst, oder den Server verwalten willst, den es startet.
|
||||
|
||||
## Wie OpenChamber einen Server findet
|
||||
|
||||
Wenn OpenChamber startet, sucht es in dieser Reihenfolge nach einem Server:
|
||||
|
||||
1. einen Server wiederverwenden, den es bereits gestartet hat
|
||||
2. zu einem externen verbinden, wenn du es so angegeben hast (siehe unten)
|
||||
3. einen Server am Standard-Port automatisch erkennen (`4096`)
|
||||
4. andernfalls den eigenen starten und verwalten
|
||||
|
||||
Wenn nichts konfiguriert ist, geschieht Schritt 4 automatisch und du bist startklar.
|
||||
|
||||
## Mit einem Server verbinden, den du bereits betreibst
|
||||
|
||||
Setze diese Variablen, bevor du OpenChamber startest:
|
||||
|
||||
```bash
|
||||
OPENCODE_HOST=http://localhost:4096 OPENCODE_SKIP_START=true openchamber
|
||||
```
|
||||
|
||||
- `OPENCODE_HOST` — die vollständige Adresse deines OpenCode-Servers einschließlich des Ports (ein Wert wie `http://localhost:4096`). Sie darf am Ende keinen Pfad haben.
|
||||
- `OPENCODE_SKIP_START=true` — weist OpenChamber an, keinen eigenen Server zu starten.
|
||||
|
||||
Wenn du nur den Port ändern musst, setze `OPENCODE_PORT` statt `OPENCODE_HOST`.
|
||||
|
||||
Wenn `OPENCODE_HOST` keinen Port hat oder einen Pfad enthält, ignoriert OpenChamber ihn und fällt darauf zurück, den eigenen Server zu starten. Achte beim Start auf eine `[config]`-Warnung in den Logs, wenn eine erwartete Verbindung nicht zustande kam.
|
||||
|
||||
## Den Server über das CLI verwalten
|
||||
|
||||
```bash
|
||||
openchamber status
|
||||
openchamber logs
|
||||
openchamber restart
|
||||
openchamber stop
|
||||
```
|
||||
|
||||
`openchamber` allein startet den Server im Hintergrund. Füge `--foreground` hinzu, damit er an dein Terminal gebunden bleibt.
|
||||
|
||||
## OpenChamber beim Anmelden starten
|
||||
|
||||
Verwende `startup enable`, um einen nativen Benutzerdienst zu installieren. OpenChamber nutzt `launchd` auf macOS, `systemd --user` auf Linux und den Taskplaner auf Windows.
|
||||
|
||||
```bash
|
||||
openchamber startup enable
|
||||
openchamber startup status
|
||||
openchamber startup disable
|
||||
```
|
||||
|
||||
Um die UI zu schützen, setze das Passwort beim Aktivieren des Dienstes:
|
||||
|
||||
```bash
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
Für einen headless Server, der sich beim Anmelden startet und für Desktop- oder Mobile-Clients gedacht ist, füge `--api-only` und einen erreichbaren Host hinzu:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` speichert deine aktuelle Umgebung als Schnappschuss im Dienst, damit er sich eher so verhält, als würdest du `openchamber` aus derselben Shell starten. So bleiben Provider-Tokens, `PATH`, SSH-Agent-Einstellungen und andere CLI-Auth-/Konfigurationsvariablen verfügbar. Verwende `--no-env-snapshot`, wenn du eine minimale Dienstenumgebung willst.
|
||||
|
||||
Der Startup-Dienst merkt sich `--port`, `--host`, `--ui-password` und `--api-only`. CLI-Neustarts und Update-Neustarts verwenden diese gespeicherten Einstellungen wieder.
|
||||
|
||||
Um einen Verbindungslink für eine andere OpenChamber-App zu erstellen, verwende:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Führe `openchamber connect-url --help` aus, um alle Link-Optionen zu sehen, einschließlich `--name`, `--lan`, `--server`, `--api-only`, `--ui-password` und `--qr`.
|
||||
|
||||
Du kannst Tunnel für diesen laufenden Dienst weiterhin unabhängig verwalten:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --port 3000
|
||||
openchamber tunnel stop --port 3000
|
||||
```
|
||||
|
||||
Das Stoppen des Tunnels startet weder den Dienst noch die App neu.
|
||||
|
||||
## „OpenCode wird neu gestartet“
|
||||
|
||||
Während der Server startet oder neu startet, zeigt OpenChamber den Status „OpenCode wird neu gestartet“ an und pausiert Anfragen, bis er bereit ist. Das ist direkt nach dem Start oder einem Neustart normal. Wenn er nie verschwindet, siehe [OpenCode-Verbindung](/troubleshooting/opencode-connection/).
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Providers, Models & Agents](/providers/) — festlegen, womit der Server spricht
|
||||
- [OpenCode-Verbindung](/troubleshooting/opencode-connection/) — falls keine Verbindung möglich ist
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Vorschau & Dev-Server
|
||||
description: Öffne einen laufenden Dev-Server direkt in OpenChamber.
|
||||
---
|
||||
|
||||
# Vorschau & Dev-Server
|
||||
|
||||
Wenn du einen Dev-Server startest, kann OpenChamber ihn direkt in der App öffnen statt in einem separaten Browser-Tab — so siehst du deine Seite neben dem Chat und kannst auf Elemente zeigen, um danach zu fragen.
|
||||
|
||||
## Einen Dev-Server öffnen
|
||||
|
||||
Öffne das Browser-Panel über die Globus-Schaltfläche in der Kopfzeile. Läuft bereits ein Dev-Server, steht er dort in der Liste und ein Klick öffnet ihn — OpenChamber findet ihn daran, was auf deinem Rechner tatsächlich lauscht, also unabhängig davon, wie du ihn gestartet hast.
|
||||
|
||||
Ein Dev-Server öffnet sich außerdem automatisch, wenn:
|
||||
|
||||
- du im Terminal bei einer lokalen Adresse auf **Vorschau öffnen** drückst
|
||||
- eine [Projektaktion](/project-actions/) mit aktiviertem Auto-Öffnen einen startet
|
||||
- du einem lokalen Link in einer Chat-Nachricht folgst
|
||||
|
||||
Du kannst die Adresse jederzeit selbst eintippen. Ein bloßes `localhost:5173` wird als `http://` verstanden, das Schema musst du also nicht mitschreiben.
|
||||
|
||||
## Mit einem entfernten OpenChamber arbeiten
|
||||
|
||||
Läuft OpenChamber auf einem anderen Rechner, liegt sein Dev-Server ebenfalls auf *jenem* Rechner — `localhost` auf deinem Laptop führt ganz woandershin. Die Desktop-App erledigt das für dich: Sie öffnet einen lokalen Port, der die Verbindung zum entfernten Dev-Server durchreicht. Die Seite lädt ganz normal, mit funktionierendem Hot Reload und Entwicklerwerkzeugen. Du tippst weiterhin die Adresse, die du erwartest; die Technik dahinter bleibt dir aus dem Weg.
|
||||
|
||||
Dafür brauchst du die Desktop-App. In einem Browser-Tab lassen sich nur Dev-Server auf deinem eigenen Rechner öffnen.
|
||||
|
||||
## Die Seite annotieren
|
||||
|
||||
Wie du auf Elemente zeigst, auf der Seite zeichnest und alles in den Chat schickst, steht unter [Browser-Panel](/desktop-browser/).
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Projektaktionen](/project-actions/) — einen Server beim Start automatisch öffnen
|
||||
- [Browser-Panel](/desktop-browser/) — Seiten annotieren und den Agenten steuern lassen
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Privates Relay
|
||||
description: Erreiche deinen OpenChamber-Server von überall über ein Ende-zu-Ende-verschlüsseltes Relay — ohne Ports, ohne Tunnel, ohne Einrichtung.
|
||||
---
|
||||
|
||||
# Privates Relay
|
||||
|
||||
Das OpenChamber Private Relay ermöglicht es deinen gekoppelten Geräten, deinen Server von überall aus zu erreichen — im Mobilfunknetz, im Café, in einer anderen Stadt — ohne Ports zu öffnen, einen Tunnel einzurichten oder deinen Rechner direkt mit dem Internet zu verbinden. Die Einrichtung ist selbstständig: Ein Gerät mit **Anywhere** unter [Connect a Device](/connect-devices/) zu koppeln reicht aus.
|
||||
|
||||
## So funktioniert es
|
||||
|
||||
Dein Server baut eine ausgehende Verbindung zur Relay-Infrastruktur von OpenChamber auf und hält sie offen. Wenn eines deiner Geräte außerhalb deines Netzwerks ist, verbindet es sich ebenfalls mit dem Relay, und das Relay leitet die verschlüsselten Daten zwischen beiden weiter. Auf deinem Rechner lauscht nichts auf eingehende Verbindungen aus dem Internet.
|
||||
|
||||
Wenn eine direkte Verbindung verfügbar ist — du bist wieder zu Hause im selben WLAN — bevorzugen deine Geräte sie und umgehen das Relay vollständig.
|
||||
|
||||
## Was das Relay sehen kann und was nicht
|
||||
|
||||
Das Relay ist ein blinder Kurier, kein Vermittler:
|
||||
|
||||
- **Ende-zu-Ende verschlüsselt.** Dein Gerät und dein Server handeln Verschlüsselungsschlüssel direkt miteinander aus. Das Relay leitet nur versiegelte Daten weiter, für die es keine Schlüssel hat — es kann weder deinen Code noch deine Prompts oder Passwörter lesen.
|
||||
- **Nur deine Geräte können sich verbinden.** Ein Gerät muss ein Token besitzen, das über [one-time pairing](/connect-devices/) von *deinem* Server ausgestellt wurde. Niemand kann deinen Server über das Relay entdecken oder ohne ein von dir erstelltes Token darauf zugreifen — und du kannst jedes Token jederzeit widerrufen.
|
||||
- **Pairing-Links sind nur einmal verwendbar.** Ein QR-Code zum Koppeln funktioniert genau einmal und läuft ab, wenn er nicht verwendet wird; ein geleakter alter Link ist also wertlos.
|
||||
- **Nichts wird geteilt, bevor du es erlaubst.** Das Relay bleibt aus, bis du es aktivierst oder ein Gerät darüber koppelst, und du kannst es jederzeit deaktivieren — Geräte, die darüber verbunden sind, werden sofort getrennt.
|
||||
|
||||
## Wann es läuft
|
||||
|
||||
Das Relay verwaltet seinen Lebenszyklus selbst — es gibt keinen Schalter, den du dir merken musst:
|
||||
|
||||
- **Es startet bei Bedarf.** Das Erstellen einer **Anywhere**-Kopplung schaltet das Relay ein, und es kommt nach einem Neustart zurück, solange noch ein gekoppeltes Gerät davon abhängt.
|
||||
- **Es stoppt von selbst.** Sobald kein Gerät und keine ausstehende Kopplung das Relay mehr nutzt — zum Beispiel nachdem du das letzte Relay-gekoppelte Gerät widerrufen hast — fährt es automatisch herunter.
|
||||
|
||||
**Settings → Remote Instances → OpenChamber Relay** zeigt den Live-Status (Connected, Reconnecting, …) und wie viele Geräte gerade darüber verbunden sind. Dort kannst du auch **Disable** drücken, um den Relay-Zugriff sofort zu beenden; Geräte im lokalen Netzwerk sind davon nicht betroffen.
|
||||
|
||||
## Relay oder ein Tunnel?
|
||||
|
||||
- Nutze das **Relay**, um von deinen eigenen gekoppelten Geräten aus deinen eigenen Server zu erreichen. Es kommt ohne Einrichtung aus, und nichts ist öffentlich exponiert.
|
||||
- Nutze einen [Tunnel](/tunnels/), wenn du eine einfache **öffentliche URL** brauchst — zum Beispiel um OpenChamber in einem normalen Browser auf einem Rechner zu öffnen, den du nicht koppeln kannst, oder um Zugriff hinter einem [UI password](/security/) zu teilen.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Connect a Device](/connect-devices/) — ein Gerät mit einem einmaligen QR-Code koppeln
|
||||
- [Mobile Apps](/mobile/) — die iOS- oder Android-App installieren
|
||||
- [Security](/security/) — Passwörter, Passkeys und Grundlagen der Freigabe
|
||||
- [Remote access](/troubleshooting/remote-access/) — wenn eine Verbindung nicht zustande kommt
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Projektaktionen
|
||||
description: Speichere Befehle, die du oft ausführst, und starte sie mit einem Klick.
|
||||
---
|
||||
|
||||
# Projektaktionen
|
||||
|
||||
Eine Projektaktion ist ein Shell-Befehl, den du einmal speicherst und dann mit einem Klick ausführst — dein Entwicklungsserver, ein Build, ein Testlauf. Jedes Projekt hat seine eigene Liste. Richte sie unter **Einstellungen → Projekte → Projektaktionen** ein.
|
||||
|
||||
## Eine Aktion hinzufügen
|
||||
|
||||
1. Öffne **Einstellungen → Projekte** und suche den Bereich **Projektaktionen**.
|
||||
2. Füge eine Aktion hinzu, gib ihr einen Namen, wähle ein Symbol und gib den auszuführenden Befehl ein.
|
||||
3. Speichern.
|
||||
|
||||
Du kannst eine Aktion auf bestimmte Betriebssysteme beschränken, wenn ein Befehl nur auf einem davon sinnvoll ist.
|
||||
|
||||
## Eine Aktion ausführen
|
||||
|
||||
Aktionen liegen in einem Menü im App-Header. Klicke auf eine und OpenChamber führt sie in einem Terminal in deinem Projektordner aus und wechselt dich in die Terminalansicht, damit du die Ausgabe verfolgen kannst. Stoppe sie über dasselbe Menü.
|
||||
|
||||
## Einen Entwicklungsserver automatisch öffnen
|
||||
|
||||
Aktiviere **auto-open URL** für eine Aktion, die einen Server startet. OpenChamber überwacht die Ausgabe auf eine lokale Adresse und bietet an, sie zu öffnen — siehe [Vorschau & Entwicklungsserver](/preview/). Auf dem Desktop kannst du sie außerdem über einen SSH-Port-Forward leiten.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Vorschau & Entwicklungsserver](/preview/) — einen laufenden Entwicklungsserver in OpenChamber öffnen
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Projektsymbole
|
||||
description: Geben Sie jedem Projekt ein wiedererkennbares Symbol.
|
||||
---
|
||||
|
||||
# Projektsymbole
|
||||
|
||||
Ein Projektsymbol macht es leicht, Ihre Projekte auf einen Blick zu unterscheiden. OpenChamber versucht, eines für Sie zu finden, und Sie können jederzeit Ihr eigenes setzen. Verwalten Sie es unter **Einstellungen → Projekte**.
|
||||
|
||||
## Automatische Erkennung
|
||||
|
||||
Wenn Sie ein Projekt hinzufügen, sucht OpenChamber darin nach einer `favicon`-Datei und verwendet sie als Symbol des Projekts. Wenn Ihr Repo bereits ein Favicon ausliefert, erscheint das Symbol meist einfach — Sie müssen nichts tun.
|
||||
|
||||
## Eigenes festlegen
|
||||
|
||||
Öffnen Sie **Einstellungen → Projekte** und laden Sie ein Bild hoch (PNG, JPEG oder SVG, bis zu 5 MB). Ein benutzerdefiniertes Bild hat Vorrang vor dem automatisch erkannten. Sie können stattdessen auch eine Farbe wählen oder das Bild entfernen, um zur Erkennung zurückzukehren.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Projekte](/projects/) — Ihre Projekte benennen, einfärben und organisieren
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Projekte
|
||||
description: Organisiere deine Arbeit in Projekten und wechsle zwischen ihnen.
|
||||
---
|
||||
|
||||
# Projekte
|
||||
|
||||
Ein Projekt ist ein Ordner auf deinem Computer, den OpenChamber im Blick behält — normalerweise eine Codebasis. Wenn du das Projekt wechselst, wechselt der Ordner, in dem der Agent arbeitet, zusammen mit den Sessions und Einstellungen dieses Projekts.
|
||||
|
||||
## Ein Projekt hinzufügen
|
||||
|
||||
Du kannst ein Projekt an ein paar Stellen hinzufügen:
|
||||
|
||||
- der Eintrag **Projekt hinzufügen** in der Befehlspalette
|
||||
- die Schaltfläche **+** oben in der Session-Seitenleiste
|
||||
- der Ordnerbrowser, wenn du ein Verzeichnis auswählst
|
||||
|
||||
Zeige auf einen Ordner, und OpenChamber merkt ihn sich. Der Name kommt vom Ordner; du kannst ihn später ändern.
|
||||
|
||||
## Projekte wechseln
|
||||
|
||||
Wähle ein Projekt in der Seitenleiste aus, um es aktiv zu machen. Alles — Sessions, Git, Notizen — folgt dem Projekt, das du geöffnet hast.
|
||||
|
||||
## Ein Projekt wiedererkennbar machen
|
||||
|
||||
Öffne **Einstellungen → Projekte**, um einem Projekt einen eigenen Namen, eine Farbe oder ein Symbol zu geben. OpenChamber versucht, automatisch ein Symbol zu finden — siehe [Projekt-Symbole](/project-icons/).
|
||||
|
||||
> In VS Code verwendet OpenChamber immer den Ordner, den du geöffnet hast, als einziges Projekt. Es gibt dort also nichts hinzuzufügen oder umzuschalten. Die Seite mit den Projekteinstellungen ist dort ausgeblendet.
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Projektnotizen, Todos & Pläne](/notes-todos-plans/) — Arbeitsnotizen pro Projekt behalten
|
||||
- [Projektaktionen](/project-actions/) — Befehle speichern, die du oft ausführst
|
||||
- [Kontext](/context/) — sehen, wie viel des Modellgedächtnisses eine Session verbraucht
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
title: Provider, Modelle & Agents
|
||||
description: Verbinde KI-Provider, wähle Modelle aus und richte Agents ein.
|
||||
---
|
||||
|
||||
# Provider, Modelle & Agents
|
||||
|
||||
Bevor OpenChamber etwas tun kann, braucht es mindestens einen verbundenen KI-Provider. Diese Seite erklärt, wie du einen Provider verbindest, ein Modell auswählst und Agents anpasst.
|
||||
|
||||
## Einen Provider verbinden
|
||||
|
||||
1. Öffne **Einstellungen → Provider**.
|
||||
2. Öffne das Menü **Provider hinzufügen** und wähle einen Provider aus, der noch nicht verbunden ist.
|
||||
3. Melde dich auf eine von zwei Arten an, je nach Provider:
|
||||
- **API-Schlüssel** — füge deinen Schlüssel ein und speichere.
|
||||
- **Anmeldung (Gerätefluss)** — OpenChamber zeigt einen Link und einen kurzen Code an. Öffne den Link, gib den Code ein und bestätige. OpenChamber schließt die Verbindung dann selbstständig ab.
|
||||
|
||||
Wenn ein Provider als verbunden angezeigt wird, sind seine Modelle im Chat verfügbar.
|
||||
|
||||
Zum Trennen öffnest du den Provider und entfernst seine Anmeldung.
|
||||
|
||||
## Ein Modell auswählen
|
||||
|
||||
Du wählst das Modell dort aus, wo du arbeitest:
|
||||
|
||||
- im Chat verwendest du den Modellwähler in der Nachrichtenleiste, um Provider und Modell für diese Sitzung festzulegen
|
||||
- pro Agent legst du unten ein Standardmodell fest
|
||||
|
||||
## Agents einrichten
|
||||
|
||||
Ein Agent ist eine benannte Konfiguration — ein Modell, eine Persönlichkeit und das, was er tun darf.
|
||||
|
||||
1. Öffne **Einstellungen → Agents**.
|
||||
2. Wähle einen Agenten aus oder erstelle einen neuen.
|
||||
3. Bearbeite beliebige dieser Felder:
|
||||
- **Beschreibung** — wofür der Agent gedacht ist
|
||||
- **Modell** — sein Standardmodell
|
||||
- **Temperatur** — wie kreativ seine Antworten sind
|
||||
- **Prompt** — dauerhafte Anweisungen, denen er immer folgt
|
||||
- **Tool-Regeln** — welche Werkzeuge er verwenden darf
|
||||
|
||||
## Wo deine Anmeldungen gespeichert werden
|
||||
|
||||
Provider-Anmeldungen werden von OpenCode gespeichert, nicht von OpenChamber, daher sind sie mit der OpenCode-CLI geteilt. Wenn du denselben Provider an mehr als einem Ort einrichtest, gewinnt die spezifischste Einstellung: Eine projektbezogene Einstellung überschreibt deine persönliche.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Integrationen](/integrations/) — nutze ein Claude-, Command-Code- oder Cursor-Abo als Provider
|
||||
- [MCP-Server](/mcp/) — füge Agents zusätzliche Werkzeuge hinzu
|
||||
- [Nutzung & Kontingente](/usage/) — verfolge, wie viel du verbraucht hast
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Schnellstart
|
||||
description: Starte OpenChamber schnell und wähle die richtige App für die Aufgabe.
|
||||
---
|
||||
|
||||
# Schnellstart
|
||||
|
||||
## Schnellster Weg
|
||||
|
||||
1. Installiere [OpenCode](https://opencode.ai).
|
||||
2. Installiere das OpenChamber-CLI (siehe [Installieren](/install/) für den Einzeilenbefehl).
|
||||
3. Führe `openchamber --ui-password be-creative-here` aus.
|
||||
4. Öffne die URL, die das CLI ausgibt (normalerweise `http://localhost:3000`).
|
||||
5. Um es auf deinem Handy zu nutzen, starte einen [Tunnel](/tunnels/) und scanne den QR-Code.
|
||||
|
||||
Du solltest die OpenChamber-Session-Liste in deinem Browser sehen. Wenn sie geladen wird, bist du startklar.
|
||||
|
||||
Verwende ein starkes UI-Passwort, besonders wenn du die Instanz ins Internet öffnen willst.
|
||||
|
||||
Wenn die Seite nicht lädt, sieh unter [Troubleshooting](/troubleshooting/) nach.
|
||||
|
||||
## Welche App soll ich verwenden?
|
||||
|
||||
- verwende **Desktop** für die tägliche Arbeit auf macOS
|
||||
- verwende **Web** für den Remote-Zugriff und zum Prüfen vom Handy aus
|
||||
- verwende **VS Code** für Sessions direkt neben deinem Code
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: Remote-Instanzen
|
||||
description: Verbinde die Desktop-App per SSH mit OpenChamber auf einem anderen Rechner.
|
||||
---
|
||||
|
||||
# Remote-Instanzen
|
||||
|
||||
Die Desktop-App kann per SSH mit OpenChamber auf einem anderen Rechner verbunden werden — einem Arbeitsserver, einer Cloud-Box, einem Homelab — und dessen UI so auf deinen Bildschirm bringen, als wäre sie lokal. Richte das unter **Settings → Remote Instances** ein.
|
||||
|
||||
> Remote-Instanzen sind eine Funktion **nur für den Desktop**. Im Web oder in VS Code verbindest du dich stattdessen über die Umgebungsvariablen in [OpenCode Server](/opencode-server/) mit einem Remote-Server.
|
||||
|
||||
## Remote-Instanz hinzufügen
|
||||
|
||||
1. Öffne **Settings → Remote Instances** und füge eine hinzu.
|
||||
2. Gib den SSH-Befehl an, den du normalerweise für den Zugriff auf den Rechner verwendest, plus einen Spitznamen.
|
||||
3. Wähle, wie OpenChamber dort läuft:
|
||||
- **managed** — OpenChamber installiert und startet sich auf dem entfernten Rechner selbst
|
||||
- **external** — verbinde dich mit einer Instanz, die bereits läuft
|
||||
4. Verbinde dich.
|
||||
|
||||
OpenChamber geht die Schritte durch — Verbindung prüfen, Remote einrichten, Server starten und den Port weiterleiten — und zeigt bei jedem Schritt, wo es gerade ist. Wenn **ready** erreicht ist, wird die entfernte UI lokal geladen.
|
||||
|
||||
## Anmeldedaten
|
||||
|
||||
Du entscheidest, ob SSH- und UI-Passwörter gespeichert werden oder ob du sie jedes Mal eingibst. Wenn die Verbindung abbricht, meldet OpenChamber, welcher Schritt fehlgeschlagen ist, damit du ihn beheben kannst — siehe [Remote access](/troubleshooting/remote-access/).
|
||||
|
||||
## Verbindungslinks
|
||||
|
||||
Wenn auf einem entfernten Rechner bereits OpenChamber läuft, ist ein Kopplungslink der einfachste Weg, die Desktop-App zu verbinden. Öffne auf der UI des entfernten Servers **Settings → Remote Instances → Connect to this server → Add a device**, erstelle einen Link und importiere ihn auf deinem Desktop unter **Settings → Remote Instances → Other OpenChamber servers → Import Link**. Den vollständigen Ablauf findest du unter [Connect a Device](/connect-devices/).
|
||||
|
||||
Ein mit **Anywhere** erstellter Link enthält sowohl eine direkte Adresse als auch eine Route über das [Private Relay](/private-relay/): Die Desktop-App verbindet sich direkt, wenn sie den Server erreichen kann (gleiches Netzwerk), und fällt auf das Ende-zu-Ende-verschlüsselte Relay zurück, wenn du unterwegs bist. Der Status neben jedem gespeicherten Server zeigt, welche Route gerade verwendet wird.
|
||||
|
||||
Du kannst einen Link auch in einem Terminal auf dem entfernten Rechner erstellen:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` startet den Server zuerst, wenn auf diesem Port nichts läuft. Füge `--api-only` für einen headless Server hinzu, `--lan`, um beim Starten an das LAN zu binden, `--ui-password`, um den Browserzugriff zu schützen, und `--name`, um die gespeicherte Verbindung zu benennen. Füge `--relay` für einen Link hinzu, der auch außerhalb des lokalen Netzwerks funktioniert: Das Gerät bevorzugt die direkte Verbindung, wenn sie erreichbar ist, und fällt auf das [Private Relay](/private-relay/) zurück — die Instanz startet das Relay selbstständig.
|
||||
|
||||
Der erzeugte Link enthält ein Einmal-Geheimnis zum Koppeln. Nach dem Import besitzt das Gerät sein eigenes Client-Token — getrennt vom UI password des Browsers —, das Server-Neustarts überdauert, bis du es auf dem ausstellenden Server widerrufst.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Connect a Device](/connect-devices/) — Kopplungslinks, QR-Codes und Geräteverwaltung
|
||||
- [Private Relay](/private-relay/) — wie "Anywhere"-Verbindungen funktionieren
|
||||
- [OpenCode Server](/opencode-server/) — eine Verbindung zu einem entfernten Server in Web oder VS Code herstellen
|
||||
- [Remote access](/troubleshooting/remote-access/) — wenn eine Verbindung nicht zustande kommt
|
||||
@@ -0,0 +1,347 @@
|
||||
---
|
||||
title: Reverse Proxy
|
||||
description: Konfigurieren Sie OpenChamber korrekt hinter Nginx, Nginx Proxy Manager oder einem anderen Reverse Proxy.
|
||||
---
|
||||
|
||||
# Reverse Proxy
|
||||
|
||||
Nutzen Sie diese Seite, wenn OpenChamber hinter Nginx, Nginx Proxy Manager, Caddy, Cloudflare oder einem anderen Reverse Proxy läuft.
|
||||
|
||||
## Bevor Sie es proxyen
|
||||
|
||||
1. Bestätigen Sie zuerst, dass OpenChamber direkt funktioniert.
|
||||
2. Öffnen Sie `http://<server-ip>:3000` oder Ihren benutzerdefinierten Port aus demselben Netzwerk.
|
||||
3. Fügen Sie den Reverse Proxy erst hinzu, wenn die Direktverbindung funktioniert.
|
||||
|
||||
## Was der Proxy unterstützen muss
|
||||
|
||||
- WebSockets für den Live-Nachrichtenverkehr:
|
||||
- `/api/event/ws`
|
||||
- `/api/global/event/ws`
|
||||
- `/api/terminal/ws`
|
||||
- SSE ohne Buffering:
|
||||
- `/api/event`
|
||||
- `/api/global/event`
|
||||
- `/api/notifications/stream`
|
||||
- `/api/openchamber/events`
|
||||
- `/api/terminal/:sessionId/stream`
|
||||
- Große Request-Bodies für Anhänge und Dateioperationen
|
||||
- Lange Read-Timeouts für Live-Streams und Terminal-Sitzungen
|
||||
|
||||
## Wichtige Regeln
|
||||
|
||||
- Aktivieren Sie das Proxying für WebSockets.
|
||||
- Deaktivieren Sie Buffering auf SSE-Routen.
|
||||
- Deaktivieren Sie gzip auf dem Proxy, wenn OpenChamber Antworten bereits komprimiert.
|
||||
- Halten Sie Komprimierung nur in einer Ebene aktiv.
|
||||
- Leiten Sie normale Proxy-Header wie `Host`, `X-Forwarded-For` und `X-Forwarded-Proto` weiter.
|
||||
- Erhöhen Sie die Body-Größenlimits, wenn Nutzer Dateien hochladen.
|
||||
|
||||
## Kurze Checkliste
|
||||
|
||||
- OpenChamber direkt im LAN erreichbar
|
||||
- WebSockets im Proxy aktiviert
|
||||
- SSE-Routen ohne Buffering
|
||||
- `gzip off` auf dem Proxy-Host oder Komprimierung anderweitig deaktiviert
|
||||
- `client_max_body_size` groß genug für Anhänge
|
||||
- `proxy_read_timeout` lang genug für Streams
|
||||
|
||||
## Beispiel: Nginx
|
||||
|
||||
<details>
|
||||
<summary>Beispielkonfiguration anzeigen</summary>
|
||||
|
||||
```nginx
|
||||
client_max_body_size 50M;
|
||||
client_body_buffer_size 50M;
|
||||
proxy_request_buffering off;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
|
||||
gzip off;
|
||||
|
||||
location = /api/terminal/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location = /api/global/event/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location = /api/event/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location ~ ^/api/(event|global/event|notifications/stream|openchamber/events)$ {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location ~ ^/api/terminal/.+/stream$ {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## Beispiel: Nginx Proxy Manager
|
||||
|
||||
<details>
|
||||
<summary>Beispiel für den Tab „Advanced“ anzeigen</summary>
|
||||
|
||||
```nginx
|
||||
client_max_body_size 50M;
|
||||
client_body_buffer_size 50M;
|
||||
proxy_request_buffering off;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
|
||||
gzip off;
|
||||
|
||||
location = /api/terminal/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/global/event/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/event/ws {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/event {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/global/event {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/notifications/stream {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location = /api/openchamber/events {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location ~ ^/api/terminal/.+/stream$ {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Accept "text/event-stream";
|
||||
proxy_set_header Cache-Control "no-cache";
|
||||
proxy_buffering off;
|
||||
proxy_cache off;
|
||||
gzip off;
|
||||
add_header X-Accel-Buffering "no" always;
|
||||
add_header Cache-Control "no-cache, no-transform" always;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_connect_timeout 30s;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Aktivieren Sie für diesen Host außerdem `Websockets Support` in Nginx Proxy Manager.
|
||||
|
||||
## Häufige Fehlersymptome
|
||||
|
||||
### Seite lädt, aber das Senden von Nachrichten schlägt fehl
|
||||
|
||||
- WebSockets sind im Proxy nicht aktiviert
|
||||
- `/api/event/ws` oder `/api/global/event/ws` wird nicht korrekt weitergeleitet
|
||||
|
||||
### Benachrichtigungen oder Live-Status werden nicht aktualisiert
|
||||
|
||||
- eine der SSE-Routen wird gepuffert oder gecacht
|
||||
- `X-Accel-Buffering "no"` fehlt
|
||||
|
||||
### Datei-Uploads schlagen fehl
|
||||
|
||||
- `client_max_body_size` ist zu klein
|
||||
|
||||
### Alles funktioniert lokal, bricht aber nur hinter dem Proxy
|
||||
|
||||
- der Proxy komprimiert und puffert Live-Verkehr
|
||||
- dem Proxy fehlt WebSocket-Unterstützung
|
||||
|
||||
## Beispiel: Caddy
|
||||
|
||||
<details>
|
||||
<summary>Beispielkonfiguration anzeigen</summary>
|
||||
|
||||
```caddy
|
||||
reverse_proxy 127.0.0.1:3000 {
|
||||
# WebSocket-Unterstützung ist in Caddy automatisch vorhanden
|
||||
|
||||
# SSE-Antworten sofort flushen
|
||||
flush_interval -1
|
||||
|
||||
# Host- und Proxy-Header weiterreichen
|
||||
header_up Host {host}
|
||||
header_up X-Real-IP {remote_host}
|
||||
header_up X-Forwarded-For {remote_host}
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
|
||||
# Timeouts für langlebige Streams erhöhen
|
||||
transport http {
|
||||
read_timeout 3600s
|
||||
write_timeout 3600s
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Caddy behandelt WebSocket-Upgrades automatisch — keine zusätzliche Konfiguration nötig. Die Direktive `flush_interval -1` sorgt dafür, dass SSE-Teilstücke ohne Buffering sofort weitergeleitet werden.
|
||||
|
||||
## Warnung zu CDN und doppelter Komprimierung
|
||||
|
||||
Wenn Sie ein CDN (wie Cloudflare) vor Ihren Reverse Proxy setzen, achten Sie auf doppelte Komprimierung:
|
||||
|
||||
- OpenChamber komprimiert HTTP-Antworten mit gzip (Schwelle 1 KB).
|
||||
- Cloudflare und andere CDNs komprimieren Antworten standardmäßig ebenfalls.
|
||||
- Das kann zu doppelt komprimierten Antworten oder falschen `Content-Encoding`-Headern führen.
|
||||
|
||||
Um das zu vermeiden, deaktivieren Sie die Komprimierung auf **einer** Ebene:
|
||||
|
||||
- **Cloudflare:** Rules → Compression → deaktivieren (oder den Modus „Passthrough“ verwenden).
|
||||
- **Nginx:** `gzip off` (oben in den Beispielen bereits gezeigt).
|
||||
- **Caddy:** Caddy komprimiert standardmäßig nicht erneut, wenn der Upstream bereits komprimierte Inhalte sendet.
|
||||
|
||||
SSE-Streaming-Routen sind von OpenChamber von der Komprimierung ausgeschlossen, das CDN kann sie aber trotzdem puffern. Prüfen Sie in der CDN-Dokumentation, wie sich Buffering auf SSE-Pfaden deaktivieren lässt.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Tunnels](/tunnels/)
|
||||
- [Fehlerbehebung](/troubleshooting/)
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Geplante Aufgaben
|
||||
description: Führe einen Prompt automatisch nach Zeitplan aus.
|
||||
---
|
||||
|
||||
# Geplante Aufgaben
|
||||
|
||||
Eine geplante Aufgabe führt für dich nach Zeitplan einen Prompt aus — zum Beispiel täglich „die Änderungen von gestern zusammenfassen“ oder wöchentlich eine Bereinigung. Wenn sie läuft, startet OpenChamber eine neue Session und sendet den Prompt selbst. Öffne den Scheduler über die Schaltfläche oben in der Session-Seitenleiste.
|
||||
|
||||
## Eine Aufgabe erstellen
|
||||
|
||||
1. Öffne den Dialog für geplante Aufgaben in der Session-Seitenleiste.
|
||||
2. Füge eine Aufgabe hinzu und gib ihr einen Namen.
|
||||
3. Wähle, wann sie läuft:
|
||||
- **daily** — zu einer oder mehreren Zeiten pro Tag
|
||||
- **weekly** — an ausgewählten Wochentagen und Uhrzeiten
|
||||
- **once** — ein einzelnes Datum und eine einzelne Uhrzeit
|
||||
4. Lege fest, was sie tut: den zu sendenden Prompt sowie Provider, Modell und Agent, die verwendet werden sollen. Der Prompt kann ein Slash-Befehl sein, zum Beispiel `/review`.
|
||||
5. Speichern und sicherstellen, dass die Aufgabe aktiviert ist.
|
||||
|
||||
Du kannst jede Aufgabe sofort mit **run now** ausführen, um zu prüfen, ob sie das tut, was du erwartest.
|
||||
|
||||
Aktiviere **Run as goal**, damit der Lauf seinen Prompt bis zum Abschluss verfolgt, statt nach einer Antwort zu stoppen — siehe [Session Goals](/session-goals/).
|
||||
|
||||
## Woran du Erfolg erkennst
|
||||
|
||||
Nach einem Lauf zeigt die Aufgabe, wann sie zuletzt gelaufen ist, ob sie erfolgreich war und einen Link zur Session, die sie erstellt hat. Wenn ein Lauf fehlschlägt, wird dort auch der Fehler angezeigt.
|
||||
|
||||
## Wichtig zu wissen
|
||||
|
||||
Aufgaben werden nur ausgelöst, während der OpenChamber-Server läuft. Wenn du ihn schließt, sind geplante Läufe pausiert, bis er wieder online ist.
|
||||
|
||||
## Verwandtes
|
||||
|
||||
- [Commands & Snippets](/commands-snippets/) — einen Slash-Befehl als Prompt wiederverwenden
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Sicherheit
|
||||
description: Schützen Sie die UI mit einem Passwort und Passkeys, bevor Sie sie freigeben.
|
||||
---
|
||||
|
||||
# Sicherheit
|
||||
|
||||
OpenChamber gewährt Zugriff auf Ihren Rechner und Ihren Code. Sperren Sie es also ab, bevor jemand außer Ihnen darauf zugreifen kann. Diese Seite behandelt das UI-Passwort, Passkeys und was Sie wissen sollten, bevor Sie OpenChamber in ein Netzwerk exponieren.
|
||||
|
||||
## UI-Passwort setzen
|
||||
|
||||
Starten Sie OpenChamber mit einem Passwort, und die Browser-UI fragt danach:
|
||||
|
||||
```bash
|
||||
openchamber --ui-password be-creative-here
|
||||
```
|
||||
|
||||
Sie können es auch über die Umgebungsvariable `OPENCHAMBER_UI_PASSWORD` setzen, statt es in die Befehlszeile zu schreiben. Nach der Anmeldung merkt sich OpenChamber das Gerät für eine Weile, damit Sie nicht jedes Mal gefragt werden.
|
||||
|
||||
Setzen Sie immer ein Passwort, wenn die Instanz für andere erreichbar ist — besonders über einen [Tunnel](/tunnels/) oder das öffentliche Internet.
|
||||
|
||||
## Passkeys
|
||||
|
||||
Sobald ein Passwort gesetzt ist, können Sie Passkeys (Face ID, Touch ID, ein Sicherheitsschlüssel) für eine schnellere Anmeldung hinzufügen. Fügen Sie sie unter **Einstellungen → OpenChamber → Passkeys** hinzu.
|
||||
|
||||
Passkeys sind an das aktuelle Passwort gebunden. Wenn Sie das Passwort ändern oder entfernen, werden gespeicherte Passkeys gelöscht und Sie fügen sie erneut hinzu.
|
||||
|
||||
## Geräte-Tokens
|
||||
|
||||
Geräte, die über [Ein Gerät verbinden](/connect-devices/) gekoppelt werden, authentifizieren sich mit eigenen gerätespezifischen Tokens, nicht mit dem UI-Passwort. Pairing-Links sind nur einmal nutzbar und laufen ab, wenn sie nicht verwendet werden; jedes gekoppelte Gerät wird unter **Einstellungen → Remote-Instanzen → Mit diesem Server verbinden** aufgeführt, wo Sie es jederzeit widerrufen können. Verbindungen von außerhalb laufen über das [Private Relay](/private-relay/), das Ende-zu-Ende verschlüsselt ist und Ihren Traffic nicht lesen kann.
|
||||
|
||||
## Bevor Sie es freigeben
|
||||
|
||||
- Standardmäßig lauscht OpenChamber nur auf Ihrem eigenen Rechner (`127.0.0.1`). Es braucht eine bewusste Änderung, um breiter zu lauschen, und Sie sollten vorher ein Passwort setzen.
|
||||
- Für Ihre eigenen Geräte bevorzugen Sie [Pairing](/connect-devices/) mit dem [Private Relay](/private-relay/) — dabei wird überhaupt nichts öffentlich freigegeben.
|
||||
- Wenn Sie eine öffentliche URL brauchen, verwenden Sie lieber einen [Tunnel](/tunnels/) oder ein privates Netzwerk (z. B. VPN), statt einen Port ins Internet zu öffnen.
|
||||
- Wenn Sie OpenChamber hinter Ihrem eigenen HTTPS-Server betreiben, sehen Sie sich [Reverse Proxy](/reverse-proxy/) an.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Ein Gerät verbinden](/connect-devices/) — einmaliges Pairing und gerätespezifische Tokens
|
||||
- [Private Relay](/private-relay/) — Ende-zu-Ende-verschlüsselter Zugriff von überall
|
||||
- [Tunnel](/tunnels/) — eine öffentliche URL freigeben, wenn Sie eine brauchen
|
||||
- [Reverse Proxy](/reverse-proxy/) — OpenChamber hinter Ihrem eigenen Server betreiben
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Sitzungsziele
|
||||
description: Verwandelt eine Aufforderung in ein Ziel, auf das der Agent automatisch hinarbeitet.
|
||||
---
|
||||
|
||||
# Sitzungsziele
|
||||
|
||||
Ein Ziel macht aus einer Aufforderung eine Ziellinie. Statt den Agenten nach jeder Antwort mit "continue" anzustupsen, legst du das Ziel einmal fest — und OpenChamber hält die Sitzung automatisch darauf ausgerichtet und prüft nach jedem Zug mit einem unabhängigen Prüfer den Fortschritt. Es läuft weiter, auch wenn du nicht da bist.
|
||||
|
||||
## Ein Ziel starten
|
||||
|
||||
1. Drücke in der Composer-Ansicht die Zielschaltfläche. Sie leuchtet auf — der Zielmodus ist aktiviert.
|
||||
2. Gib deine Aufforderung ein und sende sie ab. Diese Nachricht wird zum Ziel des Vorhabens.
|
||||
|
||||
Das funktioniert in einer bestehenden Sitzung ebenso wie in einem neuen Sitzungsentwurf: Zielmodus aktivieren, die erste Nachricht schreiben, senden — die neue Sitzung startet mit dem bereits aktiven Ziel.
|
||||
|
||||
### Weitere Wege, ein Ziel zu starten
|
||||
|
||||
- **Aus einer Antwort des Agenten**: Im Dialog "Start new session from this answer" aktiviere **Run as goal** — die Antwort wird als Aufgabe übergeben, die die neue Sitzung bis zum Abschluss ausführt (kombiniere das mit **Create worktree** für einen isolierten Lauf).
|
||||
- **Aus einem Plan**: Wenn du einen gespeicherten Plan in einer neuen Sitzung oder einem Worktree umsetzt, aktiviere im Dialog **Run as goal**. Das Ziel übernimmt den Planinhalt als seine Aufgabe, sodass der Prüfer den Fortschritt am tatsächlichen Plan misst.
|
||||
- **Nach Zeitplan**: Aktiviere bei einer [geplanten Aufgabe](/scheduled-tasks/) **Run as goal**, damit wiederkehrende Läufe ihre Aufforderung bis zum Abschluss verfolgen.
|
||||
|
||||
## Eine eigenständige Zielbeschreibung schreiben
|
||||
|
||||
Der Fortschrittsprüfer sieht nur deine Zielbeschreibung und die neueste Antwort des Agenten — nicht den Chatverlauf. Formuliere die Zielnachricht also so, dass auch jemand ohne Gesprächskontext versteht, wie der fertige Zustand aussieht.
|
||||
|
||||
- Gut: "Füge Tests für das Exportmodul hinzu und sorge dafür, dass die gesamte Test-Suite besteht."
|
||||
- Nicht so gut: "Beheb das" oder "Mach mit der Idee weiter."
|
||||
|
||||
Für kleine nachgelagerte Rückfragen mit Kontext brauchst du kein Ziel — sende einfach eine normale Nachricht.
|
||||
|
||||
## So funktioniert es
|
||||
|
||||
Nachdem der Agent anhält und die Sitzung für einen Moment ruhig bleibt, macht OpenChamber Folgendes:
|
||||
|
||||
1. Es bittet ein kleines, günstiges Modell, den letzten Zug gegen das Ziel zu prüfen: weitermachen, fertig oder festgefahren?
|
||||
2. Wenn das Urteil "weitermachen" lautet, sendet es eine Fortsetzungsaufforderung und der Agent nimmt die Arbeit wieder auf.
|
||||
3. Wenn das Ziel nachweislich erreicht ist, ist es abgeschlossen und du bekommst eine Benachrichtigung.
|
||||
4. Wenn der Agent wirklich feststeckt (deine Eingabe braucht), wird das Ziel erst dann als blockiert gestoppt — aber nur nachdem der Prüfer das dreimal in Folge gesagt hat, damit ein einzelner Ausrutscher das Ziel nie beendet.
|
||||
|
||||
Es gibt auch harte Sicherheitsstopps: ein optionales Token-Budget, eine Obergrenze für automatische Fortsetzungen und ein Stopp bei Fehlern in einem Zug. Wenn der Kontext der Sitzung mitten in der Arbeit komprimiert wird, geht das Ziel einfach weiter — in das Kontextfenster zu laufen ist ein Beweis dafür, dass die Arbeit noch nicht fertig war.
|
||||
|
||||
### Stoppen und fortsetzen
|
||||
|
||||
- Die **Stopp-Schaltfläche** bricht den laufenden Zug ab und pausiert das Ziel — dein ausdrückliches "stop" gewinnt immer gegen die Schleife.
|
||||
- **Pause** in der Zielleiste macht aus der anderen Richtung dasselbe: Es pausiert das Ziel und stoppt den laufenden Zug.
|
||||
- Während der Pause kannst du normal chatten — die Schleife bleibt dir aus dem Weg.
|
||||
- **Resume** aktiviert die Schleife neu: Bei einer ruhenden Sitzung geht der Fortsetzungsanstupser sofort raus; wenn der Agent gerade arbeitet, hängt sich die Schleife beim nächsten Halt stillschweigend wieder an.
|
||||
|
||||
## Beobachten und verwalten
|
||||
|
||||
- Die Leiste über dem Composer zeigt die neueste Fortschrittsnotiz, den Status und die Token-Nutzung des Ziels sowie eine Inline-Schaltfläche zum Pausieren/Fortsetzen. Wenn der Agent angehalten hat und das Ziel aktiv ist, zeigt die Leiste ein drehendes **Evaluating…** — das ist das ruhige Zeitfenster und der laufende Audit.
|
||||
- Die Zielschaltfläche bleibt während der Laufzeit blau beleuchtet, wird bei Abschluss grün und bei Blockierung oder erreichtem Budget rot. Drücke sie, um den Zieldialog zu öffnen: Bearbeite das Ziel oder das Budget oder entferne das Ziel. Ein abgeschlossenes Ziel ist schreibgeschützt — entferne es und aktiviere dann ein neues.
|
||||
- In der Sitzungs-Seitenleiste erscheint neben dem Sitzungsdatum ein kleines Zielsymbol, dessen Farbe den Zustand des Ziels widerspiegelt.
|
||||
|
||||
## Benachrichtigungen
|
||||
|
||||
Während ein Ziel aktiv ist, werden die "Agent ist bereit"-Benachrichtigungen pro Zug unterdrückt — sie würden nur die eigenen Fortsetzungen der Zielschleife wiederholen. Wenn das Ziel zur Ruhe kommt (abgeschlossen, blockiert oder Budget erreicht), bekommst du stattdessen eine letzte Benachrichtigung, auf dem Desktop und als mobile Push-Nachricht. Sie folgt derselben Einstellung "bei Abschluss benachrichtigen"; Berechtigungsanfragen, Fragen und Fehlermeldungen funktionieren währenddessen wie gewohnt weiter.
|
||||
|
||||
## Token-Budget
|
||||
|
||||
In **Einstellungen → Chat → Goal** kannst du ein Standard-Token-Budget für neue Ziele festlegen. Wenn ein Ziel sein Budget erreicht, stoppt es als "budget reached" statt weiter zu verbrauchen — du kannst das Budget erhöhen und im Zieldialog fortsetzen.
|
||||
|
||||
## Beachten
|
||||
|
||||
- Die Zielschleife läuft im OpenChamber-Server, nicht in deinem Browser-Tab. Schließe den Tab, sperre das Telefon — der Agent arbeitet weiter, und du bekommst eine Benachrichtigung, wenn das Ziel zur Ruhe kommt. Der Server (Desktop-App oder `openchamber`-Prozess) muss weiterlaufen.
|
||||
- Ziele verwenden den eigenen Provider und das Modell deiner Sitzung, einschließlich der Prüferaufrufe — nichts verlässt die Provider, die du bereits nutzt.
|
||||
- Pro Sitzung immer nur ein Ziel gleichzeitig.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Geplante Aufgaben](/scheduled-tasks/) — eine Aufforderung nach Zeitplan ausführen; dort "Run as goal" aktivieren, damit ein geplanter Lauf seine Aufforderung bis zum Abschluss verfolgt
|
||||
- [Benachrichtigungen](/notifications/) — wie du von einem fertigen Ziel erfährst
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Skills-Katalog
|
||||
description: Fertige Skills durchsuchen und installieren.
|
||||
---
|
||||
|
||||
# Skills-Katalog
|
||||
|
||||
Im Skills-Katalog kannst du Skills installieren, die andere veröffentlicht haben, statt selbst welche zu schreiben. Du öffnest ihn unter **Einstellungen → Skills → Katalog**.
|
||||
|
||||
Zum Schreiben eigener Skills siehe [Skills](/skills/).
|
||||
|
||||
## Einen Skill installieren
|
||||
|
||||
1. Öffne den Katalog.
|
||||
2. Durchsuche die eingebauten Quellen — wie das Anthropic-Skills-Repo — oder nutze die Suche.
|
||||
3. Wähle einen Skill aus und installiere ihn.
|
||||
4. Entscheide, wo er installiert werden soll: für alles, was du tust, oder nur für das aktuelle Projekt.
|
||||
|
||||
Wenn bereits ein Skill mit demselben Namen existiert, fragt OpenChamber, was geschehen soll — überspringen, überschreiben oder für jeden Skill einzeln entscheiden.
|
||||
|
||||
## Eigene Quelle hinzufügen
|
||||
|
||||
Du kannst jedes Git-Repository als Quelle hinzufügen — entweder mit seinem `owner/repo`-Namen oder mit einer vollständigen Git-URL. Private Repositories brauchen Zugriff auf deinem Rechner (einen SSH-Schlüssel oder gespeicherte Anmeldedaten); wenn sich eine Quelle nicht authentifizieren kann, weist der Katalog darauf hin, statt still zu scheitern.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Skills](/skills/) — installierte Skills erstellen und verwalten
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Skills
|
||||
description: Erstelle wiederverwendbare Anweisungen, die Agents bei Bedarf laden.
|
||||
---
|
||||
|
||||
# Skills
|
||||
|
||||
Ein Skill ist ein wiederverwendbarer Satz von Anweisungen, den ein Agent bei Bedarf laden kann — zum Beispiel „wie wir Commit-Nachrichten schreiben“ oder „unsere API-Konventionen“. Du verwaltest sie unter **Einstellungen → Skills**.
|
||||
|
||||
Wenn du fertige Skills installieren statt eigene schreiben möchtest, siehe [Skills-Katalog](/skills-catalog/).
|
||||
|
||||
## Einen Skill erstellen
|
||||
|
||||
1. Öffne **Einstellungen → Skills**.
|
||||
2. Erstelle einen Skill und gib ihm einen Namen und eine kurze Beschreibung. Die Beschreibung ist die Grundlage dafür, wann der Agent den Skill anwendet. Sei daher konkret.
|
||||
3. Schreibe die Anweisungen. Füge unterstützende Dateien hinzu, falls der Skill sie braucht.
|
||||
4. Wähle den Speicherort:
|
||||
- **persönlich** — in jedem Projekt verfügbar
|
||||
- **projektbezogen** — nur im aktuellen Projekt verfügbar
|
||||
|
||||
## Einen Skill im Chat verwenden
|
||||
|
||||
Gib mitten in einer Nachricht `/` ein, um die Skill-Auswahl zu öffnen, und wähle dann einen Skill aus. Der Agent lädt für die Antwort die Anweisungen dieses Skills.
|
||||
|
||||
Ein `/` ganz am Anfang der Nachricht öffnet stattdessen [Befehle](/commands-snippets/).
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Skills-Katalog](/skills-catalog/) — installiere Skills, die andere veröffentlicht haben
|
||||
- [Befehle & Snippets](/commands-snippets/) — weitere Möglichkeiten, Text im Chat wiederzuverwenden
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: SSH-Hosts & Proxying
|
||||
description: Importiere gespeicherte SSH-Hosts und füge in der Desktop-App zusätzliche SSH-Portweiterleitungen hinzu.
|
||||
---
|
||||
|
||||
# SSH-Hosts & Proxying
|
||||
|
||||
Verwende in der Desktop-App **Settings → Remote Instances**, um gespeicherte SSH-Hosts zu importieren, dich mit einem entfernten Rechner zu verbinden und über dieselbe SSH-Verbindung zusätzliche Ports bereitzustellen.
|
||||
|
||||
> SSH-Hosts und SSH-Proxying sind Funktionen **nur für den Desktop**. Sie verwenden den SSH-Client auf deinem Rechner.
|
||||
|
||||
## SSH-Host importieren
|
||||
|
||||
OpenChamber kann Hosts aus deiner lokalen SSH-Konfiguration lesen, also aus demselben Ort, den auch Befehle wie `ssh work-server` verwenden.
|
||||
|
||||
1. Öffne **Settings → Remote Instances**.
|
||||
2. Wähle einen Host unter **Saved SSH hosts**.
|
||||
3. Wenn es sich um ein Muster handelt, gib das tatsächliche Ziel ein, zum Beispiel `deploy@app.example.com`.
|
||||
4. Speichern und verbinden.
|
||||
|
||||
OpenChamber erstellt mit diesem SSH-Befehl eine Remote-Instanz. Wenn sie **ready** erreicht, öffnet sich die entfernte OpenChamber-UI in der Desktop-App.
|
||||
|
||||
## Zusätzliche Portweiterleitungen hinzufügen
|
||||
|
||||
Jede Remote-Instanz hat den Bereich **Port Forwards**. Verwende ihn, wenn etwas auf einer Seite der SSH-Verbindung einen Port auf der anderen Seite erreichen muss.
|
||||
|
||||
OpenChamber unterstützt drei Weiterleitungstypen:
|
||||
|
||||
- **Local (-L)** — öffne einen Port auf deinem Rechner, der mit etwas auf dem entfernten Rechner verbunden ist.
|
||||
- **Remote (-R)** — öffne einen Port auf dem entfernten Rechner, der zurück zu deinem Rechner verbindet.
|
||||
- **Dynamic (-D)** — öffne einen lokalen SOCKS-Proxy über die SSH-Verbindung.
|
||||
|
||||
Für die meisten App-Vorschauen und Dashboards, die auf dem entfernten Rechner laufen, verwende **Local (-L)**.
|
||||
|
||||
## Den SOCKS-Proxy verwenden
|
||||
|
||||
Wähle **Dynamic (-D)**, wenn andere Tools auf deinem Rechner über den entfernten Rechner browsen sollen. OpenChamber öffnet dafür einen lokalen SOCKS-Proxy-Port für diese SSH-Verbindung.
|
||||
|
||||
Sobald die Verbindung bereit ist, kopiere oder verwende die lokale Proxy-Adresse aus der Weiterleitungszeile. Konfiguriere deinen Browser oder dein Tool so, dass es sie als SOCKS5-Proxy verwendet.
|
||||
|
||||
## Privat halten
|
||||
|
||||
Verwende `127.0.0.1` oder `localhost` für den lokalen Bind-Host, es sei denn, du möchtest ausdrücklich, dass andere Geräte in deinem Netzwerk den weitergeleiteten Port erreichen.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Remote Instances](/remote-instances/) — die Desktop-App mit OpenChamber auf einem anderen Rechner verbinden
|
||||
- [Remote access](/troubleshooting/remote-access/) — wenn SSH oder Remote-Zugriff keine Verbindung herstellen
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Themes
|
||||
description: Passe OpenChamber mit eingebauten und benutzerdefinierten Themes an.
|
||||
---
|
||||
|
||||
# Themes
|
||||
|
||||
OpenChamber unterstützt eingebaute Themes und benutzerdefinierte Theme-JSON-Dateien.
|
||||
|
||||
## Ein benutzerdefiniertes Theme hinzufügen
|
||||
|
||||
1. Erstelle das Themes-Verzeichnis:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/openchamber/themes
|
||||
```
|
||||
|
||||
2. Füge deine JSON-Datei in dieses Verzeichnis ein (zum Beispiel `my-theme.json`).
|
||||
3. Öffne OpenChamber und gehe dann zu **Einstellungen -> Theme -> Themes neu laden**.
|
||||
4. Wähle dein Theme im Dropdown aus. Es wird sofort angewendet.
|
||||
|
||||
## Speicherort der Themes
|
||||
|
||||
- macOS/Linux: `~/.config/openchamber/themes/`
|
||||
|
||||
## Vollständige Referenz des JSON-Formats
|
||||
|
||||
Verwende die vollständige Formatbeschreibung in den Haupt-Repository-Dokumenten:
|
||||
|
||||
- [`docs/CUSTOM_THEMES.md`](https://github.com/openchamber/openchamber/blob/main/docs/CUSTOM_THEMES.md)
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Fehlerbehebung
|
||||
description: Häufige Einrichtungs- und Laufzeitprobleme mit schnellen Lösungen.
|
||||
---
|
||||
|
||||
# Fehlerbehebung
|
||||
|
||||
Hakt es irgendwo? Suchen Sie unten das Symptom und probieren Sie die Lösung.
|
||||
|
||||
## OpenChamber-Befehl beendet sich oder startet nicht
|
||||
|
||||
- bestätigen Sie Node.js `>=22`
|
||||
- führen Sie `openchamber --version` aus
|
||||
- installieren Sie die neueste CLI bei Bedarf neu
|
||||
|
||||
## Web-UI ist nicht erreichbar
|
||||
|
||||
- prüfen Sie die Server-Logs mit `openchamber logs`
|
||||
- verifizieren Sie den aktiven Port (standardmäßig `3000`)
|
||||
- öffnen Sie `http://localhost:3000` zuerst direkt, bevor Sie Tunnel-Links testen
|
||||
|
||||
## Remote-/Tunnel-Link funktioniert nicht
|
||||
|
||||
- führen Sie `openchamber tunnel status --all` aus
|
||||
- starten Sie den Tunnel von derselben Instanz / demselben Port neu
|
||||
- erzeugen Sie den Connect-Link neu, wenn das vorherige Token bereits verwendet wurde
|
||||
|
||||
Die vollständige Einrichtung steht unter [Tunnel](/tunnels/) und [Reverse Proxy](/reverse-proxy/), falls Sie einen nutzen.
|
||||
|
||||
## VS-Code-Erweiterung verbindet sich nicht
|
||||
|
||||
- bestätigen Sie, dass der OpenChamber-Server läuft
|
||||
- prüfen Sie, ob die Erweiterung aktualisiert ist
|
||||
- laden Sie das VS-Code-Fenster neu und versuchen Sie die Verbindung erneut
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Schnellstart](/quickstart/)
|
||||
- [Tunnel](/tunnels/)
|
||||
- [Reverse Proxy](/reverse-proxy/)
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: OpenCode-Verbindung
|
||||
description: Beheben Sie, dass OpenChamber keine Verbindung zu seinem OpenCode-Server herstellt.
|
||||
---
|
||||
|
||||
# OpenCode-Verbindung
|
||||
|
||||
Wenn OpenChamber lädt, aber nie über „OpenCode is restarting“ hinauskommt, oder der Chat nicht antwortet, ist der Server, mit dem es spricht, nicht erreichbar. Gehen Sie diese Punkte durch.
|
||||
|
||||
## Es hängt bei „OpenCode is restarting“
|
||||
|
||||
- geben Sie ihm direkt nach dem Start einen Moment — dieser Zustand ist normal, während der Server hochfährt
|
||||
- prüfen Sie mit `openchamber status`, ob der Server noch läuft
|
||||
- starten Sie ihn mit `openchamber restart` neu
|
||||
- sehen Sie sich mit `openchamber logs` die Startdetails an
|
||||
|
||||
## Sie verbinden sich mit Ihrem eigenen Server
|
||||
|
||||
Wenn Sie OpenChamber so konfiguriert haben, dass es einen vorhandenen Server nutzt, prüfen Sie die Einrichtung aus [OpenCode Server](/opencode-server/) noch einmal:
|
||||
|
||||
- `OPENCODE_HOST` muss den Port enthalten, aber keinen Pfad — zum Beispiel `http://localhost:4096`
|
||||
- setzen Sie `OPENCODE_SKIP_START=true`, damit OpenChamber nicht auch noch seinen eigenen Server startet
|
||||
- wenn die Adresse ungültig ist, ignoriert OpenChamber sie und startet stattdessen seinen eigenen Server — achten Sie in den Logs auf eine `[config]`-Warnung
|
||||
|
||||
## Es schlägt immer noch fehl
|
||||
|
||||
- bestätigen Sie, dass Node.js Version `20` oder neuer ist
|
||||
- installieren Sie die neueste CLI neu
|
||||
- öffnen Sie `http://localhost:3000` direkt, bevor Sie einen Tunnel- oder Remote-Link testen
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [OpenCode Server](/opencode-server/) — wie OpenChamber den Server findet und verwaltet
|
||||
- [Fehlerbehebung](/troubleshooting/) — weitere häufige Probleme
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: Remote-Zugriff
|
||||
description: Beheben Sie Tunnel, Remote-Instanzen und den Zugriff auf OpenChamber von einem anderen Gerät aus.
|
||||
---
|
||||
|
||||
# Remote-Zugriff
|
||||
|
||||
Wenn Sie OpenChamber von Ihrem Telefon oder einem anderen Rechner aus nicht erreichen, hängt die Lösung davon ab, wie Sie sich verbinden.
|
||||
|
||||
## Prüfen Sie zuerst die Grundlagen
|
||||
|
||||
- öffnen Sie zuerst `http://localhost:3000` auf demselben Computer — wenn das fehlschlägt, ist es kein Remote-Problem; sehen Sie unter [OpenCode-Verbindung](/troubleshooting/opencode-connection/) nach
|
||||
- bestätigen Sie mit `openchamber status`, dass der Server läuft
|
||||
|
||||
## Gekoppeltes Gerät verbindet sich nicht
|
||||
|
||||
- der QR-Code / Pairing-Link ist **nur einmal nutzbar** — wenn er bereits gescannt wurde (oder abgelaufen ist), erstellen Sie über **Gerät hinzufügen** einen neuen
|
||||
- wenn das Gerät mit **Nur Heimnetzwerk** gekoppelt wurde, kann es sich von außerhalb dieses Netzwerks nicht verbinden — koppeln Sie es erneut mit **Überall**
|
||||
- prüfen Sie bei **Überall**-Pairing auf dem Server **Einstellungen → Remote-Instanzen → OpenChamber Relay**: Dort sollte **Verbunden** stehen; wenn nicht, deaktivieren und reaktivieren Sie es
|
||||
- wenn ein Gerät **widerrufen** wurde, ist sein Token endgültig weg — koppeln Sie es mit einem neuen QR-Code erneut
|
||||
|
||||
Wie diese Verbindungen funktionieren, steht unter [Ein Gerät verbinden](/connect-devices/) und [Private Relay](/private-relay/).
|
||||
|
||||
## Tunnel-Link funktioniert nicht
|
||||
|
||||
- führen Sie `openchamber tunnel status --all` aus
|
||||
- starten Sie den Tunnel von derselben Instanz und demselben Port neu
|
||||
- erzeugen Sie den Connect-Link neu, wenn der vorherige bereits verwendet wurde
|
||||
|
||||
Die vollständige Einrichtung steht unter [Tunnel](/tunnels/).
|
||||
|
||||
## Remote-Instanz verbindet sich nicht (Desktop)
|
||||
|
||||
Wenn eine [Remote-Instanz](/remote-instances/) hängen bleibt, nennt OpenChamber den fehlgeschlagenen Schritt:
|
||||
|
||||
- **auth** — Ihr SSH- oder UI-Passwort wurde abgelehnt; geben Sie es erneut ein
|
||||
- **install / start** — OpenChamber konnte den Server auf dem entfernten Rechner nicht einrichten oder starten; prüfen Sie die Anforderungen dieses Rechners
|
||||
- **forwarding** — die Verbindung steht, aber der Port erreicht Sie nicht; versuchen Sie einen anderen lokalen Port
|
||||
|
||||
## Hinter Ihrem eigenen Server
|
||||
|
||||
Wenn Sie OpenChamber hinter einen Reverse Proxy setzen und es seltsam lädt oder keine Verbindung herstellt, sehen Sie sich [Reverse Proxy](/reverse-proxy/) an.
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Ein Gerät verbinden](/connect-devices/) · [Private Relay](/private-relay/) · [Tunnel](/tunnels/) · [Remote-Instanzen](/remote-instances/) · [Reverse Proxy](/reverse-proxy/)
|
||||
- [Sicherheit](/security/) — schützen Sie die UI, bevor Sie sie freigeben
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Worktrees & Git
|
||||
description: Häufige Probleme mit Worktrees und Git beheben.
|
||||
---
|
||||
|
||||
# Worktrees & Git
|
||||
|
||||
Probleme, die bei [Worktree-Sitzungen](/worktrees/) und der [Git-Ansicht](/git/) auftreten, und wie Sie sie beheben.
|
||||
|
||||
## Ein Worktree braucht Aufmerksamkeit
|
||||
|
||||
OpenChamber markiert einen Worktree, wenn etwas nicht stimmt:
|
||||
|
||||
- **Ordner fehlt** — der Ordner des Worktrees wurde gelöscht oder außerhalb von OpenChamber verschoben; entfernen Sie die Sitzung und erstellen Sie einen frischen Worktree
|
||||
- **abgetrennter oder noch nicht angelegter Branch** — der Worktree liegt nicht auf einem normalen Branch; checken Sie ihn auf einen aus
|
||||
- **Merge, Rebase oder Cherry-Pick läuft noch** — eine Operation wurde halb fertig gelassen; beenden oder abbrechen Sie sie in der Git-Ansicht
|
||||
|
||||
## Worktree lässt sich nicht erstellen
|
||||
|
||||
- **Branch existiert bereits** — wählen Sie einen anderen Branchnamen oder verwenden Sie die Option für einen bestehenden Branch
|
||||
- **Name bereits vergeben** — wählen Sie einen anderen Worktree-Namen
|
||||
|
||||
## Commit- oder PR-Erstellung schlägt fehl
|
||||
|
||||
Das Erzeugen einer Commit-Nachricht oder einer PR-Beschreibung läuft in Ihrer aktiven Sitzung, daher brauchen Sie eine geöffnete Sitzung mit ausgewähltem Arbeitsmodell. Öffnen oder wählen Sie eine Sitzung und versuchen Sie es erneut.
|
||||
|
||||
## SSH- oder Windows-Pfadprobleme
|
||||
|
||||
- stellen Sie sicher, dass der SSH-Schlüssel, den das Repo verwendet, derselbe ist, den Sie in Ihrer [Git-Identität](/git-identities/) gesetzt haben
|
||||
- unter Windows verwendet Git Unix-ähnliche Pfade (wie `/c/Users/...`) — OpenChamber handhabt das, aber benutzerdefinierte SSH-Schlüsselpfade sollten dieselbe Form haben
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Worktree-Sitzungen](/worktrees/) — wie Worktrees erstellt und entfernt werden
|
||||
- [Git-Identitäten](/git-identities/) — für jedes Repo den richtigen Schlüssel und die richtige Identität setzen
|
||||
@@ -0,0 +1,120 @@
|
||||
---
|
||||
title: Tunnel
|
||||
description: Stelle OpenChamber sicher für Remote- und Mobilzugriff bereit.
|
||||
---
|
||||
|
||||
# Tunnel
|
||||
|
||||
Ein Tunnel ist ein öffentlicher Link zu deinem OpenChamber, damit du ihn von einem normalen Browser in einem anderen Netzwerk aus erreichen kannst. Nutze `openchamber tunnel`, um einen für eine laufende Instanz zu erstellen.
|
||||
|
||||
> Wenn du **deine eigenen Geräte** verbindest (die Mobile App, einen anderen Desktop), brauchst du normalerweise keinen Tunnel — [kopple sie](/connect-devices/) stattdessen und lass das Ende-zu-Ende-verschlüsselte [Private Relay](/private-relay/) den Zugriff von unterwegs ohne zusätzliche Einrichtung übernehmen.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
OpenChamber startet das CLI des Tunnel-Anbieters auf deinem Rechner. Installiere zuerst den Anbieter, den du verwenden möchtest:
|
||||
|
||||
```bash
|
||||
brew install cloudflared
|
||||
brew install ngrok
|
||||
```
|
||||
|
||||
Cloudflare Quick Tunnels können mit `cloudflared` laufen. Ngrok benötigt ein ngrok-Konto und ein Authtoken aus dem ngrok-Dashboard:
|
||||
|
||||
```bash
|
||||
ngrok config add-authtoken <your-ngrok-token>
|
||||
```
|
||||
|
||||
## Schnellstart
|
||||
|
||||
1. Starte OpenChamber:
|
||||
|
||||
```bash
|
||||
openchamber
|
||||
```
|
||||
|
||||
Wenn du diesen Schritt überspringst, kann `openchamber tunnel start` automatisch einen CLI-Server starten. Beim automatischen Start kannst du Serveroptionen wie `--port`, `--host`, `--lan`, `--ui-password` und `--api-only` mitgeben.
|
||||
|
||||
2. Starte einen Cloudflare-Tunnel:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode quick
|
||||
```
|
||||
|
||||
Oder starte einen Ngrok-Tunnel:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider ngrok --mode quick
|
||||
```
|
||||
|
||||
3. Status prüfen:
|
||||
|
||||
```bash
|
||||
openchamber tunnel status
|
||||
```
|
||||
|
||||
Sobald der Tunnel aktiv ist, zeigt `status` eine öffentliche URL. Öffne sie oder scanne den QR-Code, um OpenChamber von überall aus zu erreichen.
|
||||
|
||||
Standardmäßig druckt OpenChamber in interaktiven TTY-Sitzungen einen QR-Code. Mit `--qr` erzwingst du die QR-Ausgabe, mit `--no-qr` deaktivierst du sie.
|
||||
|
||||
## Anbieter
|
||||
|
||||
- `cloudflare`: Quick-, Managed-Remote- und Managed-Local-Modi
|
||||
- `ngrok`: Quick-Modus
|
||||
|
||||
## Verwaltete Modi
|
||||
|
||||
### Managed Remote
|
||||
|
||||
Verwende ein von Cloudflare verwaltetes Token und einen Hostnamen:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode managed-remote --token-file ~/.secrets/cf-token --hostname app.example.com
|
||||
```
|
||||
|
||||
### Managed Local
|
||||
|
||||
Verwende eine lokale `cloudflared`-Konfiguration:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode managed-local --config ~/.cloudflared/config.yml
|
||||
```
|
||||
|
||||
## Profile (managed-remote)
|
||||
|
||||
Ein wiederverwendbares Profil speichern:
|
||||
|
||||
```bash
|
||||
openchamber tunnel profile add --provider cloudflare --mode managed-remote --name prod-main --hostname app.example.com --token-file ~/.secrets/cf-token
|
||||
```
|
||||
|
||||
Mit dem gespeicherten Profil starten:
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --profile prod-main
|
||||
```
|
||||
|
||||
## Nützliche Befehle
|
||||
|
||||
```bash
|
||||
openchamber tunnel providers
|
||||
openchamber tunnel ready --provider cloudflare
|
||||
openchamber tunnel ready --provider ngrok
|
||||
openchamber tunnel doctor --provider cloudflare
|
||||
openchamber tunnel doctor --provider ngrok
|
||||
openchamber tunnel stop --port 3000
|
||||
```
|
||||
|
||||
## Hinweise zum Verhalten
|
||||
|
||||
- ein aktiver Tunnel pro OpenChamber-Instanz (Port)
|
||||
- wenn auf derselben Instanz ein neuer Modus oder Anbieter startet, ersetzt er den vorherigen Tunnel
|
||||
- das Erstellen eines neuen Verbindungslinks widerruft den vorherigen unbenutzten Link
|
||||
- das automatische Starten des Tunnels bewahrt Server-Flags wie `--ui-password` und `--api-only` in den Instanzeinstellungen auf, die von Neustart-/Update-Flows verwendet werden
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Connect a Device](/connect-devices/) — eigene Geräte ohne öffentliche URL koppeln
|
||||
- [Security](/security/) — die UI schützen, bevor du sie freigibst
|
||||
- [Desktop Tunnels](/desktop-tunnels/) — Tunnel-Einrichtung in der Desktop-App ohne CLI-Start
|
||||
- [PWA & Mobile](/mobile/) — OpenChamber vom Telefon aus erreichen
|
||||
- [Troubleshooting](/troubleshooting/) — wenn der Tunnel-Link nicht funktioniert
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Updates
|
||||
description: Halten Sie OpenChamber auf Desktop, Web und VS Code auf dem neuesten Stand.
|
||||
---
|
||||
|
||||
# Updates
|
||||
|
||||
Wie Sie OpenChamber aktualisieren, hängt davon ab, wie Sie es installiert haben. In jedem Fall können Sie Ihre aktuelle Version unter **Einstellungen → OpenChamber → Über** prüfen.
|
||||
|
||||
## Desktop-App
|
||||
|
||||
Die Desktop-App prüft GitHub-Releases auf Updates. Wenn eines verfügbar ist, informiert OpenChamber Sie, lädt es auf Wunsch herunter und installiert es beim nächsten Neustart. Sie behalten immer die Kontrolle — nichts wird ohne Ihr Zutun installiert.
|
||||
|
||||
## Web / CLI
|
||||
|
||||
Wenn Sie die CLI installiert haben, aktualisieren Sie sie im Bereich **Über** mit den Schaltflächen zum Prüfen und Aktualisieren oder im Terminal:
|
||||
|
||||
```bash
|
||||
openchamber update
|
||||
```
|
||||
|
||||
OpenChamber erkennt, wie es installiert wurde (npm, pnpm, yarn oder bun), und führt das passende Update für Sie aus.
|
||||
|
||||
## Der OpenCode-Server
|
||||
|
||||
OpenChamber und OpenCode werden getrennt aktualisiert. Wenn eine neue OpenCode-Version verfügbar ist, bietet OpenChamber an, sie zu aktualisieren, und startet den Server danach neu. Wie dieser Server verwaltet wird, steht unter [OpenCode Server](/opencode-server/).
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Installieren](/install/) — wie die jeweilige App überhaupt installiert wird
|
||||
- [OpenCode Server](/opencode-server/) — den zugrunde liegenden Server aktualisieren
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Nutzung & Kontingente
|
||||
description: Verfolge, wie viel deines Provider-Tarifs du bereits genutzt hast.
|
||||
---
|
||||
|
||||
# Nutzung & Kontingente
|
||||
|
||||
Die Seite Nutzung zeigt, wie viel du von den Tarifen der einzelnen Provider bereits verbraucht hast, damit du sehen kannst, wie nah du an einem Limit bist. Du öffnest sie unter **Einstellungen → Nutzung**.
|
||||
|
||||
## Was du siehst
|
||||
|
||||
Für jeden verbundenen Provider zeigt OpenChamber:
|
||||
|
||||
- wie viel des aktuellen Zeitfensters du bereits genutzt hast, als Balken
|
||||
- eine Aufschlüsselung nach Modell
|
||||
- einen Tempoindikator, damit du siehst, ob du rechtzeitig am Limit ankommen wirst
|
||||
|
||||
Du kannst auswählen, welche Provider angezeigt werden, und dieselbe Zusammenfassung ist auch über ein Dropdown in der App-Kopfzeile verfügbar.
|
||||
|
||||
## Unterstützte Provider
|
||||
|
||||
Die Nutzung funktioniert für die Provider, die ein Kontingent veröffentlichen, darunter Claude, Codex, GitHub Copilot, Google, OpenRouter, Kimi, NanoGPT, z.ai, Zhipu, MiniMax, Ollama Cloud und Wafer.
|
||||
|
||||
Ein Anbieter zeigt Nutzung erst dann an, wenn du dich auf der [Seite „Anbieter“](/providers/) dort angemeldet hast. Einige Anbieter brauchen noch einen zusätzlichen Schritt — Ollama Cloud liest zum Beispiel eine Sitzungsdatei, die du separat einrichtest. Wenn ein Anbieter keine Daten anzeigt, fehlt meist diese zusätzliche Anmeldeinformation.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Provider, Modelle & Agents](/providers/) — zuerst anmelden, damit Nutzung angezeigt wird
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Sprachmodus
|
||||
description: Sprich mit OpenChamber und lass dir Antworten vorlesen.
|
||||
---
|
||||
|
||||
# Sprachmodus
|
||||
|
||||
Mit dem Sprachmodus kannst du Nachrichten diktieren und dir Antworten vorlesen lassen. Schalte ihn unter **Einstellungen → OpenChamber → Sprache** ein.
|
||||
|
||||
## Antworten vorlesen lassen (Text-zu-Sprache)
|
||||
|
||||
Wähle aus, wie Antworten gesprochen werden:
|
||||
|
||||
- **Browser** — die integrierten Stimmen deines Browsers, keine Einrichtung nötig
|
||||
- **OpenAI** — die Stimmen von OpenAI; füge deinen API-Schlüssel ein und wähle eine Stimme
|
||||
- **OpenAI-kompatibel** — jeder Dienst, der das OpenAI-Format unterstützt; gib seine URL und, falls nötig, einen API-Schlüssel an
|
||||
- **macOS say** — der eingebaute `say`-Befehl, auf Macs mit dieser Funktion
|
||||
|
||||
Sobald es aktiviert ist, erscheint bei Nachrichten eine Abspieltaste, mit der du sie vorlesen lassen kannst.
|
||||
|
||||
## Nachrichten diktieren (Sprache-zu-Text)
|
||||
|
||||
Wähle aus, wie deine Sprache transkribiert wird:
|
||||
|
||||
- **Browser** — die integrierte Spracherkennung deines Browsers, keine Einrichtung nötig
|
||||
- **Server** — ein OpenAI-kompatibler Transkriptionsdienst; gib seine URL und, falls nötig, einen API-Schlüssel an
|
||||
- **Gerätebasiert** — ein Sprachmodell, das in deinem Browser läuft und beim ersten Verwenden heruntergeladen wird
|
||||
|
||||
## Hinweis für Telefone
|
||||
|
||||
Beim Vorlesen auf einem Telefon sind die Optionen OpenAI oder OpenAI-kompatibel am zuverlässigsten — mobile Browser begrenzen die integrierten Stimmen.
|
||||
|
||||
## Weiterführend
|
||||
|
||||
- [Benachrichtigungen](/notifications/) — lasse dich statt durch Zuhören per Ping informieren
|
||||
- [Provider, Modelle & Agents](/providers/) — dort liegt möglicherweise bereits dein OpenAI-Schlüssel
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Änderungen durchgehen
|
||||
description: Lesen Sie einen Diff in der Reihenfolge, in der er Sinn ergibt, nicht alphabetisch.
|
||||
---
|
||||
|
||||
# Änderungen durchgehen
|
||||
|
||||
Ein Diff ist nach Dateipfad sortiert, und das ist fast nie die Reihenfolge, in der die Änderung Sinn ergibt. Das Walkthrough ordnet ihn neu: Zusammengehörige Änderungen werden in **Stops** gruppiert, jeder Stop erklärt, was der Code jetzt anders macht, und die Stops sind so angeordnet, dass jeder auf dem vorherigen aufbaut.
|
||||
|
||||
Es erklärt und ordnet. Es bewertet Ihren Code nicht und fällt kein Urteil — dafür ist [Review](/git/) da.
|
||||
|
||||
Öffnen Sie es über das **Walkthrough**-Symbol in der rechten Leiste oder über die Schaltfläche **AI walkthrough** in den Bereichen Changes und Pull Request. Beides öffnet nur das Panel; generiert wird erst, wenn Sie **Generate walkthrough** drücken.
|
||||
|
||||
## Wie ein Stop markiert ist
|
||||
|
||||
Jeder Stop benennt sein Thema, erklärt es in ein bis zwei Sätzen und zeigt danach genau den Code, den er beschreibt. Manche Stops tragen eine kleine Markierung neben dem Titel:
|
||||
|
||||
| Markierung | Bedeutung |
|
||||
| --- | --- |
|
||||
| **Kernänderung** | Dieser Stop trägt die eigentliche Änderung oder den größten Teil ihres Risikos. Lesen Sie ihn genau und zuerst. |
|
||||
| **Kontext** | Eine unterstützende Änderung, damit der Rest verständlich bleibt. Kann überflogen werden. |
|
||||
| *(ohne Markierung)* | Ein gewöhnlicher Schritt in der Lesereihenfolge. |
|
||||
|
||||
Die Markierung sagt, **wo Sie Ihre Aufmerksamkeit investieren sollten**, und nichts über die Qualität des Codes. Ein Stop wird nie markiert, weil darin etwas Falsches gefunden wurde — das Walkthrough meldet keine Funde, keine Schweregrade und keine Urteile. Wenn Code bewertet werden soll, ist das die Aktion **Review** in [Git & GitHub](/git/).
|
||||
|
||||
Die einzigen Markierungen, die tatsächlich auf ein Problem hinweisen, sind **Veraltet** und **Nicht abgedeckt** — und beide betreffen das Veralten des Walkthroughs selbst, nicht Ihren Code. Siehe unten.
|
||||
|
||||
## Was es prüfen kann
|
||||
|
||||
| Bereich | Was enthalten ist |
|
||||
| --- | --- |
|
||||
| Alle uncommitteten | Alles, was noch nicht committet ist: gestagte, ungestagte und neue Dateien |
|
||||
| Gestaged | Nur das, was jetzt in einen Commit gehen würde |
|
||||
| Ungestaged | Arbeitsbaum und neue Dateien |
|
||||
| Dieser Branch | Jeder Commit auf diesem Branch, der nicht auf seinem Basis-Stand ist |
|
||||
| Pull Request | Die Änderung so, wie sie auf GitHub existiert |
|
||||
|
||||
**Dieser Branch** bedeutet nicht „nicht gepushte Commits“ — es ist alles, was der Branch gegenüber seiner Basis hinzufügt, egal ob gepusht oder nicht. Nach einem Commit, aber vor dem Push, unterscheiden sich also Branch und Pull Request absichtlich: Der eine zeigt, was Sie getan haben, der andere, was Reviewer gerade sehen.
|
||||
|
||||
Jeder Bereich wird separat gespeichert, sodass der Wechsel zwischen ihnen nichts verliert.
|
||||
|
||||
## Das Modell wählen
|
||||
|
||||
Walkthroughs nutzen standardmäßig Ihr kleines Modell. Wählen Sie unter **Einstellungen → Sitzungen → Modell für Änderungen durchgehen** ein anderes aus oder für eine einzelne Prüfung im Kopfbereich des Panels — nützlich, wenn eine Änderung riskant genug ist, ein stärkeres Modell zu brauchen.
|
||||
|
||||
Die Auswahl zeigt nur Modelle an, die strukturierten Output zurückgeben können, weil sich das Walkthrough ohne ihn nicht zusammensetzen lässt. Wenn ein Modell für den Diff zu klein ist, wird die Generierung mit einer Erklärung abgelehnt, statt die Eingabe stillschweigend zu kürzen: Ein Walkthrough über einen halben Diff wirkt sicher und ist falsch.
|
||||
|
||||
Wenn Sie ein Panel erneut öffnen, sehen Sie das Modell, das den aktuellen Inhalt erzeugt hat, sodass **Regenerate** mit demselben Modell wiederholt, sofern Sie es nicht ändern.
|
||||
|
||||
## Die Sprache wählen
|
||||
|
||||
Walkthroughs werden standardmäßig in Ihrer UI-Sprache geschrieben. Der Sprachwähler im Panelkopf startet dort, und Sie können für eine einzelne Prüfung jede andere Sprache wählen, in die OpenChamber übersetzt ist — eine geführte Erklärung ist nur in einer Sprache nützlich, die Sie bequem lesen.
|
||||
|
||||
Übersetzt wird nur der Fließtext. Bezeichner, Dateipfade und API-Namen bleiben genau so, wie sie im Code erscheinen, damit das, was ein Stop nennt, weiterhin suchbar bleibt.
|
||||
|
||||
Wenn in der von Ihnen gewählten Sprache noch nichts erzeugt wurde, zeigt das Panel weiterhin das vorhandene Walkthrough an und sagt das auch, statt leer zu werden. Drücken Sie **Generate walkthrough**, um eines in der neuen Sprache zu erhalten.
|
||||
|
||||
## Kosten und Caching
|
||||
|
||||
Nichts wird von selbst generiert. Die Generierung startet nur, wenn Sie sie anfordern, und auch das erneute Generieren ist manuell.
|
||||
|
||||
Ergebnisse werden gegen den exakten Inhalt des Diffs gecacht. Wenn Sie den Arbeitsbaum auf einen früheren Stand zurücksetzen, erscheint das frühere Walkthrough kostenlos wieder, ohne Modellaufruf. Sprache und Modell sind ebenfalls Teil dieses Schlüssels, also wird jede Kombination separat gespeichert: Hat ein Diff einmal Walkthroughs in zwei Sprachen, ist das Umschalten zwischen ihnen sofort und kostenlos.
|
||||
|
||||
Die Generierung läuft auf dem OpenChamber-Server, nicht in Ihrem Browser-Tab. Laden Sie die Seite neu oder schließen Sie das Panel, und sie läuft weiter; wenn Sie zurückkommen, wartet das Ergebnis. Nur **Cancel** beendet sie.
|
||||
|
||||
## Ehrlich mit Aktualität umgehen
|
||||
|
||||
Jeder Stop ist an den exakten Codeinhalt gebunden, den er beschreibt, damit das Panel Ihnen sagen kann, wenn sich dieser Code weiterentwickelt hat:
|
||||
|
||||
- **Veraltete Schritte** — der Code, den ein Stop beschrieben hat, wurde geändert oder ist verschwunden. Das Walkthrough bleibt sichtbar und markiert, damit Sie entscheiden können, ob Sie es neu generieren.
|
||||
- **Nicht abgedeckt** — Änderungen im aktuellen Diff, die kein Stop beschreibt. Dazu gehören spätere Bearbeitungen nach der Generierung, Änderungen, die das Walkthrough als Routine eingestuft hat, sowie Lockfiles und andere generierte Dateien, die absichtlich aus der Modelleingabe herausgehalten werden. Sie werden alle am Ende des Streams aufgelistet, damit nichts stillschweigend verschwindet.
|
||||
|
||||
Neu generieren bedeutet neu schreiben statt patchen: Das vorherige Walkthrough geht als Kontext an das Modell, damit richtige Teile erhalten bleiben, und alles wird neu an den aktuellen Code angeheftet.
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Kommentieren Sie im Walkthrough jede Zeile genau wie in der Diff-Ansicht; Kommentare werden an den Chat-Composer angehängt.
|
||||
- Verfügbar auf Desktop- und Tablet-Breiten. In der VS-Code-Erweiterung oder der mobilen App nicht angeboten.
|
||||
- Eine Pull-Request-Review benötigt ein verbundenes GitHub-Konto — siehe [GitHub Issues & PRs](/github/).
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Git & GitHub](/git/) — das Changes-Panel, aus dem dies liest, und die Review-Aktion, die tatsächlich Code bewertet
|
||||
- [GitHub Issues & PRs](/github/) — GitHub verbinden, um Pull Requests zu prüfen
|
||||
- [Anbieter, Modelle & Agents](/providers/) — woher das kleine Modell kommt
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Worktree-Sitzungen
|
||||
description: Gib einer Sitzung einen eigenen Branch und Ordner, damit die Arbeit isoliert bleibt.
|
||||
---
|
||||
|
||||
# Worktree-Sitzungen
|
||||
|
||||
Eine Worktree-Sitzung läuft in einer eigenen ausgecheckten Kopie deines Repos auf einem eigenen Branch (einem Git-Worktree). So kommen sich parallele Sitzungen nicht in die Quere — die eine kann refaktorieren, während eine andere einen Fehler behebt, ohne ständiges Hin- und Herwechseln.
|
||||
|
||||
## Eine erstellen
|
||||
|
||||
1. Öffne den Dialog für einen neuen Worktree über die Schaltfläche oben in der Sitzungs-Seitenleiste.
|
||||
2. Wähle einen Startpunkt:
|
||||
- **new branch** — benenne den Branch und wähle, von welchem Branch aus gestartet werden soll
|
||||
- **existing branch** — checke einen bereits vorhandenen Branch aus
|
||||
3. Bestätige den Worktree-Ordner (OpenChamber schlägt einen anhand des Branchnamens vor).
|
||||
4. Erstelle ihn.
|
||||
|
||||
OpenChamber legt den Branch an, richtet den Ordner ein und startet dort eine Sitzung. Du kannst auch direkt von einer [todo](/notes-todos-plans/) oder einem [GitHub issue or PR](/github/) aus damit beginnen.
|
||||
|
||||
## Die Arbeit zurückbringen
|
||||
|
||||
Wenn die Arbeit gut ist, verwende **Integrate** in der Git-Ansicht, um die Commits des Worktrees auf einen anderen Branch (etwa `main`) zu übertragen. Wenn ein Konflikt auftritt, kannst du den Konflikt dem Agenten zur Lösung geben.
|
||||
|
||||
## Aufräumen
|
||||
|
||||
Das Löschen oder Archivieren der Sitzung kann den Worktree entfernen. Du entscheidest, ob auch der Branch gelöscht werden soll — lokal und, falls vorhanden, remote. Nichts wird gelöscht, ohne dass du es anforderst.
|
||||
|
||||
## Wenn etwas seltsam aussieht
|
||||
|
||||
Ein Worktree braucht möglicherweise Aufmerksamkeit, wenn sein Ordner fehlt, sein Branch in einem detached-Zustand ist oder ein Merge oder Rebase noch nicht abgeschlossen wurde. OpenChamber markiert das, damit du es beheben kannst — siehe [Worktrees & Git](/troubleshooting/worktrees-git/).
|
||||
|
||||
## Verwandt
|
||||
|
||||
- [Multi-run](/multi-run/) — viele Worktree-Sitzungen gleichzeitig starten
|
||||
- [Git- & GitHub-Workflows](/git/) — von innen in OpenChamber committen und integrieren
|
||||
@@ -1,22 +1,63 @@
|
||||
---
|
||||
title: Desktop Browser
|
||||
description: Browse any page inside the desktop app, with inspect and console capture.
|
||||
title: Browser Panel
|
||||
description: Browse any page inside the app, annotate it, and let the agent drive it.
|
||||
---
|
||||
|
||||
# Desktop Browser
|
||||
# Browser Panel
|
||||
|
||||
The desktop app has a built-in browser so you can open any page right next to your chat, point at elements to ask about them, and capture the page's console. Open it from the globe button in the app header.
|
||||
The browser panel opens any page right next to your chat. Open it from the globe button in the app header.
|
||||
|
||||
> The desktop browser is a **desktop-only** feature. On the web, the [preview](/preview/) panel offers the same inspect-and-console tools for your local dev server.
|
||||
On the desktop app it is a real browser: your logins persist, hot reload works, and developer tools are one click away. In a web browser tab the panel can still display a page, but it cannot look inside one — the annotation tools below are desktop-only. The VS Code extension has no browser panel at all: VS Code is already an editor with a browser beside it, and everything that makes this panel worth having needs the desktop app.
|
||||
|
||||
## Inspect and annotate
|
||||
Pages opened here cannot use your camera, microphone, or location: those requests are refused.
|
||||
|
||||
Turn on **inspect** and click any element on the page. OpenChamber captures a note about it — what it is, its styles, where it sits, and a screenshot — and attaches it to your chat message. It's the quickest way to tell the agent "this element, right here."
|
||||
## The toolbar
|
||||
|
||||
## Console capture
|
||||
The address bar remembers pages you have opened in this project and offers them as you type, matching part of an address or a page title. Arrow keys move through the list, Enter opens the highlighted entry, and the button on a row removes it.
|
||||
|
||||
The browser collects the page's console output — errors, warnings, and logs — so you can filter and read it without opening developer tools.
|
||||
**Reload** is next to it, along with a **hard reload** that ignores the cache when a change refuses to show up, and zoom controls that scale the page only.
|
||||
|
||||
**Clear cookies** and **Clear cached data** apply to this panel alone. Your OpenChamber session and any other window are untouched.
|
||||
|
||||
## Annotate a page
|
||||
|
||||
Press **Annotate** and a toolbar appears over the page with three tools:
|
||||
|
||||
- **Element** — click an element. Clicking another moves the selection; clicking the same one again clears it.
|
||||
- **Region** — drag a box around an area, when what you mean covers more than one element.
|
||||
- **Draw** — sketch freehand over the page.
|
||||
|
||||
Write what you want in the box that appears beside your mark, and press **Attach** — or just press Enter. Your chat message gets a card with everything you marked, your note, and a screenshot of the visible page with your marks drawn on it — so you can say "this button, a bit rounder" instead of describing where it is.
|
||||
|
||||
The page itself is never modified — annotating marks what is there. `Esc` cancels and closes the toolbar.
|
||||
|
||||
## Let the agent drive
|
||||
|
||||
The agent can use the browser panel itself — opening a page, reading what is on it, clicking, typing, scrolling, and switching between mobile, tablet and desktop layouts — so it can check its own work instead of asking you to. You will see it happening in the panel.
|
||||
|
||||
The agent cannot run arbitrary code in the page. The browser keeps your real logins, so it is limited to the specific actions above.
|
||||
|
||||
It can also save a picture of what it is looking at into `.openchamber/screenshots/` in your project and show it to you in its reply. That is what makes a before-and-after possible, and the file stays there afterwards to attach to a pull request.
|
||||
|
||||
The browser actions are the **OpenChamber Web tool**, which can be turned on and off on its own in **Settings → General → OpenChamber Tools**.
|
||||
|
||||
This needs the desktop app: a page shown in a web browser tab cannot be driven.
|
||||
|
||||
## Size and appearance
|
||||
|
||||
Press the phone button to open the device bar. Pick a preset or type a width and
|
||||
height, and the page is laid out at that size — scaled down to fit the panel
|
||||
when it is bigger, but still measuring itself at the size you asked for.
|
||||
|
||||
The same bar forces the page to light or dark, so a theme can be checked without
|
||||
changing anything on your machine. It leaves DevTools alone; a page can only
|
||||
have one debugger attached, so close DevTools first if it is open.
|
||||
|
||||
## Developer tools
|
||||
|
||||
Press the terminal button in the toolbar to open Chromium's own developer tools for the page — console, network, elements, everything you would expect.
|
||||
|
||||
## Related
|
||||
|
||||
- [Preview & Dev Servers](/preview/) — the same tools for your local dev server
|
||||
- [Preview & Dev Servers](/preview/) — opening your running app, including on a remote machine
|
||||
- [Agent Control Tool](/agent-control-tool/) — sessions, worktrees and scheduled tasks from chat
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Herramienta de control para agentes
|
||||
description: Permite que un agente gestione sesiones, worktrees y tareas programadas de OpenChamber desde el chat.
|
||||
---
|
||||
|
||||
# Herramienta de control para agentes
|
||||
|
||||
Usa la herramienta de agente `openchamber` para gestionar el trabajo en la aplicación directamente desde el chat. Está activada de forma predeterminada cuando OpenChamber ejecuta su propio servidor OpenCode local; no necesitas instalar otra herramienta ni ejecutar un comando de shell.
|
||||
|
||||
## Qué puedes pedir
|
||||
|
||||
Pídeselo al agente con lenguaje natural. Por ejemplo:
|
||||
|
||||
- «Crea una sesión nueva de OpenChamber en este proyecto, usa el modelo `openai/gpt-5.6-sol` y envíale este prompt: revisa el flujo de autenticación».
|
||||
- «Crea una sesión nueva de OpenChamber para esta tarea en un worktree separado y pídele que añada pruebas para el flujo de inicio de sesión».
|
||||
- «Usa OpenChamber para mostrar mis 10 sesiones más recientes e incluye su estado actual».
|
||||
- «Crea en OpenChamber una tarea programada llamada Revisión laborable que envíe este prompt a las 09:00 de cada día laborable: revisa los cambios desde la última ejecución».
|
||||
- «Ejecuta ahora la tarea programada de OpenChamber llamada Revisión laborable».
|
||||
- «Comprueba la sesión de OpenChamber llamada Revisión de autenticación y muestra la última respuesta del asistente».
|
||||
|
||||
La herramienta puede listar proyectos y preferencias de modelos, crear y continuar sesiones, bifurcar una sesión, crear sesiones en worktrees aislados y gestionar tareas programadas. Las sesiones iniciadas así aparecen en OpenChamber como cualquier otra, por lo que puedes abrirlas y continuar el trabajo personalmente.
|
||||
|
||||
## Ten en cuenta
|
||||
|
||||
- Los prompts de sesiones nuevas regresan de inmediato de forma predeterminada. Sigue la sesión en OpenChamber o pide al agente que la compruebe más tarde.
|
||||
- Solo se crea un worktree separado cuando lo pides. Los cambios sin confirmar de tu worktree actual no se copian.
|
||||
- La herramienta no puede eliminar sesiones ni worktrees, registrar rutas de proyectos, ejecutar comandos de shell arbitrarios ni acceder a URL arbitrarias.
|
||||
|
||||
## Activar o desactivar la herramienta
|
||||
|
||||
Abre **Ajustes → General → Herramientas de OpenChamber** y cambia **Herramienta de control para agentes**. El ajuste se aplica cuando se reinicia el servidor OpenCode gestionado, que OpenChamber ofrece como **Apply & Restart**.
|
||||
|
||||
La herramienta no está disponible cuando OpenChamber se conecta a un servidor OpenCode externo mediante `OPENCODE_HOST` o skip-start, ni dentro de la extensión de VS Code. Las instalaciones web y de escritorio que usan el servidor OpenCode gestionado por OpenChamber la admiten automáticamente.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Tareas programadas](/es/scheduled-tasks/)
|
||||
- [Sesiones de worktree](/es/worktrees/)
|
||||
- [Objetivos de sesión](/es/session-goals/)
|
||||
- [Panel del navegador](/es/desktop-browser/) — la herramienta OpenChamber Web, para ver una página y manejarla
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Conectar un dispositivo
|
||||
description: Vincula tu teléfono, escritorio u otro navegador con tu servidor de OpenChamber usando un código QR de un solo uso.
|
||||
---
|
||||
|
||||
# Conectar un dispositivo
|
||||
|
||||
Vincula otro dispositivo —la app móvil, la app de escritorio o un navegador en otra máquina— con tu servidor de OpenChamber escaneando un código QR de un solo uso. Es la forma recomendada de conectar dispositivos: no hay puertos que abrir ni direcciones que escribir.
|
||||
|
||||
## Vincula un dispositivo
|
||||
|
||||
1. En la máquina donde se ejecuta OpenChamber, abre **Settings → Remote Instances → Conectarse a este servidor** y pulsa **Añadir un dispositivo**.
|
||||
2. Dale un nombre al dispositivo (p. ej. *Mi iPhone*) para reconocerlo más adelante.
|
||||
3. Elige dónde usarás el dispositivo:
|
||||
- **Solo este equipo** — para aplicaciones en esta misma máquina
|
||||
- **Solo red doméstica** — se conecta directamente por tu Wi-Fi; no funciona fuera de esta red
|
||||
- **En cualquier lugar** — funciona en casa y fuera; fuera de casa el tráfico pasa por el [Private Relay](/es/private-relay/), un túnel cifrado de extremo a extremo sin configuración
|
||||
4. Pulsa **Crear código QR**.
|
||||
5. En el otro dispositivo, escanea el código:
|
||||
- **app móvil** — toca **Escanear código QR** en la pantalla de conexión (o en la lista de instancias)
|
||||
- **app de escritorio** — copia el enlace de conexión y pégalo en **Settings → Remote Instances → Otros servidores de OpenChamber → Importar enlace**
|
||||
|
||||
El diálogo se cierra solo en cuanto el dispositivo se conecta, y el dispositivo aparece en la lista con su estado en vivo. Eso es todo: ya están vinculados.
|
||||
|
||||
## Por qué la vinculación es segura
|
||||
|
||||
- **El código QR es de un solo uso.** Deja de funcionar en el momento en que un dispositivo lo canjea, y caduca por sí solo si nunca se usa.
|
||||
- **Cada dispositivo recibe su propio token.** Escanear un código nunca expone tu contraseña de UI, y el token de un dispositivo no puede usarse para suplantar a otro.
|
||||
- **Tú mantienes el control.** Cada dispositivo vinculado aparece en la lista con su nombre, plataforma y estado de conexión; puedes revocar cualquiera en cualquier momento.
|
||||
- **El tráfico fuera de casa está cifrado de extremo a extremo.** Con **En cualquier lugar**, el tráfico fuera de tu red viaja por el [Private Relay](/es/private-relay/), que no puede leer lo que pasa por él.
|
||||
|
||||
## Gestiona los dispositivos vinculados
|
||||
|
||||
**Settings → Remote Instances → Conectarse a este servidor** lista todos los dispositivos que pueden alcanzar este servidor, con un punto verde cuando están en línea y si están conectados por la red local o por el relay.
|
||||
|
||||
- **Revocar** corta el acceso de un dispositivo de inmediato. Vuelve a vincularlo con un nuevo código QR si cambias de opinión.
|
||||
- **Borrar revocados** limpia la lista.
|
||||
|
||||
El mismo dispositivo físico mantiene una sola entrada aunque vuelva a iniciar sesión más tarde: no acumularás duplicados.
|
||||
|
||||
## Conecta desde la línea de comandos
|
||||
|
||||
Si el servidor funciona en modo headless (sin UI abierta), crea un enlace de conexión desde una terminal en esa máquina.
|
||||
|
||||
Para un dispositivo en la misma red:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --qr
|
||||
```
|
||||
|
||||
Para un dispositivo que debe conectarse desde **cualquier lugar** —el equivalente a elegir **En cualquier lugar** en el diálogo—:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --relay --qr
|
||||
```
|
||||
|
||||
Un enlace `--relay` lleva ambas rutas, igual que el diálogo: el dispositivo se conecta directamente por tu red local cuando puede alcanzar el servidor, y recurre al [Private Relay](/es/private-relay/) cuando está fuera. El relay arranca por sí solo: una instancia en marcha recoge el enlace en menos de un minuto, y una detenida lo hace en su próximo arranque.
|
||||
|
||||
> La ruta directa solo funciona si el servidor realmente escucha en tu red. De forma predeterminada, OpenChamber solo escucha en la propia máquina; inícialo con `--lan` para que sea accesible por Wi-Fi. El comando te avisa (`[LAN_UNREACHABLE]`) cuando la ruta directa del enlace no será utilizable desde otros dispositivos; un enlace `--relay` sigue funcionando en ese caso, solo que siempre a través del relay.
|
||||
|
||||
El enlace y el código QR impresos funcionan exactamente igual que los del diálogo de ajustes: de un solo uso, con caducidad y revocables.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Private Relay](/es/private-relay/) — cómo funcionan las conexiones «En cualquier lugar» y qué puede ver el relay y qué no
|
||||
- [Apps móviles](/es/mobile/) — instala la app de iOS o Android
|
||||
- [Instancias remotas](/es/remote-instances/) — conecta la app de escritorio a servidores por SSH o con enlaces
|
||||
- [Acceso remoto](/es/troubleshooting/remote-access/) — cuando un dispositivo no se conecta
|
||||
@@ -1,22 +1,53 @@
|
||||
---
|
||||
title: Navegador de escritorio
|
||||
description: Navega cualquier página dentro de la app de escritorio, con inspección y captura de consola.
|
||||
title: Panel del navegador
|
||||
description: Navega cualquier página dentro de la aplicación, anótala y deja que el agente la maneje.
|
||||
---
|
||||
|
||||
# Navegador de escritorio
|
||||
# Panel del navegador
|
||||
|
||||
La app de escritorio tiene un navegador integrado para que abras cualquier página justo al lado de tu chat, señales elementos para preguntar sobre ellos y captures la consola de la página. Ábrelo desde el botón del globo en el encabezado de la app.
|
||||
El panel del navegador abre cualquier página justo al lado del chat. Ábrelo con el botón del globo de la cabecera.
|
||||
|
||||
> El navegador de escritorio es una función **solo de escritorio**. En la web, el panel de [vista previa](/es/preview/) ofrece las mismas herramientas de inspección y consola para tu servidor de desarrollo local.
|
||||
En la aplicación de escritorio es un navegador de verdad: tus sesiones se mantienen, la recarga en caliente funciona y las herramientas de desarrollo están a un clic. En una pestaña del navegador el panel puede mostrar una página, pero no mirar dentro de ella: las herramientas de anotación de abajo son solo de escritorio.
|
||||
|
||||
## Inspecciona y anota
|
||||
Las páginas que abras aquí no pueden usar tu cámara, tu micrófono ni tu ubicación: esas peticiones se rechazan.
|
||||
|
||||
Activa **inspect** y haz clic en cualquier elemento de la página. OpenChamber captura una nota sobre él —qué es, sus estilos, dónde se sitúa y una captura de pantalla— y la adjunta a tu mensaje del chat. Es la forma más rápida de decirle al agente "este elemento, justo aquí".
|
||||
## La barra de herramientas
|
||||
|
||||
## Captura de consola
|
||||
La barra de direcciones recuerda las páginas que has abierto en este proyecto y las ofrece mientras escribes, buscando en parte de la dirección o del título de la página. Las flechas recorren la lista, Enter abre la entrada resaltada y el botón de una fila la quita.
|
||||
|
||||
El navegador recopila la salida de la consola de la página —errores, advertencias y registros— para que puedas filtrarla y leerla sin abrir las herramientas de desarrollo.
|
||||
Al lado está **Recargar**, junto con una **recarga forzada** que ignora la caché cuando un cambio se niega a aparecer, y los controles de zoom, que escalan solo la página.
|
||||
|
||||
**Borrar cookies** y **Borrar datos en caché** afectan únicamente a este panel. Tu sesión de OpenChamber y cualquier otra ventana quedan intactas.
|
||||
|
||||
## Anotar una página
|
||||
|
||||
Pulsa **Anotar** y aparecerá una barra sobre la página con tres herramientas:
|
||||
|
||||
- **Elemento** — haz clic en un elemento. Hacer clic en otro mueve la selección; volver a hacer clic en el mismo la quita.
|
||||
- **Región** — arrastra un recuadro alrededor de una zona cuando te refieras a más de un elemento.
|
||||
- **Dibujar** — traza a mano alzada sobre la página.
|
||||
|
||||
Escribe lo que quieres en el cuadro que aparece junto a tu marca y pulsa **Adjuntar**, o simplemente Enter. Tu mensaje recibe una tarjeta con todo lo que has marcado, tu nota y una captura de la página visible con tus marcas dibujadas encima — así puedes decir "este botón, un poco más redondeado" en vez de describir dónde está.
|
||||
|
||||
La página en sí nunca se modifica: anotar solo marca lo que ya está ahí. `Esc` cancela y cierra la barra.
|
||||
|
||||
## Dejar que el agente maneje
|
||||
|
||||
El agente puede usar el panel del navegador por su cuenta — abrir una página, leer lo que hay en ella, hacer clic, escribir, desplazarse y alternar entre diseño móvil, de tableta y de escritorio — para comprobar su propio trabajo en lugar de pedírtelo a ti. Lo verás ocurrir en el panel.
|
||||
|
||||
El agente no puede ejecutar código arbitrario en la página. El navegador conserva tus sesiones reales, así que se limita a las acciones anteriores.
|
||||
|
||||
También puede guardar una imagen de lo que está viendo en `.openchamber/screenshots/` de tu proyecto y mostrártela en su respuesta. Eso es lo que hace posible un antes y después, y el archivo se queda ahí para adjuntarlo a un pull request.
|
||||
|
||||
Las acciones del navegador son la **herramienta OpenChamber Web**, que se activa y desactiva por separado en **Ajustes → General → Herramientas de OpenChamber**.
|
||||
|
||||
Esto necesita la aplicación de escritorio: una página mostrada en una pestaña del navegador no se puede controlar.
|
||||
|
||||
## Herramientas de desarrollo
|
||||
|
||||
Pulsa el botón de terminal de la barra para abrir las herramientas de desarrollo propias de Chromium — consola, red, elementos, todo lo habitual.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Vista previa y servidores de desarrollo](/es/preview/) — las mismas herramientas para tu servidor de desarrollo local
|
||||
- [Vista previa y servidores de desarrollo](/preview/) — abrir tu aplicación en marcha, también en una máquina remota
|
||||
- [Herramienta de control para agentes](/es/agent-control-tool/) — sesiones, worktrees y tareas programadas desde el chat
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: Integraciones
|
||||
description: Usa tu suscripción de Claude o Cursor como proveedor.
|
||||
---
|
||||
|
||||
# Integraciones
|
||||
|
||||
Una integración es un pequeño plugin que añade un proveedor a OpenChamber usando una suscripción que ya tienes. Las gestionas en **Settings → Integrations**.
|
||||
|
||||
> **Función experimental.** Buscamos respetar las políticas de los proveedores, pero las restricciones y suspensiones de cuentas son decisión de cada proveedor. Usa las integraciones bajo tu propia responsabilidad.
|
||||
|
||||
Integraciones disponibles:
|
||||
|
||||
- **Claude Code** — tu plan Claude Pro o Max, sin claves de API
|
||||
- **Cursor** — los límites de modelos de tu plan de Cursor
|
||||
|
||||
## Instalar una integración
|
||||
|
||||
1. Abre **Settings → Integrations**.
|
||||
2. Busca la integración y elige **Install**.
|
||||
3. Reinicia OpenCode cuando se te pida — el proveedor aparece tras el reinicio.
|
||||
4. Elige **Set up** e inicia sesión. Los modelos aparecerán luego en el selector de modelos del chat.
|
||||
|
||||
Las integraciones se instalan para tu usuario, así que funcionan en todos los proyectos. Puedes actualizarlas o eliminarlas desde la misma tarjeta en cualquier momento.
|
||||
|
||||
## Claude Code
|
||||
|
||||
Claude Code usa tu plan Claude Pro o Max — sin claves de API y sin una app de Claude aparte.
|
||||
|
||||
1. Instala la integración (arriba).
|
||||
2. Elige **Set up** e inicia sesión. Si aún no tienes la CLI de Claude Code, la configuración ofrece instalarla primero y luego iniciar sesión.
|
||||
|
||||
Claude Code es la única integración de esta página que requiere tener la CLI de su proveedor instalada y con sesión iniciada. Cursor no requiere su CLI.
|
||||
|
||||
**Cómo se protege tu cuenta de Claude:** esta integración usa el Claude Agent SDK oficial de Anthropic y tu CLI de Claude Code instalada. No secuestra OAuth, no extrae ni reutiliza tokens del navegador, no se hace pasar por un cliente no admitido ni omite la autenticación de Anthropic. Se mantiene en la vía de acceso admitida por Anthropic, por lo que no conlleva el riesgo de baneo asociado al secuestro de tokens o a rodeos de autenticación no autorizados.
|
||||
|
||||
## Cursor
|
||||
|
||||
Cursor hace disponibles en OpenChamber los modelos incluidos en tu plan de Cursor.
|
||||
|
||||
1. Instala la integración (arriba).
|
||||
2. Elige **Set up**, abre el enlace y autoriza el acceso en tu navegador. No necesitas clave de API. La lista de modelos se carga automáticamente tras iniciar sesión.
|
||||
|
||||
## Actualizar o eliminar
|
||||
|
||||
- **Update** instala la última versión publicada del plugin.
|
||||
- **Remove** elimina el plugin de tu configuración de OpenCode. El proveedor deja de cargarse cuando OpenCode se recarga.
|
||||
|
||||
Si una tarjeta indica que las entradas requieren gestión manual, elige **Manage plugins** y limpia ahí los duplicados.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Proveedores, modelos y agentes](/es/providers/) — conecta otros proveedores y elige modelos
|
||||
- [Uso y cuotas](/es/usage/) — sigue cuánto has usado
|
||||
@@ -21,6 +21,64 @@ Algunos prompts tienen una parte visible (el mensaje que verías) y una parte de
|
||||
|
||||
¿Cambiaste de opinión? Cada prompt tiene **reset to default**, y hay un **reset all** si quieres empezar de cero en todas partes.
|
||||
|
||||
## Dónde se usa cada prompt
|
||||
|
||||
Cada prompt de las tablas indica dónde se ejecuta y qué lo dispara. Revisa el disparador antes de editar, para saber qué flujo estás cambiando.
|
||||
|
||||
### Git
|
||||
|
||||
| Prompt | Dónde se ejecuta | Cuándo se dispara |
|
||||
| --- | --- | --- |
|
||||
| Generación de commit | El botón de generar en el cuadro de commit de la vista git, y la pantalla Changes en móvil | Generas un mensaje de commit. Se rellenan los archivos seleccionados y los asuntos de los commits recientes de la rama, para que el mensaje siga el estilo de tu repositorio. |
|
||||
| Generación de PR | El formulario de creación de pull request en la pestaña PR de la vista git | Generas el título y el cuerpo de un PR. Se rellenan las ramas base y head, los commits y archivos cambiados entre ambas, tu contexto adicional y la plantilla de PR del repositorio si existe. |
|
||||
| Resolución de conflicto de merge/rebase | El diálogo de conflictos en la vista git, cuando un merge o rebase se detiene por conflictos | Eliges "Resolve in current session" o "Resolve in new session". El agente lee los archivos en conflicto, propone una estrategia por archivo y espera tu confirmación antes de editar, hacer stage o continuar la operación. |
|
||||
| Resolución de conflicto de cherry-pick | La sección "Re-integrate commits" de una sesión en worktree | Mover los commits de la sesión a la rama destino produce un conflicto y se lo pasas al agente. El agente resuelve dentro del worktree temporal, hace stage de los archivos y continúa el cherry-pick. |
|
||||
|
||||
### GitHub
|
||||
|
||||
| Prompt | Dónde se ejecuta | Cuándo se dispara |
|
||||
| --- | --- | --- |
|
||||
| Revisión de PR | El selector "Link GitHub PR" en el menú de adjuntos del composer, y el diálogo de nuevo worktree | Dos disparadores. Adjuntar un PR como contexto prepara las instrucciones, que se envían con tu siguiente mensaje. Crear una sesión de worktree desde un PR usa el prompt como primer mensaje de esa sesión, con el contexto completo del PR adjunto. |
|
||||
| Revisión de issue | El diálogo de nuevo worktree, cuando el worktree parte de una issue | El primer mensaje de la nueva sesión revisa la issue, con su cuerpo y comentarios adjuntos como contexto. |
|
||||
| Revisión de checks fallidos / comentarios de PR / comentario único de PR | — | Hoy no los envía ningún flujo. La vista de PR antes los disparaba con acciones de revisión de un clic; ahora los checks fallidos y los comentarios se fijan como borradores de contexto del chat. Siguen siendo editables para que las anulaciones existentes sigan funcionando. |
|
||||
|
||||
### Planning
|
||||
|
||||
| Prompt | Dónde se ejecuta | Cuándo se dispara |
|
||||
| --- | --- | --- |
|
||||
| Planificación desde todo | El panel Todos en la barra lateral del proyecto | Envías un todo a una sesión o a una nueva sesión en worktree. El texto del todo se convierte en el mensaje visible; las instrucciones lo convierten en un diálogo de planificación con preguntas en vez de saltar a implementar. |
|
||||
| Mejorar plan | La acción "Improve" sobre un plan guardado en la vista Plans | Envías un plan guardado al flujo de mejora. El agente lee primero el archivo del plan, luego propone cambios basados en el estado actual del repositorio y se ofrece a editar ese mismo archivo. |
|
||||
| Implementar plan | La acción "Implement" sobre un plan guardado | Envías un plan guardado al flujo de implementación. El agente lee el archivo del plan y lo implementa de principio a fin sin ampliar el alcance, y guarda ajustes del plan en el archivo cuando el propio plan resulta estar mal. |
|
||||
|
||||
### Session
|
||||
|
||||
La mayoría alimentan comandos de barra que se escriben en el composer. La mayoría también aparecen como chips de inicio en el borrador de una sesión nueva.
|
||||
|
||||
| Prompt | Dónde se ejecuta | Cuándo se dispara |
|
||||
| --- | --- | --- |
|
||||
| Tour del código | `/explore` | Pides una orientación general del código. |
|
||||
| Resumen de sesión | `/summary`, opcionalmente `/summary <tema>` | Resumes la conversación hasta ahora, útil para pasar a una sesión nueva. Requiere una sesión existente. |
|
||||
| Revisión del workspace | `/workspace-review` | Pides al agente revisar el diff actual del workspace en cuanto a intención, corrección y seguridad. |
|
||||
| Planificación de feature | `/plan-feature` | Conviertes una idea rough de feature en un plan de implementación mediante un diálogo guiado de preguntas y respuestas. |
|
||||
| Definir Goal | `/craft-goal`, opcionalmente `/craft-goal <idea>` | Conviertes una idea en un objetivo Goal verificable para el diálogo de Goal. |
|
||||
| Ponerse al día | `/catch-up` | Vuelves a un proyecto y preguntas en qué quedó y qué seguir. |
|
||||
| Depuración | `/debug` | Investigas un bug: el agente forma hipótesis, confirma la causa raíz desde el código y solo entonces propone un arreglo. |
|
||||
| Sopesar opciones | `/weigh` | Sabes qué construir pero no cómo. El agente compara dos o tres enfoques y recomienda uno. |
|
||||
| Fusion | La acción "Run fusion" sobre un grupo de multi-run | Combinas los resultados de varias ejecuciones en una respuesta. Los resultados se añaden después de las instrucciones. |
|
||||
|
||||
### Prompts sin página en Settings
|
||||
|
||||
Algunos prompts se disparan automáticamente y no tienen página editable en Settings:
|
||||
|
||||
| Prompt | Cuándo se dispara |
|
||||
| --- | --- |
|
||||
| Tarea programada | `/schedule-task`, opcionalmente con una idea inicial. Guía el diálogo que define una tarea programada. |
|
||||
| Handoff de revisión | `/handoff-review`, o el botón Review en la vista de diff con el handoff activado. Genera el handoff en la sesión de trabajo. |
|
||||
| Mensaje inicial de la sesión de revisión | El primer mensaje de la sesión de revisión generada, con el handoff cuando se produjo, o sin él. |
|
||||
| Feedback de revisión / respuesta de implementación | Llevan mensajes entre las dos sesiones: el feedback del revisor vuelve a la sesión que implementa, y la respuesta del implementador regresa a la sesión de revisión. |
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Flujos de trabajo de Git y GitHub](/es/git/) — muchos de estos prompts impulsan los flujos de git
|
||||
- [Notas, todos y planes](/es/notes-todos-plans/) — los todos y planes detrás de los prompts de Planning
|
||||
- [Multi-run](/es/multi-run/) — grupos de ejecución y fusion
|
||||
|
||||
@@ -1,31 +1,43 @@
|
||||
---
|
||||
title: PWA y acceso móvil
|
||||
description: Instala OpenChamber como una app y úsalo desde tu teléfono.
|
||||
title: Apps móviles y PWA
|
||||
description: Instala la app de OpenChamber en iOS o Android y conéctala a tu servidor.
|
||||
---
|
||||
|
||||
# PWA y acceso móvil
|
||||
# Apps móviles y PWA
|
||||
|
||||
La app web de OpenChamber se instala como una app de teléfono (una PWA), así que puedes tenerla en tu pantalla de inicio y usarla a pantalla completa. Combínala con un [túnel](/es/tunnels/) y podrás echar un vistazo a una sesión desde cualquier lugar.
|
||||
OpenChamber tiene apps nativas para iPhone y Android, para que puedas seguir sesiones, responder a los agentes y gestionar el trabajo desde tu teléfono, en casa por Wi-Fi o desde cualquier lugar a través del [Private Relay](/es/private-relay/).
|
||||
|
||||
## Instálala
|
||||
## Instala la app
|
||||
|
||||
OpenChamber usa la instalación integrada de tu navegador, así que no hay una descarga aparte:
|
||||
- **iPhone/iPad** — únete a la [beta de TestFlight](https://testflight.apple.com/join/5ek6GU1E)
|
||||
- **Android** — descarga el APK de la [última release](https://github.com/openchamber/openchamber/releases/latest)
|
||||
|
||||
- **navegador de escritorio** — usa la opción **Install** en la barra de direcciones
|
||||
## Conéctala a tu servidor
|
||||
|
||||
1. En la computadora donde se ejecuta OpenChamber, abre **Settings → Remote Instances → Conectarse a este servidor** y pulsa **Añadir un dispositivo**.
|
||||
2. Elige **En cualquier lugar** (o **Solo red doméstica** si solo usarás el teléfono en casa) y pulsa **Crear código QR**.
|
||||
3. En la app móvil, toca **Escanear código QR** y apunta la cámara al código.
|
||||
|
||||
La app se conecta y recuerda el servidor. El código QR es de un solo uso y cada dispositivo recibe su propio token revocable; consulta [Conectar un dispositivo](/es/connect-devices/) para saber por qué la vinculación es segura.
|
||||
|
||||
Puedes vincular la app con varios servidores y cambiar entre ellos desde la lista de instancias; la app muestra para cada uno si está accesible y si estás conectado por la red local o por el relay.
|
||||
|
||||
## PWA (instalación desde el navegador)
|
||||
|
||||
¿Prefieres prescindir de las tiendas de apps? La app web se instala directamente desde el navegador:
|
||||
|
||||
- **navegador de escritorio** — usa la opción **Instalar** de la barra de direcciones
|
||||
- **iPhone/iPad (Safari)** — Compartir → **Añadir a pantalla de inicio**
|
||||
- **Android (Chrome)** — menú → **Instalar app** / **Añadir a pantalla de inicio**
|
||||
|
||||
Una vez instalada, se abre en su propia ventana sin los elementos del navegador.
|
||||
|
||||
## Accede desde tu teléfono
|
||||
|
||||
Para abrir OpenChamber en tu teléfono cuando el servidor se ejecuta en tu computadora, inicia un [túnel](/es/tunnels/) y abre el enlace (o escanea el código QR) en el teléfono. Usa una [contraseña de UI](/es/security/) fuerte siempre que lo hagas.
|
||||
Para alcanzar la PWA desde fuera de tu red necesitarás un [túnel](/es/tunnels/) y una [contraseña de UI](/es/security/) fuerte; las apps nativas se encargan de esto por ti mediante el relay.
|
||||
|
||||
## Ajustes móviles
|
||||
|
||||
En **Settings → OpenChamber**, unas pocas opciones ajustan la experiencia móvil e instalada: el nombre con el que se instala la app, la orientación de la pantalla y cómo se comporta el teclado en pantalla.
|
||||
En **Settings → OpenChamber**, unas cuantas opciones ajustan la experiencia móvil e instalada: el nombre de la app instalada, la orientación de la pantalla y el comportamiento del teclado en pantalla.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Túneles](/es/tunnels/) — accede a tu instancia desde otra red
|
||||
- [Conectar un dispositivo](/es/connect-devices/) — vinculación, códigos QR de un solo uso y gestión de dispositivos
|
||||
- [Private Relay](/es/private-relay/) — cómo funciona el acceso «En cualquier lugar»
|
||||
- [Seguridad](/es/security/) — protege la UI antes de exponerla
|
||||
|
||||
@@ -5,28 +5,31 @@ description: Abre un servidor de desarrollo en marcha dentro de OpenChamber.
|
||||
|
||||
# Vista previa y servidores de desarrollo
|
||||
|
||||
Cuando inicias un servidor de desarrollo, OpenChamber puede abrirlo dentro de la propia app en lugar de en una pestaña de navegador aparte, para que veas tu sitio junto al chat, captures su consola y señales elementos para preguntar sobre ellos.
|
||||
Cuando arrancas un servidor de desarrollo, OpenChamber puede abrirlo dentro de la propia aplicación en lugar de en una pestaña aparte — así ves tu sitio junto al chat y puedes señalar elementos para preguntar por ellos.
|
||||
|
||||
## Abre una vista previa
|
||||
## Abrir un servidor de desarrollo
|
||||
|
||||
OpenChamber observa la salida de la terminal en busca de una dirección local (la línea `Local:` que imprimen herramientas como Vite, Next.js o Astro). Cuando detecta una:
|
||||
Abre el panel del navegador con el botón del globo de la cabecera. Si ya hay un servidor en marcha, aparece en la lista y se abre con un clic: OpenChamber lo encuentra mirando qué está escuchando de verdad en tu máquina, así que funciona sin importar cómo lo hayas arrancado.
|
||||
|
||||
- en la terminal aparece un botón **Open preview**
|
||||
- una [acción de proyecto](/es/project-actions/) con la apertura automática activada la abre por ti
|
||||
- un enlace local en un mensaje del chat también puede abrirla
|
||||
Un servidor de desarrollo también se abre solo cuando:
|
||||
|
||||
El sitio se carga en el panel lateral. Solo se pueden previsualizar direcciones locales (en tu propia máquina).
|
||||
- pulsas **Abrir vista previa** sobre una dirección local en la terminal
|
||||
- una [acción de proyecto](/project-actions/) con apertura automática arranca uno
|
||||
- sigues un enlace local en un mensaje del chat
|
||||
|
||||
## Consola e inspección
|
||||
Siempre puedes escribir la dirección a mano. Un simple `localhost:5173` se entiende como `http://`, así que no hace falta escribir el esquema.
|
||||
|
||||
En el panel de vista previa puedes:
|
||||
## Trabajar con un OpenChamber remoto
|
||||
|
||||
- ver la **consola** de la página —errores, advertencias y registros— filtrada como prefieras
|
||||
- activar **inspect**, hacer clic en cualquier elemento y enviar una nota sobre él —selector, estilos, posición y una captura de pantalla— directamente al chat
|
||||
Cuando OpenChamber corre en otra máquina, su servidor de desarrollo está en *esa* máquina — `localhost` en tu portátil apunta a otro sitio completamente distinto. La aplicación de escritorio se encarga: abre un puerto local que lleva la conexión hasta el servidor remoto, de modo que la página carga con normalidad, con recarga en caliente y herramientas de desarrollo funcionando. Tú sigues escribiendo la dirección que esperas; la fontanería no te estorba.
|
||||
|
||||
Esta es la forma más rápida de decirle al agente "este botón, aquí" sin describirlo.
|
||||
Esto requiere la aplicación de escritorio. En una pestaña del navegador solo se pueden abrir servidores de tu propia máquina.
|
||||
|
||||
## Anotar la página
|
||||
|
||||
Consulta [Panel del navegador](/desktop-browser/) para señalar elementos, dibujar sobre la página y enviarlo todo al chat.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Acciones de proyecto](/es/project-actions/) — abre automáticamente un servidor al iniciarlo
|
||||
- [Navegador de escritorio](/es/desktop-browser/) — las mismas herramientas para cualquier página, en el escritorio
|
||||
- [Acciones de proyecto](/project-actions/) — abrir un servidor automáticamente al arrancarlo
|
||||
- [Panel del navegador](/desktop-browser/) — anotar páginas y dejar que el agente las maneje
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Private Relay
|
||||
description: Alcanza tu servidor de OpenChamber desde cualquier lugar a través de un relay cifrado de extremo a extremo, sin puertos, sin túneles y sin configuración.
|
||||
---
|
||||
|
||||
# Private Relay
|
||||
|
||||
El Private Relay de OpenChamber permite que tus dispositivos vinculados alcancen tu servidor desde cualquier lugar —datos móviles, la red de una cafetería, otra ciudad— sin abrir puertos, montar un túnel ni exponer tu máquina a internet. Se gestiona solo: basta con vincular un dispositivo con **En cualquier lugar** en [Conectar un dispositivo](/es/connect-devices/).
|
||||
|
||||
## Cómo funciona
|
||||
|
||||
Tu servidor abre una conexión saliente hacia la infraestructura de relay de OpenChamber y la mantiene activa. Cuando uno de tus dispositivos está fuera de tu red, también se conecta al relay, y el relay pasa el tráfico cifrado entre ambos. Nada en tu máquina escucha conexiones entrantes desde internet.
|
||||
|
||||
Cuando hay una conexión directa disponible —vuelves a casa y estás en la misma Wi-Fi—, tus dispositivos la prefieren y se saltan el relay por completo.
|
||||
|
||||
## Qué puede ver el relay y qué no
|
||||
|
||||
El relay es un mensajero ciego, no un intermediario:
|
||||
|
||||
- **Cifrado de extremo a extremo.** Tu dispositivo y tu servidor acuerdan las claves de cifrado directamente entre ellos. El relay reenvía tráfico sellado para el que no tiene claves: no puede leer tu código, tus prompts ni tus contraseñas.
|
||||
- **Solo tus dispositivos pueden conectarse.** Un dispositivo debe tener un token emitido por *tu* servidor mediante la [vinculación de un solo uso](/es/connect-devices/). Nadie puede descubrir tu servidor a través del relay ni conectarse a él sin un token que tú hayas creado, y puedes revocar cualquier token en cualquier momento.
|
||||
- **Los enlaces de vinculación son de un solo uso.** Un código QR de vinculación funciona exactamente una vez y caduca si no se usa, así que un enlace antiguo filtrado no vale nada.
|
||||
- **No se comparte nada hasta que tú lo decides.** El relay permanece apagado hasta que lo actives o vincules un dispositivo a través de él, y puedes desactivarlo en cualquier momento; los dispositivos conectados a través de él se desconectan de inmediato.
|
||||
|
||||
## Cuándo funciona
|
||||
|
||||
El relay gestiona su propio ciclo de vida: no hay ningún interruptor que recordar.
|
||||
|
||||
- **Se inicia bajo demanda.** Crear una vinculación **En cualquier lugar** enciende el relay, y este vuelve tras un reinicio mientras algún dispositivo vinculado siga dependiendo de él.
|
||||
- **Se detiene solo.** Cuando ningún dispositivo ni vinculación pendiente usa el relay —por ejemplo, después de revocar el último dispositivo vinculado por relay—, se apaga automáticamente.
|
||||
|
||||
**Settings → Remote Instances → OpenChamber Relay** muestra el estado en vivo (Conectado, Reconectando, …) y cuántos dispositivos están conectados a través de él en ese momento. Allí también puedes pulsar **Desactivar** para cortar el acceso por relay de inmediato; los dispositivos de tu red local no se ven afectados.
|
||||
|
||||
## ¿Relay o túnel?
|
||||
|
||||
- Usa el **relay** para alcanzar tu propio servidor desde tus propios dispositivos vinculados. No requiere configuración y nada se expone públicamente.
|
||||
- Usa un [túnel](/es/tunnels/) cuando necesites una **URL pública** normal, por ejemplo para abrir OpenChamber en un navegador corriente en una máquina que no puedes vincular, o para compartir acceso detrás de una [contraseña de UI](/es/security/).
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Conectar un dispositivo](/es/connect-devices/) — vincula un dispositivo con un código QR de un solo uso
|
||||
- [Apps móviles](/es/mobile/) — instala la app de iOS o Android
|
||||
- [Seguridad](/es/security/) — contraseñas, passkeys y nociones básicas de exposición
|
||||
- [Acceso remoto](/es/troubleshooting/remote-access/) — cuando una conexión no se completa
|
||||
@@ -45,5 +45,6 @@ Los inicios de sesión de los proveedores los guarda OpenCode, no OpenChamber, a
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Integraciones](/es/integrations/) — usa una suscripción de Claude o Cursor como proveedor
|
||||
- [Servidores MCP](/es/mcp/) — añade herramientas extra para los agentes
|
||||
- [Uso y cuotas](/es/usage/) — controla cuánto has consumido
|
||||
|
||||
@@ -24,19 +24,25 @@ OpenChamber recorre los pasos —comprobar la conexión, configurar el remoto, i
|
||||
|
||||
Tú decides si guardar las contraseñas de SSH y de UI o introducirlas cada vez. Si la conexión se cae, OpenChamber informa qué paso falló para que puedas arreglarlo; consulta [Acceso remoto](/es/troubleshooting/remote-access/).
|
||||
|
||||
## Enlaces de conexión directa
|
||||
## Enlaces de conexión
|
||||
|
||||
Si una máquina remota ya ejecuta OpenChamber, crea allí un enlace de conexión e impórtalo en **Settings → Remote Instances → Server links**:
|
||||
Si una máquina remota ya ejecuta OpenChamber, la forma más fácil de conectar la app de escritorio es un enlace de vinculación. En la UI del servidor remoto, abre **Settings → Remote Instances → Conectarse a este servidor → Añadir un dispositivo**, crea un enlace e impórtalo en tu escritorio en **Settings → Remote Instances → Otros servidores de OpenChamber → Importar enlace**. Consulta [Conectar un dispositivo](/es/connect-devices/) para el flujo completo.
|
||||
|
||||
Un enlace creado con **En cualquier lugar** lleva tanto una dirección directa como una ruta por el [Private Relay](/es/private-relay/): el escritorio se conecta directamente cuando puede alcanzar el servidor (misma red) y recurre al relay cifrado de extremo a extremo cuando estás fuera. El estado junto a cada servidor guardado muestra qué ruta se está usando.
|
||||
|
||||
También puedes crear un enlace desde una terminal en la máquina remota:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` inicia el servidor primero si no hay nada ejecutándose en ese puerto. Añade `--api-only` para un servidor headless, `--lan` para escuchar en la LAN al iniciar, `--ui-password` para proteger el acceso del navegador y `--name` para etiquetar la conexión guardada.
|
||||
`connect-url` inicia el servidor primero si no hay nada ejecutándose en ese puerto. Añade `--api-only` para un servidor headless, `--lan` para escuchar en la LAN al iniciar, `--ui-password` para proteger el acceso del navegador y `--name` para etiquetar la conexión guardada. Añade `--relay` para un enlace que también funciona fuera de la red local: el dispositivo prefiere la conexión directa cuando el servidor está accesible y recurre al [Private Relay](/es/private-relay/) en caso contrario; la instancia levanta el relay por sí sola.
|
||||
|
||||
El enlace generado contiene un token de cliente para apps de OpenChamber. Ese token es independiente de la contraseña de la UI del navegador y sobrevive a reinicios hasta que lo revoques o elimines.
|
||||
El enlace generado contiene un secreto de vinculación de un solo uso. Una vez importado, el dispositivo conserva su propio token de cliente —independiente de la contraseña de la UI del navegador— que sobrevive a los reinicios del servidor hasta que lo revoques en el servidor emisor.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Conectar un dispositivo](/es/connect-devices/) — enlaces de vinculación, códigos QR y gestión de dispositivos
|
||||
- [Private Relay](/es/private-relay/) — cómo funcionan las conexiones «En cualquier lugar»
|
||||
- [OpenCode Server](/es/opencode-server/) — conéctate a un servidor remoto en la web o en VS Code
|
||||
- [Acceso remoto](/es/troubleshooting/remote-access/) — cuando una conexión no se completa
|
||||
|
||||
@@ -20,6 +20,8 @@ Una tarea programada ejecuta un prompt por ti según una programación; por ejem
|
||||
|
||||
Puedes ejecutar cualquier tarea de inmediato con **run now** para comprobar que hace lo que esperas.
|
||||
|
||||
Marca **Ejecutar como objetivo** para que la ejecución persiga su prompt hasta completarlo en lugar de detenerse tras una respuesta — consulta [Objetivos de sesión](/session-goals/).
|
||||
|
||||
## Cómo se ve el éxito
|
||||
|
||||
Después de una ejecución, la tarea muestra cuándo se ejecutó por última vez, si tuvo éxito y un enlace a la sesión que creó. Si una ejecución falla, el error también se muestra ahí.
|
||||
|
||||
@@ -25,13 +25,20 @@ Una vez definida una contraseña, puedes añadir passkeys (Face ID, Touch ID, un
|
||||
|
||||
Las passkeys están vinculadas a la contraseña actual. Si cambias o eliminas la contraseña, las passkeys guardadas se borran y tendrás que añadirlas de nuevo.
|
||||
|
||||
## Tokens de dispositivo
|
||||
|
||||
Los dispositivos vinculados mediante [Conectar un dispositivo](/es/connect-devices/) se autentican con sus propios tokens por dispositivo, no con la contraseña de UI. Los enlaces de vinculación son de un solo uso y caducan si no se usan; cada dispositivo vinculado aparece en **Settings → Remote Instances → Conectarse a este servidor**, donde puedes revocar cualquiera en cualquier momento. Las conexiones fuera de casa pasan por el [Private Relay](/es/private-relay/), que está cifrado de extremo a extremo y no puede leer tu tráfico.
|
||||
|
||||
## Antes de exponerlo
|
||||
|
||||
- De forma predeterminada, OpenChamber solo escucha en tu propia máquina (`127.0.0.1`). Hace falta un cambio deliberado para escuchar más ampliamente, y deberías definir una contraseña primero.
|
||||
- Prefiere un [túnel](/es/tunnels/) o una red privada (como una VPN) antes que abrir un puerto a internet.
|
||||
- Para tus propios dispositivos, prefiere la [vinculación](/es/connect-devices/) con el [Private Relay](/es/private-relay/): no se expone nada públicamente.
|
||||
- Si necesitas una URL pública, prefiere un [túnel](/es/tunnels/) o una red privada (como una VPN) antes que abrir un puerto a internet.
|
||||
- Si pones OpenChamber detrás de tu propio servidor HTTPS, consulta [Proxy inverso](/es/reverse-proxy/).
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Túneles](/es/tunnels/) — la forma recomendada de acceder a una instancia de forma remota
|
||||
- [Conectar un dispositivo](/es/connect-devices/) — vinculación de un solo uso y tokens por dispositivo
|
||||
- [Private Relay](/es/private-relay/) — acceso cifrado de extremo a extremo desde cualquier lugar
|
||||
- [Túneles](/es/tunnels/) — expón una URL pública cuando la necesites
|
||||
- [Proxy inverso](/es/reverse-proxy/) — ejecuta OpenChamber detrás de tu propio servidor
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Objetivos de sesión
|
||||
description: Convierte un prompt en un objetivo hacia el que el agente trabaja automáticamente.
|
||||
---
|
||||
|
||||
# Objetivos de sesión
|
||||
|
||||
Un objetivo convierte un solo prompt en una línea de meta. En lugar de empujar al agente con "continúa" tras cada respuesta, defines el objetivo una vez — y OpenChamber mantiene la sesión trabajando hacia él automáticamente, comprobando el progreso con un auditor independiente después de cada turno. Sigue funcionando incluso mientras no estás.
|
||||
|
||||
## Iniciar un objetivo
|
||||
|
||||
1. Pulsa el botón de diana en el compositor. Se ilumina — el modo objetivo está armado.
|
||||
2. Escribe tu prompt y envíalo. Ese mensaje se convierte en el objetivo.
|
||||
|
||||
Funciona igual en una sesión existente y en un borrador de sesión nueva: arma la diana, escribe el primer mensaje, envía — la nueva sesión arranca con el objetivo ya activo.
|
||||
|
||||
### Más formas de iniciar un objetivo
|
||||
|
||||
- **Desde una respuesta del agente**: en el diálogo "Start new session from this answer", marca **Ejecutar como objetivo** — la respuesta se entrega como una tarea que la nueva sesión ejecuta hasta completarla (combínalo con **Create worktree** para una ejecución aislada).
|
||||
- **Desde un plan**: al implementar un plan guardado en una sesión o worktree nuevos, marca **Ejecutar como objetivo** en el diálogo. El objetivo lleva el contenido del plan, así que el auditor juzga el progreso contra el plan real.
|
||||
- **Según un horario**: marca **Ejecutar como objetivo** en una [tarea programada](/scheduled-tasks/) para que las ejecuciones recurrentes persigan su prompt hasta completarlo.
|
||||
|
||||
## Escribe un objetivo autocontenido
|
||||
|
||||
El auditor de progreso solo ve tu objetivo y la última respuesta del agente — no el historial del chat. Redacta el mensaje-objetivo de forma que alguien sin el contexto de la conversación entienda cómo es el estado final.
|
||||
|
||||
- Bien: "Añade tests para el módulo de exportación y haz que toda la suite pase."
|
||||
- No tan bien: "Arréglalo" o "Continúa con esa idea."
|
||||
|
||||
Para pequeños ajustes contextuales no necesitas un objetivo — envía un mensaje normal.
|
||||
|
||||
## Cómo funciona
|
||||
|
||||
Cuando el agente se detiene y la sesión queda en silencio un momento, OpenChamber:
|
||||
|
||||
1. Pide a un modelo pequeño y barato que audite el último turno contra el objetivo: ¿seguir, hecho o atascado?
|
||||
2. Si el veredicto es "seguir", envía un prompt de continuación y el agente retoma el trabajo.
|
||||
3. Si el objetivo se ha logrado de forma verificable, el objetivo se completa y recibes una notificación.
|
||||
4. Si el agente está realmente atascado (necesita tu intervención), el objetivo se detiene como bloqueado — pero solo después de que el auditor lo diga tres veces seguidas, así que un tropiezo puntual nunca termina el objetivo.
|
||||
|
||||
También hay topes de seguridad: un presupuesto de tokens opcional, un límite de continuaciones automáticas y una parada ante errores de turno. Si el contexto de la sesión se compacta a mitad del trabajo, el objetivo simplemente continúa — chocar con la ventana de contexto es prueba de que el trabajo no había terminado.
|
||||
|
||||
### Detener y reanudar
|
||||
|
||||
- El **botón de detener** aborta el turno en curso y pausa el objetivo — tu "para" explícito siempre gana al bucle.
|
||||
- **Pausar** en la franja del objetivo hace lo mismo desde el otro lado: pausa el objetivo y detiene el turno en curso.
|
||||
- Mientras está pausado, chatea con normalidad — el bucle no interfiere.
|
||||
- **Reanudar** rearma el bucle: en una sesión inactiva el empujón de continuación sale de inmediato; si el agente está trabajando, el bucle se reengancha en su siguiente pausa.
|
||||
|
||||
## Observar y gestionar
|
||||
|
||||
- La franja sobre el compositor muestra la última nota de progreso, el estado y el uso de tokens, con un botón de pausar/reanudar integrado. Cuando el agente se ha detenido y el objetivo sigue activo, la franja muestra un **Evaluando…** giratorio — es la ventana de silencio y la auditoría en marcha.
|
||||
- El botón de diana permanece encendido mientras el objetivo corre (azul), se vuelve verde al completarse y rojo cuando está bloqueado o sin presupuesto. Púlsalo para abrir el diálogo del objetivo: edita el objetivo o el presupuesto, o elimínalo. Un objetivo completado es de solo lectura — elimínalo y arma uno nuevo.
|
||||
- En la barra lateral de sesiones aparece una pequeña diana junto a la fecha de la sesión, coloreada según el estado del objetivo.
|
||||
|
||||
## Notificaciones
|
||||
|
||||
Mientras un objetivo está activo, las notificaciones por turno de "agente listo" se suprimen — solo harían eco de las continuaciones del propio bucle. Cuando el objetivo se resuelve (completado, bloqueado o presupuesto alcanzado) recibes una única notificación final, en el escritorio y como push móvil. Obedece el mismo ajuste de "notificar al completar"; las solicitudes de permisos, las preguntas y las notificaciones de error siguen funcionando con normalidad.
|
||||
|
||||
## Presupuesto de tokens
|
||||
|
||||
En **Ajustes → Chat → Objetivo** puedes definir un presupuesto de tokens predeterminado para nuevos objetivos. Al alcanzarlo, el objetivo se detiene como "presupuesto alcanzado" en lugar de gastar más — puedes subir el presupuesto y reanudar desde el diálogo del objetivo.
|
||||
|
||||
## Ten en cuenta
|
||||
|
||||
- El bucle del objetivo corre en el servidor de OpenChamber, no en tu pestaña del navegador. Cierra la pestaña, bloquea el teléfono — el agente sigue trabajando y recibirás una notificación cuando el objetivo termine. El servidor (app de escritorio o proceso `openchamber`) debe seguir en marcha.
|
||||
- Los objetivos usan el proveedor y modelo de tu propia sesión, incluidas las llamadas del auditor — nada sale hacia proveedores que no uses ya.
|
||||
- Un objetivo por sesión a la vez.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Tareas programadas](/scheduled-tasks/) — ejecutar un prompt según un horario; activa allí "Ejecutar como objetivo" para que la ejecución programada persiga su prompt hasta completarlo
|
||||
- [Notificaciones](/notifications/) — cómo te enteras de un objetivo terminado
|
||||
@@ -12,7 +12,7 @@ Para escribir tus propias skills, consulta [Skills](/es/skills/).
|
||||
## Instala una skill
|
||||
|
||||
1. Abre el catálogo.
|
||||
2. Explora las fuentes integradas —el repositorio de skills de Anthropic y el registro comunitario de ClawdHub— o busca.
|
||||
2. Explora las fuentes integradas —como el repositorio de skills de Anthropic— o busca.
|
||||
3. Elige una skill e instálala.
|
||||
4. Elige dónde instalarla: para todo lo que hagas, o solo en el proyecto actual.
|
||||
|
||||
|
||||
@@ -12,6 +12,15 @@ Cuando no puedes alcanzar OpenChamber desde tu teléfono u otra máquina, la sol
|
||||
- abre `http://localhost:3000` en la misma computadora primero; si eso falla, no es un problema remoto; consulta [Conexión de OpenCode](/es/troubleshooting/opencode-connection/)
|
||||
- confirma que el servidor está en funcionamiento con `openchamber status`
|
||||
|
||||
## Un dispositivo vinculado no se conecta
|
||||
|
||||
- el código QR / enlace de vinculación es **de un solo uso**; si ya se escaneó (o caducó), crea uno nuevo desde **Añadir un dispositivo**
|
||||
- si el dispositivo se vinculó con **Solo red doméstica**, no puede conectarse desde fuera de esa red; vuelve a vincularlo con **En cualquier lugar**
|
||||
- para la vinculación **En cualquier lugar**, comprueba **Settings → Remote Instances → OpenChamber Relay** en el servidor: debería decir **Conectado**; si no, desactívalo y vuelve a activarlo
|
||||
- si un dispositivo fue **revocado**, su token desaparece para siempre; vincúlalo de nuevo con un código QR nuevo
|
||||
|
||||
Consulta [Conectar un dispositivo](/es/connect-devices/) y [Private Relay](/es/private-relay/) para saber cómo funcionan estas conexiones.
|
||||
|
||||
## El enlace del túnel no funciona
|
||||
|
||||
- ejecuta `openchamber tunnel status --all`
|
||||
@@ -34,5 +43,5 @@ Si pones OpenChamber detrás de un proxy inverso y carga de forma extraña o no
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Túneles](/es/tunnels/) · [Instancias remotas](/es/remote-instances/) · [Proxy inverso](/es/reverse-proxy/)
|
||||
- [Conectar un dispositivo](/es/connect-devices/) · [Private Relay](/es/private-relay/) · [Túneles](/es/tunnels/) · [Instancias remotas](/es/remote-instances/) · [Proxy inverso](/es/reverse-proxy/)
|
||||
- [Seguridad](/es/security/) — protege la UI antes de exponerla
|
||||
|
||||
@@ -5,7 +5,9 @@ description: Expón OpenChamber de forma segura para acceso remoto y móvil.
|
||||
|
||||
# Túneles
|
||||
|
||||
Un túnel es un enlace público a tu OpenChamber, para que puedas acceder a él desde tu teléfono u otra red. Usa `openchamber tunnel` para crear uno para una instancia en marcha.
|
||||
Un túnel es un enlace público a tu OpenChamber, para que puedas acceder a él desde un navegador corriente en otra red. Usa `openchamber tunnel` para crear uno para una instancia en marcha.
|
||||
|
||||
> Conectar tus **propios dispositivos** (la app móvil, otro escritorio) normalmente no necesita un túnel: [vincúlalos](/es/connect-devices/) y deja que el [Private Relay](/es/private-relay/), cifrado de extremo a extremo, se encargue del acceso fuera de casa sin configuración.
|
||||
|
||||
## Requisitos previos
|
||||
|
||||
@@ -111,6 +113,7 @@ openchamber tunnel stop --port 3000
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Conectar un dispositivo](/es/connect-devices/) — vincula tus propios dispositivos sin una URL pública
|
||||
- [Seguridad](/es/security/) — protege la interfaz antes de exponerla
|
||||
- [Túneles de escritorio](/es/desktop-tunnels/) — configuración de túneles en la app de escritorio sin iniciar desde CLI
|
||||
- [PWA y acceso móvil](/es/mobile/) — accede a OpenChamber desde tu teléfono
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: Recorrido por los cambios
|
||||
description: Lee un diff en el orden que tiene sentido, no en orden alfabético.
|
||||
---
|
||||
|
||||
# Recorrido por los cambios
|
||||
|
||||
Un diff está ordenado por ruta de archivo, que casi nunca es el orden en el que el cambio cobra sentido. El recorrido lo reordena: las ediciones relacionadas se agrupan en **paradas**, cada parada explica qué hace ahora el código de forma distinta, y las paradas se ordenan para que cada una se apoye en la anterior.
|
||||
|
||||
Explica y ordena. No juzga tu código ni emite veredictos — para eso está [Review](/git/).
|
||||
|
||||
Ábrelo con el icono **Recorrido** en la barra derecha, o con el botón **Recorrido con IA** en los paneles de cambios y de pull request. Ambos solo abren el panel; no se genera nada hasta que pulsas **Generar recorrido**.
|
||||
|
||||
## Qué puede recorrer
|
||||
|
||||
| Ámbito | Qué incluye |
|
||||
| --- | --- |
|
||||
| Todo sin confirmar | Todo lo que aún no está en un commit: preparado, sin preparar y archivos nuevos |
|
||||
| Preparados | Solo lo que iría a un commit ahora mismo |
|
||||
| Sin preparar | Árbol de trabajo y archivos nuevos |
|
||||
| Esta rama | Todos los commits de la rama que no están en su base |
|
||||
| Pull request | El cambio tal como existe en GitHub |
|
||||
|
||||
**Esta rama** no significa "commits sin subir": es todo lo que la rama añade a su base, se haya subido o no. Por eso, tras hacer commit pero antes de subirlo, esta y el pull request difieren a propósito: una muestra lo que hiciste, el otro lo que ven ahora quienes revisan.
|
||||
|
||||
Cada ámbito se guarda por separado, así que cambiar entre ellos nunca pierde nada.
|
||||
|
||||
## Elegir el modelo
|
||||
|
||||
Los recorridos usan tu modelo pequeño por defecto. Elige otro en **Ajustes → Sesiones → Modelo del recorrido de cambios**, o solo para una revisión desde la cabecera del panel — útil cuando un cambio es lo bastante delicado como para merecer un modelo más potente.
|
||||
|
||||
El selector solo ofrece modelos capaces de devolver salida estructurada, porque sin ella el recorrido no se puede montar. Si un modelo se queda corto para el diff, la generación se rechaza con una explicación en vez de recortar la entrada en silencio: un recorrido escrito sobre medio diff suena seguro y se equivoca.
|
||||
|
||||
Al reabrir el panel verás el modelo que produjo lo que tienes delante, así que **Regenerar** repite con el mismo salvo que lo cambies.
|
||||
|
||||
## Elegir el idioma
|
||||
|
||||
Los recorridos se escriben en el idioma de tu interfaz por defecto. El selector de idioma de la cabecera del panel arranca ahí, y puedes elegir cualquier otro idioma al que esté traducido OpenChamber para una sola revisión: una explicación guiada solo sirve en un idioma que leas con soltura.
|
||||
|
||||
Solo se traduce la prosa. Los identificadores, las rutas de archivo y los nombres de API se quedan tal cual aparecen en tu código, así que lo que nombra una parada sigue siendo lo que puedes buscar.
|
||||
|
||||
Si todavía no hay nada generado en el idioma que elegiste, el panel no se vacía: sigue mostrando el recorrido que tiene y lo dice. Pulsa **Generar recorrido** para obtenerlo en el idioma nuevo.
|
||||
|
||||
## Coste y caché
|
||||
|
||||
Nada se genera por su cuenta. La generación solo empieza cuando la pides, y regenerar también es manual.
|
||||
|
||||
Los resultados se guardan en caché según el contenido exacto del diff. Devuelve el árbol de trabajo a un estado anterior y el recorrido anterior vuelve gratis, sin llamar al modelo. El idioma y el modelo forman parte de esa clave, así que cada combinación se guarda por separado: cuando un diff ya tiene recorrido en dos idiomas, cambiar entre ellos es instantáneo y no cuesta nada.
|
||||
|
||||
La generación se ejecuta en el servidor de OpenChamber, no en la pestaña del navegador. Recarga la página o cierra el panel y continúa; al volver, el resultado te espera. Solo **Cancelar** la detiene.
|
||||
|
||||
## Ser honesto sobre lo desactualizado
|
||||
|
||||
Cada parada está anclada al contenido exacto del código que describe, así que el panel puede avisarte cuando ese código ha cambiado:
|
||||
|
||||
- **Pasos desactualizados** — el código que describía una parada cambió o desapareció. El recorrido se sigue mostrando, marcado, para que decidas si regenerar.
|
||||
- **Sin cubrir** — cambios del diff actual que ninguna parada describe. Ahí entran las ediciones hechas después de generar, los cambios que el recorrido consideró rutinarios y los archivos de bloqueo u otra salida generada, que se dejan fuera del modelo a propósito. Todo aparece al final para que nada desaparezca en silencio.
|
||||
|
||||
Regenerar no parchea, reescribe: el recorrido anterior va al modelo como contexto, así que lo que sigue siendo cierto se conserva, y todo se reancla al código actual.
|
||||
|
||||
## Notas
|
||||
|
||||
- Puedes comentar cualquier línea igual que en la vista de diff; los comentarios se adjuntan al campo del chat.
|
||||
- Disponible en escritorio y anchos de tableta. No se ofrece en la extensión de VS Code ni en la app móvil.
|
||||
- Recorrer un pull request requiere una cuenta de GitHub conectada — consulta [Issues y PR de GitHub](/github/).
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [Git y GitHub](/git/) — el panel de cambios del que lee, y la acción Review que sí juzga el código
|
||||
- [Issues y PR de GitHub](/github/) — conecta GitHub para recorrer pull requests
|
||||
- [Proveedores, modelos y agentes](/providers/) — de dónde sale el modelo pequeño
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Outil de contrôle pour les agents
|
||||
description: Permettez à un agent de gérer les sessions, worktrees et tâches planifiées OpenChamber depuis le chat.
|
||||
---
|
||||
|
||||
# Outil de contrôle pour les agents
|
||||
|
||||
Utilisez l’outil d’agent `openchamber` pour gérer le travail dans l’application directement depuis le chat. Il est activé par défaut quand OpenChamber exécute son propre serveur OpenCode local ; aucun outil séparé ni aucune commande shell ne sont nécessaires.
|
||||
|
||||
## Ce que vous pouvez demander
|
||||
|
||||
Demandez-le à l’agent en langage naturel. Par exemple :
|
||||
|
||||
- « Crée une nouvelle session OpenChamber dans ce projet, utilise le modèle `openai/gpt-5.6-sol` et envoie-lui ce prompt : vérifie le flux d’authentification. »
|
||||
- « Crée une nouvelle session OpenChamber pour cette tâche dans un worktree séparé et demande-lui d’ajouter des tests au flux de connexion. »
|
||||
- « Utilise OpenChamber pour afficher mes 10 sessions les plus récentes avec leur état actuel. »
|
||||
- « Crée dans OpenChamber une tâche planifiée nommée Revue des jours ouvrés qui envoie ce prompt à 09:00 chaque jour ouvré : vérifie les changements depuis la dernière exécution. »
|
||||
- « Exécute maintenant la tâche planifiée OpenChamber nommée Revue des jours ouvrés. »
|
||||
- « Vérifie la session OpenChamber nommée Revue de l’authentification et affiche la dernière réponse de l’assistant. »
|
||||
|
||||
L’outil peut répertorier les projets et les préférences de modèles, créer et poursuivre des sessions, bifurquer une session, créer des sessions dans des worktrees isolés et gérer les tâches planifiées. Les sessions ainsi lancées apparaissent dans OpenChamber comme les autres : vous pouvez les ouvrir et poursuivre le travail vous-même.
|
||||
|
||||
## À retenir
|
||||
|
||||
- Les prompts de nouvelles sessions rendent la main immédiatement par défaut. Suivez la session dans OpenChamber ou demandez à l’agent de la vérifier plus tard.
|
||||
- Un worktree séparé n’est créé que si vous le demandez. Les modifications non commitées du worktree actuel n’y sont pas copiées.
|
||||
- L’outil ne peut pas supprimer de sessions ou de worktrees, enregistrer des chemins de projets, exécuter des commandes shell arbitraires ni appeler des URL arbitraires.
|
||||
|
||||
## Activer ou désactiver l’outil
|
||||
|
||||
Ouvrez **Paramètres → Général → Outils OpenChamber** et modifiez **Outil de contrôle pour les agents**. Le réglage s’applique au redémarrage du serveur OpenCode géré, que OpenChamber propose sous **Apply & Restart**.
|
||||
|
||||
L’outil n’est pas disponible quand OpenChamber se connecte à un serveur OpenCode externe avec `OPENCODE_HOST` ou skip-start, ni dans l’extension VS Code. Les installations desktop et web utilisant le serveur OpenCode géré par OpenChamber le prennent automatiquement en charge.
|
||||
|
||||
## Pages associées
|
||||
|
||||
- [Tâches planifiées](/fr/scheduled-tasks/)
|
||||
- [Sessions worktree](/fr/worktrees/)
|
||||
- [Objectifs de session](/fr/session-goals/)
|
||||
- [Panneau navigateur](/fr/desktop-browser/) — l'outil OpenChamber Web, pour consulter une page et la piloter
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Connecter un appareil
|
||||
description: Associez votre téléphone, votre desktop ou un autre navigateur à votre serveur OpenChamber avec un QR code à usage unique.
|
||||
---
|
||||
|
||||
# Connecter un appareil
|
||||
|
||||
Associez un autre appareil — l’application mobile, l’application desktop ou un navigateur sur une autre machine — à votre serveur OpenChamber en scannant un QR code à usage unique. C’est la méthode recommandée pour connecter des appareils : aucun port à ouvrir, aucune adresse à taper.
|
||||
|
||||
## Associer un appareil
|
||||
|
||||
1. Sur la machine qui exécute OpenChamber, ouvrez **Paramètres → Instances distantes → Se connecter à ce serveur** et pressez **Ajouter un appareil**.
|
||||
2. Donnez un nom à l’appareil (par ex. *Mon iPhone*) pour le reconnaître plus tard.
|
||||
3. Choisissez où vous utiliserez l’appareil :
|
||||
- **Cet ordinateur uniquement** — pour les applications sur cette même machine
|
||||
- **Réseau domestique uniquement** — connexion directe via votre Wi-Fi ; ne fonctionne pas hors de ce réseau
|
||||
- **Partout** — fonctionne à la maison et en déplacement ; en déplacement, le trafic passe par le [Relais privé](/private-relay/), un tunnel chiffré de bout en bout sans aucune configuration
|
||||
4. Pressez **Créer le code QR**.
|
||||
5. Sur l’autre appareil, scannez le code :
|
||||
- **application mobile** — touchez **Scanner le code QR** sur l’écran de connexion (ou dans la liste des instances)
|
||||
- **application desktop** — copiez plutôt le lien de connexion et collez-le dans **Paramètres → Instances distantes → Autres serveurs OpenChamber → Importer le lien**
|
||||
|
||||
Le dialogue se ferme tout seul dès que l’appareil se connecte, et l’appareil apparaît dans la liste avec un statut en direct. C’est tout — vous êtes associé.
|
||||
|
||||
## Pourquoi l’association reste sûre
|
||||
|
||||
- **Le QR code est à usage unique.** Il cesse de fonctionner dès qu’un appareil l’utilise, et il expire de lui-même s’il n’est jamais utilisé.
|
||||
- **Chaque appareil reçoit son propre token.** Scanner un code n’expose jamais votre mot de passe UI, et le token d’un appareil ne peut pas servir à en usurper un autre.
|
||||
- **Vous gardez le contrôle.** Chaque appareil associé est listé avec son nom, sa plateforme et son état de connexion — révoquez n’importe lequel à tout moment.
|
||||
- **Le trafic hors du domicile est chiffré de bout en bout.** Avec **Partout**, le trafic en dehors de votre réseau passe par le [Relais privé](/private-relay/), qui ne peut pas lire ce qui le traverse.
|
||||
|
||||
## Gérer les appareils associés
|
||||
|
||||
**Paramètres → Instances distantes → Se connecter à ce serveur** liste chaque appareil pouvant joindre ce serveur, avec un point vert quand il est en ligne et l’indication d’une connexion via le réseau local ou le relais.
|
||||
|
||||
- **Révoquer** coupe un appareil immédiatement. Associez-le à nouveau avec un nouveau QR code si vous changez d’avis.
|
||||
- **Effacer les révocations** nettoie la liste.
|
||||
|
||||
Le même appareil physique garde une seule entrée même s’il se reconnecte plus tard — vous n’accumulerez pas de doublons.
|
||||
|
||||
## Se connecter depuis la ligne de commande
|
||||
|
||||
Si le serveur tourne en headless (aucune UI ouverte), créez un lien de connexion depuis un terminal sur cette machine.
|
||||
|
||||
Pour un appareil sur le même réseau :
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --qr
|
||||
```
|
||||
|
||||
Pour un appareil qui doit se connecter depuis **n’importe où** — l’équivalent du choix **Partout** dans le dialogue :
|
||||
|
||||
```bash
|
||||
openchamber connect-url --relay --qr
|
||||
```
|
||||
|
||||
Un lien `--relay` contient les deux routes, exactement comme le dialogue : l’appareil se connecte directement via votre réseau local quand il peut joindre le serveur, et bascule sur le [Relais privé](/private-relay/) en déplacement. Le relais démarre tout seul : une instance en cours d’exécution prend le lien en compte en moins d’une minute, une instance arrêtée au prochain lancement.
|
||||
|
||||
> La route directe ne fonctionne que si le serveur écoute réellement sur votre réseau. Par défaut, OpenChamber n’écoute que sur la machine elle-même — démarrez-le avec `--lan` pour le rendre joignable en Wi-Fi. La commande vous prévient (`[LAN_UNREACHABLE]`) quand la route directe du lien ne sera pas utilisable depuis d’autres appareils ; un lien `--relay` fonctionne quand même dans ce cas, simplement toujours via le relais.
|
||||
|
||||
Le lien et le QR code affichés fonctionnent exactement comme ceux du dialogue des paramètres — à usage unique, avec expiration, révocables.
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Relais privé](/private-relay/) — comment fonctionnent les connexions « Partout » et ce que le relais peut ou ne peut pas voir
|
||||
- [Applications mobiles](/mobile/) — installer l’application iOS ou Android
|
||||
- [Instances distantes](/remote-instances/) — connecter l’application desktop à des serveurs via SSH ou des liens
|
||||
- [Accès distant](/troubleshooting/remote-access/) — quand un appareil ne se connecte pas
|
||||
@@ -1,22 +1,53 @@
|
||||
---
|
||||
title: Navigateur desktop
|
||||
description: Parcourez n’importe quelle page dans l’application desktop, avec inspection et capture de console.
|
||||
title: Panneau navigateur
|
||||
description: Parcourez n'importe quelle page dans l'application, annotez-la et laissez l'agent la piloter.
|
||||
---
|
||||
|
||||
# Navigateur desktop
|
||||
# Panneau navigateur
|
||||
|
||||
L’application desktop possède un navigateur intégré pour ouvrir n’importe quelle page juste à côté de votre chat, pointer des éléments pour poser des questions à leur sujet et capturer la console de la page. Ouvrez-le avec le bouton globe dans l’en-tête de l’application.
|
||||
Le panneau navigateur ouvre n'importe quelle page juste à côté de votre discussion. Ouvrez-le depuis le bouton globe de l'en-tête.
|
||||
|
||||
> Le navigateur desktop est une fonctionnalité **desktop uniquement**. Sur le web, le panneau [aperçu](/preview/) offre les mêmes outils d’inspection et de console pour votre serveur de dev local.
|
||||
Dans l'application de bureau, c'est un vrai navigateur : vos connexions persistent, le rechargement à chaud fonctionne et les outils de développement sont à un clic. Dans un onglet de navigateur, le panneau affiche bien une page mais ne peut pas regarder à l'intérieur — les outils d'annotation ci-dessous sont réservés au bureau.
|
||||
|
||||
## Inspecter et annoter
|
||||
Les pages ouvertes ici ne peuvent pas utiliser votre caméra, votre micro ni votre position : ces demandes sont refusées.
|
||||
|
||||
Activez **inspect** et cliquez sur n’importe quel élément de la page. OpenChamber capture une note à son sujet — ce que c’est, ses styles, sa position et une capture d’écran — puis l’attache à votre message de chat. C’est le moyen le plus rapide de dire à l’agent « cet élément, juste ici ».
|
||||
## La barre d'outils
|
||||
|
||||
## Capture de console
|
||||
La barre d'adresse retient les pages que vous avez ouvertes dans ce projet et les propose pendant la saisie, en cherchant dans une partie de l'adresse ou du titre de la page. Les flèches parcourent la liste, Entrée ouvre l'entrée surlignée, et le bouton d'une ligne la retire.
|
||||
|
||||
Le navigateur collecte la sortie console de la page — erreurs, avertissements et logs — pour que vous puissiez la filtrer et la lire sans ouvrir les outils développeur.
|
||||
À côté se trouve **Recharger**, ainsi qu'un **rechargement forcé** qui ignore le cache quand un changement refuse d'apparaître, et des commandes de zoom qui agrandissent la page seule.
|
||||
|
||||
## Pages liées
|
||||
**Effacer les cookies** et **Effacer les données en cache** ne concernent que ce panneau. Votre session OpenChamber et les autres fenêtres n'y touchent pas.
|
||||
|
||||
- [Aperçu et serveurs de dev](/preview/) — les mêmes outils pour votre serveur de dev local
|
||||
## Annoter une page
|
||||
|
||||
Appuyez sur **Annoter** : une barre apparaît au-dessus de la page avec trois outils.
|
||||
|
||||
- **Élément** — cliquez sur un élément. Cliquer sur un autre déplace la sélection ; recliquer sur le même la retire.
|
||||
- **Zone** — tracez un cadre autour d'une portion lorsque votre remarque porte sur plusieurs éléments.
|
||||
- **Dessin** — croquez à main levée par-dessus la page.
|
||||
|
||||
Écrivez votre demande dans le champ qui apparaît à côté de votre marque, puis appuyez sur **Joindre** — ou simplement sur Entrée. Votre message reçoit une carte avec tout ce que vous avez marqué, votre note et une capture de la page visible avec vos marques dessinées dessus — vous pouvez donc dire « ce bouton, un peu plus arrondi » au lieu de décrire où il se trouve.
|
||||
|
||||
La page elle-même n'est jamais modifiée : annoter ne fait que marquer ce qui s'y trouve. `Échap` annule et ferme la barre.
|
||||
|
||||
## Laisser l'agent piloter
|
||||
|
||||
L'agent peut se servir lui-même du panneau navigateur — ouvrir une page, lire ce qu'elle contient, cliquer, saisir du texte, faire défiler et basculer entre les mises en page mobile, tablette et bureau — afin de vérifier son propre travail plutôt que de vous le demander. Vous le voyez faire dans le panneau.
|
||||
|
||||
L'agent ne peut pas exécuter de code arbitraire dans la page. Le navigateur conserve vos vraies connexions ; il s'en tient donc aux actions ci-dessus.
|
||||
|
||||
Il peut aussi enregistrer une image de ce qu'il regarde dans `.openchamber/screenshots/` de votre projet et vous la montrer dans sa réponse. C'est ce qui rend un avant-après possible, et le fichier reste ensuite disponible pour l'attacher à une pull request.
|
||||
|
||||
Les actions du navigateur constituent l'**outil OpenChamber Web**, qui s'active et se désactive séparément dans **Réglages → Général → Outils OpenChamber**.
|
||||
|
||||
Cela nécessite l'application de bureau : une page affichée dans un onglet de navigateur ne peut pas être pilotée.
|
||||
|
||||
## Outils de développement
|
||||
|
||||
Appuyez sur le bouton terminal de la barre pour ouvrir les outils de développement de Chromium pour la page — console, réseau, éléments, tout ce à quoi vous vous attendez.
|
||||
|
||||
## Voir aussi
|
||||
|
||||
- [Aperçu et serveurs de développement](/preview/) — ouvrir votre application en cours, y compris sur une machine distante
|
||||
- [Outil de contrôle pour les agents](/fr/agent-control-tool/) — sessions, worktrees et tâches planifiées depuis la discussion
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: Intégrations
|
||||
description: Utilise ton abonnement Claude ou Cursor comme fournisseur.
|
||||
---
|
||||
|
||||
# Intégrations
|
||||
|
||||
Une intégration est un petit plugin qui ajoute un fournisseur à OpenChamber à partir d'un abonnement que tu possèdes déjà. Tu les gères dans **Settings → Integrations**.
|
||||
|
||||
> **Fonctionnalité expérimentale.** Nous cherchons à respecter les règles des fournisseurs, mais les restrictions et suspensions de compte relèvent de leur décision. Utilise les intégrations à tes risques.
|
||||
|
||||
Intégrations disponibles :
|
||||
|
||||
- **Claude Code** — ton plan Claude Pro ou Max, sans clés API
|
||||
- **Cursor** — les limites de modèles de ton plan Cursor
|
||||
|
||||
## Installer une intégration
|
||||
|
||||
1. Ouvre **Settings → Integrations**.
|
||||
2. Trouve l'intégration et choisis **Install**.
|
||||
3. Redémarre OpenCode quand c'est demandé — le fournisseur apparaît après le redémarrage.
|
||||
4. Choisis **Set up** et connecte-toi. Les modèles apparaissent ensuite dans le sélecteur de modèles du chat.
|
||||
|
||||
Les intégrations s'installent pour ton utilisateur et fonctionnent donc dans tous les projets. Tu peux les mettre à jour ou les retirer à tout moment depuis la même carte.
|
||||
|
||||
## Claude Code
|
||||
|
||||
Claude Code utilise ton plan Claude Pro ou Max — sans clés API et sans application Claude séparée.
|
||||
|
||||
1. Installe l'intégration (ci-dessus).
|
||||
2. Choisis **Set up** et connecte-toi. Si tu n'as pas encore la CLI Claude Code, la configuration propose de l'installer d'abord, puis de te connecter.
|
||||
|
||||
Claude Code est la seule intégration ici qui exige que la CLI de son fournisseur soit installée et connectée. Cursor n'exige pas sa CLI.
|
||||
|
||||
**Comment ton compte Claude reste protégé :** cette intégration utilise le Claude Agent SDK officiel d'Anthropic et ta CLI Claude Code installée. Elle ne détourne pas l'OAuth, n'extrait ni rejoue de tokens de navigateur, ne se fait pas passer pour un client non pris en charge et ne contourne pas l'authentification d'Anthropic. Elle reste sur la voie d'accès prise en charge par Anthropic et ne porte donc pas le risque de bannissement associé au détournement de tokens ou aux contournements d'authentification non autorisés.
|
||||
|
||||
## Cursor
|
||||
|
||||
Cursor rend disponibles dans OpenChamber les modèles inclus dans ton plan Cursor.
|
||||
|
||||
1. Installe l'intégration (ci-dessus).
|
||||
2. Choisis **Set up**, ouvre le lien et autorise l'accès dans ton navigateur. Aucune clé API n'est nécessaire. La liste des modèles se charge automatiquement après la connexion.
|
||||
|
||||
## Mettre à jour ou retirer
|
||||
|
||||
- **Update** installe la dernière version publiée du plugin.
|
||||
- **Remove** supprime le plugin de ta configuration OpenCode. Le fournisseur cesse d'être chargé au prochain rechargement d'OpenCode.
|
||||
|
||||
Si une carte indique que les entrées nécessitent une gestion manuelle, choisis **Manage plugins** et nettoie les doublons à cet endroit.
|
||||
|
||||
## À voir aussi
|
||||
|
||||
- [Fournisseurs, modèles et agents](/fr/providers/) — connecter d'autres fournisseurs et choisir des modèles
|
||||
- [Utilisation et quotas](/fr/usage/) — suis ta consommation
|
||||
@@ -21,6 +21,64 @@ Certains prompts ont une partie visible (le message que vous verriez) et une par
|
||||
|
||||
Vous avez changé d’avis ? Chaque prompt possède **reset to default**, et il existe aussi **reset all** si vous voulez tout reprendre depuis le début.
|
||||
|
||||
## Où chaque prompt est utilisé
|
||||
|
||||
Chaque prompt ci-dessous indique où il s’exécute et ce qui le déclenche. Vérifiez le déclencheur avant de modifier, pour savoir quel flux vous changez.
|
||||
|
||||
### Git
|
||||
|
||||
| Prompt | Où il s’exécute | Quand il se déclenche |
|
||||
| --- | --- | --- |
|
||||
| Génération de commit | Le bouton de génération dans la zone de commit de la vue git, et l’écran Changes sur mobile | Vous générez un message de commit. Les fichiers sélectionnés et les sujets des commits récents de la branche sont insérés, pour que le message respecte le style du dépôt. |
|
||||
| Génération de PR | Le formulaire de création de pull request dans l’onglet PR de la vue git | Vous générez le titre et le corps d’une PR. Sont insérés les branches base et head, les commits et fichiers modifiés entre elles, votre contexte additionnel et le modèle de PR du dépôt s’il existe. |
|
||||
| Résolution de conflit merge/rebase | Le dialogue de conflits dans la vue git, quand un merge ou un rebase s’arrête sur des conflits | Vous choisissez « Resolve in current session » ou « Resolve in new session ». L’agent lit les fichiers en conflit, propose une stratégie par fichier et attend votre confirmation avant de modifier, staging ou poursuivre l’opération. |
|
||||
| Résolution de conflit cherry-pick | La section « Re-integrate commits » d’une session en worktree | Le déplacement des commits de la session vers la branche cible rencontre un conflit et vous le confiez à l’agent. L’agent résout dans le worktree temporaire, stage les fichiers et poursuit le cherry-pick. |
|
||||
|
||||
### GitHub
|
||||
|
||||
| Prompt | Où il s’exécute | Quand il se déclenche |
|
||||
| --- | --- | --- |
|
||||
| Relecture de PR | Le sélecteur « Link GitHub PR » dans le menu de pièces jointes du composer, et le dialogue de nouveau worktree | Deux déclencheurs. Attacher une PR comme contexte prépare les instructions, envoyées avec votre prochain message. Créer une session de worktree depuis une PR utilise le prompt comme premier message de la session, avec le contexte complet de la PR. |
|
||||
| Relecture d’issue | Le dialogue de nouveau worktree, quand le worktree part d’une issue | Le premier message de la nouvelle session relit l’issue, avec son corps et ses commentaires attachés comme contexte. |
|
||||
| Relecture de checks échoués / commentaires de PR / commentaire unique de PR | — | Aucun flux ne les envoie aujourd’hui. La vue PR les déclenchait avant via des actions de relecture en un clic ; désormais les checks échoués et les commentaires s’épinglent comme brouillons de contexte de chat. Ils restent modifiables pour que les overrides existants continuent de fonctionner. |
|
||||
|
||||
### Planning
|
||||
|
||||
| Prompt | Où il s’exécute | Quand il se déclenche |
|
||||
| --- | --- | --- |
|
||||
| Planification depuis un todo | Le panneau Todos dans la barre latérale du projet | Vous envoyez un todo vers une session ou une nouvelle session en worktree. Le texte du todo devient le message visible ; les instructions en font un dialogue de planification guidé par des questions plutôt qu’un passage direct à l’implémentation. |
|
||||
| Améliorer un plan | L’action « Improve » sur un plan enregistré dans la vue Plans | Vous envoyez un plan enregistré dans le flux d’amélioration. L’agent lit d’abord le fichier du plan, propose ensuite des changements ancrés dans l’état actuel du dépôt et propose de modifier le même fichier. |
|
||||
| Implémenter un plan | L’action « Implement » sur un plan enregistré | Vous envoyez un plan enregistré dans le flux d’implémentation. L’agent lit le fichier du plan et l’implémente de bout en bout sans élargir le périmètre, enregistrant les ajustements dans le fichier quand le plan lui-même s’avère erroné. |
|
||||
|
||||
### Session
|
||||
|
||||
La plupart alimentent des commandes slash saisies dans le composer. La plupart apparaissent aussi comme chips de départ sur le brouillon d’une nouvelle session.
|
||||
|
||||
| Prompt | Où il s’exécute | Quand il se déclenche |
|
||||
| --- | --- | --- |
|
||||
| Tour du code | `/explore` | Vous demandez une vue d’ensemble du code. |
|
||||
| Résumé de session | `/summary`, éventuellement `/summary <sujet>` | Vous résumez la conversation en cours — utile pour passer à une nouvelle session. Nécessite une session existante. |
|
||||
| Relecture du workspace | `/workspace-review` | Vous demandez à l’agent de relire le diff actuel du workspace sous l’angle intention, correction et sécurité. |
|
||||
| Planification de fonctionnalité | `/plan-feature` | Vous transformez une idée grossière de fonctionnalité en plan d’implémentation via un dialogue guidé de questions-réponses. |
|
||||
| Formuler un Goal | `/craft-goal`, éventuellement `/craft-goal <idée>` | Vous transformez une idée en objectif Goal vérifiable pour le dialogue Goal. |
|
||||
| Se remettre dans le bain | `/catch-up` | Vous revenez sur un projet et demandez où en sont les choses et quoi reprendre. |
|
||||
| Débogage | `/debug` | Vous investiguez un bug : l’agent forme des hypothèses, confirme la cause racine dans le code et seulement ensuite propose un correctif. |
|
||||
| Peser les options | `/weigh` | Vous savez quoi construire mais pas comment. L’agent compare deux ou trois approches et en recommande une. |
|
||||
| Fusion | L’action « Run fusion » sur un groupe multi-run | Vous combinez les sorties de plusieurs exécutions en une réponse. Les sorties des exécutions sont ajoutées après les instructions. |
|
||||
|
||||
### Prompts sans page dans les Paramètres
|
||||
|
||||
Quelques prompts se déclenchent automatiquement et n’ont pas de page modifiable dans les Paramètres :
|
||||
|
||||
| Prompt | Quand il se déclenche |
|
||||
| --- | --- |
|
||||
| Tâche planifiée | `/schedule-task`, éventuellement avec une idée initiale. Guide le dialogue qui définit une tâche planifiée. |
|
||||
| Handoff de relecture | `/handoff-review`, ou le bouton Review dans la vue diff avec handoff activé. Génère le handoff dans la session de travail. |
|
||||
| Premier message de la session de relecture | Le message d’ouverture de la session de relecture générée — avec le handoff quand il a été produit, sans sinon. |
|
||||
| Retour de relecture / réponse d’implémentation | Font circuler les messages entre les deux sessions : le retour du relecteur revient vers la session qui implémente, et la réponse de l’implémenteur repart vers la session de relecture. |
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Workflows Git et GitHub](/git/) — beaucoup de ces prompts alimentent les flux git
|
||||
- [Notes, todos et plans](/notes-todos-plans/) — les todos et plans derrière les prompts Planning
|
||||
- [Multi-run](/multi-run/) — groupes d’exécution et fusion
|
||||
|
||||
@@ -1,31 +1,43 @@
|
||||
---
|
||||
title: PWA et accès mobile
|
||||
description: Installez OpenChamber comme application et utilisez-le depuis votre téléphone.
|
||||
title: Applications mobiles et PWA
|
||||
description: Installez l’application OpenChamber sur iOS ou Android et connectez-la à votre serveur.
|
||||
---
|
||||
|
||||
# PWA et accès mobile
|
||||
# Applications mobiles et PWA
|
||||
|
||||
L’application web OpenChamber s’installe comme une application de téléphone (une PWA), pour rester sur votre écran d’accueil et s’utiliser en plein écran. Associez-la à un [tunnel](/tunnels/) et vous pouvez vérifier une session depuis n’importe où.
|
||||
OpenChamber a des applications natives pour iPhone et Android : suivez les sessions, répondez aux agents et gérez votre travail depuis votre téléphone — à la maison en Wi-Fi ou depuis n’importe où via le [Relais privé](/private-relay/).
|
||||
|
||||
## L’installer
|
||||
## Installer l’application
|
||||
|
||||
OpenChamber utilise l’installation intégrée de votre navigateur, donc il n’y a pas de téléchargement séparé :
|
||||
- **iPhone/iPad** — rejoignez la [bêta TestFlight](https://testflight.apple.com/join/5ek6GU1E)
|
||||
- **Android** — téléchargez l’APK depuis la [dernière release](https://github.com/openchamber/openchamber/releases/latest)
|
||||
|
||||
## La connecter à votre serveur
|
||||
|
||||
1. Sur l’ordinateur qui exécute OpenChamber, ouvrez **Paramètres → Instances distantes → Se connecter à ce serveur** et pressez **Ajouter un appareil**.
|
||||
2. Choisissez **Partout** (ou **Réseau domestique uniquement** si vous n’utiliserez le téléphone qu’à la maison) et pressez **Créer le code QR**.
|
||||
3. Dans l’application mobile, touchez **Scanner le code QR** et pointez la caméra dessus.
|
||||
|
||||
L’application se connecte et mémorise le serveur. Le QR code est à usage unique et chaque appareil reçoit son propre token révocable — voir [Connecter un appareil](/connect-devices/) pour comprendre pourquoi l’association reste sûre.
|
||||
|
||||
Vous pouvez associer l’application à plusieurs serveurs et basculer entre eux depuis la liste des instances ; l’application indique pour chacun s’il est joignable et si vous êtes connecté via le réseau local ou le relais.
|
||||
|
||||
## PWA (installation depuis le navigateur)
|
||||
|
||||
Vous préférez éviter les app stores ? L’application web s’installe directement depuis le navigateur :
|
||||
|
||||
- **navigateur desktop** — utilisez l’option **Installer** dans la barre d’adresse
|
||||
- **iPhone/iPad (Safari)** — Partager → **Ajouter à l’écran d’accueil**
|
||||
- **iPhone/iPad (Safari)** — Partager → **Sur l’écran d’accueil**
|
||||
- **Android (Chrome)** — menu → **Installer l’application** / **Ajouter à l’écran d’accueil**
|
||||
|
||||
Une fois installée, elle s’ouvre dans sa propre fenêtre sans chrome de navigateur.
|
||||
Pour joindre la PWA depuis l’extérieur de votre réseau, il vous faudra un [tunnel](/tunnels/) et un [mot de passe UI](/security/) solide — les applications natives s’en occupent pour vous via le relais.
|
||||
|
||||
## Y accéder depuis votre téléphone
|
||||
## Paramètres mobiles
|
||||
|
||||
Pour ouvrir OpenChamber sur votre téléphone quand le serveur tourne sur votre ordinateur, démarrez un [tunnel](/tunnels/) et ouvrez le lien (ou scannez le QR code) sur le téléphone. Utilisez toujours un [mot de passe UI](/security/) robuste lorsque vous faites cela.
|
||||
|
||||
## Paramètres mobile
|
||||
|
||||
Sous **Paramètres → OpenChamber**, quelques options ajustent l’expérience mobile et installée — le nom installé de l’application, l’orientation de l’écran et le comportement du clavier à l’écran.
|
||||
Dans **Paramètres → OpenChamber**, quelques options ajustent l’expérience mobile et installée — le nom de l’application installée, l’orientation de l’écran et le comportement du clavier à l’écran.
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Tunnels](/tunnels/) — joindre votre instance depuis un autre réseau
|
||||
- [Connecter un appareil](/connect-devices/) — association, QR codes à usage unique et gestion des appareils
|
||||
- [Relais privé](/private-relay/) — comment fonctionne l’accès « Partout »
|
||||
- [Sécurité](/security/) — protéger l’UI avant de l’exposer
|
||||
|
||||
@@ -1,32 +1,35 @@
|
||||
---
|
||||
title: Aperçu et serveurs de dev
|
||||
description: Ouvrez un serveur de dev en cours d’exécution dans OpenChamber.
|
||||
title: Aperçu et serveurs de développement
|
||||
description: Ouvrez un serveur de développement en cours d'exécution dans OpenChamber.
|
||||
---
|
||||
|
||||
# Aperçu et serveurs de dev
|
||||
# Aperçu et serveurs de développement
|
||||
|
||||
Quand vous démarrez un serveur de dev, OpenChamber peut l’ouvrir directement dans l’application au lieu d’un onglet de navigateur séparé — vous voyez ainsi votre site à côté du chat, vous capturez sa console et vous pouvez pointer des éléments pour poser des questions à leur sujet.
|
||||
Quand vous lancez un serveur de développement, OpenChamber peut l'ouvrir directement dans l'application plutôt que dans un onglet séparé — vous voyez ainsi votre site à côté de la discussion et pouvez désigner des éléments pour poser des questions à leur sujet.
|
||||
|
||||
## Ouvrir un aperçu
|
||||
## Ouvrir un serveur de développement
|
||||
|
||||
OpenChamber surveille la sortie du terminal pour détecter une adresse locale (la ligne `Local:` affichée par des outils comme Vite, Next.js ou Astro). Quand il en trouve une :
|
||||
Ouvrez le panneau navigateur depuis le bouton globe de l'en-tête. Si un serveur tourne déjà, il apparaît dans la liste et un clic suffit à l'ouvrir : OpenChamber le repère à partir de ce qui écoute réellement sur votre machine, quelle que soit la façon dont vous l'avez lancé.
|
||||
|
||||
- dans le terminal, un bouton **Ouvrir l’aperçu** apparaît
|
||||
- une [action de projet](/project-actions/) avec l’ouverture automatique activée l’ouvre pour vous
|
||||
- un lien local dans un message de chat peut aussi l’ouvrir
|
||||
Un serveur s'ouvre également tout seul quand :
|
||||
|
||||
Le site se charge dans le panneau latéral. Seules les adresses locales (sur votre propre machine) peuvent être prévisualisées.
|
||||
- vous appuyez sur **Ouvrir l'aperçu** sur une adresse locale dans le terminal
|
||||
- une [action de projet](/project-actions/) avec ouverture automatique en démarre un
|
||||
- vous suivez un lien local dans un message de la discussion
|
||||
|
||||
## Console et inspection
|
||||
Vous pouvez toujours saisir l'adresse vous-même. Un simple `localhost:5173` est compris comme `http://`, inutile donc d'écrire le schéma.
|
||||
|
||||
Dans le panneau d’aperçu, vous pouvez :
|
||||
## Travailler avec un OpenChamber distant
|
||||
|
||||
- regarder la **console** de la page — erreurs, avertissements et logs, filtrés comme vous le voulez
|
||||
- activer **inspect**, cliquer sur n’importe quel élément et envoyer une note à son sujet — sélecteur, styles, position et capture d’écran — directement dans le chat
|
||||
Quand OpenChamber tourne sur une autre machine, son serveur de développement s'y trouve aussi — `localhost` sur votre portable désigne tout autre chose. L'application de bureau s'en charge : elle ouvre un port local qui achemine la connexion jusqu'au serveur distant, si bien que la page se charge normalement, avec rechargement à chaud et outils de développement fonctionnels. Vous continuez à saisir l'adresse attendue ; la tuyauterie reste hors de votre chemin.
|
||||
|
||||
C’est le moyen le plus rapide de dire à l’agent « ce bouton, ici » sans devoir le décrire.
|
||||
Cela nécessite l'application de bureau. Dans un onglet de navigateur, seuls les serveurs de votre propre machine peuvent être ouverts.
|
||||
|
||||
## Pages liées
|
||||
## Annoter la page
|
||||
|
||||
- [Actions de projet](/project-actions/) — ouvrir automatiquement un serveur quand vous le démarrez
|
||||
- [Navigateur desktop](/desktop-browser/) — les mêmes outils pour n’importe quelle page, sur desktop
|
||||
Voyez [Panneau navigateur](/desktop-browser/) pour désigner des éléments, dessiner sur la page et envoyer le tout dans la discussion.
|
||||
|
||||
## Voir aussi
|
||||
|
||||
- [Actions de projet](/project-actions/) — ouvrir automatiquement un serveur à son démarrage
|
||||
- [Panneau navigateur](/desktop-browser/) — annoter les pages et laisser l'agent les piloter
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Relais privé
|
||||
description: Joignez votre serveur OpenChamber depuis n’importe où via un relais chiffré de bout en bout — sans ports, sans tunnels, sans configuration.
|
||||
---
|
||||
|
||||
# Relais privé
|
||||
|
||||
Le relais privé OpenChamber (Private Relay) permet à vos appareils associés de joindre votre serveur depuis n’importe où — réseau cellulaire, Wi-Fi de café, autre ville — sans ouvrir de ports, sans configurer de tunnel et sans exposer votre machine à internet. Il se gère tout seul : associer un appareil avec **Partout** dans [Connecter un appareil](/connect-devices/) suffit.
|
||||
|
||||
## Comment ça marche
|
||||
|
||||
Votre serveur ouvre une connexion sortante vers l’infrastructure de relais d’OpenChamber et la maintient active. Quand l’un de vos appareils est hors de votre réseau, il se connecte lui aussi au relais, et le relais fait transiter le trafic chiffré entre les deux. Rien sur votre machine n’écoute de connexions entrantes depuis internet.
|
||||
|
||||
Quand une connexion directe est disponible — vous êtes de retour à la maison sur le même Wi-Fi — vos appareils la préfèrent et contournent complètement le relais.
|
||||
|
||||
## Ce que le relais peut et ne peut pas voir
|
||||
|
||||
Le relais est un coursier aveugle, pas un intermédiaire :
|
||||
|
||||
- **Chiffré de bout en bout.** Votre appareil et votre serveur négocient les clés de chiffrement directement entre eux. Le relais transmet un trafic scellé dont il n’a pas les clés — il ne peut lire ni votre code, ni vos prompts, ni vos mots de passe.
|
||||
- **Seuls vos appareils peuvent se connecter.** Un appareil doit détenir un token émis par *votre* serveur via l’[association à usage unique](/connect-devices/). Personne ne peut découvrir votre serveur via le relais ni s’y connecter sans un token que vous avez créé — et vous pouvez révoquer n’importe quel token à tout moment.
|
||||
- **Les liens d’association sont à usage unique.** Un QR code d’association fonctionne exactement une fois et expire s’il n’est pas utilisé ; un vieux lien qui fuite ne vaut donc rien.
|
||||
- **Rien n’est partagé sans votre accord.** Le relais reste éteint tant que vous ne l’activez pas ou que vous n’associez pas d’appareil via celui-ci, et vous pouvez le désactiver à tout moment — les appareils connectés à travers lui sont coupés immédiatement.
|
||||
|
||||
## Quand il s’exécute
|
||||
|
||||
Le relais gère son propre cycle de vie — aucun interrupteur à retenir :
|
||||
|
||||
- **Il démarre à la demande.** Créer une association **Partout** active le relais, et il revient après un redémarrage tant qu’un appareil associé en dépend encore.
|
||||
- **Il s’arrête tout seul.** Dès qu’aucun appareil ni aucune association en attente n’utilise le relais — par exemple après avoir révoqué le dernier appareil associé via le relais — il s’éteint automatiquement.
|
||||
|
||||
**Paramètres → Instances distantes → OpenChamber Relay** affiche l’état en direct (Connecté, Reconnexion, …) et le nombre d’appareils connectés à travers lui en ce moment. Vous pouvez aussi y presser **Désactiver** pour couper immédiatement l’accès via le relais ; les appareils sur votre réseau local ne sont pas affectés.
|
||||
|
||||
## Relais ou tunnel ?
|
||||
|
||||
- Utilisez le **relais** pour joindre votre propre serveur depuis vos propres appareils associés. Zéro configuration, et rien n’est exposé publiquement.
|
||||
- Utilisez un [tunnel](/tunnels/) quand il vous faut une simple **URL publique** — par exemple pour ouvrir OpenChamber dans un navigateur ordinaire sur une machine que vous ne pouvez pas associer, ou pour partager l’accès derrière un [mot de passe UI](/security/).
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Connecter un appareil](/connect-devices/) — associer un appareil avec un QR code à usage unique
|
||||
- [Applications mobiles](/mobile/) — installer l’application iOS ou Android
|
||||
- [Sécurité](/security/) — mots de passe, passkeys et bases de l’exposition
|
||||
- [Accès distant](/troubleshooting/remote-access/) — quand une connexion ne se termine pas
|
||||
@@ -45,5 +45,6 @@ Les connexions aux fournisseurs sont stockées par OpenCode, pas OpenChamber ; e
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Intégrations](/integrations/) — utiliser un abonnement Claude ou Cursor comme fournisseur
|
||||
- [Serveurs MCP](/mcp/) — ajouter des outils supplémentaires aux agents
|
||||
- [Utilisation et quotas](/usage/) — suivre votre consommation
|
||||
|
||||
@@ -24,19 +24,25 @@ OpenChamber déroule les étapes — vérification de la connexion, configuratio
|
||||
|
||||
Vous décidez d’enregistrer les mots de passe SSH et UI ou de les saisir à chaque fois. Si la connexion tombe, OpenChamber indique l’étape qui a échoué pour vous aider à corriger — voir [Accès distant](/troubleshooting/remote-access/).
|
||||
|
||||
## Liens de connexion directe
|
||||
## Liens de connexion
|
||||
|
||||
Si une machine distante exécute déjà OpenChamber, créez un lien de connexion là-bas et importez-le dans **Paramètres → Instances distantes → Liens de serveur** :
|
||||
Si une machine distante exécute déjà OpenChamber, le moyen le plus simple de connecter l’application desktop est un lien d’association. Sur l’UI du serveur distant, ouvrez **Paramètres → Instances distantes → Se connecter à ce serveur → Ajouter un appareil**, créez un lien, puis importez-le sur votre desktop dans **Paramètres → Instances distantes → Autres serveurs OpenChamber → Importer le lien**. Voir [Connecter un appareil](/connect-devices/) pour le flux complet.
|
||||
|
||||
Un lien créé avec **Partout** contient à la fois une adresse directe et une route via le [Relais privé](/private-relay/) : le desktop se connecte directement quand il peut joindre le serveur (même réseau), et bascule sur le relais chiffré de bout en bout quand vous êtes en déplacement. Le statut à côté de chaque serveur enregistré indique la route utilisée.
|
||||
|
||||
Vous pouvez aussi créer un lien depuis un terminal sur la machine distante :
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` démarre d’abord le serveur si rien ne tourne sur ce port. Ajoutez `--api-only` pour un serveur headless, `--lan` pour écouter sur le LAN au démarrage, `--ui-password` pour protéger l’accès navigateur et `--name` pour nommer la connexion enregistrée.
|
||||
`connect-url` démarre d’abord le serveur si rien ne tourne sur ce port. Ajoutez `--api-only` pour un serveur headless, `--lan` pour écouter sur le LAN au démarrage, `--ui-password` pour protéger l’accès navigateur et `--name` pour nommer la connexion enregistrée. Ajoutez `--relay` pour un lien qui fonctionne aussi hors du réseau local : l’appareil préfère la connexion directe quand elle est joignable et bascule sur le [Relais privé](/private-relay/) — l’instance active le relais toute seule.
|
||||
|
||||
Le lien généré contient un token client pour les applications OpenChamber. Ce token est séparé du mot de passe de l’UI navigateur et survit aux redémarrages du serveur jusqu’à révocation ou suppression.
|
||||
Le lien généré contient un secret d’association à usage unique. Une fois importé, l’appareil détient son propre token client — séparé du mot de passe de l’UI navigateur — qui survit aux redémarrages du serveur jusqu’à révocation sur le serveur émetteur.
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Connecter un appareil](/connect-devices/) — liens d’association, QR codes et gestion des appareils
|
||||
- [Relais privé](/private-relay/) — comment fonctionnent les connexions « Partout »
|
||||
- [Serveur OpenCode](/opencode-server/) — se connecter à un serveur distant sur web ou VS Code
|
||||
- [Accès distant](/troubleshooting/remote-access/) — quand une connexion ne se termine pas
|
||||
|
||||
@@ -20,6 +20,8 @@ Une tâche planifiée lance un prompt pour vous selon un planning — par exempl
|
||||
|
||||
Vous pouvez lancer n’importe quelle tâche immédiatement avec **run now** pour vérifier qu’elle fait ce que vous attendez.
|
||||
|
||||
Cochez **Exécuter comme objectif** pour que l'exécution poursuive son prompt jusqu'au bout au lieu de s'arrêter après une réponse — voir [Objectifs de session](/session-goals/).
|
||||
|
||||
## À quoi ressemble une réussite
|
||||
|
||||
Après une exécution, la tâche indique quand elle a tourné pour la dernière fois, si elle a réussi et un lien vers la session créée. Si une exécution échoue, l’erreur s’affiche aussi à cet endroit.
|
||||
|
||||
@@ -25,13 +25,20 @@ Une fois un mot de passe défini, vous pouvez ajouter des passkeys (Face ID, Tou
|
||||
|
||||
Les passkeys sont liées au mot de passe actuel. Si vous changez ou supprimez le mot de passe, les passkeys enregistrées sont effacées et vous devrez les ajouter à nouveau.
|
||||
|
||||
## Tokens d’appareil
|
||||
|
||||
Les appareils associés via [Connecter un appareil](/connect-devices/) s’authentifient avec leurs propres tokens par appareil, pas avec le mot de passe UI. Les liens d’association sont à usage unique et expirent s’ils ne sont pas utilisés ; chaque appareil associé est listé dans **Paramètres → Instances distantes → Se connecter à ce serveur**, où vous pouvez révoquer n’importe lequel à tout moment. Les connexions hors du domicile passent par le [Relais privé](/private-relay/), qui est chiffré de bout en bout et ne peut pas lire votre trafic.
|
||||
|
||||
## Avant de l’exposer
|
||||
|
||||
- Par défaut, OpenChamber n’écoute que sur votre propre machine (`127.0.0.1`). Écouter plus largement demande un changement volontaire, et vous devriez définir un mot de passe d’abord.
|
||||
- Préférez un [tunnel](/tunnels/) ou un réseau privé (comme un VPN) plutôt que d’ouvrir un port sur internet.
|
||||
- Pour vos propres appareils, préférez l’[association](/connect-devices/) avec le [Relais privé](/private-relay/) — rien n’est exposé publiquement du tout.
|
||||
- S’il vous faut une URL publique, préférez un [tunnel](/tunnels/) ou un réseau privé (comme un VPN) plutôt que d’ouvrir un port sur internet.
|
||||
- Si vous placez OpenChamber derrière votre propre serveur HTTPS, consultez [Reverse proxy](/reverse-proxy/).
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Tunnels](/tunnels/) — la façon recommandée de joindre une instance à distance
|
||||
- [Connecter un appareil](/connect-devices/) — association à usage unique et tokens par appareil
|
||||
- [Relais privé](/private-relay/) — accès chiffré de bout en bout depuis n’importe où
|
||||
- [Tunnels](/tunnels/) — exposer une URL publique quand il en faut une
|
||||
- [Reverse proxy](/reverse-proxy/) — exécuter OpenChamber derrière votre propre serveur
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Objectifs de session
|
||||
description: Transformez un prompt en objectif vers lequel l'agent travaille automatiquement.
|
||||
---
|
||||
|
||||
# Objectifs de session
|
||||
|
||||
Un objectif transforme un seul prompt en ligne d'arrivée. Au lieu de relancer l'agent avec « continue » après chaque réponse, vous définissez l'objectif une fois — et OpenChamber fait travailler la session vers lui automatiquement, en vérifiant la progression avec un auditeur indépendant après chaque tour. Le travail continue même en votre absence.
|
||||
|
||||
## Démarrer un objectif
|
||||
|
||||
1. Appuyez sur le bouton cible du composeur. Il s'allume — le mode objectif est armé.
|
||||
2. Écrivez votre prompt et envoyez-le. Ce message devient l'objectif.
|
||||
|
||||
Cela fonctionne aussi bien dans une session existante que dans un brouillon de nouvelle session : armez la cible, écrivez le premier message, envoyez — la nouvelle session démarre avec l'objectif déjà actif.
|
||||
|
||||
### D'autres façons de démarrer un objectif
|
||||
|
||||
- **Depuis une réponse de l'agent** : dans le dialogue « Start new session from this answer », cochez **Exécuter comme objectif** — la réponse est transmise comme une mission que la nouvelle session exécute jusqu'au bout (combinez avec **Create worktree** pour une exécution isolée).
|
||||
- **Depuis un plan** : en implémentant un plan enregistré dans une nouvelle session ou un worktree, cochez **Exécuter comme objectif** dans le dialogue. L'objectif porte le contenu du plan, l'auditeur juge donc la progression par rapport au plan réel.
|
||||
- **Selon un horaire** : cochez **Exécuter comme objectif** sur une [tâche planifiée](/scheduled-tasks/) pour que les exécutions récurrentes poursuivent leur prompt jusqu'au bout.
|
||||
|
||||
## Rédigez un objectif autonome
|
||||
|
||||
L'auditeur de progression ne voit que votre objectif et la dernière réponse de l'agent — pas l'historique du chat. Formulez donc le message-objectif de sorte qu'une personne sans le contexte de la conversation comprenne à quoi ressemble l'état final.
|
||||
|
||||
- Bien : « Ajoute des tests pour le module d'export et fais passer toute la suite de tests. »
|
||||
- Moins bien : « Corrige ça » ou « Continue sur cette idée. »
|
||||
|
||||
Pour de petits ajustements contextuels, pas besoin d'objectif — envoyez un message normal.
|
||||
|
||||
## Comment ça marche
|
||||
|
||||
Quand l'agent s'arrête et que la session reste calme un instant, OpenChamber :
|
||||
|
||||
1. Demande à un petit modèle économique d'auditer le dernier tour par rapport à l'objectif : continuer, terminé ou bloqué ?
|
||||
2. Si le verdict est « continuer », il envoie un prompt de continuation et l'agent reprend le travail.
|
||||
3. Si l'objectif est atteint de manière vérifiable, l'objectif se termine et vous recevez une notification.
|
||||
4. Si l'agent est réellement bloqué (il a besoin de vous), l'objectif s'arrête comme bloqué — mais seulement après que l'auditeur l'a dit trois fois de suite ; un accroc ponctuel ne termine jamais l'objectif.
|
||||
|
||||
Il y a aussi des garde-fous : un budget de tokens optionnel, un plafond de continuations automatiques et un arrêt en cas d'erreur de tour. Si le contexte de la session est compacté en plein travail, l'objectif continue simplement — heurter la fenêtre de contexte prouve que le travail n'était pas fini.
|
||||
|
||||
### Arrêter et reprendre
|
||||
|
||||
- Le **bouton stop** interrompt le tour en cours et met l'objectif en pause — votre « stop » explicite l'emporte toujours sur la boucle.
|
||||
- **Pause** sur la bande de l'objectif fait la même chose dans l'autre sens : elle met l'objectif en pause et arrête le tour en cours.
|
||||
- Pendant la pause, discutez normalement — la boucle reste à l'écart.
|
||||
- **Reprendre** réarme la boucle : sur une session inactive, la relance part immédiatement ; si l'agent est en train de travailler, la boucle se raccroche silencieusement à sa prochaine pause.
|
||||
|
||||
## Suivre et gérer
|
||||
|
||||
- La bande au-dessus du composeur affiche la dernière note de progression, le statut et l'usage de tokens, avec un bouton pause/reprise intégré. Quand l'agent s'est arrêté et que l'objectif est actif, la bande affiche un **Évaluation…** animé — c'est la fenêtre de calme et l'audit en cours.
|
||||
- Le bouton cible reste allumé tant que l'objectif tourne (bleu), passe au vert à la fin et au rouge s'il est bloqué ou à court de budget. Appuyez dessus pour ouvrir le dialogue de l'objectif : modifier l'objectif ou le budget, ou le supprimer. Un objectif terminé est en lecture seule — supprimez-le, puis armez-en un nouveau.
|
||||
- Dans la barre latérale des sessions, une petite cible apparaît à côté de la date de la session, colorée selon l'état de l'objectif.
|
||||
|
||||
## Notifications
|
||||
|
||||
Tant qu'un objectif est actif, les notifications « agent prêt » à chaque tour sont supprimées — elles ne feraient qu'écho aux continuations de la boucle elle-même. Quand l'objectif se règle (terminé, bloqué ou budget atteint), vous recevez une seule notification finale, sur le bureau et en push mobile. Elle respecte le même réglage « notifier à la fin » ; les demandes de permission, les questions et les notifications d'erreur continuent de fonctionner normalement.
|
||||
|
||||
## Budget de tokens
|
||||
|
||||
Dans **Paramètres → Chat → Objectif**, vous pouvez définir un budget de tokens par défaut pour les nouveaux objectifs. Quand un objectif atteint son budget, il s'arrête en « budget atteint » au lieu de dépenser plus — vous pouvez augmenter le budget et reprendre depuis le dialogue de l'objectif.
|
||||
|
||||
## À garder en tête
|
||||
|
||||
- La boucle d'objectif tourne dans le serveur OpenChamber, pas dans votre onglet de navigateur. Fermez l'onglet, verrouillez le téléphone — l'agent continue, et vous recevez une notification quand l'objectif se termine. Le serveur (app de bureau ou processus `openchamber`) doit rester lancé.
|
||||
- Les objectifs utilisent le fournisseur et le modèle de votre propre session, y compris pour les appels de l'auditeur — rien ne part vers des fournisseurs que vous n'utilisez pas déjà.
|
||||
- Un objectif par session à la fois.
|
||||
|
||||
## Voir aussi
|
||||
|
||||
- [Tâches planifiées](/scheduled-tasks/) — exécuter un prompt selon un horaire ; activez-y « Exécuter comme objectif » pour qu'une exécution planifiée poursuive son prompt jusqu'au bout
|
||||
- [Notifications](/notifications/) — comment vous êtes prévenu d'un objectif terminé
|
||||
@@ -12,7 +12,7 @@ Pour écrire vos propres skills, voir [Skills](/skills/).
|
||||
## Installer un skill
|
||||
|
||||
1. Ouvrez le catalogue.
|
||||
2. Parcourez les sources intégrées — le dépôt de skills Anthropic et le registre communautaire ClawdHub — ou lancez une recherche.
|
||||
2. Parcourez les sources intégrées — comme le dépôt de skills Anthropic — ou lancez une recherche.
|
||||
3. Choisissez un skill et installez-le.
|
||||
4. Choisissez où l’installer : pour tout ce que vous faites, ou seulement pour le projet actuel.
|
||||
|
||||
|
||||
@@ -12,6 +12,15 @@ Quand vous ne pouvez pas joindre OpenChamber depuis votre téléphone ou une aut
|
||||
- ouvrez d’abord `http://localhost:3000` sur le même ordinateur — si cela échoue, ce n’est pas un problème distant ; voir [Connexion à OpenCode](/troubleshooting/opencode-connection/)
|
||||
- confirmez que le serveur tourne avec `openchamber status`
|
||||
|
||||
## L’appareil associé ne se connecte pas
|
||||
|
||||
- le QR code / lien d’association est **à usage unique** — s’il a déjà été scanné (ou a expiré), créez-en un nouveau depuis **Ajouter un appareil**
|
||||
- si l’appareil a été associé avec **Réseau domestique uniquement**, il ne peut pas se connecter depuis l’extérieur de ce réseau — associez-le à nouveau avec **Partout**
|
||||
- pour une association **Partout**, vérifiez **Paramètres → Instances distantes → OpenChamber Relay** sur le serveur : le statut doit être **Connecté** ; sinon, désactivez puis réactivez le relais
|
||||
- si un appareil a été **révoqué**, son token est perdu définitivement — associez-le à nouveau avec un nouveau QR code
|
||||
|
||||
Voir [Connecter un appareil](/connect-devices/) et [Relais privé](/private-relay/) pour comprendre comment ces connexions fonctionnent.
|
||||
|
||||
## Le lien de tunnel ne fonctionne pas
|
||||
|
||||
- lancez `openchamber tunnel status --all`
|
||||
@@ -34,5 +43,5 @@ Si vous placez OpenChamber derrière un reverse proxy et qu’il se charge bizar
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Tunnels](/tunnels/) · [Instances distantes](/remote-instances/) · [Reverse proxy](/reverse-proxy/)
|
||||
- [Connecter un appareil](/connect-devices/) · [Relais privé](/private-relay/) · [Tunnels](/tunnels/) · [Instances distantes](/remote-instances/) · [Reverse proxy](/reverse-proxy/)
|
||||
- [Sécurité](/security/) — protéger l’UI avant de l’exposer
|
||||
|
||||
@@ -5,7 +5,9 @@ description: Exposez OpenChamber en sécurité pour l’accès distant et mobile
|
||||
|
||||
# Tunnels
|
||||
|
||||
Un tunnel est un lien public vers votre OpenChamber, pour y accéder depuis votre téléphone ou un autre réseau. Utilisez `openchamber tunnel` pour en créer un pour une instance en cours d’exécution.
|
||||
Un tunnel est un lien public vers votre OpenChamber, pour y accéder depuis un navigateur ordinaire sur un autre réseau. Utilisez `openchamber tunnel` pour en créer un pour une instance en cours d’exécution.
|
||||
|
||||
> Connecter vos **propres appareils** (l’application mobile, un autre desktop) ne nécessite généralement pas de tunnel — [associez-les](/connect-devices/) plutôt et laissez le [Relais privé](/private-relay/), chiffré de bout en bout, gérer l’accès hors du domicile sans aucune configuration.
|
||||
|
||||
## Prérequis
|
||||
|
||||
@@ -111,6 +113,7 @@ openchamber tunnel stop --port 3000
|
||||
|
||||
## Pages liées
|
||||
|
||||
- [Connecter un appareil](/connect-devices/) — associer vos propres appareils sans URL publique
|
||||
- [Sécurité](/security/) — protéger l’UI avant de l’exposer
|
||||
- [Tunnels desktop](/desktop-tunnels/) — configuration des tunnels de l’application desktop sans démarrage CLI
|
||||
- [PWA et mobile](/mobile/) — joindre OpenChamber depuis votre téléphone
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
---
|
||||
title: Parcours des modifications
|
||||
description: Lisez un diff dans l’ordre qui a du sens, pas dans l’ordre alphabétique.
|
||||
---
|
||||
|
||||
# Parcours des modifications
|
||||
|
||||
Un diff est trié par chemin de fichier, ce qui n’est presque jamais l’ordre dans lequel la modification prend son sens. Le parcours le réorganise : les changements liés sont regroupés en **étapes**, chaque étape explique ce que le code fait désormais différemment, et les étapes s’enchaînent pour que chacune s’appuie sur la précédente.
|
||||
|
||||
Il explique et ordonne. Il ne juge pas votre code et ne rend aucun verdict — c’est le rôle de [Review](/git/).
|
||||
|
||||
Ouvrez-le par l’icône **Parcours** dans la barre de droite, ou par le bouton **Parcours IA** dans les panneaux des modifications et de la pull request. Les deux se contentent d’ouvrir le panneau ; rien n’est généré tant que vous n’appuyez pas sur **Générer le parcours**.
|
||||
|
||||
## Ce qu’il peut parcourir
|
||||
|
||||
| Portée | Ce qu’elle couvre |
|
||||
| --- | --- |
|
||||
| Tout non validé | Tout ce qui n’est pas encore dans un commit : indexé, non indexé et nouveaux fichiers |
|
||||
| Indexées | Uniquement ce qui partirait dans un commit maintenant |
|
||||
| Non indexées | Copie de travail et nouveaux fichiers |
|
||||
| Cette branche | Tous les commits de la branche absents de sa base |
|
||||
| Pull request | La modification telle qu’elle existe sur GitHub |
|
||||
|
||||
**Cette branche** ne veut pas dire « commits non poussés » : c’est tout ce que la branche ajoute à sa base, poussé ou non. Après un commit mais avant un push, elle et la pull request diffèrent donc volontairement : l’une montre ce que vous avez fait, l’autre ce que voient les relecteurs.
|
||||
|
||||
Chaque portée est stockée séparément : passer de l’une à l’autre ne perd jamais rien.
|
||||
|
||||
## Choisir le modèle
|
||||
|
||||
Les parcours utilisent votre petit modèle par défaut. Choisissez-en un autre dans **Paramètres → Sessions → Modèle du parcours des modifications**, ou pour une seule relecture depuis l’en-tête du panneau — utile quand une modification est assez risquée pour mériter un modèle plus solide.
|
||||
|
||||
Le sélecteur ne propose que des modèles capables de sortie structurée, sans laquelle le parcours ne peut pas être assemblé. Si un modèle est trop petit pour le diff, la génération est refusée avec une explication plutôt que de tronquer l’entrée en silence : un parcours écrit sur la moitié d’un diff sonne assuré et se trompe.
|
||||
|
||||
En rouvrant le panneau, vous voyez le modèle qui a produit ce que vous avez sous les yeux ; **Régénérer** reprend donc le même tant que vous n’en changez pas.
|
||||
|
||||
## Choisir la langue
|
||||
|
||||
Les parcours sont rédigés dans la langue de votre interface par défaut. Le sélecteur de langue dans l’en-tête du panneau démarre là, et vous pouvez choisir n’importe quelle autre langue dans laquelle OpenChamber est traduit pour une seule relecture : une explication guidée ne sert que dans une langue que vous lisez à l’aise.
|
||||
|
||||
Seule la prose est traduite. Les identifiants, les chemins de fichiers et les noms d’API restent exactement tels qu’ils apparaissent dans votre code, si bien que ce qu’une étape nomme reste ce que vous pouvez rechercher.
|
||||
|
||||
Si rien n’a encore été généré dans la langue choisie, le panneau ne se vide pas : il continue d’afficher le parcours qu’il a et le signale. Appuyez sur **Générer le parcours** pour l’obtenir dans la nouvelle langue.
|
||||
|
||||
## Coût et cache
|
||||
|
||||
Rien ne se génère tout seul. La génération ne démarre que sur votre demande, et la régénération est manuelle elle aussi.
|
||||
|
||||
Les résultats sont mis en cache d’après le contenu exact du diff. Ramenez la copie de travail à un état antérieur et le parcours d’alors revient gratuitement, sans appel au modèle. La langue et le modèle font partie de cette clé, donc chaque combinaison est conservée séparément : dès qu’un diff a un parcours en deux langues, passer de l’une à l’autre est instantané et gratuit.
|
||||
|
||||
La génération tourne sur le serveur OpenChamber, pas dans votre onglet. Rechargez la page ou fermez le panneau : le travail continue et le résultat vous attend. Seul **Annuler** l’interrompt.
|
||||
|
||||
## Rester honnête sur l’obsolescence
|
||||
|
||||
Chaque étape est ancrée au contenu exact du code qu’elle décrit, ce qui permet au panneau de signaler quand ce code a bougé :
|
||||
|
||||
- **Étapes obsolètes** — le code décrit par une étape a changé ou disparu. Le parcours reste affiché, marqué, pour que vous décidiez s’il faut régénérer.
|
||||
- **Non traité** — des modifications du diff actuel qu’aucune étape ne décrit. On y trouve les changements faits après la génération, ceux que le parcours a jugés courants, ainsi que les fichiers de verrouillage et autres sorties générées, délibérément tenus hors du modèle. Tout est listé à la fin pour que rien ne disparaisse en silence.
|
||||
|
||||
Régénérer ne rapièce pas, cela réécrit : le parcours précédent est fourni au modèle comme contexte, ce qui reste vrai est conservé, et tout est réancré sur le code actuel.
|
||||
|
||||
## Notes
|
||||
|
||||
- Vous pouvez commenter n’importe quelle ligne comme dans la vue diff ; les commentaires se rattachent au champ du chat.
|
||||
- Disponible sur ordinateur et sur les largeurs de tablette. Non proposé dans l’extension VS Code ni dans l’application mobile.
|
||||
- Parcourir une pull request exige un compte GitHub connecté — voir [Issues et PR GitHub](/github/).
|
||||
|
||||
## Voir aussi
|
||||
|
||||
- [Git et GitHub](/git/) — le panneau des modifications qu’il lit, et l’action Review qui, elle, juge le code
|
||||
- [Issues et PR GitHub](/github/) — connectez GitHub pour parcourir les pull requests
|
||||
- [Fournisseurs, modèles et agents](/providers/) — d’où vient le petit modèle
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: Integrations
|
||||
description: Use your Claude or Cursor subscription as a provider.
|
||||
---
|
||||
|
||||
# Integrations
|
||||
|
||||
An integration is a small plugin that adds a provider to OpenChamber using a subscription you already have. You manage them at **Settings → Integrations**.
|
||||
|
||||
> **Experimental feature.** We aim to respect provider policies, but account restrictions and suspensions remain each provider's decision. Use integrations at your own risk.
|
||||
|
||||
Available integrations:
|
||||
|
||||
- **Claude Code** — your Claude Pro or Max plan, no API keys
|
||||
- **Cursor** — the model limits of your Cursor plan
|
||||
|
||||
## Install an integration
|
||||
|
||||
1. Open **Settings → Integrations**.
|
||||
2. Find the integration and choose **Install**.
|
||||
3. Restart OpenCode when asked — the provider appears after the restart.
|
||||
4. Choose **Set up** and sign in. The models then appear in the chat model picker.
|
||||
|
||||
Integrations install for your user, so they work in every project. You can update or remove them from the same card at any time.
|
||||
|
||||
## Claude Code
|
||||
|
||||
Claude Code uses your Claude Pro or Max plan — no API keys and no separate Claude app.
|
||||
|
||||
1. Install the integration (above).
|
||||
2. Choose **Set up** and sign in. If you don't have the Claude Code CLI yet, setup offers to install it first and then sign you in.
|
||||
|
||||
Claude Code is the only integration here that requires its provider CLI to be installed and signed in. Cursor does not require its CLI.
|
||||
|
||||
**How your Claude account stays safe:** this integration uses Anthropic's official Claude Agent SDK and your installed Claude Code CLI. It does not hijack OAuth, extract or replay browser tokens, impersonate an unsupported client, or bypass Anthropic's authentication flow. It stays on Anthropic's supported access path, so it does not carry the account-ban risk of token hijacking or unauthorized authentication workarounds.
|
||||
|
||||
## Cursor
|
||||
|
||||
Cursor makes the models included in your Cursor plan available in OpenChamber.
|
||||
|
||||
1. Install the integration (above).
|
||||
2. Choose **Set up**, open the link, and approve access in your browser. No API key is required. The model list loads automatically after you sign in.
|
||||
|
||||
## Update or remove
|
||||
|
||||
- **Update** installs the latest published version of the plugin.
|
||||
- **Remove** deletes the plugin from your OpenCode config. The provider stops loading after OpenCode refreshes.
|
||||
|
||||
If a card says the entries need manual management, choose **Manage plugins** and clean up the duplicates there.
|
||||
|
||||
## Related
|
||||
|
||||
- [Providers, Models & Agents](/providers/) — connect other providers and pick models
|
||||
- [Usage & Quotas](/usage/) — track how much you've used
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: エージェント制御ツール
|
||||
description: エージェントがチャットから OpenChamber のセッション、worktree、スケジュールタスクを管理できるようにします。
|
||||
---
|
||||
|
||||
# エージェント制御ツール
|
||||
|
||||
`openchamber` エージェントツールを使うと、チャットからアプリ内の作業を直接管理できます。OpenChamber が独自のローカル OpenCode サーバーを実行している場合はデフォルトで有効になり、別のツールのインストールや shell コマンドの実行は必要ありません。
|
||||
|
||||
## 依頼できること
|
||||
|
||||
自然な言葉でエージェントに依頼します。例:
|
||||
|
||||
- 「このプロジェクトに新しい OpenChamber セッションを作成し、`openai/gpt-5.6-sol` モデルを使って次のプロンプトを送信して:認証フローをレビューして。」
|
||||
- 「このタスク用の新しい OpenChamber セッションを別の worktree に作成し、ログインフローのテストを追加するよう依頼して。」
|
||||
- 「OpenChamber を使って最近のセッション 10 件とそれぞれの現在の状態を表示して。」
|
||||
- 「OpenChamber に平日レビューというスケジュールタスクを作成し、平日の 09:00 に次のプロンプトを送信して:前回の実行以降の変更をレビューして。」
|
||||
- 「平日レビューという OpenChamber スケジュールタスクを今すぐ実行して。」
|
||||
- 「認証レビューという OpenChamber セッションを確認し、最新のアシスタント応答を表示して。」
|
||||
|
||||
このツールは、プロジェクトとモデル設定の一覧表示、セッションの作成と継続、セッションのフォーク、分離された worktree セッションの作成、スケジュールタスクの管理を行えます。この方法で開始したセッションも通常のセッションと同じように OpenChamber に表示されるため、自分で開いて作業を続けられます。
|
||||
|
||||
## 注意点
|
||||
|
||||
- 新しいセッションへのプロンプトは、デフォルトではすぐに処理を返します。OpenChamber でセッションを確認するか、後でエージェントに結果を確認するよう依頼してください。
|
||||
- 別の worktree は、明示的に依頼した場合にのみ作成されます。現在の worktree にある未コミットの変更はコピーされません。
|
||||
- このツールは、セッションや worktree の削除、プロジェクトパスの登録、任意の shell コマンドの実行、任意の URL の呼び出しはできません。
|
||||
|
||||
## ツールを有効または無効にする
|
||||
|
||||
**設定 → 一般 → OpenChamber ツール** を開き、**エージェント制御ツール**を変更します。この設定は、管理対象の OpenCode サーバーが再起動すると反映されます。再起動は OpenChamber が **Apply & Restart** として案内します。
|
||||
|
||||
OpenChamber が `OPENCODE_HOST` または skip-start で外部 OpenCode サーバーに接続している場合や、VS Code 拡張機能内では、このツールを利用できません。OpenChamber が管理する OpenCode サーバーを使用するデスクトップ版と Web 版では自動的に利用できます。
|
||||
|
||||
## 関連項目
|
||||
|
||||
- [スケジュールタスク](/ja/scheduled-tasks/)
|
||||
- [Worktree セッション](/ja/worktrees/)
|
||||
- [セッションゴール](/ja/session-goals/)
|
||||
- [ブラウザパネル](/ja/desktop-browser/) — ページを見て操作するための OpenChamber Web ツール
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: コマンドとスニペット
|
||||
description: チャットで使い回せるスラッシュコマンドとテキストスニペットを作成します。
|
||||
---
|
||||
|
||||
# コマンドとスニペット
|
||||
|
||||
コマンドとスニペットは、どちらも同じ内容を何度も入力する手間を省きます。コマンドは `/` で呼び出す完全なプロンプトで、スニペットは `#` でメッセージに差し込む短いテキストです。
|
||||
|
||||
## コマンド
|
||||
|
||||
コマンドは `/review` のようにスラッシュで実行する保存済みプロンプトです。**Settings → Commands** で管理します。
|
||||
|
||||
1. **Settings → Commands** を開き、コマンドを作成します。
|
||||
2. 名前、説明、送信するプロンプト本文を入力します。
|
||||
3. 必要なら特定のエージェントやモデルに固定します。
|
||||
4. 個人用かプロジェクト用かのスコープを選びます。
|
||||
|
||||
チャットでは、メッセージの**最初**の文字として `/` を入力するとコマンドが表示されます。そこから選んでください。テキストにはプレースホルダーを使えます。
|
||||
|
||||
- `$ARGUMENTS` — コマンドの後に入力した内容
|
||||
- `@filename` — ファイルの内容を差し込みます
|
||||
- `` !`command` `` — シェルコマンドの出力を差し込みます
|
||||
|
||||
組み込みの `init` と `review` コマンドはリセットできますが、削除はできません。
|
||||
|
||||
## スニペット
|
||||
|
||||
スニペットは `#signoff` のようなハッシュタグで本文中から参照する再利用可能なテキストです。**Settings → Snippets** で管理します。
|
||||
|
||||
1. **Settings → Snippets** を開き、スニペットを作成します。
|
||||
2. 名前と、その名前が表すテキストを入力します。複数の呼び出し名が欲しい場合はエイリアスを追加します。
|
||||
3. 個人用かプロジェクト用かのスコープを選びます。
|
||||
|
||||
チャットで `#` を入力してスニペットを選ぶと、OpenChamber が送信前に全文へ置き換えます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [スキル](/skills/) — 必要なときに大きな指示セットを読み込む
|
||||
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: デバイスを接続する
|
||||
description: 1 回限りの QR コードで、スマートフォン、デスクトップ、別のブラウザを OpenChamber サーバーとペアリングします。
|
||||
---
|
||||
|
||||
# デバイスを接続する
|
||||
|
||||
モバイルアプリ、デスクトップアプリ、別マシンのブラウザなど、別のデバイスを 1 回限りの QR コードのスキャンで OpenChamber サーバーとペアリングできます。これがデバイス接続の推奨方法です。ポートを開ける必要も、アドレスを入力する必要もありません。
|
||||
|
||||
## デバイスをペアリングする
|
||||
|
||||
1. OpenChamber が動いているマシンで **Settings → Remote Instances → このサーバーに接続** を開き、**デバイスを追加** を押します。
|
||||
2. 後で見分けられるように、デバイスに名前を付けます(例: *My iPhone*)。
|
||||
3. デバイスをどこで使うか選びます。
|
||||
- **このコンピュータのみ** — 同じマシン上で動くアプリ用
|
||||
- **自宅ネットワークのみ** — Wi-Fi 経由で直接接続します。このネットワークの外では使えません
|
||||
- **どこでも** — 自宅でも外出先でも使えます。外出先の通信は、設定不要のエンドツーエンド暗号化トンネルである [Private Relay](/private-relay/) を経由します
|
||||
4. **QRコードを作成** を押します。
|
||||
5. もう一方のデバイスでコードをスキャンします。
|
||||
- **モバイルアプリ** — 接続画面(またはインスタンス一覧)で **QR コードをスキャン** をタップします
|
||||
- **デスクトップアプリ** — 代わりに接続リンクをコピーし、**Settings → Remote Instances → その他の OpenChamber サーバー → リンクをインポート** に貼り付けます
|
||||
|
||||
デバイスが接続されるとダイアログは自動で閉じ、デバイスがライブステータス付きで一覧に表示されます。これでペアリング完了です。
|
||||
|
||||
## ペアリングが安全な理由
|
||||
|
||||
- **QR コードは 1 回限りです。** デバイスが使用した瞬間に無効になり、未使用のままでも自動的に期限切れになります。
|
||||
- **各デバイスに専用のトークンが発行されます。** コードをスキャンしても UI パスワードが漏れることはなく、あるデバイスのトークンで別のデバイスになりすますこともできません。
|
||||
- **主導権は常にあなたにあります。** ペアリング済みのデバイスはすべて名前、プラットフォーム、接続状態とともに一覧表示され、いつでも無効化できます。
|
||||
- **外出先の通信はエンドツーエンドで暗号化されます。** **どこでも** を選ぶと、ネットワーク外の通信は [Private Relay](/private-relay/) を経由します。リレーは通過する内容を読むことができません。
|
||||
|
||||
## ペアリング済みデバイスを管理する
|
||||
|
||||
**Settings → Remote Instances → このサーバーに接続** には、このサーバーに到達できるすべてのデバイスが表示されます。オンラインなら緑のドットが付き、ローカルネットワーク経由かリレー経由かも分かります。
|
||||
|
||||
- **無効化** はデバイスを即座に切断します。気が変わったら、新しい QR コードで再ペアリングしてください。
|
||||
- **無効化済みをクリア** で一覧を整理できます。
|
||||
|
||||
同じ物理デバイスは後で再サインインしてもエントリは 1 つのまま維持されるため、重複がたまることはありません。
|
||||
|
||||
## コマンドラインから接続する
|
||||
|
||||
サーバーがヘッドレス(UI を開いていない状態)で動いている場合は、そのマシンのターミナルから接続リンクを作成できます。
|
||||
|
||||
同じネットワーク上のデバイス用にはこちらです。
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --qr
|
||||
```
|
||||
|
||||
**どこからでも**接続するデバイス用 — ダイアログで **どこでも** を選ぶのと同等 — にはこちらです。
|
||||
|
||||
```bash
|
||||
openchamber connect-url --relay --qr
|
||||
```
|
||||
|
||||
`--relay` リンクには、ダイアログと同様に両方の経路が含まれます。デバイスはサーバーに到達できるときはローカルネットワーク経由で直接接続し、外出先では [Private Relay](/private-relay/) にフォールバックします。リレーは自動的に起動します。実行中のインスタンスは 1 分以内にリンクを拾い、停止中のインスタンスは次回の起動時に拾います。
|
||||
|
||||
> 直接経路は、サーバーが実際にネットワーク上で待ち受けている場合にのみ機能します。デフォルトでは OpenChamber はそのマシン上でのみ待ち受けます。Wi-Fi 経由で到達できるようにするには `--lan` を付けて起動してください。リンクの直接経路が他のデバイスから使えない場合、コマンドは警告(`[LAN_UNREACHABLE]`)を表示します。その場合でも `--relay` リンクは機能しますが、常にリレー経由になります。
|
||||
|
||||
出力されるリンクと QR コードは、設定ダイアログから作成したものとまったく同じように機能します — 1 回限りで、期限切れになり、無効化できます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Private Relay](/private-relay/) — 「どこでも」接続の仕組みと、リレーに見えるもの・見えないもの
|
||||
- [モバイルアプリ](/mobile/) — iOS または Android アプリをインストールする
|
||||
- [リモートインスタンス](/remote-instances/) — デスクトップアプリを SSH やリンクでサーバーに接続する
|
||||
- [リモートアクセス](/troubleshooting/remote-access/) — デバイスが接続できない場合
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: コンテキスト
|
||||
description: セッションがモデルの記憶容量をどれだけ使っているかを確認します。
|
||||
---
|
||||
|
||||
# コンテキスト
|
||||
|
||||
どのモデルも、一度に保持できる会話量には上限があります。これがコンテキストです。OpenChamber はその使用量を表示するので、セッションが上限に近づき、返信で古い詳細が抜け始める可能性があるタイミングを把握できます。
|
||||
|
||||
## クイックインジケーター
|
||||
|
||||
チャット中は、小さなゲージが使用済みコンテキストの割合を表示します。埋まるにつれて色が変わります。
|
||||
|
||||
- 緑 — まだ十分な余裕があります
|
||||
- 黄 — かなり埋まっています(約 4 分の 3)
|
||||
- 赤 — ほぼ満杯です
|
||||
|
||||
ホバーするか、モバイルではタップすると、正確なトークン数を確認できます。
|
||||
|
||||
## 完全なコンテキストパネル
|
||||
|
||||
右サイドバーの **Context** タブを開くと、現在のセッションをより詳しく確認できます。
|
||||
|
||||
- 使用中のモデルとセッション開始時刻
|
||||
- モデルの上限に対する合計トークン数
|
||||
- メッセージ数とコスト合計
|
||||
- 直近の返信のトークン内訳
|
||||
- 何がコンテキストを占めているかの大まかな内訳(あなたのメッセージ、エージェントのメッセージ、ツール出力)
|
||||
|
||||
この内訳は正確なカウントではなく推定です。課金確認ではなく、何がウィンドウを埋めているかを見るために使ってください。
|
||||
|
||||
## 満杯になったら
|
||||
|
||||
1 つのセッションを永遠に伸ばすのではなく、新しいタスクには新しいセッションを開始してください。短いコンテキストのほうが速く、モデルの集中も保ちやすくなります。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロジェクト](/projects/) — セッションはプロジェクトごとにまとめられます
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
title: ブラウザパネル
|
||||
description: アプリ内で任意のページを開き、注釈を付け、エージェントに操作させます。
|
||||
---
|
||||
|
||||
# ブラウザパネル
|
||||
|
||||
ブラウザパネルはチャットのすぐ隣に任意のページを開きます。ヘッダーの地球儀ボタンから開いてください。
|
||||
|
||||
デスクトップアプリでは本物のブラウザです。ログイン状態は保持され、ホットリロードが動き、開発者ツールはワンクリックで開けます。ブラウザのタブでもページの表示はできますが、中を覗くことはできません。以下の注釈ツールはデスクトップ専用です。
|
||||
|
||||
ここで開いたページは、カメラ・マイク・位置情報を使えません。これらの要求は拒否されます。
|
||||
|
||||
## ツールバー
|
||||
|
||||
アドレスバーはこのプロジェクトで開いたページを覚えていて、入力中に候補として出します。アドレスの一部でもページタイトルの一部でも一致します。矢印キーで候補を移動し、Enter で選択中の候補を開き、行のボタンでその候補を消せます。
|
||||
|
||||
隣には **再読み込み** があり、変更がどうしても反映されないときのためにキャッシュを無視する **強制再読み込み**、そしてページだけを拡大縮小するズーム操作も並びます。
|
||||
|
||||
**Cookie を消去** と **キャッシュを消去** はこのパネルにだけ効きます。OpenChamber のセッションや他のウィンドウには影響しません。
|
||||
|
||||
## ページに注釈を付ける
|
||||
|
||||
**注釈** を押すと、ページの上に3つのツールを備えたバーが表示されます。
|
||||
|
||||
- **要素** — 要素をクリックします。別の要素をクリックすると選択が移り、同じ要素をもう一度クリックすると解除されます。
|
||||
- **範囲** — 複数の要素にまたがる話をしたいときは、領域をドラッグで囲みます。
|
||||
- **描画** — ページの上にフリーハンドで描きます。
|
||||
|
||||
印の隣に現れる入力欄に希望を書き、**添付** を押します。Enter でも送れます。チャットメッセージには、印を付けた内容、あなたのメモ、表示中のページに印を描き込んだスクリーンショットを含むカードが付きます。「このボタン、もう少し角を丸く」と言えば済み、場所を説明する必要はありません。
|
||||
|
||||
ページ自体は変更されません。注釈はそこにあるものに印を付けるだけです。`Esc` で取り消してツールバーを閉じます。
|
||||
|
||||
## エージェントに操作させる
|
||||
|
||||
エージェントはブラウザパネルを自分で使えます。ページを開き、内容を読み、クリックし、文字を入力し、スクロールし、モバイル・タブレット・デスクトップのレイアウトを切り替えて、自分の作業をあなたに頼まず自分で確認します。その様子はパネルで見えます。
|
||||
|
||||
エージェントがページ内で任意のコードを実行することはできません。ブラウザは実際のログイン状態を保持しているため、上記の操作に限定されています。
|
||||
|
||||
見ている内容をプロジェクト内の `.openchamber/screenshots/` に画像として保存し、返答の中で見せることもできます。ビフォー・アフターができるのはこのためで、ファイルはその後もプルリクエストに添付できる形で残ります。
|
||||
|
||||
ブラウザ操作は **OpenChamber Web ツール** で、**設定 → 一般 → OpenChamber ツール** から単独でオン・オフできます。
|
||||
|
||||
これにはデスクトップアプリが必要です。ブラウザのタブに表示したページは操作できません。
|
||||
|
||||
## 開発者ツール
|
||||
|
||||
バーのターミナルボタンを押すと、そのページに対する Chromium 本来の開発者ツールが開きます。コンソール、ネットワーク、要素など、期待どおりのものがすべて使えます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プレビューと開発サーバー](/preview/) — リモートマシン上のものも含め、実行中のアプリを開く
|
||||
- [エージェント制御ツール](/ja/agent-control-tool/) — チャットからセッション・worktree・スケジュールタスクを扱う
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: デスクトップトンネル
|
||||
description: デスクトップアプリから Cloudflare または Ngrok トンネルを作成します。
|
||||
---
|
||||
|
||||
# デスクトップトンネル
|
||||
|
||||
デスクトップアプリでは **Settings → OpenChamber → Tunnel** から公開トンネルを作成できます。この方法では CLI から OpenChamber を起動する必要はありません。
|
||||
|
||||
## プロバイダーをインストールする
|
||||
|
||||
OpenChamber はあなたのマシン上でプロバイダー CLI を起動します。使いたいプロバイダーを先にインストールしてください。
|
||||
|
||||
```bash
|
||||
brew install cloudflared
|
||||
brew install ngrok
|
||||
```
|
||||
|
||||
Cloudflare は `cloudflared` を使います。Ngrok には ngrok アカウントと ngrok ダッシュボードの authtoken が必要です。
|
||||
|
||||
```bash
|
||||
ngrok config add-authtoken <your-ngrok-token>
|
||||
```
|
||||
|
||||
## アプリから開始する
|
||||
|
||||
1. **Settings → OpenChamber → Tunnel** を開きます。
|
||||
2. **Cloudflare** または **Ngrok** を選びます。
|
||||
3. クイックトンネルを開始します。
|
||||
4. 生成された QR コードをスマートフォンでスキャンします。
|
||||
|
||||
現在、Ngrok はクイックトンネルに対応しています。Cloudflare はクイックトンネルと管理対象 Cloudflare モードに対応しています。
|
||||
|
||||
## アクセス保護
|
||||
|
||||
プロバイダー URL 自体が公開されていても、OpenChamber は独自の接続トークンでアクセスを保護します。生成される接続リンクには一度きりのトークンが含まれ、TTL があり、新しいリンクを生成するかトンネルを停止/再起動すると、未使用の古いリンクは無効化されます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [トンネル](/tunnels/) — CLI でのトンネル利用と管理対象 Cloudflare モード
|
||||
- [PWA とモバイル](/mobile/) — スマートフォンから OpenChamber にアクセスする
|
||||
@@ -0,0 +1,138 @@
|
||||
---
|
||||
title: 環境変数
|
||||
description: 環境変数で OpenChamber と OpenCode 連携を設定します。
|
||||
---
|
||||
|
||||
# 環境変数
|
||||
|
||||
OpenChamber は起動時にこれらの環境変数を読み取ります。スタートアップサービスでは、`openchamber startup enable` がデフォルトで現在の環境をスナップショットするため、サービスに使わせたい変数を変更した後は再実行してください。
|
||||
|
||||
## OpenChamber サーバー
|
||||
|
||||
### `OPENCHAMBER_HOST`
|
||||
|
||||
OpenChamber Web サーバーのバインドアドレスです。他のマシンからアクセスできるようにするには `0.0.0.0` を使います。
|
||||
|
||||
### `OPENCHAMBER_UI_PASSWORD`
|
||||
|
||||
ブラウザ UI のパスワードです。localhost 以外にバインドする場合、トンネルを使う場合、またはリバースプロキシの背後で実行する場合に使います。
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
`true` または `1` に設定すると、OpenChamber をヘッドレスモードで起動します。デスクトップおよびモバイルクライアント向けの API ルートは利用できますが、ブラウザ UI は配信されません。
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
OpenChamber のデータディレクトリを上書きします。デフォルトは `~/.config/openchamber` です。
|
||||
|
||||
### `OPENCHAMBER_COMPRESS_API`
|
||||
|
||||
API レスポンス圧縮を制御します。`true` または `1` で強制的に有効化し、`false` または `0` で強制的に無効化します。
|
||||
|
||||
### `OPENCHAMBER_SKIP_API_COMPRESSION`
|
||||
|
||||
`true` または `1` に設定すると API レスポンス圧縮を無効化します。これは `OPENCHAMBER_COMPRESS_API` より優先されます。
|
||||
|
||||
### `OPENCHAMBER_VERBOSE_REQUEST_LOGS`
|
||||
|
||||
`true` または `1` に設定すると詳細な HTTP リクエストログを有効にします。
|
||||
|
||||
### `OPENCHAMBER_UPDATE_API_URL`
|
||||
|
||||
更新確認 API エンドポイントを上書きします。ほとんどのユーザーは未設定のままでかまいません。
|
||||
|
||||
### `OPENCHAMBER_PACKAGE_MANAGER`
|
||||
|
||||
自動検出が間違っている場合に、更新操作で使うパッケージマネージャーを強制します。
|
||||
|
||||
## OpenCode サーバー
|
||||
|
||||
### `OPENCODE_HOST`
|
||||
|
||||
OpenChamber を既存の OpenCode サーバーに接続します。値は明示的なポートを含み、パス、クエリ、ハッシュを含まない `http` または `https` の origin である必要があります。`OPENCODE_HOST` は `OPENCODE_PORT` より優先されます。
|
||||
|
||||
### `OPENCODE_PORT`
|
||||
|
||||
OpenCode サーバーのポートを設定します。管理対象 OpenCode では管理対象ポートの要求になり、`OPENCODE_SKIP_START=true` ではそのポートの外部サーバーに接続します。
|
||||
|
||||
### `OPENCODE_SKIP_START`
|
||||
|
||||
`true` に設定すると、OpenChamber が独自の OpenCode サーバーを起動しません。
|
||||
|
||||
### `OPENCHAMBER_OPENCODE_HOSTNAME`
|
||||
|
||||
OpenChamber が管理する OpenCode サーバーのバインドホスト名です。デフォルトは `127.0.0.1` です。
|
||||
|
||||
### `OPENCODE_BINARY`
|
||||
|
||||
OpenChamber が実行する `opencode` 実行ファイルへのパスです。
|
||||
|
||||
### `OPENCODE_CONFIG`
|
||||
|
||||
特定の OpenCode 設定ファイルへのパスです。
|
||||
|
||||
### `OPENCODE_CONFIG_DIR`
|
||||
|
||||
エージェント、スキル、スニペット、設定検出に使う特定の OpenCode 設定ディレクトリへのパスです。
|
||||
|
||||
### `OPENCODE_DATA_DIR`
|
||||
|
||||
管理対象 OpenCode サーバーのカスタムデータディレクトリです。
|
||||
|
||||
### `OPENCODE_WSL_DISTRO`
|
||||
|
||||
Windows 上の OpenCode 連携に使う WSL ディストリビューションを選びます。
|
||||
|
||||
### `OPENCHAMBER_OPENCODE_WSL_DISTRO`
|
||||
|
||||
WSL ディストリビューション選択用の OpenChamber 固有エイリアスです。両方が設定されている場合は `OPENCODE_WSL_DISTRO` が優先されます。
|
||||
|
||||
### `OPENCODE_JWT_SECRET`
|
||||
|
||||
UI 認証トークンの署名に使うシークレットです。永続的なサービス配置では長いランダム値を使ってください。
|
||||
|
||||
## ターミナルと Git
|
||||
|
||||
### `OPENCHAMBER_TERMINAL_SHELL`
|
||||
|
||||
OpenChamber のターミナルセッションで使うシェル実行ファイルです。
|
||||
|
||||
### `OPENCHAMBER_GIT_BINARY`
|
||||
|
||||
OpenChamber の Git 機能で使う Git 実行ファイルです。
|
||||
|
||||
### `GIT_BINARY`
|
||||
|
||||
代替の Git 実行ファイル上書きです。OpenChamber 固有の設定には `OPENCHAMBER_GIT_BINARY` を推奨します。
|
||||
|
||||
### `OPENCHAMBER_GIT_READ_CACHE_TTL_MS`
|
||||
|
||||
Git に基づくファイル読み取りキャッシュの有効期間(ミリ秒)です。デバッグ中にこのキャッシュを無効化するには `0` を設定します。
|
||||
|
||||
## 音声とトンネル
|
||||
|
||||
### `OPENAI_API_KEY`
|
||||
|
||||
OpenAI 互換サービスを呼び出す OpenChamber の音声機能で使う API キーです。
|
||||
|
||||
### `OPENCHAMBER_ALLOW_REMOTE_OPENAI_COMPAT_URLS`
|
||||
|
||||
`true` または `1` に設定すると、音声機能でリモートの OpenAI 互換 base URL を許可します。
|
||||
|
||||
### `NGROK_AUTHTOKEN`
|
||||
|
||||
OpenChamber のトンネルコマンドで使う ngrok 認証トークンです。`ngrok config add-authtoken <token>` で ngrok 側に設定することもできます。
|
||||
|
||||
## ランタイムヘルパー
|
||||
|
||||
### `BUN_BINARY`
|
||||
|
||||
デーモンプロセスを起動するときに OpenChamber が使う Bun 実行ファイルです。
|
||||
|
||||
### `BUN_INSTALL`
|
||||
|
||||
Bun のインストールルートです。OpenChamber はデーモン起動と更新のために `bin/bun` を探す際に使います。
|
||||
|
||||
### `VITE_OPENCODE_URL`
|
||||
|
||||
Vite でビルドされた Web アプリ向けのビルド時 API base URL です。通常の CLI またはデスクトップ利用では、ほとんどのユーザーは設定する必要がありません。
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: Git ID
|
||||
description: リポジトリごとに正しい名前とメールでコミットします。
|
||||
---
|
||||
|
||||
# Git ID
|
||||
|
||||
Git ID は、コミットに使われる名前とメールアドレスです。個人用リポジトリと仕事用リポジトリをまたいで作業する場合、1 つのグローバル設定に頼る代わりに ID を保存し、リポジトリごとに正しいものを適用できます。**Settings → Git** で管理します。
|
||||
|
||||
## ID を追加する
|
||||
|
||||
1. **Settings → Git** を開き、**New** を選びます。
|
||||
2. コミットに使う **name** と **email** を入力します。
|
||||
3. リモートへの認証方法を選びます。
|
||||
- **SSH** — SSH キーを指定します
|
||||
- **token** — ホスト用に保存された認証情報を使います
|
||||
4. 必要なら、見分けやすいように色とアイコンを付けます。
|
||||
|
||||
システムのグローバル ID も読み取り専用で表示されます。
|
||||
|
||||
## ID をリポジトリに適用する
|
||||
|
||||
ID を適用すると、そのリポジトリの**ローカル** Git 設定に書き込まれます。影響するのはそのリポジトリだけで、グローバル設定には影響しません。SSH ID はそのキーを使う SSH コマンドも設定し、トークン ID はホスト用の認証情報保存を設定します。
|
||||
|
||||
OpenChamber が既存の Git 認証情報から見つけた ID をインポートし、トークン ID として保存することもできます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Git と GitHub ワークフロー](/git/) — 設定した ID でコミットする
|
||||
- [GitHub Issues と PR](/github/) — PR 用に GitHub アカウントを接続する
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Git と GitHub ワークフロー
|
||||
description: OpenChamber から離れずにステージ、コミット、ブランチ管理を行います。
|
||||
---
|
||||
|
||||
# Git と GitHub ワークフロー
|
||||
|
||||
OpenChamber には組み込みの Git ビューがあり、ターミナルに切り替えずに変更の確認、コミット、ブランチ管理ができます。右サイドバーの **Git** タブから開きます。
|
||||
|
||||
## 確認してコミットする
|
||||
|
||||
Git ビューは変更を **staged** と **unstaged** に分けて表示します。
|
||||
|
||||
- ファイルの **+** をクリックしてステージ、**−** をクリックしてアンステージします
|
||||
- グループ内のすべてをまとめてステージまたはアンステージできます
|
||||
- ファイルをクリックすると差分を確認できます
|
||||
|
||||
その後、コミットメッセージを書いてコミットします。OpenChamber に staged 変更から**コミットメッセージを生成**させることもできます。現在のセッションのモデルを使うため、セッションを開いておく必要があります。
|
||||
|
||||
## ブランチと履歴
|
||||
|
||||
Git ビューは日常的な Git 操作も扱います。
|
||||
|
||||
- ブランチの作成、切り替え、名前変更、削除
|
||||
- push、pull、fetch
|
||||
- 履歴とコミットごとの差分の閲覧
|
||||
- 変更の stash と復元
|
||||
|
||||
## プルリクエスト
|
||||
|
||||
GitHub を接続すると([GitHub Issues と PR](/github/) を参照)、**PR** タブからプルリクエストを開く、更新する、ready にする、またはマージできます。タイトルと説明もコミットメッセージと同じように生成できます。
|
||||
|
||||
## コンフリクトを取り込む
|
||||
|
||||
merge、rebase、integrate でコンフリクトが起きると、OpenChamber は詰まっている箇所を表示し、解決できるようにします。エージェントに渡して解決させることもできます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [GitHub Issues と PR](/github/) — GitHub を接続し、Issue から作業を始める
|
||||
- [Worktree セッション](/worktrees/) — ブランチを専用フォルダに分離する
|
||||
- [Git ID](/git-identities/) — リポジトリごとに正しい人物としてコミットする
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: GitHub Issues と PR
|
||||
description: GitHub を接続し、Issue やプルリクエストからセッションを開始します。
|
||||
---
|
||||
|
||||
# GitHub Issues と PR
|
||||
|
||||
GitHub アカウントを接続すると、OpenChamber は Issue とプルリクエストを取り込み、そこから直接セッションを開始したり、PR を開いたり更新したりできます。
|
||||
|
||||
## GitHub を接続する
|
||||
|
||||
1. **Settings → Git** を開きます。
|
||||
2. GitHub セクションで **Connect** を選びます。OpenChamber がリンクと短いコードを表示します。
|
||||
3. リンクを開き、コードを入力して承認します。
|
||||
|
||||
接続されると、GitHub セクションにアカウントが表示されます。複数のアカウントを接続して切り替えたり、いつでも切断したりできます。
|
||||
|
||||
## Issue または PR から作業を始める
|
||||
|
||||
GitHub 接続済みで [worktree セッション](/worktrees/) を作成すると、**Start from GitHub issue/PR** を選べます。
|
||||
|
||||
- **issue** を選ぶと、OpenChamber はその Issue に基づいてブランチ名を付け、Issue とコメントを最初のメッセージとしてセッションを開きます
|
||||
- **pull request** を選ぶと、その PR のブランチをチェックアウトします。PR の差分を含めて、エージェントに変更全体を渡すこともできます
|
||||
|
||||
これにより、必要なコンテキストが読み込まれた状態でそのままセッションに入れます。
|
||||
|
||||
## プルリクエストを開いて管理する
|
||||
|
||||
[Git ビュー](/git/) の **PR** タブから、プルリクエストの作成、更新、draft から ready への変更、マージができます。OpenChamber は変更内容から PR のタイトルと説明を生成できます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Git と GitHub ワークフロー](/git/) — コミットとブランチ管理
|
||||
- [Worktree セッション](/worktrees/) — Issue と PR のセッションが始まる場所
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: OpenChamber ドキュメント
|
||||
description: Web、デスクトップ、VS Code で OpenChamber をセットアップして運用するためのガイドです。
|
||||
---
|
||||
|
||||
# OpenChamber ドキュメント
|
||||
|
||||
OpenChamber は、OpenCode(ターミナルで動く AI コーディングエージェント)の周りにあるビジュアルな作業スペースです。コマンドラインだけで作業する代わりに、その作業を見守り、方向付ける画面を提供します。
|
||||
|
||||
このドキュメントでは次のことができます。
|
||||
|
||||
- 作業方法に合ったアプリをインストールする
|
||||
- OpenChamber を安全にリモート利用できるように開く
|
||||
- 見た目をカスタマイズし、よくある問題を解決する
|
||||
|
||||
## 最初に読むもの
|
||||
|
||||
- [インストール](/install/)
|
||||
- [クイックスタート](/quickstart/)
|
||||
- [トンネル](/tunnels/)
|
||||
- [トラブルシューティング](/troubleshooting/)
|
||||
|
||||
## 探す
|
||||
|
||||
- [プロジェクト](/projects/) と [Worktree セッション](/worktrees/) — 作業を整理し、分離する
|
||||
- [プロバイダー、モデル、エージェント](/providers/) — OpenCode を接続し、モデルを選ぶ
|
||||
- [Git と GitHub ワークフロー](/git/) — コミット、レビュー、PR 作成
|
||||
- [セキュリティ](/security/) と [トンネル](/tunnels/) — インスタンスを保護し、アクセスする
|
||||
|
||||
## OpenChamber の用途
|
||||
|
||||
OpenChamber は、AI コーディングのうち、管制室があると便利な部分のためのものです。セッションの分岐、差分レビュー、ターミナル管理、ツール進行状況の監視、プロジェクトアクションの実行、エージェントが作業している間に全体の状況を見える状態に保つことができます。
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: インストール
|
||||
description: デスクトップ、Web、VS Code 向けに OpenChamber をインストールします。
|
||||
---
|
||||
|
||||
# インストール
|
||||
|
||||
OpenChamber を実行する方法は 3 つあります。
|
||||
|
||||
- macOS 用のデスクトップアプリ
|
||||
- CLI がホストする Web アプリ。スマートフォンアプリのようにインストールできます(PWA)
|
||||
- VS Code 拡張機能
|
||||
|
||||
## 前提条件
|
||||
|
||||
先に [OpenCode](https://opencode.ai) をインストールしてください。OpenChamber はその上で動作します。
|
||||
|
||||
## Web + PWA
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/openchamber/openchamber/main/scripts/install.sh | bash
|
||||
openchamber --ui-password be-creative-here
|
||||
```
|
||||
|
||||
CLI が表示する URL(通常は `http://localhost:3000`)を開きます。OpenChamber のセッション一覧が表示されるはずです。すぐ使えるようにしておくには、ブラウザのアドレスバーにある「インストール」オプションでアプリとして追加します。
|
||||
|
||||
## デスクトップ
|
||||
|
||||
GitHub releases ページまたは OpenChamber ダウンロードページから最新のデスクトップビルドをダウンロードします。開いたら、普段の OpenCode ワークフローにサインインします。
|
||||
|
||||
## VS Code
|
||||
|
||||
VS Code Marketplace からインストールし、普段の OpenCode ワークフローにサインインします。その後、OpenChamber ビューがサイドバーに開きます。
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: 統合機能
|
||||
description: Claude または Cursor のサブスクリプションをプロバイダーとして使う。
|
||||
---
|
||||
|
||||
# 統合機能
|
||||
|
||||
統合機能(インテグレーション)は、すでに持っているサブスクリプションを使って OpenChamber にプロバイダーを追加する小さなプラグインです。**Settings → Integrations** で管理します。
|
||||
|
||||
> **実験的な機能。** プロバイダーの方針を尊重するよう努めていますが、アカウントの制限や停止は各プロバイダーの判断に委ねられます。自己責任で連携を使用してください。
|
||||
|
||||
利用できる統合機能:
|
||||
|
||||
- **Claude Code** — Claude Pro または Max プラン、API キー不要
|
||||
- **Cursor** — Cursor プランのモデル利用枠
|
||||
|
||||
## 統合機能をインストールする
|
||||
|
||||
1. **Settings → Integrations** を開きます。
|
||||
2. 統合機能を見つけて **Install** を選びます。
|
||||
3. 求められたら OpenCode を再起動します — 再起動後にプロバイダーが現れます。
|
||||
4. **Set up** を選んでサインインします。するとチャットのモデル選択にモデルが表示されます。
|
||||
|
||||
統合機能はユーザー単位でインストールされるため、すべてのプロジェクトで使えます。同じカードからいつでも更新や削除ができます。
|
||||
|
||||
## Claude Code
|
||||
|
||||
Claude Code は Claude Pro または Max プランを使います — API キーも Claude アプリも不要です。
|
||||
|
||||
1. 統合機能をインストールします(上記)。
|
||||
2. **Set up** を選んでサインインします。Claude Code CLI がまだない場合は、セットアップがまずインストールを提案し、その後サインインします。
|
||||
|
||||
Claude Code は、ここで唯一プロバイダーの CLI のインストールとサインインを必要とする統合機能です。Cursor は CLI を必要としません。
|
||||
|
||||
**Claude アカウントが守られる仕組み:** この統合機能は Anthropic の公式 Claude Agent SDK と、インストール済みの Claude Code CLI を使用します。OAuth の乗っ取り、ブラウザートークンの抽出や再生、未対応クライアントへの偽装、Anthropic の認証フローの回避は一切行いません。Anthropic がサポートする正規のアクセス経路を使うため、トークン乗っ取りや不正な認証の回避につきもののアカウント停止リスクはありません。
|
||||
|
||||
## Cursor
|
||||
|
||||
Cursor は Cursor プランに含まれるモデルを OpenChamber で使えるようにします。
|
||||
|
||||
1. 統合機能をインストールします(上記)。
|
||||
2. **Set up** を選び、リンクを開いてブラウザーでアクセスを許可します。API キーは不要です。サインイン後、モデル一覧は自動的に読み込まれます。
|
||||
|
||||
## 更新と削除
|
||||
|
||||
- **Update** はプラグインの最新の公開バージョンをインストールします。
|
||||
- **Remove** は OpenCode の設定からプラグインを削除します。OpenCode が再読み込みされるとプロバイダーは読み込まれなくなります。
|
||||
|
||||
カードに手動での管理が必要だと表示された場合は、**Manage plugins** を選んで重複を整理してください。
|
||||
|
||||
## 関連情報
|
||||
|
||||
- [プロバイダー、モデル、エージェント](/ja/providers/) — 他のプロバイダーの接続とモデルの選択
|
||||
- [使用量とクォータ](/ja/usage/) — 利用量を追跡
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: マジックプロンプト
|
||||
description: OpenChamber の自動フローの背後にある組み込みプロンプトをカスタマイズします。
|
||||
---
|
||||
|
||||
# マジックプロンプト
|
||||
|
||||
OpenChamber は、コミットメッセージの作成、PR の下書き、Issue のレビュー、コンフリクト解決、セッション要約などを自動で行うとき、裏側で組み込みプロンプトを使います。Magic Prompts は、それらのプロンプトを読み、書き換える場所です。**Settings → Magic Prompts** から開きます。
|
||||
|
||||
通常の利用ではこのページは必要ありません。たとえばコミットメッセージを特定のスタイルにしたいなど、フローの動作を変えたいときに使ってください。
|
||||
|
||||
## プロンプトを編集する
|
||||
|
||||
1. **Settings → Magic Prompts** を開きます。
|
||||
2. サイドバーのグループ(Git、GitHub、Planning、Session)からプロンプトを選びます。
|
||||
3. テキストを編集して保存します。
|
||||
|
||||
一部のプロンプトには、表示される部分(あなたが見るメッセージ)と instructions 部分(エージェント向けの非表示ガイド)があります。プロンプトには差分や Issue タイトルなどを OpenChamber が埋める `{{placeholders}}` を含められます。これらは残してください。
|
||||
|
||||
## リセット
|
||||
|
||||
気が変わりましたか?各プロンプトには **reset to default** があり、すべてを最初からやり直したい場合は **reset all** もあります。
|
||||
|
||||
## 各プロンプトが使われる場所
|
||||
|
||||
以下の表は、各プロンプトがどこで実行され、何がきっかけで動くかを示します。編集前にトリガーを確認し、どのフローを変えるのかを把握してください。
|
||||
|
||||
### Git
|
||||
|
||||
| プロンプト | 実行される場所 | 動くタイミング |
|
||||
| --- | --- | --- |
|
||||
| コミット生成 | git ビューのコミット欄にある生成ボタン、およびモバイルの Changes 画面 | コミットメッセージを生成するとき。選択したファイルとブランチの直近コミットの件名が差し込まれ、メッセージがリポジトリの既存スタイルに合います。 |
|
||||
| PR 生成 | git ビュー PR タブの pull request 作成フォーム | PR のタイトルと本文を生成するとき。base と head ブランチ、その間のコミットと変更ファイル、追加コンテキスト、リポジトリに PR テンプレートがあればそれも差し込まれます。 |
|
||||
| merge/rebase コンフリクト解決 | merge や rebase がコンフリクトで止まったときの git ビューのコンフリクトダイアログ | "Resolve in current session" または "Resolve in new session" を選んだとき。エージェントはコンフリクトファイルを読み、ファイルごとの解決戦略を提案し、編集・stage・操作の再開の前に確認を待ちます。 |
|
||||
| cherry-pick コンフリクト解決 | worktree セッションの "Re-integrate commits" セクション | セッションのコミットを対象ブランチへ移す途中でコンフリクトが起き、エージェントに任せたとき。エージェントは一時 worktree の中で解決し、ファイルを stage して cherry-pick を続けます。 |
|
||||
|
||||
### GitHub
|
||||
|
||||
| プロンプト | 実行される場所 | 動くタイミング |
|
||||
| --- | --- | --- |
|
||||
| PR レビュー | composer の添付メニューにある "Link GitHub PR" ピッカー、および新規 worktree ダイアログ | 2 つのトリガー。PR をコンテキストとして添付すると instructions が用意され、次のメッセージと一緒に送られます。PR から worktree セッションを始めると、このプロンプトがそのセッションの最初のメッセージになり、PR の完全なコンテキストが添付されます。 |
|
||||
| Issue レビュー | Issue から worktree を作るときの新規 worktree ダイアログ | 新しいセッションの最初のメッセージが Issue をレビューし、本文とコメントがコンテキストとして添付されます。 |
|
||||
| PR の失敗チェック / PR コメント / 個別 PR コメント | — | 現在はどのフローからも送信されません。以前は PR ビューのワンクリックレビューアクションから起動されましたが、今は失敗チェックとコメントがチャットコンテキストの下書きとしてピン留めされます。既存のオーバーライドが機能し続けるよう、編集可能なまま残っています。 |
|
||||
|
||||
### Planning
|
||||
|
||||
| プロンプト | 実行される場所 | 動くタイミング |
|
||||
| --- | --- | --- |
|
||||
| todo からの計画 | プロジェクトサイドバーの Todos パネル | todo をセッションまたは新しい worktree セッションへ送るとき。todo のテキストが見えるメッセージになり、instructions は実装へ飛ばず、質問主体の計画対話に変えます。 |
|
||||
| 計画の改善 | Plans ビューの保存済み計画に対する "Improve" アクション | 保存済み計画を改善フローへ送るとき。エージェントはまず計画ファイルを読み、リポジトリの現在の状態に即した変更を提案し、同じファイルの編集を申し出ます。 |
|
||||
| 計画の実装 | 保存済み計画に対する "Implement" アクション | 保存済み計画を実装フローへ送るとき。エージェントは計画ファイルを読み、スコープを広げずに最後まで実装し、計画自体に誤りが見つかった場合は調整を同じファイルへ保存します。 |
|
||||
|
||||
### Session
|
||||
|
||||
これらの多くは、composer に入力するスラッシュコマンドとして動きます。多くは新しいセッションの下書き画面でスターターチップとしても表示されます。
|
||||
|
||||
| プロンプト | 実行される場所 | 動くタイミング |
|
||||
| --- | --- | --- |
|
||||
| コードベースツアー | `/explore` | コードベースの概要を把握したいとき。 |
|
||||
| セッション要約 | `/summary`、オプションで `/summary <トピック>` | ここまでの会話を要約します。新しいセッションへの引き継ぎに便利です。既存のセッションが必要です。 |
|
||||
| ワークスペースレビュー | `/workspace-review` | 現在のワークスペース差分を意図・正確性・セキュリティの観点でレビューしてほしいとき。 |
|
||||
| 機能計画 | `/plan-feature` | 大まかな機能アイデアを、質疑応答の対話を通じて実装計画に変えたいとき。 |
|
||||
| Goal 作成 | `/craft-goal`、オプションで `/craft-goal <アイデア>` | アイデアを、Goal ダイアログで使える検証可能な Goal 目標に変えたいとき。 |
|
||||
| キャッチアップ | `/catch-up` | プロジェクトに戻って、どこまで進んでいて次に何をするか知りたいとき。 |
|
||||
| デバッグ | `/debug` | バグを調査するとき。エージェントは仮説を立て、コードから根本原因を確認してから修正を提案します。 |
|
||||
| 選択肢の比較 | `/weigh` | 何を作るかは分かっているが作り方が分からないとき。エージェントが 2〜3 のアプローチを比較し、1 つを推奨します。 |
|
||||
| Fusion | multi-run グループの "Run fusion" アクション | 複数ランの出力を 1 つの回答にまとめるとき。ランの出力は instructions の後に続けて添付されます。 |
|
||||
|
||||
### Settings にページのないプロンプト
|
||||
|
||||
一部のプロンプトは自動的に動き、Settings には編集ページがありません:
|
||||
|
||||
| プロンプト | 動くタイミング |
|
||||
| --- | --- |
|
||||
| スケジュールタスク | `/schedule-task`、オプションで初期アイデアと一緒に。スケジュールタスクを定義する対話を進めます。 |
|
||||
| レビュー用ハンドオフ | `/handoff-review`、またはハンドオフを有効にした diff ビューの Review ボタン。作業セッション内でハンドオフを生成します。 |
|
||||
| レビューセッションの開始メッセージ | 生成されたレビューセッションの最初のメッセージ。ハンドオフが作られた場合はそれを含み、なければ含みません。 |
|
||||
| レビューフィードバック / 実装応答 | 2 つのセッションの間でメッセージを運びます。レビュアーのフィードバックは実装セッションへ、実装者の応答はレビューセッションへ戻ります。 |
|
||||
|
||||
## 関連
|
||||
|
||||
- [Git と GitHub ワークフロー](/git/) — これらのプロンプトの多くが Git フローを支えています
|
||||
- [ノート、todo と計画](/notes-todos-plans/) — Planning プロンプトの背後にある todo と計画
|
||||
- [Multi-run](/multi-run/) — ラングループと fusion
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: MCP サーバー
|
||||
description: MCP サーバーを追加して、エージェントに追加ツールを渡します。
|
||||
---
|
||||
|
||||
# MCP サーバー
|
||||
|
||||
MCP サーバーは、エージェントに追加ツールを与えます。たとえばデータベース検索、API 呼び出し、利用中サービスの読み取りなどです。**Settings → MCP** で追加します。
|
||||
|
||||
## サーバーを追加する
|
||||
|
||||
1. **Settings → MCP** を開きます。
|
||||
2. サーバーを追加し、種類を選びます。
|
||||
- **local** — OpenChamber があなたのマシンでコマンドを実行します。実行するコマンドと、必要なら環境変数を指定します。
|
||||
- **remote** — OpenChamber が誰かがホストする URL に接続します。URL と必要なヘッダー(たとえば認証トークン)を指定します。
|
||||
3. 保存します。サーバーはデフォルトでオンになります。削除せずにオフにできます。
|
||||
|
||||
## 適用範囲
|
||||
|
||||
サーバーを追加するときにスコープを選びます。
|
||||
|
||||
- **personal** — すべてのプロジェクトで利用できます
|
||||
- **project** — 現在のプロジェクトでのみ利用でき、プロジェクトの他の設定と一緒に保存されます
|
||||
|
||||
サーバー名には小文字、数字、ハイフン、アンダースコアを使います。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロバイダー、モデル、エージェント](/providers/) — 先にモデルを接続する
|
||||
- [スキル](/skills/) — エージェントができることを広げる別の方法
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user