Decouple bundled UI from runtime API and add remote instance tooling (#1228)
Add a packaged-client runtime boundary so the shared UI can talk to local, desktop, remote, and VS Code runtimes through the right transport instead of assuming one same-origin web server. Centralize OpenChamber-owned API access behind RuntimeAPIs, runtimeFetch, and runtime URL helpers, while keeping official OpenCode traffic on the SDK path. Support runtime switching, remote host selection, desktop client credentials, and headless connection links for pairing packaged clients with remote OpenChamber servers. Harden the new auth model by moving long-lived client tokens out of browser URLs, introducing short-lived scoped URL tokens for browser-owned transports, restricting URL-token access to explicit readable/realtime routes, and making client-token management session-scoped or self-scoped as appropriate. Update browser-owned assets and preview proxy flows to work with the split runtime model, including authenticated project icons, preview token propagation, CSP-safe preview bridge injection, and preview proxy auth that survives short-lived URL-token expiry. Tighten Electron security boundaries for packaged clients by gating privileged preload state to trusted origins and requiring explicit confirmation before connect deep-links import or switch remote runtimes. Also refresh agent guidance and project skills so future runtime/API, auth, preview, UI, CLI, settings, locale, and drag-to-reorder work follows the new architecture.
This commit is contained in:
committed by
GitHub
parent
a4314c189b
commit
2031e3b4a8
@@ -17,6 +17,10 @@ Bind address for the OpenChamber web server. Use `0.0.0.0` to allow access from
|
||||
|
||||
Password for the browser UI. Use this when binding outside localhost, using tunnels, or running behind a reverse proxy.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Starts OpenChamber in headless mode when set to `true` or `1`. API routes stay available for desktop and mobile clients, but the browser UI is not served.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Overrides the OpenChamber data directory. The default is `~/.config/openchamber`.
|
||||
|
||||
@@ -17,6 +17,10 @@ Dirección donde escucha el servidor web de OpenChamber. Usa `0.0.0.0` para perm
|
||||
|
||||
Contraseña para la interfaz del navegador. Úsala cuando no te limites a localhost, o cuando uses túneles o un proxy inverso.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Inicia OpenChamber en modo headless cuando vale `true` o `1`. Las rutas API siguen disponibles para clientes de escritorio y móviles, pero no se sirve la UI del navegador.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Cambia el directorio de datos de OpenChamber. Por defecto es `~/.config/openchamber`.
|
||||
|
||||
@@ -60,8 +60,24 @@ Para proteger la UI, define la contraseña al habilitar el servicio:
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
Para un servidor headless que arranca al iniciar sesión y se usa desde apps de escritorio o móviles, añade `--api-only` y un host alcanzable:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` guarda una captura del entorno actual en el servicio para que el arranque se parezca más a ejecutar `openchamber` desde la misma shell. Así conserva tokens de proveedores, `PATH`, configuración del agente SSH y otras variables CLI de auth/config. Usa `--no-env-snapshot` si quieres un entorno de servicio mínimo.
|
||||
|
||||
El servicio de inicio recuerda `--port`, `--host`, `--ui-password` y `--api-only`. El reinicio por CLI y el reinicio durante una actualización reutilizan esos ajustes guardados.
|
||||
|
||||
Para crear un enlace de conexión para otra app de OpenChamber, usa:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Ejecuta `openchamber connect-url --help` para ver todas las opciones del enlace, incluidas `--name`, `--lan`, `--server`, `--api-only`, `--ui-password` y `--qr`.
|
||||
|
||||
Puedes gestionar túneles de forma independiente para ese servicio en ejecución:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ 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
|
||||
|
||||
Si una máquina remota ya ejecuta OpenChamber, crea allí un enlace de conexión e impórtalo en **Settings → Remote Instances → Server links**:
|
||||
|
||||
```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.
|
||||
|
||||
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.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [OpenCode Server](/es/opencode-server/) — conéctate a un servidor remoto en la web o en VS Code
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
Si omites este paso, `openchamber tunnel start` puede iniciar automáticamente un servidor CLI. Al hacerlo, puedes pasar opciones del servidor como `--port`, `--host`, `--lan`, `--ui-password` y `--api-only`.
|
||||
|
||||
2. Inicia un túnel de Cloudflare:
|
||||
|
||||
```bash
|
||||
@@ -105,6 +107,7 @@ openchamber tunnel stop --port 3000
|
||||
- un único túnel activo por instancia de OpenChamber (puerto)
|
||||
- iniciar un nuevo modo/proveedor en la misma instancia reemplaza el túnel anterior
|
||||
- generar un nuevo enlace de conexión revoca el anterior sin usar
|
||||
- el autoarranque del túnel conserva flags del servidor como `--ui-password` y `--api-only` en los ajustes de instancia usados por reinicios y actualizaciones
|
||||
|
||||
## Relacionado
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ OpenChamber 웹 서버가 바인딩할 주소입니다. 다른 컴퓨터에서
|
||||
|
||||
브라우저 UI 비밀번호입니다. localhost 밖으로 바인딩하거나 터널, 리버스 프록시를 사용할 때 설정하세요.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
`true` 또는 `1`이면 OpenChamber를 headless 모드로 시작합니다. 데스크톱과 모바일 클라이언트용 API route는 계속 사용할 수 있지만 브라우저 UI는 제공하지 않습니다.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
OpenChamber 데이터 디렉터리를 바꿉니다. 기본값은 `~/.config/openchamber`입니다.
|
||||
|
||||
@@ -60,8 +60,24 @@ UI를 보호하려면 서비스를 활성화할 때 비밀번호를 설정하세
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
로그인 시 시작되고 데스크톱 또는 모바일 앱에서 사용할 headless 서버라면 `--api-only`와 접근 가능한 host를 함께 지정하세요:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable`은 현재 환경의 스냅샷을 서비스에 저장해, 같은 셸에서 `openchamber`를 직접 실행한 것에 더 가깝게 동작하게 합니다. provider 토큰, `PATH`, SSH agent 설정, 기타 CLI auth/config 환경 변수가 유지됩니다. 최소한의 서비스 환경을 원하면 `--no-env-snapshot`을 사용하세요.
|
||||
|
||||
시작 서비스는 `--port`, `--host`, `--ui-password`, `--api-only`를 기억합니다. CLI 재시작과 업데이트 재시작은 이 저장된 설정을 다시 사용합니다.
|
||||
|
||||
다른 OpenChamber 앱용 연결 링크를 만들려면 다음을 사용하세요:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`openchamber connect-url --help`를 실행하면 `--name`, `--lan`, `--server`, `--api-only`, `--ui-password`, `--qr` 같은 모든 링크 옵션을 볼 수 있습니다.
|
||||
|
||||
실행 중인 이 서비스의 터널은 별도로 관리할 수 있습니다:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ OpenChamber가 연결 확인, 원격 설정, 서버 시작, 포트 포워딩 단
|
||||
|
||||
SSH 및 UI 비밀번호를 저장할지, 매번 입력할지 결정합니다. 연결이 끊기면 OpenChamber가 어느 단계가 실패했는지 알려주므로 고칠 수 있습니다. [Remote access](/ko/troubleshooting/remote-access/)를 참고하세요.
|
||||
|
||||
## 직접 연결 링크
|
||||
|
||||
원격 머신에서 OpenChamber가 이미 실행 중이면 그 머신에서 연결 링크를 만들고 **Settings → Remote Instances → Server links**에서 가져오세요:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
해당 포트에 서버가 없으면 `connect-url`이 먼저 서버를 시작합니다. Headless 서버에는 `--api-only`, 시작 시 LAN에 바인딩하려면 `--lan`, 브라우저 접근 보호에는 `--ui-password`, 저장된 연결 이름에는 `--name`을 사용하세요.
|
||||
|
||||
생성된 링크에는 OpenChamber 앱용 client token이 들어 있습니다. 이 token은 브라우저 UI 비밀번호와 별개이며, 취소하거나 삭제하기 전까지 서버 재시작 후에도 유지됩니다.
|
||||
|
||||
## 관련 항목
|
||||
|
||||
- [OpenCode Server](/ko/opencode-server/) — 웹이나 VS Code에서 원격 서버에 연결하세요
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
이 단계를 건너뛰면 `openchamber tunnel start`가 CLI 서버를 자동으로 시작할 수 있습니다. 자동 시작 시 `--port`, `--host`, `--lan`, `--ui-password`, `--api-only` 같은 서버 옵션을 함께 전달할 수 있습니다.
|
||||
|
||||
2. Cloudflare 터널을 시작합니다:
|
||||
|
||||
```bash
|
||||
@@ -105,6 +107,7 @@ openchamber tunnel stop --port 3000
|
||||
- OpenChamber 인스턴스(포트)당 활성 터널은 하나입니다
|
||||
- 같은 인스턴스에서 새 모드/공급자를 시작하면 이전 터널이 대체됩니다
|
||||
- 새 연결 링크를 생성하면 사용되지 않은 이전 링크가 무효화됩니다
|
||||
- 터널 자동 시작은 재시작/업데이트 흐름에서 쓰는 인스턴스 설정에 `--ui-password`, `--api-only` 같은 서버 플래그를 저장합니다
|
||||
|
||||
## 관련 문서
|
||||
|
||||
|
||||
@@ -60,8 +60,24 @@ To protect the UI, set the password when enabling the service:
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
For a headless server that starts at login and is meant for desktop or mobile clients, include `--api-only` and a reachable host:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` snapshots your current environment into the service so it behaves more like starting `openchamber` from the same shell. This keeps provider tokens, `PATH`, SSH agent settings, and other CLI auth/config variables available. Use `--no-env-snapshot` if you want a minimal service environment.
|
||||
|
||||
The startup service remembers `--port`, `--host`, `--ui-password`, and `--api-only`. CLI restart and update restart reuse those saved settings.
|
||||
|
||||
To create a connection link for another OpenChamber app, use:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Run `openchamber connect-url --help` to see all link options, including `--name`, `--lan`, `--server`, `--api-only`, `--ui-password`, and `--qr`.
|
||||
|
||||
You can still manage tunnels independently for that running service:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -17,6 +17,10 @@ Adres, na którym nasłuchuje serwer web OpenChamber. Użyj `0.0.0.0`, aby pozwo
|
||||
|
||||
Hasło do interfejsu w przeglądarce. Ustaw je przy dostępie spoza localhost, tunelach albo reverse proxy.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Uruchamia OpenChamber w trybie headless, gdy ustawione na `true` lub `1`. Trasy API pozostają dostępne dla klientów desktopowych i mobilnych, ale UI przeglądarki nie jest serwowane.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Nadpisuje katalog danych OpenChamber. Domyślnie jest to `~/.config/openchamber`.
|
||||
|
||||
@@ -60,8 +60,24 @@ Aby zabezpieczyć UI, ustaw hasło podczas włączania usługi:
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
Dla serwera headless uruchamianego przy logowaniu i używanego przez aplikacje desktopowe lub mobilne dodaj `--api-only` oraz osiągalny host:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` zapisuje migawkę bieżącego środowiska w usłudze, aby uruchomienie było bliższe ręcznemu startowi `openchamber` z tej samej powłoki. Zachowuje to tokeny dostawców, `PATH`, ustawienia agenta SSH i inne zmienne CLI auth/config. Użyj `--no-env-snapshot`, jeśli chcesz minimalne środowisko usługi.
|
||||
|
||||
Usługa startowa pamięta `--port`, `--host`, `--ui-password` i `--api-only`. Restart z CLI oraz restart podczas aktualizacji używają tych zapisanych ustawień.
|
||||
|
||||
Aby utworzyć link połączenia dla innej aplikacji OpenChamber, użyj:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Uruchom `openchamber connect-url --help`, aby zobaczyć wszystkie opcje linku, w tym `--name`, `--lan`, `--server`, `--api-only`, `--ui-password` i `--qr`.
|
||||
|
||||
Tunelami dla tej działającej usługi możesz zarządzać niezależnie:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ OpenChamber przeprowadza przez kolejne kroki — sprawdzenie połączenia, skonf
|
||||
|
||||
Sam decydujesz, czy zapisać hasła SSH i UI, czy wpisywać je za każdym razem. Jeśli połączenie zostanie zerwane, OpenChamber zgłasza, który krok zawiódł, byś mógł to naprawić — zobacz [Dostęp zdalny](/pl/troubleshooting/remote-access/).
|
||||
|
||||
## Bezpośrednie linki połączenia
|
||||
|
||||
Jeśli zdalna maszyna już uruchamia OpenChamber, utwórz tam link połączenia i zaimportuj go w **Settings → Remote Instances → Server links**:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` najpierw uruchamia serwer, jeśli nic nie działa na tym porcie. Dodaj `--api-only` dla serwera headless, `--lan` aby nasłuchiwać w LAN przy starcie, `--ui-password` aby chronić dostęp z przeglądarki oraz `--name` aby nazwać zapisane połączenie.
|
||||
|
||||
Wygenerowany link zawiera token klienta dla aplikacji OpenChamber. Ten token jest osobny od hasła UI w przeglądarce i przetrwa restarty, dopóki go nie unieważnisz lub usuniesz.
|
||||
|
||||
## Powiązane
|
||||
|
||||
- [OpenCode Server](/pl/opencode-server/) — połącz się ze zdalnym serwerem w wersji webowej lub VS Code
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
Jeśli pominiesz ten krok, `openchamber tunnel start` może automatycznie uruchomić serwer CLI. Przy auto-starcie możesz przekazać opcje serwera, takie jak `--port`, `--host`, `--lan`, `--ui-password` i `--api-only`.
|
||||
|
||||
2. Uruchom tunel Cloudflare:
|
||||
|
||||
```bash
|
||||
@@ -105,6 +107,7 @@ openchamber tunnel stop --port 3000
|
||||
- jeden aktywny tunel na instancję OpenChamber (port)
|
||||
- uruchomienie nowego trybu/dostawcy na tej samej instancji zastępuje poprzedni tunel
|
||||
- wygenerowanie nowego linku połączenia unieważnia poprzedni nieużyty
|
||||
- auto-start tunelu zapisuje flagi serwera, takie jak `--ui-password` i `--api-only`, w ustawieniach instancji używanych przez restarty i aktualizacje
|
||||
|
||||
## Powiązane
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ Endereço onde o servidor web do OpenChamber escuta. Use `0.0.0.0` para permitir
|
||||
|
||||
Senha da interface no navegador. Use quando expor fora do localhost, por túnel ou por proxy reverso.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Inicia o OpenChamber em modo headless quando definido como `true` ou `1`. As rotas de API continuam disponíveis para clientes desktop e mobile, mas a UI do navegador não é servida.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Altera o diretório de dados do OpenChamber. O padrão é `~/.config/openchamber`.
|
||||
|
||||
@@ -60,8 +60,24 @@ Para proteger a UI, defina a senha ao habilitar o serviço:
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
Para um servidor headless que inicia no login e é usado por apps desktop ou mobile, inclua `--api-only` e um host acessível:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` salva um snapshot do ambiente atual no serviço para que a inicialização se pareça mais com executar `openchamber` na mesma shell. Isso preserva tokens de provedores, `PATH`, configurações do agente SSH e outras variáveis CLI de auth/config. Use `--no-env-snapshot` se quiser um ambiente de serviço mínimo.
|
||||
|
||||
O serviço de inicialização lembra `--port`, `--host`, `--ui-password` e `--api-only`. Reinícios pela CLI e reinícios durante atualização reutilizam essas configurações salvas.
|
||||
|
||||
Para criar um link de conexão para outro app OpenChamber, use:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Execute `openchamber connect-url --help` para ver todas as opções de link, incluindo `--name`, `--lan`, `--server`, `--api-only`, `--ui-password` e `--qr`.
|
||||
|
||||
Você ainda pode gerenciar túneis de forma independente para esse serviço em execução:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ O OpenChamber percorre as etapas — verificando a conexão, configurando o remo
|
||||
|
||||
Você decide se quer salvar as senhas SSH e de UI ou inseri-las a cada vez. Se a conexão cair, o OpenChamber informa qual etapa falhou para você corrigi-la — veja [Acesso remoto](/pt-br/troubleshooting/remote-access/).
|
||||
|
||||
## Links de conexão direta
|
||||
|
||||
Se uma máquina remota já executa OpenChamber, crie um link de conexão nela e importe em **Settings → Remote Instances → Server links**:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` inicia o servidor primeiro se nada estiver rodando nessa porta. Adicione `--api-only` para um servidor headless, `--lan` para escutar na LAN ao iniciar, `--ui-password` para proteger o acesso pelo navegador e `--name` para nomear a conexão salva.
|
||||
|
||||
O link gerado contém um token de cliente para apps OpenChamber. Esse token é separado da senha da UI do navegador e sobrevive a reinícios até ser revogado ou removido.
|
||||
|
||||
## Relacionado
|
||||
|
||||
- [OpenCode Server](/pt-br/opencode-server/) — conecte a um servidor remoto na web ou no VS Code
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
Se você pular esta etapa, `openchamber tunnel start` pode iniciar automaticamente um servidor CLI. Ao iniciar automaticamente, você pode passar opções do servidor como `--port`, `--host`, `--lan`, `--ui-password` e `--api-only`.
|
||||
|
||||
2. Inicie um túnel da Cloudflare:
|
||||
|
||||
```bash
|
||||
@@ -105,6 +107,7 @@ openchamber tunnel stop --port 3000
|
||||
- um único túnel ativo por instância do OpenChamber (porta)
|
||||
- iniciar um novo modo/provedor na mesma instância substitui o túnel anterior
|
||||
- gerar um novo link de conexão revoga o anterior não utilizado
|
||||
- o auto-start do túnel preserva flags do servidor como `--ui-password` e `--api-only` nas configurações da instância usadas por reinícios e atualizações
|
||||
|
||||
## Relacionado
|
||||
|
||||
|
||||
@@ -24,6 +24,18 @@ OpenChamber walks through the steps — checking the connection, setting up the
|
||||
|
||||
You decide whether to save the SSH and UI passwords or enter them each time. If the connection drops, OpenChamber reports which step failed so you can fix it — see [Remote access](/troubleshooting/remote-access/).
|
||||
|
||||
## Direct connection links
|
||||
|
||||
If a remote machine already runs OpenChamber, create a connection link there and import it in **Settings → Remote Instances → Server links**:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` starts the server first if nothing is running on that port. Add `--api-only` for a headless server, `--lan` to bind to the LAN when starting, `--ui-password` to protect browser access, and `--name` to label the saved connection.
|
||||
|
||||
The generated link contains a client token for OpenChamber apps. That token is separate from the browser UI password and survives server restarts until you revoke or delete it.
|
||||
|
||||
## Related
|
||||
|
||||
- [OpenCode Server](/opencode-server/) — connect to a remote server on web or VS Code
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
If you skip this step, `openchamber tunnel start` can auto-start a CLI server. When auto-starting, you can pass server options such as `--port`, `--host`, `--lan`, `--ui-password`, and `--api-only`.
|
||||
|
||||
2. Start a Cloudflare tunnel:
|
||||
|
||||
```bash
|
||||
@@ -105,6 +107,7 @@ openchamber tunnel stop --port 3000
|
||||
- one active tunnel per OpenChamber instance (port)
|
||||
- starting a new mode/provider on same instance replaces previous tunnel
|
||||
- generating a new connect link revokes previous unused one
|
||||
- tunnel auto-start preserves server flags like `--ui-password` and `--api-only` in the instance settings used by restart/update flows
|
||||
|
||||
## Related
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ OpenChamber читає ці змінні під час запуску. Для st
|
||||
|
||||
Пароль для browser UI. Використовуйте його для доступу не лише з localhost, тунелів або reverse proxy.
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
Запускає OpenChamber у headless mode, якщо встановлено `true` або `1`. API routes залишаються доступними для desktop і mobile clients, але browser UI не віддається.
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
Перевизначає директорію даних OpenChamber. Типово це `~/.config/openchamber`.
|
||||
|
||||
@@ -60,8 +60,24 @@ openchamber startup disable
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
Для headless-сервера, який стартує під час входу та використовується desktop або mobile застосунками, додайте `--api-only` і доступний host:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` зберігає знімок поточного середовища в сервісі, щоб запуск був ближчим до ручного запуску `openchamber` з тієї самої shell-сесії. Так зберігаються токени провайдерів, `PATH`, налаштування SSH agent та інші CLI-змінні для auth/config. Використайте `--no-env-snapshot`, якщо потрібне мінімальне середовище сервісу.
|
||||
|
||||
Startup-сервіс пам'ятає `--port`, `--host`, `--ui-password` і `--api-only`. CLI restart і restart під час оновлення повторно використовують ці збережені налаштування.
|
||||
|
||||
Щоб створити link підключення для іншого застосунку OpenChamber, використайте:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
Запустіть `openchamber connect-url --help`, щоб побачити всі опції link, зокрема `--name`, `--lan`, `--server`, `--api-only`, `--ui-password` і `--qr`.
|
||||
|
||||
Тунелями для такого запущеного сервісу можна керувати окремо:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ OpenChamber проходить через кроки — перевірку з'
|
||||
|
||||
Ви вирішуєте, чи зберігати SSH- та UI-паролі, чи вводити їх щоразу. Якщо з'єднання обривається, OpenChamber повідомляє, який крок збоїв, щоб ви могли виправити — див. [Віддалений доступ](/uk/troubleshooting/remote-access/).
|
||||
|
||||
## Прямі link підключення
|
||||
|
||||
Якщо на віддаленій машині вже запущено OpenChamber, створіть там link підключення й імпортуйте його в **Settings → Remote Instances → Server links**:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
`connect-url` спочатку запускає сервер, якщо на цьому порту нічого не працює. Додайте `--api-only` для headless-сервера, `--lan` для LAN bind під час старту, `--ui-password` для захисту browser access і `--name` для назви збереженого підключення.
|
||||
|
||||
Згенерований link містить client token для застосунків OpenChamber. Цей token окремий від пароля browser UI і зберігається після рестартів, доки ви його не відкличете або не видалите.
|
||||
|
||||
## Пов'язане
|
||||
|
||||
- [OpenCode Server](/uk/opencode-server/) — підключайтеся до віддаленого сервера у вебі чи VS Code
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
Якщо пропустити цей крок, `openchamber tunnel start` може автоматично запустити CLI server. Під час auto-start можна передати server options: `--port`, `--host`, `--lan`, `--ui-password` і `--api-only`.
|
||||
|
||||
2. Запустіть тунель Cloudflare:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -17,6 +17,10 @@ OpenChamber web 服务器监听的地址。使用 `0.0.0.0` 可允许其他机
|
||||
|
||||
浏览器 UI 的密码。当你绑定到 localhost 之外、使用隧道或反向代理时,请设置它。
|
||||
|
||||
### `OPENCHAMBER_API_ONLY`
|
||||
|
||||
设置为 `true` 或 `1` 时,以 headless 模式启动 OpenChamber。桌面和移动客户端仍可使用 API 路由,但不会提供浏览器 UI。
|
||||
|
||||
### `OPENCHAMBER_DATA_DIR`
|
||||
|
||||
覆盖 OpenChamber 数据目录。默认是 `~/.config/openchamber`。
|
||||
|
||||
@@ -60,8 +60,24 @@ openchamber startup disable
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
如果要在登录时启动一个供桌面或移动应用使用的 headless 服务器,请加上 `--api-only` 和可访问的 host:
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` 会把当前环境快照保存到服务中,让启动行为更接近你在同一个 shell 中手动运行 `openchamber`。这会保留提供商 token、`PATH`、SSH agent 设置以及其他 CLI auth/config 环境变量。如果你想要最小化的服务环境,请使用 `--no-env-snapshot`。
|
||||
|
||||
启动服务会记住 `--port`、`--host`、`--ui-password` 和 `--api-only`。CLI restart 和更新期间的 restart 会复用这些已保存设置。
|
||||
|
||||
要为另一个 OpenChamber 应用创建连接链接,请使用:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
运行 `openchamber connect-url --help` 可查看所有链接选项,包括 `--name`、`--lan`、`--server`、`--api-only`、`--ui-password` 和 `--qr`。
|
||||
|
||||
你仍然可以独立管理这个运行中服务的隧道:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -24,6 +24,18 @@ OpenChamber 会引导你完成各个步骤 — 检查连接、设置远程、启
|
||||
|
||||
你来决定是保存 SSH 和 UI 密码,还是每次都输入它们。如果连接断开,OpenChamber 会报告哪一步失败了,以便你修复它 — 参阅 [远程访问](/zh-cn/troubleshooting/remote-access/)。
|
||||
|
||||
## 直接连接链接
|
||||
|
||||
如果远程机器已经在运行 OpenChamber,请在那台机器上创建连接链接,然后在 **Settings → Remote Instances → Server links** 中导入:
|
||||
|
||||
```bash
|
||||
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
|
||||
```
|
||||
|
||||
如果该端口上没有服务器,`connect-url` 会先启动服务器。使用 `--api-only` 可启动 headless 服务器,`--lan` 可在启动时绑定到 LAN,`--ui-password` 可保护浏览器访问,`--name` 可为保存的连接命名。
|
||||
|
||||
生成的链接包含 OpenChamber 应用使用的 client token。这个 token 独立于浏览器 UI 密码,并会在服务器重启后继续有效,直到你撤销或删除它。
|
||||
|
||||
## 相关内容
|
||||
|
||||
- [OpenCode Server](/zh-cn/opencode-server/) — 在网页端或 VS Code 中连接到远程服务器
|
||||
|
||||
@@ -30,6 +30,8 @@ ngrok config add-authtoken <your-ngrok-token>
|
||||
openchamber
|
||||
```
|
||||
|
||||
如果跳过这一步,`openchamber tunnel start` 可以自动启动 CLI 服务器。自动启动时可以传入服务器选项,例如 `--port`、`--host`、`--lan`、`--ui-password` 和 `--api-only`。
|
||||
|
||||
2. 启动 Cloudflare 隧道:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user