Add Japanese locale (ja) support (#1810)
* Add Japanese locale (ja) support - New: ja.ts with 2624 UI translation keys - New: ja.settings.ts with 1789 settings translation keys - Registered ja in runtime.ts (Locale type, LOCALES, LOCALE_LABEL_KEYS, normalizeLocale) - Added ja-JP BCP-47 mapping in intl.ts - Added JA_MESSAGES in bootstrap.ts - Added ja to lazy-load dictionary map in store.ts - Updated messages.test.ts with ja dictionary - Added common.language.japanese to all 8 existing locale files * fix(i18n): complete Japanese locale updates * test(i18n): enforce locale key parity * docs: add Japanese documentation --------- Co-authored-by: yuchi0531 <yuchi0531@users.noreply.github.com> Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
yuchi0531
Bohdan Triapitsyn
parent
b384deb812
commit
eb051f969e
@@ -203,12 +203,13 @@ other language mirrors the English files under a locale folder.
|
||||
| Korean | `ko/` | `ko` |
|
||||
| Polish | `pl/` | `pl` |
|
||||
| French | `fr/` | `fr` |
|
||||
| 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`, `ja`, `en`) is identical
|
||||
> in both columns.
|
||||
|
||||
This locale set is mirrored in the website at
|
||||
@@ -230,6 +231,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 +268,8 @@ to each section and item in `sidebar.config.json`:
|
||||
"pt-BR": "Comece aqui",
|
||||
"ko": "여기서 시작",
|
||||
"pl": "Zacznij tutaj",
|
||||
"fr": "Commencer ici"
|
||||
"fr": "Commencer ici",
|
||||
"ja": "ここから開始"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -279,7 +282,8 @@ to each section and item in `sidebar.config.json`:
|
||||
"pt-BR": "Instalação",
|
||||
"ko": "설치",
|
||||
"pl": "Instalacja",
|
||||
"fr": "Installation"
|
||||
"fr": "Installation",
|
||||
"ja": "インストール"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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,38 @@
|
||||
---
|
||||
title: コンテキスト
|
||||
description: セッションがモデルの記憶容量をどれだけ使っているかを確認します。
|
||||
---
|
||||
|
||||
# コンテキスト
|
||||
|
||||
どのモデルも、一度に保持できる会話量には上限があります。これがコンテキストです。OpenChamber はその使用量を表示するので、セッションが上限に近づき、返信で古い詳細が抜け始める可能性があるタイミングを把握できます。
|
||||
|
||||
## クイックインジケーター
|
||||
|
||||
チャット中は、小さなゲージが使用済みコンテキストの割合を表示します。埋まるにつれて色が変わります。
|
||||
|
||||
- 緑 — まだ十分な余裕があります
|
||||
- 黄 — かなり埋まっています(約 4 分の 3)
|
||||
- 赤 — ほぼ満杯です
|
||||
|
||||
ホバーするか、モバイルではタップすると、正確なトークン数を確認できます。
|
||||
|
||||
## 完全なコンテキストパネル
|
||||
|
||||
右サイドバーの **Context** タブを開くと、現在のセッションをより詳しく確認できます。
|
||||
|
||||
- 使用中のモデルとセッション開始時刻
|
||||
- モデルの上限に対する合計トークン数
|
||||
- メッセージ数とコスト合計
|
||||
- 直近の返信のトークン内訳
|
||||
- 何がコンテキストを占めているかの大まかな内訳(あなたのメッセージ、エージェントのメッセージ、ツール出力)
|
||||
|
||||
この内訳は正確なカウントではなく推定です。課金確認ではなく、何がウィンドウを埋めているかを見るために使ってください。
|
||||
|
||||
## 満杯になったら
|
||||
|
||||
1 つのセッションを永遠に伸ばすのではなく、新しいタスクには新しいセッションを開始してください。短いコンテキストのほうが速く、モデルの集中も保ちやすくなります。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロジェクト](/projects/) — セッションはプロジェクトごとにまとめられます
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: デスクトップブラウザ
|
||||
description: デスクトップアプリ内で任意のページを開き、検査とコンソール取得を使います。
|
||||
---
|
||||
|
||||
# デスクトップブラウザ
|
||||
|
||||
デスクトップアプリには組み込みブラウザがあります。チャットのすぐ横で任意のページを開き、要素を指して質問したり、ページのコンソールを取得したりできます。アプリヘッダーの地球儀ボタンから開きます。
|
||||
|
||||
> デスクトップブラウザは**デスクトップ専用**機能です。Web では、[プレビュー](/preview/) パネルがローカル開発サーバー向けに同じ検査・コンソールツールを提供します。
|
||||
|
||||
## 検査して注釈を付ける
|
||||
|
||||
**inspect** をオンにして、ページ上の任意の要素をクリックします。OpenChamber はその要素について、何であるか、スタイル、位置、スクリーンショットを含むメモを取得し、チャットメッセージに添付します。エージェントに「この要素、ここ」と伝える最短の方法です。
|
||||
|
||||
## コンソール取得
|
||||
|
||||
ブラウザはページのコンソール出力(エラー、警告、ログ)を集めるので、開発者ツールを開かずにフィルターして読めます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プレビューと開発サーバー](/preview/) — ローカル開発サーバー向けの同じツール
|
||||
@@ -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,26 @@
|
||||
---
|
||||
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 と GitHub ワークフロー](/git/) — これらのプロンプトの多くが Git フローを支えています
|
||||
@@ -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/) — エージェントができることを広げる別の方法
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: PWA とモバイルアクセス
|
||||
description: OpenChamber をアプリとしてインストールし、スマートフォンから使います。
|
||||
---
|
||||
|
||||
# PWA とモバイルアクセス
|
||||
|
||||
OpenChamber の Web アプリはスマートフォンアプリのようにインストールできます(PWA)。ホーム画面に置いて全画面で使えます。[トンネル](/tunnels/) と組み合わせると、どこからでもセッションを確認できます。
|
||||
|
||||
## インストールする
|
||||
|
||||
OpenChamber はブラウザ組み込みのインストール機能を使うため、別途ダウンロードは不要です。
|
||||
|
||||
- **デスクトップブラウザ** — アドレスバーの **Install** オプションを使います
|
||||
- **iPhone/iPad (Safari)** — 共有 → **ホーム画面に追加**
|
||||
- **Android (Chrome)** — メニュー → **アプリをインストール** / **ホーム画面に追加**
|
||||
|
||||
インストール後は、ブラウザの枠がない専用ウィンドウで開きます。
|
||||
|
||||
## スマートフォンからアクセスする
|
||||
|
||||
サーバーがコンピューター上で動いている OpenChamber をスマートフォンで開くには、[トンネル](/tunnels/) を開始し、スマートフォンでリンクを開く(または QR コードをスキャンする)だけです。この操作をするときは必ず強力な [UI パスワード](/security/) を使ってください。
|
||||
|
||||
## モバイル設定
|
||||
|
||||
**Settings → OpenChamber** には、モバイルやインストール済みアプリの体験を調整するいくつかのオプションがあります。インストール名、画面の向き、オンスクリーンキーボードの動作などです。
|
||||
|
||||
## 関連
|
||||
|
||||
- [トンネル](/tunnels/) — 別ネットワークからインスタンスにアクセスする
|
||||
- [セキュリティ](/security/) — 公開する前に UI を保護する
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Multi-run
|
||||
description: 同じプロンプトを複数のモデルまたはセッションで同時に実行します。
|
||||
---
|
||||
|
||||
# Multi-run
|
||||
|
||||
Multi-run は 1 つのフォームから複数のセッションを起動します。同じタスクを異なるモデルで試し、結果を比較するのに便利です。セッションサイドバー上部のボタンから開きます。
|
||||
|
||||
## Multi-run を開始する
|
||||
|
||||
1. Multi-run ランチャーを開きます。
|
||||
2. プロジェクトを選び、実行グループに名前を付けます。
|
||||
3. プロンプトを書き、それを実行するモデルを選びます(1 グループにつき最大 5 つ)。
|
||||
4. **isolate runs** するかどうかを選びます。
|
||||
5. 起動します。
|
||||
|
||||
各モデルには独自のセッションが作られ、すべて同じプロンプトから始まります。
|
||||
|
||||
## 分離実行
|
||||
|
||||
**isolate runs** をオンにすると、各実行に独自の [worktree](/worktrees/) とブランチが与えられ、同じファイルに触れないようになります。これには Git リポジトリが必要です。Git リポジトリではないフォルダでは自動的にオフになります。実行の開始元ブランチを選んでください。
|
||||
|
||||
分離をオフにすると、各実行はプロジェクトフォルダ内の通常のセッションになります。
|
||||
|
||||
## 結果を比較する
|
||||
|
||||
各実行は通常のセッションなので、開いて読み、残すか破棄するか選べます。アプローチを比較するために実行した場合は、横に並べて確認し、最良のものを先へ進めてください。
|
||||
|
||||
1 つの実行だけ開始に失敗しても、他の実行は起動します。要求した数より少ないセッションが表示されるだけです。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Worktree セッション](/worktrees/) — 分離が内部でどう動くか
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: プロジェクトのメモ、Todo、計画
|
||||
description: プロジェクトごとにメモ、Todo リスト、保存済み計画を保持します。
|
||||
---
|
||||
|
||||
# プロジェクトのメモ、Todo、計画
|
||||
|
||||
各プロジェクトには、メモ、Todo リスト、保存済み計画のための専用スペースがあります。これらは特定のセッションではなくプロジェクトに属するため、セッションを移動しても残ります。右サイドバーの **Context** タブ(モバイルでは専用タブ)で見つけられます。
|
||||
|
||||
## メモ
|
||||
|
||||
プロジェクトについて覚えておきたいことを自由に書けるメモ欄です。入力すると自動で保存されます。
|
||||
|
||||
## Todo
|
||||
|
||||
シンプルなチェックリストです。項目を追加し、チェックを付け、ドラッグで並び替え、完了したものを消去できます。
|
||||
|
||||
各 Todo には **send** メニューがあり、エージェントに渡せます。
|
||||
|
||||
- 現在のセッションに送る
|
||||
- それを使って新しいセッションを開始する
|
||||
- それを使って新しい [worktree セッション](/worktrees/) を開始する(プロジェクトが Git リポジトリの場合のみ)
|
||||
|
||||
## 計画
|
||||
|
||||
長めの計画を保存済みファイルとして置いておく場所です。次のことができます。
|
||||
|
||||
- Markdown またはテキストファイルから計画をインポートする
|
||||
- 計画を開いてサイドパネルで読む
|
||||
- 不要になった計画を削除する
|
||||
|
||||
メモが保存され、Todo がチェックされ、または計画が一覧に表示された状態で Context タブに戻れば、操作が反映されたことが分かります。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Worktree セッション](/worktrees/) — Todo を専用ブランチで実行する
|
||||
- [プロジェクト](/projects/) — これらはアクティブなプロジェクトに属します
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: 通知
|
||||
description: セッションがあなたを必要とするとき、または完了したときに知らせます。
|
||||
---
|
||||
|
||||
# 通知
|
||||
|
||||
通知は、画面を見張っていなくても注意が必要なことを知らせます。セッションの完了、エラー、質問、何かを行うための権限要求などです。**Settings → OpenChamber → Notifications** で設定します。
|
||||
|
||||
## オンにする
|
||||
|
||||
1. **Settings → OpenChamber → Notifications** を開きます。
|
||||
2. ブラウザまたはシステムが求めたら通知を許可します。
|
||||
3. 何について通知を受けたいか選びます。
|
||||
- セッションが**完了**した
|
||||
- セッションで**エラー**が起きた
|
||||
- セッションが**質問**した
|
||||
- セッションが**権限**を必要としている
|
||||
- **サブタスク**が完了した
|
||||
|
||||
## 通知の届き方
|
||||
|
||||
- **デスクトップ**では、ネイティブのシステム通知を受け取ります
|
||||
- **ブラウザまたはインストール済みアプリ**では、Web Push 通知を受け取るため、タブがバックグラウンドでも届きます
|
||||
|
||||
自動承認に設定されたセッションでは、権限通知で何度も邪魔されることはありません。
|
||||
|
||||
## 文言をカスタマイズする
|
||||
|
||||
通知の種類ごとに、エージェント名やモデルなどのフィールドを使ったタイトルとメッセージテンプレートを編集できます。直近メッセージをどれだけ含めるかにも上限があり、通知が短く保たれます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [音声モード](/voice/) — 代わりに返信を読み上げで聞く
|
||||
@@ -0,0 +1,97 @@
|
||||
---
|
||||
title: OpenCode サーバー
|
||||
description: OpenChamber をローカルまたはリモートの OpenCode サーバーに接続します。
|
||||
---
|
||||
|
||||
# OpenCode サーバー
|
||||
|
||||
OpenChamber は OpenCode サーバーの上で動作します。デフォルトでは OpenChamber がサーバーを起動するため、何もする必要はありません。このページが必要なのは、すでに実行しているサーバーに OpenChamber を向けたい場合、または OpenChamber が起動するサーバーを管理したい場合だけです。
|
||||
|
||||
## OpenChamber がサーバーを見つける順序
|
||||
|
||||
OpenChamber の起動時、次の順序でサーバーを探します。
|
||||
|
||||
1. すでに起動済みのサーバーを再利用する
|
||||
2. 指定されていれば外部サーバーに接続する(下記参照)
|
||||
3. デフォルトポート(`4096`)のサーバーを自動検出する
|
||||
4. それ以外の場合は、自分でサーバーを起動して管理する
|
||||
|
||||
何も設定されていなければ、手順 4 が自動的に実行され、そのまま使えるようになります。
|
||||
|
||||
## すでに実行しているサーバーに接続する
|
||||
|
||||
OpenChamber を起動する前に次を設定します。
|
||||
|
||||
```bash
|
||||
OPENCODE_HOST=http://localhost:4096 OPENCODE_SKIP_START=true openchamber
|
||||
```
|
||||
|
||||
- `OPENCODE_HOST` — ポートを含む OpenCode サーバーの完全なアドレスです(`http://localhost:4096` のような値)。末尾にパスを付けてはいけません。
|
||||
- `OPENCODE_SKIP_START=true` — OpenChamber に自分のサーバーを起動しないよう伝えます。
|
||||
|
||||
ポートだけを変えたい場合は、`OPENCODE_HOST` ではなく `OPENCODE_PORT` を設定します。
|
||||
|
||||
`OPENCODE_HOST` にポートがない、またはパスが含まれている場合、OpenChamber はそれを無視し、自分のサーバー起動にフォールバックします。期待した接続が行われなかった場合は、起動ログの `[config]` 警告を確認してください。
|
||||
|
||||
## CLI からサーバーを管理する
|
||||
|
||||
```bash
|
||||
openchamber status
|
||||
openchamber logs
|
||||
openchamber restart
|
||||
openchamber stop
|
||||
```
|
||||
|
||||
`openchamber` だけを実行すると、サーバーはバックグラウンドで起動します。ターミナルに接続したままにするには `--foreground` を追加します。
|
||||
|
||||
## ログイン時に OpenChamber を起動する
|
||||
|
||||
`startup enable` を使うと、ネイティブのユーザーサービスをインストールできます。OpenChamber は macOS では `launchd`、Linux では `systemd --user`、Windows では Task Scheduler を使います。
|
||||
|
||||
```bash
|
||||
openchamber startup enable
|
||||
openchamber startup status
|
||||
openchamber startup disable
|
||||
```
|
||||
|
||||
UI を保護するには、サービスを有効化するときにパスワードを設定します。
|
||||
|
||||
```bash
|
||||
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
|
||||
```
|
||||
|
||||
ログイン時に起動し、デスクトップまたはモバイルクライアント向けに使うヘッドレスサーバーでは、`--api-only` と到達可能な host を含めます。
|
||||
|
||||
```bash
|
||||
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret
|
||||
```
|
||||
|
||||
`startup enable` は現在の環境をサービスにスナップショットするため、同じシェルから `openchamber` を起動した場合に近い動作になります。これにより、プロバイダートークン、`PATH`、SSH agent 設定、その他の CLI 認証/設定変数が利用できます。最小限のサービス環境にしたい場合は `--no-env-snapshot` を使ってください。
|
||||
|
||||
スタートアップサービスは `--port`、`--host`、`--ui-password`、`--api-only` を記憶します。CLI の restart と update 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
|
||||
openchamber tunnel start --port 3000
|
||||
openchamber tunnel stop --port 3000
|
||||
```
|
||||
|
||||
トンネルを停止しても、サービスやアプリは再起動されません。
|
||||
|
||||
## "OpenCode is restarting"
|
||||
|
||||
サーバーの起動中または再起動中、OpenChamber は "OpenCode is restarting" 状態を表示し、準備が整うまでリクエストを一時停止します。これは起動直後や再起動直後には正常です。いつまでも消えない場合は、[OpenCode 接続](/troubleshooting/opencode-connection/) を参照してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロバイダー、モデル、エージェント](/providers/) — サーバーの接続先を設定する
|
||||
- [OpenCode 接続](/troubleshooting/opencode-connection/) — 接続できない場合
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
title: プレビューと開発サーバー
|
||||
description: 実行中の開発サーバーを OpenChamber 内で開きます。
|
||||
---
|
||||
|
||||
# プレビューと開発サーバー
|
||||
|
||||
開発サーバーを起動すると、OpenChamber は別のブラウザタブではなくアプリ内で直接開けます。サイトをチャットの横で見ながら、コンソールを取得し、要素を指して質問できます。
|
||||
|
||||
## プレビューを開く
|
||||
|
||||
OpenChamber はターミナル出力からローカルアドレスを監視します(Vite、Next.js、Astro などが表示する `Local:` 行)。見つけると次のことができます。
|
||||
|
||||
- ターミナルに **Open preview** ボタンが表示されます
|
||||
- 自動オープンを有効にした [プロジェクトアクション](/project-actions/) が開きます
|
||||
- チャットメッセージ内のローカルリンクからも開けます
|
||||
|
||||
サイトはサイドパネルに読み込まれます。プレビューできるのはローカルアドレス(あなたのマシン上)のみです。
|
||||
|
||||
## コンソールと検査
|
||||
|
||||
プレビューパネルでは次のことができます。
|
||||
|
||||
- ページの **console** を見る — エラー、警告、ログを好きなようにフィルターできます
|
||||
- **inspect** をオンにし、任意の要素をクリックして、そのメモ(セレクター、スタイル、位置、スクリーンショット)をそのままチャットへ送る
|
||||
|
||||
これは「このボタン、ここ」とエージェントに伝える最速の方法です。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロジェクトアクション](/project-actions/) — サーバー起動時に自動で開く
|
||||
- [デスクトップブラウザ](/desktop-browser/) — デスクトップで任意のページに同じツールを使う
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: プロジェクトアクション
|
||||
description: よく実行するコマンドを保存し、ワンクリックで起動します。
|
||||
---
|
||||
|
||||
# プロジェクトアクション
|
||||
|
||||
プロジェクトアクションは、一度保存してクリックで実行できるシェルコマンドです。開発サーバー、ビルド、テスト実行などに使えます。各プロジェクトが独自の一覧を持ちます。**Settings → Projects → Project Actions** で設定します。
|
||||
|
||||
## アクションを追加する
|
||||
|
||||
1. **Settings → Projects** を開き、**Project Actions** セクションを見つけます。
|
||||
2. アクションを追加し、名前を付け、アイコンを選び、実行するコマンドを入力します。
|
||||
3. 保存します。
|
||||
|
||||
コマンドが特定の OS でしか意味を持たない場合は、アクションをその OS に限定できます。
|
||||
|
||||
## アクションを実行する
|
||||
|
||||
アクションはアプリヘッダーのメニューにあります。クリックすると、OpenChamber はプロジェクトフォルダ内のターミナルで実行し、出力を見られるようにターミナルビューへ切り替えます。同じメニューから停止できます。
|
||||
|
||||
## 開発サーバーを自動で開く
|
||||
|
||||
サーバーを起動するアクションでは **auto-open URL** をオンにします。OpenChamber は出力からローカルアドレスを監視し、開く候補として表示します。[プレビューと開発サーバー](/preview/) を参照してください。デスクトップでは SSH ポートフォワード経由にすることもできます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プレビューと開発サーバー](/preview/) — 実行中の開発サーバーを OpenChamber 内で開く
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: プロジェクトアイコン
|
||||
description: 各プロジェクトに見分けやすいアイコンを付けます。
|
||||
---
|
||||
|
||||
# プロジェクトアイコン
|
||||
|
||||
プロジェクトアイコンがあると、プロジェクトをひと目で見分けやすくなります。OpenChamber は自動で見つけようとしますが、自分で設定することもできます。**Settings → Projects** で管理します。
|
||||
|
||||
## 自動検出
|
||||
|
||||
プロジェクトを追加すると、OpenChamber はその中の `favicon` ファイルを探し、プロジェクトアイコンとして使います。リポジトリにすでに favicon が含まれていれば、多くの場合アイコンは自動で表示されます。何もする必要はありません。
|
||||
|
||||
## 自分で設定する
|
||||
|
||||
**Settings → Projects** を開き、画像をアップロードします(PNG、JPEG、SVG、最大 5 MB)。カスタム画像は自動検出されたものより優先されます。代わりに色を選ぶことも、画像を削除して自動検出に戻すこともできます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロジェクト](/projects/) — プロジェクトの名前、色、整理
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: プロジェクト
|
||||
description: 作業をプロジェクトに整理し、切り替えます。
|
||||
---
|
||||
|
||||
# プロジェクト
|
||||
|
||||
プロジェクトは、OpenChamber が追跡するあなたのコンピューター上のフォルダです。通常は 1 つのコードベースです。プロジェクトを切り替えると、エージェントが作業するフォルダ、そのプロジェクトのセッション、設定も切り替わります。
|
||||
|
||||
## プロジェクトを追加する
|
||||
|
||||
プロジェクトは複数の場所から追加できます。
|
||||
|
||||
- コマンドパレットの **Add project** 項目
|
||||
- セッションサイドバー上部の **+** ボタン
|
||||
- ディレクトリを選ぶときのフォルダブラウザ
|
||||
|
||||
フォルダを指定すると、OpenChamber が記憶します。名前はフォルダ名から取られますが、後で変更できます。
|
||||
|
||||
## プロジェクトを切り替える
|
||||
|
||||
サイドバーからプロジェクトを選ぶとアクティブになります。セッション、Git、メモなどすべてが、開いているプロジェクトに追従します。
|
||||
|
||||
## プロジェクトを見分けやすくする
|
||||
|
||||
**Settings → Projects** を開くと、プロジェクトにカスタム名、色、アイコンを設定できます。OpenChamber はアイコンを自動で探します。[プロジェクトアイコン](/project-icons/) を参照してください。
|
||||
|
||||
> VS Code では、OpenChamber は開いているフォルダを常に唯一のプロジェクトとして使います。そのため追加や切り替えはありません。Projects 設定ページも表示されません。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロジェクトのメモ、Todo、計画](/notes-todos-plans/) — プロジェクトごとに作業メモを保持する
|
||||
- [プロジェクトアクション](/project-actions/) — よく実行するコマンドを保存する
|
||||
- [コンテキスト](/context/) — セッションがモデルの記憶容量をどれだけ使っているかを見る
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: プロバイダー、モデル、エージェント
|
||||
description: AI プロバイダーを接続し、モデルを選び、エージェントを設定します。
|
||||
---
|
||||
|
||||
# プロバイダー、モデル、エージェント
|
||||
|
||||
OpenChamber が何かを行うには、少なくとも 1 つの AI プロバイダーが接続されている必要があります。このページでは、プロバイダーの接続、モデルの選択、エージェントの調整について説明します。
|
||||
|
||||
## プロバイダーを接続する
|
||||
|
||||
1. **Settings → Providers** を開きます。
|
||||
2. **Add provider** メニューを開き、まだ接続されていないプロバイダーを選びます。
|
||||
3. プロバイダーに応じて、次のどちらかの方法でサインインします。
|
||||
- **API key** — キーを貼り付けて保存します。
|
||||
- **Sign-in (device flow)** — OpenChamber がリンクと短いコードを表示します。リンクを開き、コードを入力して承認します。OpenChamber が自動で接続を完了します。
|
||||
|
||||
プロバイダーが接続済みとして表示されると、そのモデルがチャットで使えるようになります。
|
||||
|
||||
切断するには、プロバイダーを開き、サインインを削除する操作を選びます。
|
||||
|
||||
## モデルを選ぶ
|
||||
|
||||
作業している場所でモデルを選びます。
|
||||
|
||||
- チャットでは、メッセージバーのモデルピッカーを使って、そのセッションのプロバイダーとモデルを設定します
|
||||
- エージェントごとに、デフォルトモデルを設定します(下記)
|
||||
|
||||
## エージェントを設定する
|
||||
|
||||
エージェントは、名前付きの設定です。モデル、人格、許可された操作をまとめます。
|
||||
|
||||
1. **Settings → Agents** を開きます。
|
||||
2. エージェントを選ぶか、新しく作成します。
|
||||
3. 次の項目を編集できます。
|
||||
- **description** — エージェントの用途
|
||||
- **model** — デフォルトモデル
|
||||
- **temperature** — 回答の創造性
|
||||
- **prompt** — 常に従う固定指示
|
||||
- **tool rules** — 使用してよいツール
|
||||
|
||||
## サインイン情報の保存場所
|
||||
|
||||
プロバイダーのサインイン情報は OpenChamber ではなく OpenCode に保存されるため、OpenCode CLI と共有されます。同じプロバイダーを複数の場所で設定した場合、最も具体的な設定が優先されます。プロジェクトごとの設定は個人設定を上書きします。
|
||||
|
||||
## 関連
|
||||
|
||||
- [MCP サーバー](/mcp/) — エージェントに追加ツールを加える
|
||||
- [使用量とクォータ](/usage/) — 使った量を追跡する
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: クイックスタート
|
||||
description: OpenChamber をすばやく始め、タスクに合ったアプリを選びます。
|
||||
---
|
||||
|
||||
# クイックスタート
|
||||
|
||||
## 最短手順
|
||||
|
||||
1. [OpenCode](https://opencode.ai) をインストールします。
|
||||
2. OpenChamber CLI をインストールします(1 行コマンドは [インストール](/install/) を参照)。
|
||||
3. `openchamber --ui-password be-creative-here` を実行します。
|
||||
4. CLI が表示する URL(通常は `http://localhost:3000`)を開きます。
|
||||
5. スマートフォンから使うには、[トンネル](/tunnels/) を開始して QR コードをスキャンします。
|
||||
|
||||
ブラウザに OpenChamber のセッション一覧が表示されるはずです。読み込まれれば、起動できています。
|
||||
|
||||
特にインスタンスをインターネットに公開する予定がある場合は、強力な UI パスワードを使ってください。
|
||||
|
||||
ページが読み込まれない場合は、[トラブルシューティング](/troubleshooting/) を確認してください。
|
||||
|
||||
## どのアプリを使うべきですか?
|
||||
|
||||
- macOS での日常作業には **desktop** を使います
|
||||
- リモートアクセスやスマートフォンからの確認には **web** を使います
|
||||
- コードのすぐ横でセッションを使うには **VS Code** を使います
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: リモートインスタンス
|
||||
description: デスクトップアプリを SSH 経由で別マシン上の OpenChamber に接続します。
|
||||
---
|
||||
|
||||
# リモートインスタンス
|
||||
|
||||
デスクトップアプリは、作業サーバー、クラウドマシン、ホームラボなど、別マシン上で動く OpenChamber に SSH 経由で接続し、その UI をローカルのように画面へ表示できます。**Settings → Remote Instances** で設定します。
|
||||
|
||||
> リモートインスタンスは**デスクトップ専用**機能です。Web または VS Code では、代わりに [OpenCode サーバー](/opencode-server/) の環境変数を使ってリモートサーバーに接続します。
|
||||
|
||||
## リモートインスタンスを追加する
|
||||
|
||||
1. **Settings → Remote Instances** を開き、追加します。
|
||||
2. そのマシンに接続するために普段使う SSH コマンドと、ニックネームを入力します。
|
||||
3. そこで OpenChamber をどう実行するか選びます。
|
||||
- **managed** — OpenChamber がリモートマシンに自分自身をインストールして起動します
|
||||
- **external** — すでに実行中の OpenChamber に接続します
|
||||
4. 接続します。
|
||||
|
||||
OpenChamber は接続確認、リモートのセットアップ、サーバー起動、ポート転送の各ステップを進め、現在の段階を表示します。**ready** に到達すると、リモート UI がローカルに読み込まれます。
|
||||
|
||||
## 認証情報
|
||||
|
||||
SSH と UI のパスワードを保存するか、毎回入力するかを選べます。接続が落ちた場合、OpenChamber はどのステップで失敗したかを表示するため、修正できます。[リモートアクセス](/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`、起動時に LAN にバインドするには `--lan`、ブラウザアクセスを保護するには `--ui-password`、保存接続にラベルを付けるには `--name` を追加します。
|
||||
|
||||
生成されたリンクには OpenChamber アプリ用のクライアントトークンが含まれます。このトークンはブラウザ UI パスワードとは別で、取り消すか削除するまでサーバー再起動後も残ります。
|
||||
|
||||
## 関連
|
||||
|
||||
- [OpenCode サーバー](/opencode-server/) — Web または VS Code でリモートサーバーに接続する
|
||||
- [リモートアクセス](/troubleshooting/remote-access/) — 接続が完了しない場合
|
||||
@@ -0,0 +1,347 @@
|
||||
---
|
||||
title: リバースプロキシ
|
||||
description: Nginx、Nginx Proxy Manager、その他のリバースプロキシの背後で OpenChamber を正しく設定します。
|
||||
---
|
||||
|
||||
# リバースプロキシ
|
||||
|
||||
Nginx、Nginx Proxy Manager、Caddy、Cloudflare、その他のリバースプロキシの背後で OpenChamber を実行する場合は、このページを使ってください。
|
||||
|
||||
## プロキシする前に
|
||||
|
||||
1. まず OpenChamber が直接動くことを確認します。
|
||||
2. 同じネットワークから `http://<server-ip>:3000` またはカスタムポートを開きます。
|
||||
3. 直接接続が動いてから、リバースプロキシを追加します。
|
||||
|
||||
## プロキシが対応すべきもの
|
||||
|
||||
- ライブメッセージ転送用の WebSocket:
|
||||
- `/api/event/ws`
|
||||
- `/api/global/event/ws`
|
||||
- `/api/terminal/ws`
|
||||
- バッファリングなしの SSE:
|
||||
- `/api/event`
|
||||
- `/api/global/event`
|
||||
- `/api/notifications/stream`
|
||||
- `/api/openchamber/events`
|
||||
- `/api/terminal/:sessionId/stream`
|
||||
- 添付ファイルとファイル操作向けの大きなリクエストボディ
|
||||
- ライブストリームとターミナルセッション向けの長い read timeout
|
||||
|
||||
## 重要なルール
|
||||
|
||||
- WebSocket プロキシを有効にします。
|
||||
- SSE ルートではバッファリングを無効にします。
|
||||
- OpenChamber がすでにレスポンスを圧縮している場合、プロキシ側の gzip を無効にします。
|
||||
- 圧縮を有効にする層は 1 つだけにします。
|
||||
- `Host`、`X-Forwarded-For`、`X-Forwarded-Proto` など通常のプロキシヘッダーを転送します。
|
||||
- ユーザーがファイルをアップロードする場合は body size limit を増やします。
|
||||
|
||||
## クイックチェックリスト
|
||||
|
||||
- OpenChamber に LAN から直接到達できる
|
||||
- プロキシで WebSocket が有効
|
||||
- SSE ルートのバッファリングがオフ
|
||||
- プロキシホストで `gzip off`、または別の方法でプロキシ圧縮が無効
|
||||
- `client_max_body_size` が添付ファイルに十分な大きさ
|
||||
- `proxy_read_timeout` がストリームに十分長い
|
||||
|
||||
## 例: Nginx
|
||||
|
||||
<details>
|
||||
<summary>設定例を表示</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>
|
||||
|
||||
## 例: Nginx Proxy Manager
|
||||
|
||||
<details>
|
||||
<summary>Advanced タブの例を表示</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>
|
||||
|
||||
このホストでは Nginx Proxy Manager の `Websockets Support` も有効にしてください。
|
||||
|
||||
## よくある失敗の兆候
|
||||
|
||||
### ページは読み込まれるが、メッセージ送信に失敗する
|
||||
|
||||
- プロキシで WebSocket が有効になっていません
|
||||
- `/api/event/ws` または `/api/global/event/ws` が正しく通っていません
|
||||
|
||||
### 通知またはライブ状態が更新されない
|
||||
|
||||
- SSE ルートのどれかがバッファリングまたはキャッシュされています
|
||||
- `X-Accel-Buffering "no"` がありません
|
||||
|
||||
### ファイルアップロードに失敗する
|
||||
|
||||
- `client_max_body_size` が小さすぎます
|
||||
|
||||
### ローカルではすべて動くが、プロキシ背後でだけ壊れる
|
||||
|
||||
- プロキシがライブ通信を圧縮またはバッファリングしています
|
||||
- プロキシに WebSocket 対応がありません
|
||||
|
||||
## 例: Caddy
|
||||
|
||||
<details>
|
||||
<summary>設定例を表示</summary>
|
||||
|
||||
```caddy
|
||||
reverse_proxy 127.0.0.1:3000 {
|
||||
# WebSocket support is automatic in Caddy
|
||||
|
||||
# Flush SSE responses immediately
|
||||
flush_interval -1
|
||||
|
||||
# Pass through Host and proxy headers
|
||||
header_up Host {host}
|
||||
header_up X-Real-IP {remote_host}
|
||||
header_up X-Forwarded-For {remote_host}
|
||||
header_up X-Forwarded-Proto {scheme}
|
||||
|
||||
# Increase timeouts for long-lived streams
|
||||
transport http {
|
||||
read_timeout 3600s
|
||||
write_timeout 3600s
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Caddy は WebSocket upgrade を自動で処理します。追加設定は不要です。`flush_interval -1` ディレクティブにより、SSE チャンクがバッファリングされずすぐ転送されます。
|
||||
|
||||
## CDN と二重圧縮の警告
|
||||
|
||||
リバースプロキシの前に Cloudflare などの CDN を置く場合、二重圧縮に注意してください。
|
||||
|
||||
- OpenChamber は HTTP レスポンスを gzip 圧縮します(しきい値 1 KB)。
|
||||
- Cloudflare や他の CDN もデフォルトでレスポンスを圧縮します。
|
||||
- これにより、二重圧縮されたレスポンスや誤った `Content-Encoding` ヘッダーが発生することがあります。
|
||||
|
||||
これを避けるには、**どちらか一方**の層で圧縮を無効にします。
|
||||
|
||||
- **Cloudflare:** Rules → Compression → disable(または "Passthrough" mode を使用)。
|
||||
- **Nginx:** `gzip off`(上の例に含まれています)。
|
||||
- **Caddy:** upstream がすでに圧縮済みコンテンツを送る場合、Caddy はデフォルトでは再圧縮しません。
|
||||
|
||||
SSE ストリーミングルートは OpenChamber 側で圧縮対象外ですが、CDN がまだバッファリングする場合があります。SSE パスでバッファリングを無効にする方法は、CDN のドキュメントを確認してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [トンネル](/tunnels/)
|
||||
- [トラブルシューティング](/troubleshooting/)
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: スケジュールタスク
|
||||
description: プロンプトをスケジュールに従って自動実行します。
|
||||
---
|
||||
|
||||
# スケジュールタスク
|
||||
|
||||
スケジュールタスクは、たとえば毎日の「昨日の変更を要約」や毎週の整理のように、指定したスケジュールでプロンプトを実行します。実行時には OpenChamber が新しいセッションを開始し、自動でプロンプトを送信します。セッションサイドバー上部のボタンからスケジューラーを開きます。
|
||||
|
||||
## タスクを作成する
|
||||
|
||||
1. セッションサイドバーからスケジュールタスクダイアログを開きます。
|
||||
2. タスクを追加し、名前を付けます。
|
||||
3. 実行タイミングを選びます。
|
||||
- **daily** — 毎日 1 つ以上の時刻
|
||||
- **weekly** — 選んだ曜日と時刻
|
||||
- **once** — 1 回だけの日時
|
||||
4. 実行内容を設定します。送信するプロンプト、使用するプロバイダー、モデル、エージェントです。プロンプトには `/review` のようなスラッシュコマンドも使えます。
|
||||
5. 保存し、タスクが有効になっていることを確認します。
|
||||
|
||||
任意のタスクは **run now** ですぐ実行でき、期待通り動くか確認できます。
|
||||
|
||||
## 成功時の見え方
|
||||
|
||||
実行後、タスクには最後に実行された時刻、成功したかどうか、作成されたセッションへのリンクが表示されます。実行に失敗した場合は、エラーもそこに表示されます。
|
||||
|
||||
## 注意点
|
||||
|
||||
タスクは OpenChamber サーバーが実行中の間だけ発火します。閉じると、サーバーが戻るまでスケジュール実行は一時停止します。
|
||||
|
||||
## 関連
|
||||
|
||||
- [コマンドとスニペット](/commands-snippets/) — スラッシュコマンドをプロンプトとして再利用する
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: セキュリティ
|
||||
description: 公開する前に、パスワードとパスキーで UI を保護します。
|
||||
---
|
||||
|
||||
# セキュリティ
|
||||
|
||||
OpenChamber はあなたのマシンとコードへのアクセスを提供するため、あなた以外が到達できるようにする前に必ず保護してください。このページでは UI パスワード、パスキー、ネットワークに OpenChamber を公開する前に知っておくべきことを説明します。
|
||||
|
||||
## UI パスワードを設定する
|
||||
|
||||
パスワード付きで OpenChamber を起動すると、ブラウザ UI がそれを要求します。
|
||||
|
||||
```bash
|
||||
openchamber --ui-password be-creative-here
|
||||
```
|
||||
|
||||
コマンドラインに書く代わりに、`OPENCHAMBER_UI_PASSWORD` 環境変数で設定することもできます。サインイン後、OpenChamber はしばらくそのデバイスを記憶するため、毎回求められることはありません。
|
||||
|
||||
インスタンスが自分以外から到達可能な場合は、必ずパスワードを設定してください。特に [トンネル](/tunnels/) や public internet 経由の場合は重要です。
|
||||
|
||||
## パスキー
|
||||
|
||||
パスワードを設定すると、より速くサインインするためにパスキー(Face ID、Touch ID、セキュリティキー)を追加できます。**Settings → OpenChamber → Passkeys** で追加します。
|
||||
|
||||
パスキーは現在のパスワードに紐づきます。パスワードを変更または削除すると、保存済みパスキーは消去され、再追加が必要になります。
|
||||
|
||||
## 公開する前に
|
||||
|
||||
- デフォルトでは、OpenChamber はあなたのマシン上(`127.0.0.1`)でのみ待ち受けます。より広く待ち受けるには明示的な変更が必要で、その前にパスワードを設定するべきです。
|
||||
- インターネットにポートを開けるより、[トンネル](/tunnels/) または VPN のようなプライベートネットワークを推奨します。
|
||||
- OpenChamber を自分の HTTPS サーバーの背後に置く場合は、[リバースプロキシ](/reverse-proxy/) を参照してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [トンネル](/tunnels/) — インスタンスへリモートアクセスする推奨方法
|
||||
- [リバースプロキシ](/reverse-proxy/) — OpenChamber を自分のサーバー背後で実行する
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: スキルカタログ
|
||||
description: 既製のスキルを探してインストールします。
|
||||
---
|
||||
|
||||
# スキルカタログ
|
||||
|
||||
Skills Catalog では、自分で書く代わりに、他の人が公開したスキルをインストールできます。**Settings → Skills → Catalog** から開きます。
|
||||
|
||||
自分でスキルを書く場合は、[スキル](/skills/) を参照してください。
|
||||
|
||||
## スキルをインストールする
|
||||
|
||||
1. カタログを開きます。
|
||||
2. 組み込みソース(Anthropic skills repo と ClawdHub community registry)を閲覧するか、検索します。
|
||||
3. スキルを選び、インストールします。
|
||||
4. インストール先を選びます。すべての作業で使うか、現在のプロジェクトだけで使うかです。
|
||||
|
||||
同じ名前のスキルがすでにある場合、OpenChamber はどうするかを確認します。スキップ、上書き、またはスキルごとに判断できます。
|
||||
|
||||
## 独自ソースを追加する
|
||||
|
||||
任意の Git リポジトリを、`owner/repo` 名または完全な Git URL でソースとして追加できます。プライベートリポジトリには、あなたのマシン上でアクセス設定(SSH キーまたは保存済み認証情報)が必要です。ソースが認証できない場合、カタログは黙って失敗せず、その旨を表示します。
|
||||
|
||||
## 関連
|
||||
|
||||
- [スキル](/skills/) — インストール済みスキルを作成・管理する
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: スキル
|
||||
description: エージェントが必要に応じて読み込む再利用可能な指示を作成します。
|
||||
---
|
||||
|
||||
# スキル
|
||||
|
||||
スキルは、関連があるときにエージェントが取り込める再利用可能な指示セットです。たとえば「コミットメッセージの書き方」や「自社 API の規約」などです。**Settings → Skills** で管理します。
|
||||
|
||||
自分で書く代わりに既製のスキルをインストールする場合は、[スキルカタログ](/skills-catalog/) を参照してください。
|
||||
|
||||
## スキルを作成する
|
||||
|
||||
1. **Settings → Skills** を開きます。
|
||||
2. スキルを作成し、名前と短い説明を付けます。説明はエージェントがそのスキルをいつ適用するか判断する材料なので、具体的に書いてください。
|
||||
3. 指示を書きます。必要なら補助ファイルを追加します。
|
||||
4. 保存場所を選びます。
|
||||
- **personal** — すべてのプロジェクトで利用できます
|
||||
- **project** — 現在のプロジェクトでのみ利用できます
|
||||
|
||||
## チャットでスキルを使う
|
||||
|
||||
メッセージの途中で `/` を入力するとスキルピッカーが表示されます。そこから選ぶと、エージェントはそのスキルの指示を返信に読み込みます。
|
||||
|
||||
メッセージの先頭にある `/` は、代わりに [コマンド](/commands-snippets/) を開きます。
|
||||
|
||||
## 関連
|
||||
|
||||
- [スキルカタログ](/skills-catalog/) — 他の人が公開したスキルをインストールする
|
||||
- [コマンドとスニペット](/commands-snippets/) — チャットでテキストを再利用する別の方法
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: SSH ホストとプロキシ
|
||||
description: 保存済み SSH ホストをインポートし、デスクトップアプリで追加の SSH ポートフォワードを設定します。
|
||||
---
|
||||
|
||||
# SSH ホストとプロキシ
|
||||
|
||||
デスクトップアプリの **Settings → Remote Instances** を使うと、保存済み SSH ホストのインポート、リモートマシンへの接続、同じ SSH 接続を通じた追加ポートの利用ができます。
|
||||
|
||||
> SSH ホストと SSH プロキシは**デスクトップ専用**機能です。あなたのコンピューター上の SSH クライアントを使います。
|
||||
|
||||
## SSH ホストをインポートする
|
||||
|
||||
OpenChamber は、`ssh work-server` のようなコマンドが使うのと同じローカル SSH config からホストを読み取れます。
|
||||
|
||||
1. **Settings → Remote Instances** を開きます。
|
||||
2. **Saved SSH hosts** からホストを選びます。
|
||||
3. ホストがパターンの場合は、`deploy@app.example.com` のような実際の宛先を入力します。
|
||||
4. 保存して接続します。
|
||||
|
||||
OpenChamber はその SSH コマンドを使ってリモートインスタンスを作成します。**ready** に到達すると、リモート OpenChamber UI がデスクトップアプリ内で開きます。
|
||||
|
||||
## 追加のポートフォワードを加える
|
||||
|
||||
各リモートインスタンスには **Port Forwards** セクションがあります。SSH 接続の片側にあるものが、もう片側のポートへ到達する必要があるときに使います。
|
||||
|
||||
OpenChamber は 3 種類のフォワードに対応しています。
|
||||
|
||||
- **Local (-L)** — あなたのコンピューター上にポートを開き、リモートマシン上の何かへ接続します。
|
||||
- **Remote (-R)** — リモートマシン上にポートを開き、あなたのコンピューターへ戻って接続します。
|
||||
- **Dynamic (-D)** — SSH 接続を通じてローカル SOCKS プロキシを開きます。
|
||||
|
||||
リモートマシン上で動く多くのアプリプレビューやダッシュボードには、**Local (-L)** を使います。
|
||||
|
||||
## SOCKS プロキシを使う
|
||||
|
||||
あなたのコンピューター上の他のツールから、リモートマシン経由でブラウズしたい場合は **Dynamic (-D)** を選びます。OpenChamber はその SSH 接続用のローカル SOCKS プロキシポートを開きます。
|
||||
|
||||
接続が ready になったら、フォワード行からローカルプロキシアドレスをコピーまたは使用します。ブラウザやツールで SOCKS5 プロキシとして設定してください。
|
||||
|
||||
## 非公開に保つ
|
||||
|
||||
転送ポートにネットワーク上の他のデバイスから意図的にアクセスさせたい場合を除き、ローカル bind host には `127.0.0.1` または `localhost` を使ってください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [リモートインスタンス](/remote-instances/) — デスクトップアプリを別マシン上の OpenChamber に接続する
|
||||
- [リモートアクセス](/troubleshooting/remote-access/) — SSH またはリモートアクセスが接続できない場合
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: テーマ
|
||||
description: 組み込みテーマとユーザー定義テーマで OpenChamber をカスタマイズします。
|
||||
---
|
||||
|
||||
# テーマ
|
||||
|
||||
OpenChamber は組み込みテーマとカスタムテーマ JSON ファイルに対応しています。
|
||||
|
||||
## カスタムテーマを追加する
|
||||
|
||||
1. テーマディレクトリを作成します。
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/openchamber/themes
|
||||
```
|
||||
|
||||
2. そのディレクトリに JSON ファイルを追加します(例: `my-theme.json`)。
|
||||
3. OpenChamber を開き、**Settings -> Theme -> Reload themes** に移動します。
|
||||
4. ドロップダウンからテーマを選びます。すぐに適用されます。
|
||||
|
||||
## テーマの場所
|
||||
|
||||
- macOS/Linux: `~/.config/openchamber/themes/`
|
||||
|
||||
## 完全な JSON 形式リファレンス
|
||||
|
||||
メインリポジトリのドキュメントにある完全な形式ガイドを使ってください。
|
||||
|
||||
- [`docs/CUSTOM_THEMES.md`](https://github.com/openchamber/openchamber/blob/main/docs/CUSTOM_THEMES.md)
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: トラブルシューティング
|
||||
description: セットアップや実行時によくある問題と、すぐ試せる修正です。
|
||||
---
|
||||
|
||||
# トラブルシューティング
|
||||
|
||||
問題に当たりましたか?下の症状を探し、修正を試してください。
|
||||
|
||||
## OpenChamber コマンドが終了する、または起動に失敗する
|
||||
|
||||
- Node.js が `>=22` であることを確認します
|
||||
- `openchamber --version` を実行します
|
||||
- 必要なら最新の CLI を再インストールします
|
||||
|
||||
## Web UI に到達できない
|
||||
|
||||
- `openchamber logs` でサーバーログを確認します
|
||||
- アクティブなポートを確認します(デフォルトは `3000`)
|
||||
- トンネルリンクを試す前に、まず `http://localhost:3000` を直接開きます
|
||||
|
||||
## リモート/トンネルリンクが動かない
|
||||
|
||||
- `openchamber tunnel status --all` を実行します
|
||||
- 同じインスタンス/ポートからトンネルを再起動します
|
||||
- 以前のトークンがすでに使用済みなら、接続リンクを再生成します
|
||||
|
||||
完全なセットアップは [トンネル](/tunnels/) を参照してください。リバースプロキシを使っている場合は [リバースプロキシ](/reverse-proxy/) も参照してください。
|
||||
|
||||
## VS Code 拡張機能が接続しない
|
||||
|
||||
- OpenChamber サーバーが実行中であることを確認します
|
||||
- 拡張機能が更新済みであることを確認します
|
||||
- VS Code ウィンドウを再読み込みし、接続を再試行します
|
||||
|
||||
## 関連
|
||||
|
||||
- [クイックスタート](/quickstart/)
|
||||
- [トンネル](/tunnels/)
|
||||
- [リバースプロキシ](/reverse-proxy/)
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: OpenCode 接続
|
||||
description: OpenChamber が OpenCode サーバーへ接続できない問題を修正します。
|
||||
---
|
||||
|
||||
# OpenCode 接続
|
||||
|
||||
OpenChamber は読み込まれるのに "OpenCode is restarting" から進まない、またはチャットが応答しない場合、接続先サーバーに到達できていません。次を順に確認してください。
|
||||
|
||||
## "OpenCode is restarting" のまま止まっている
|
||||
|
||||
- 起動直後は少し待ってください。サーバー起動中はこの状態が正常です
|
||||
- `openchamber status` でサーバーが生きているか確認します
|
||||
- `openchamber restart` で再起動します
|
||||
- `openchamber logs` で起動詳細を確認します
|
||||
|
||||
## 自分のサーバーへ接続している
|
||||
|
||||
既存サーバーを使うよう OpenChamber を設定した場合は、[OpenCode サーバー](/opencode-server/) の設定を再確認してください。
|
||||
|
||||
- `OPENCODE_HOST` はポートを含み、パスを含まない必要があります。例: `http://localhost:4096`
|
||||
- `OPENCODE_SKIP_START=true` を設定し、OpenChamber が自分のサーバーも起動しないようにします
|
||||
- アドレスが無効な場合、OpenChamber はそれを無視して自分のサーバーを起動します。ログの `[config]` 警告を探してください
|
||||
|
||||
## まだ失敗する場合
|
||||
|
||||
- Node.js がバージョン `20` 以上であることを確認します
|
||||
- 最新の CLI を再インストールします
|
||||
- トンネルやリモートリンクを試す前に、`http://localhost:3000` を直接開きます
|
||||
|
||||
## 関連
|
||||
|
||||
- [OpenCode サーバー](/opencode-server/) — OpenChamber がサーバーを見つけて管理する方法
|
||||
- [トラブルシューティング](/troubleshooting/) — その他のよくある問題
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: リモートアクセス
|
||||
description: トンネル、リモートインスタンス、別デバイスからの OpenChamber アクセスを修正します。
|
||||
---
|
||||
|
||||
# リモートアクセス
|
||||
|
||||
スマートフォンや別マシンから OpenChamber に到達できない場合、修正方法は接続方法によって変わります。
|
||||
|
||||
## まず基本を確認する
|
||||
|
||||
- 同じコンピューターで先に `http://localhost:3000` を開きます。失敗する場合はリモートの問題ではありません。[OpenCode 接続](/troubleshooting/opencode-connection/) を参照してください
|
||||
- `openchamber status` でサーバーが実行中であることを確認します
|
||||
|
||||
## トンネルリンクが動かない
|
||||
|
||||
- `openchamber tunnel status --all` を実行します
|
||||
- 同じインスタンスとポートからトンネルを再起動します
|
||||
- 前のリンクがすでに使用済みなら、接続リンクを再生成します
|
||||
|
||||
完全なセットアップは [トンネル](/tunnels/) を参照してください。
|
||||
|
||||
## リモートインスタンスが接続しない(デスクトップ)
|
||||
|
||||
[リモートインスタンス](/remote-instances/) が止まった場合、OpenChamber は失敗したステップ名を表示します。
|
||||
|
||||
- **auth** — SSH または UI パスワードが拒否されました。再入力してください
|
||||
- **install / start** — OpenChamber がリモートマシン上でサーバーをセットアップまたは起動できませんでした。そのマシンの要件を確認してください
|
||||
- **forwarding** — 接続はできていますが、ポートが届いていません。別のローカルポートを試してください
|
||||
|
||||
## 自分のサーバーの背後にある場合
|
||||
|
||||
OpenChamber をリバースプロキシの背後に置いていて、表示がおかしい、または接続できない場合は [リバースプロキシ](/reverse-proxy/) を参照してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [トンネル](/tunnels/) · [リモートインスタンス](/remote-instances/) · [リバースプロキシ](/reverse-proxy/)
|
||||
- [セキュリティ](/security/) — 公開する前に UI を保護する
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: Worktrees と Git
|
||||
description: よくある worktree と Git の問題を修正します。
|
||||
---
|
||||
|
||||
# Worktrees と Git
|
||||
|
||||
[worktree セッション](/worktrees/) と [Git ビュー](/git/) で起きる問題と、その解消方法です。
|
||||
|
||||
## worktree に注意が必要
|
||||
|
||||
OpenChamber は、worktree に異常があるとフラグを立てます。
|
||||
|
||||
- **folder missing** — worktree のフォルダが削除された、または OpenChamber 外で移動されました。セッションを削除し、新しい worktree を作成してください
|
||||
- **detached or unborn branch** — worktree が通常のブランチ上にありません。ブランチをチェックアウトしてください
|
||||
- **merge, rebase, or cherry-pick in progress** — 操作が途中で残っています。Git ビューから完了または中止してください
|
||||
|
||||
## worktree を作成できない
|
||||
|
||||
- **branch already exists** — 別のブランチ名を選ぶか、既存ブランチのオプションを使います
|
||||
- **name already in use** — 別の worktree 名を選びます
|
||||
|
||||
## コミットまたは PR 生成に失敗する
|
||||
|
||||
コミットメッセージや PR 説明の生成はアクティブなセッションで実行されるため、動作するモデルが選択されたセッションを開いておく必要があります。セッションを開くか選び直して、もう一度試してください。
|
||||
|
||||
## SSH または Windows パスの問題
|
||||
|
||||
- リポジトリが使う SSH キーが [Git ID](/git-identities/) に設定したものか確認します
|
||||
- Windows では Git が Unix 形式のパス(`/c/Users/...` など)を使います。OpenChamber はこれを扱えますが、カスタム SSH キーパスも同じ形式にしてください
|
||||
|
||||
## 関連
|
||||
|
||||
- [Worktree セッション](/worktrees/) — worktree の作成と削除の仕組み
|
||||
- [Git ID](/git-identities/) — リポジトリごとに正しいキーと ID を設定する
|
||||
@@ -0,0 +1,117 @@
|
||||
---
|
||||
title: トンネル
|
||||
description: リモートおよびモバイルアクセス向けに OpenChamber を安全に公開します。
|
||||
---
|
||||
|
||||
# トンネル
|
||||
|
||||
トンネルは OpenChamber への公開リンクです。スマートフォンや別ネットワークからアクセスできます。実行中のインスタンスに対して作成するには `openchamber tunnel` を使います。
|
||||
|
||||
## 前提条件
|
||||
|
||||
OpenChamber はあなたのマシン上でトンネルプロバイダー CLI を起動します。使いたいプロバイダーを先にインストールしてください。
|
||||
|
||||
```bash
|
||||
brew install cloudflared
|
||||
brew install ngrok
|
||||
```
|
||||
|
||||
Cloudflare quick tunnel は `cloudflared` で実行できます。Ngrok には ngrok アカウントと ngrok ダッシュボードの authtoken が必要です。
|
||||
|
||||
```bash
|
||||
ngrok config add-authtoken <your-ngrok-token>
|
||||
```
|
||||
|
||||
## クイックスタート
|
||||
|
||||
1. OpenChamber を起動します。
|
||||
|
||||
```bash
|
||||
openchamber
|
||||
```
|
||||
|
||||
この手順を省いた場合、`openchamber tunnel start` は CLI サーバーを自動起動できます。自動起動時には `--port`、`--host`、`--lan`、`--ui-password`、`--api-only` などのサーバーオプションを渡せます。
|
||||
|
||||
2. Cloudflare トンネルを開始します。
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode quick
|
||||
```
|
||||
|
||||
または Ngrok トンネルを開始します。
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider ngrok --mode quick
|
||||
```
|
||||
|
||||
3. 状態を確認します。
|
||||
|
||||
```bash
|
||||
openchamber tunnel status
|
||||
```
|
||||
|
||||
トンネルが起動すると、`status` に公開 URL が表示されます。それを開くか QR コードをスキャンすると、どこからでも OpenChamber にアクセスできます。
|
||||
|
||||
デフォルトでは、OpenChamber は対話型 TTY セッションで QR コードを表示します。QR 出力を強制するには `--qr`、無効にするには `--no-qr` を使います。
|
||||
|
||||
## プロバイダー
|
||||
|
||||
- `cloudflare`: quick、managed remote、managed local モード
|
||||
- `ngrok`: quick モード
|
||||
|
||||
## 管理対象モード
|
||||
|
||||
### Managed remote
|
||||
|
||||
Cloudflare が管理する token + hostname を使います。
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode managed-remote --token-file ~/.secrets/cf-token --hostname app.example.com
|
||||
```
|
||||
|
||||
### Managed local
|
||||
|
||||
ローカルの `cloudflared` 設定を使います。
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --provider cloudflare --mode managed-local --config ~/.cloudflared/config.yml
|
||||
```
|
||||
|
||||
## プロファイル(managed-remote)
|
||||
|
||||
再利用可能なプロファイルを保存します。
|
||||
|
||||
```bash
|
||||
openchamber tunnel profile add --provider cloudflare --mode managed-remote --name prod-main --hostname app.example.com --token-file ~/.secrets/cf-token
|
||||
```
|
||||
|
||||
保存したプロファイルで起動します。
|
||||
|
||||
```bash
|
||||
openchamber tunnel start --profile prod-main
|
||||
```
|
||||
|
||||
## 便利なコマンド
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
## 動作メモ
|
||||
|
||||
- OpenChamber インスタンス(ポート)ごとにアクティブなトンネルは 1 つです
|
||||
- 同じインスタンスで新しい mode/provider を開始すると、前のトンネルは置き換えられます
|
||||
- 新しい接続リンクを生成すると、以前の未使用リンクは無効化されます
|
||||
- トンネルの自動起動は、restart/update フローで使うインスタンス設定に `--ui-password` や `--api-only` などのサーバーフラグを保持します
|
||||
|
||||
## 関連
|
||||
|
||||
- [セキュリティ](/security/) — 公開する前に UI を保護する
|
||||
- [デスクトップトンネル](/desktop-tunnels/) — CLI 起動なしでデスクトップアプリからトンネルを設定する
|
||||
- [PWA とモバイル](/mobile/) — スマートフォンから OpenChamber にアクセスする
|
||||
- [トラブルシューティング](/troubleshooting/) — トンネルリンクが動かない場合
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: 更新
|
||||
description: デスクトップ、Web、VS Code の OpenChamber を最新に保ちます。
|
||||
---
|
||||
|
||||
# 更新
|
||||
|
||||
OpenChamber の更新方法は、インストール方法によって異なります。どの場合でも、現在のバージョンは **Settings → OpenChamber → About** で確認できます。
|
||||
|
||||
## デスクトップアプリ
|
||||
|
||||
デスクトップアプリは GitHub releases を確認して更新を探します。更新がある場合、OpenChamber が知らせ、あなたが選んだときにダウンロードし、次回再起動時にインストールします。常にあなたが制御します。勝手にインストールされることはありません。
|
||||
|
||||
## Web / CLI
|
||||
|
||||
CLI をインストールした場合は、**About** の確認・更新ボタンから、またはターミナルから更新できます。
|
||||
|
||||
```bash
|
||||
openchamber update
|
||||
```
|
||||
|
||||
OpenChamber はインストール方法(npm、pnpm、yarn、bun)を検出し、適切な更新を実行します。
|
||||
|
||||
## OpenCode サーバー
|
||||
|
||||
OpenChamber と OpenCode は別々に更新されます。新しい OpenCode バージョンが利用可能な場合、OpenChamber は更新を提案し、その後サーバーを再起動します。そのサーバーの管理方法は [OpenCode サーバー](/opencode-server/) を参照してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [インストール](/install/) — 各アプリのインストール方法
|
||||
- [OpenCode サーバー](/opencode-server/) — 下層サーバーの更新
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: 使用量とクォータ
|
||||
description: プロバイダープランの使用量を追跡します。
|
||||
---
|
||||
|
||||
# 使用量とクォータ
|
||||
|
||||
Usage ページでは、各プロバイダープランをどれだけ使ったかを確認でき、上限にどれだけ近いかが分かります。**Settings → Usage** から開きます。
|
||||
|
||||
## 表示されるもの
|
||||
|
||||
接続済みプロバイダーごとに、OpenChamber は次を表示します。
|
||||
|
||||
- 現在のウィンドウでどれだけ使ったかをバーで表示
|
||||
- モデル別の内訳
|
||||
- 使い切りそうなペースか分かる pace インジケーター
|
||||
|
||||
表示するプロバイダーは選べます。同じサマリーはアプリヘッダーのドロップダウンからも確認できます。
|
||||
|
||||
## 対応プロバイダー
|
||||
|
||||
Usage は、Claude、Codex、GitHub Copilot、Google、OpenRouter、Kimi、NanoGPT、z.ai、Zhipu、MiniMax、Ollama Cloud、Wafer など、クォータを公開しているプロバイダーで動作します。
|
||||
|
||||
プロバイダーの使用量は、[プロバイダー](/providers/) ページでサインインした後に表示されます。一部のプロバイダーには追加手順が必要です。たとえば Ollama Cloud は別途設定したセッションファイルを読み取ります。プロバイダーにデータが表示されない場合、多くはその追加認証情報が不足しています。
|
||||
|
||||
## 関連
|
||||
|
||||
- [プロバイダー、モデル、エージェント](/providers/) — 使用量を表示する前にサインインする
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: 音声モード
|
||||
description: OpenChamber に話しかけ、返信を読み上げで聞きます。
|
||||
---
|
||||
|
||||
# 音声モード
|
||||
|
||||
音声モードでは、メッセージを音声入力し、返信を読み上げで聞けます。**Settings → OpenChamber → Voice** でオンにします。
|
||||
|
||||
## 返信の読み上げ(text-to-speech)
|
||||
|
||||
返信の読み上げ方法を選びます。
|
||||
|
||||
- **browser** — ブラウザ組み込みの音声。設定不要です
|
||||
- **OpenAI** — OpenAI の音声。API キーを貼り付けて声を選びます
|
||||
- **OpenAI-compatible** — OpenAI 形式で音声を返す任意のサービス。URL と、必要なら API キーを入力します
|
||||
- **macOS say** — Mac にある組み込みの `say` コマンド
|
||||
|
||||
オンにすると、メッセージに再生ボタンが表示され、読み上げを聞けます。
|
||||
|
||||
## メッセージの音声入力(speech-to-text)
|
||||
|
||||
音声をどう文字起こしするか選びます。
|
||||
|
||||
- **browser** — ブラウザ組み込みの認識。設定不要です
|
||||
- **server** — OpenAI 互換の文字起こしサービス。URL と、必要なら API キーを入力します
|
||||
- **on-device** — ブラウザ内で動く音声モデル。初回利用時にダウンロードされます
|
||||
|
||||
## スマートフォン向けの注意
|
||||
|
||||
スマートフォンで返信を読み上げる場合、OpenAI または OpenAI-compatible の選択肢が最も安定します。モバイルブラウザは組み込み音声に制限があります。
|
||||
|
||||
## 関連
|
||||
|
||||
- [通知](/notifications/) — 聞き続ける代わりに通知を受け取る
|
||||
- [プロバイダー、モデル、エージェント](/providers/) — OpenAI キーがすでにあるかもしれない場所
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: Worktree セッション
|
||||
description: セッションに専用のブランチとフォルダを与え、作業を分離します。
|
||||
---
|
||||
|
||||
# Worktree セッション
|
||||
|
||||
Worktree セッションは、リポジトリをチェックアウトした独自のコピーと独自ブランチ(git worktree)で実行されます。これにより、並行セッションが互いのファイルを踏み合うことを防げます。片方がリファクタリングし、もう片方がバグ修正をしても、行き来する必要はありません。
|
||||
|
||||
## 作成する
|
||||
|
||||
1. セッションサイドバー上部のボタンから new-worktree ダイアログを開きます。
|
||||
2. 開始点を選びます。
|
||||
- **new branch** — ブランチ名を付け、どのブランチから始めるか選びます
|
||||
- **existing branch** — すでにあるブランチをチェックアウトします
|
||||
3. worktree フォルダを確認します(OpenChamber はブランチ名から候補を出します)。
|
||||
4. 作成します。
|
||||
|
||||
OpenChamber はブランチを作り、フォルダをセットアップし、その中でセッションを開始します。[Todo](/notes-todos-plans/) や [GitHub Issue または PR](/github/) から直接開始することもできます。
|
||||
|
||||
## 作業を戻す
|
||||
|
||||
作業が良い状態になったら、Git ビューの **Integrate** を使って、worktree のコミットを別ブランチ(`main` など)へ取り込みます。変更がコンフリクトした場合は、エージェントに解決を任せることもできます。
|
||||
|
||||
## 片付ける
|
||||
|
||||
セッションを削除またはアーカイブすると、worktree を削除できます。ブランチも削除するかどうかを選びます。ローカルと、存在する場合はリモートも対象です。あなたが指示しない限り、何も削除されません。
|
||||
|
||||
## 何かおかしい場合
|
||||
|
||||
worktree は、フォルダがなくなった、ブランチが detached 状態になった、merge または rebase が途中で止まった、などの場合に注意が必要になります。OpenChamber はこれらにフラグを付け、修正できるようにします。[Worktrees と Git](/troubleshooting/worktrees-git/) を参照してください。
|
||||
|
||||
## 関連
|
||||
|
||||
- [Multi-run](/multi-run/) — 多数の worktree セッションを一度に起動する
|
||||
- [Git と GitHub ワークフロー](/git/) — OpenChamber 内でコミットして統合する
|
||||
@@ -9,7 +9,8 @@
|
||||
"pt-BR": "Comece aqui",
|
||||
"ko": "여기서 시작",
|
||||
"pl": "Zacznij tutaj",
|
||||
"fr": "Commencer ici"
|
||||
"fr": "Commencer ici",
|
||||
"ja": "ここから開始"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -22,7 +23,8 @@
|
||||
"pt-BR": "Visão geral",
|
||||
"ko": "개요",
|
||||
"pl": "Przegląd",
|
||||
"fr": "Vue d’ensemble"
|
||||
"fr": "Vue d’ensemble",
|
||||
"ja": "概要"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -35,7 +37,8 @@
|
||||
"pt-BR": "Instalação",
|
||||
"ko": "설치",
|
||||
"pl": "Instalacja",
|
||||
"fr": "Installation"
|
||||
"fr": "Installation",
|
||||
"ja": "インストール"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -48,7 +51,8 @@
|
||||
"pt-BR": "Início rápido",
|
||||
"ko": "빠른 시작",
|
||||
"pl": "Szybki start",
|
||||
"fr": "Démarrage rapide"
|
||||
"fr": "Démarrage rapide",
|
||||
"ja": "クイックスタート"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -61,7 +65,8 @@
|
||||
"pt-BR": "Servidor OpenCode",
|
||||
"ko": "OpenCode 서버",
|
||||
"pl": "Serwer OpenCode",
|
||||
"fr": "Serveur OpenCode"
|
||||
"fr": "Serveur OpenCode",
|
||||
"ja": "OpenCode サーバー"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -74,7 +79,8 @@
|
||||
"pt-BR": "Variáveis de ambiente",
|
||||
"ko": "환경 변수",
|
||||
"pl": "Zmienne środowiskowe",
|
||||
"fr": "Variables d’environnement"
|
||||
"fr": "Variables d’environnement",
|
||||
"ja": "環境変数"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -88,7 +94,8 @@
|
||||
"pt-BR": "Fluxos de trabalho",
|
||||
"ko": "워크플로",
|
||||
"pl": "Przepływy pracy",
|
||||
"fr": "Workflows"
|
||||
"fr": "Workflows",
|
||||
"ja": "ワークフロー"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -101,7 +108,8 @@
|
||||
"pt-BR": "Projetos",
|
||||
"ko": "프로젝트",
|
||||
"pl": "Projekty",
|
||||
"fr": "Projets"
|
||||
"fr": "Projets",
|
||||
"ja": "プロジェクト"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -114,7 +122,8 @@
|
||||
"pt-BR": "Contexto",
|
||||
"ko": "컨텍스트",
|
||||
"pl": "Kontekst",
|
||||
"fr": "Contexte"
|
||||
"fr": "Contexte",
|
||||
"ja": "コンテキスト"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -127,7 +136,8 @@
|
||||
"pt-BR": "Notas, tarefas e planos",
|
||||
"ko": "메모, 할 일, 계획",
|
||||
"pl": "Notatki, zadania i plany",
|
||||
"fr": "Notes, todos et plans"
|
||||
"fr": "Notes, todos et plans",
|
||||
"ja": "メモ、Todo、計画"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -140,7 +150,8 @@
|
||||
"pt-BR": "Tarefas agendadas",
|
||||
"ko": "예약 작업",
|
||||
"pl": "Zaplanowane zadania",
|
||||
"fr": "Tâches planifiées"
|
||||
"fr": "Tâches planifiées",
|
||||
"ja": "スケジュールタスク"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -153,7 +164,8 @@
|
||||
"pt-BR": "Ações do projeto",
|
||||
"ko": "프로젝트 작업",
|
||||
"pl": "Akcje projektu",
|
||||
"fr": "Actions de projet"
|
||||
"fr": "Actions de projet",
|
||||
"ja": "プロジェクトアクション"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -166,7 +178,8 @@
|
||||
"pt-BR": "Pré-visualização e servidores de desenvolvimento",
|
||||
"ko": "미리보기 및 개발 서버",
|
||||
"pl": "Podgląd i serwery deweloperskie",
|
||||
"fr": "Aperçu et serveurs de dev"
|
||||
"fr": "Aperçu et serveurs de dev",
|
||||
"ja": "プレビューと開発サーバー"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -179,21 +192,24 @@
|
||||
"pt-BR": "Sessões de worktree",
|
||||
"ko": "Worktree 세션",
|
||||
"pl": "Sesje worktree",
|
||||
"fr": "Sessions worktree"
|
||||
"fr": "Sessions worktree",
|
||||
"ja": "Worktree セッション"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Multi-run",
|
||||
"link": "/multi-run/",
|
||||
"translations": {
|
||||
"fr": "Multi-run"
|
||||
"fr": "Multi-run",
|
||||
"ja": "Multi-run"
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Git & GitHub",
|
||||
"link": "/git/",
|
||||
"translations": {
|
||||
"fr": "Git et GitHub"
|
||||
"fr": "Git et GitHub",
|
||||
"ja": "Git と GitHub"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -206,7 +222,8 @@
|
||||
"pt-BR": "Issues e PRs do GitHub",
|
||||
"ko": "GitHub 이슈 및 PR",
|
||||
"pl": "Zgłoszenia i PR-y GitHub",
|
||||
"fr": "Issues et PR GitHub"
|
||||
"fr": "Issues et PR GitHub",
|
||||
"ja": "GitHub Issues と PR"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -219,7 +236,8 @@
|
||||
"pt-BR": "Prompts mágicos",
|
||||
"ko": "매직 프롬프트",
|
||||
"pl": "Magiczne prompty",
|
||||
"fr": "Magic Prompts"
|
||||
"fr": "Magic Prompts",
|
||||
"ja": "マジックプロンプト"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -232,7 +250,8 @@
|
||||
"pt-BR": "Identidades do Git",
|
||||
"ko": "Git 아이덴티티",
|
||||
"pl": "Tożsamości Git",
|
||||
"fr": "Identités Git"
|
||||
"fr": "Identités Git",
|
||||
"ja": "Git ID"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -246,7 +265,8 @@
|
||||
"pt-BR": "Configuração do OpenCode",
|
||||
"ko": "OpenCode 설정",
|
||||
"pl": "Konfiguracja OpenCode",
|
||||
"fr": "Configuration OpenCode"
|
||||
"fr": "Configuration OpenCode",
|
||||
"ja": "OpenCode 設定"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -259,7 +279,8 @@
|
||||
"pt-BR": "Provedores, modelos e agentes",
|
||||
"ko": "공급자, 모델, 에이전트",
|
||||
"pl": "Dostawcy, modele i agenci",
|
||||
"fr": "Fournisseurs, modèles et agents"
|
||||
"fr": "Fournisseurs, modèles et agents",
|
||||
"ja": "プロバイダー、モデル、エージェント"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -272,7 +293,8 @@
|
||||
"pt-BR": "Servidores MCP",
|
||||
"ko": "MCP 서버",
|
||||
"pl": "Serwery MCP",
|
||||
"fr": "Serveurs MCP"
|
||||
"fr": "Serveurs MCP",
|
||||
"ja": "MCP サーバー"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -285,7 +307,8 @@
|
||||
"pt-BR": "Habilidades",
|
||||
"ko": "스킬",
|
||||
"pl": "Umiejętności",
|
||||
"fr": "Skills"
|
||||
"fr": "Skills",
|
||||
"ja": "スキル"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -298,7 +321,8 @@
|
||||
"pt-BR": "Catálogo de habilidades",
|
||||
"ko": "스킬 카탈로그",
|
||||
"pl": "Katalog umiejętności",
|
||||
"fr": "Catalogue de skills"
|
||||
"fr": "Catalogue de skills",
|
||||
"ja": "スキルカタログ"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -311,7 +335,8 @@
|
||||
"pt-BR": "Comandos e trechos",
|
||||
"ko": "명령 및 스니펫",
|
||||
"pl": "Polecenia i fragmenty",
|
||||
"fr": "Commandes et snippets"
|
||||
"fr": "Commandes et snippets",
|
||||
"ja": "コマンドとスニペット"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -324,7 +349,8 @@
|
||||
"pt-BR": "Uso e cotas",
|
||||
"ko": "사용량 및 할당량",
|
||||
"pl": "Zużycie i limity",
|
||||
"fr": "Utilisation et quotas"
|
||||
"fr": "Utilisation et quotas",
|
||||
"ja": "使用量とクォータ"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -338,7 +364,8 @@
|
||||
"pt-BR": "Acesso remoto",
|
||||
"ko": "원격 접속",
|
||||
"pl": "Dostęp zdalny",
|
||||
"fr": "Accès distant"
|
||||
"fr": "Accès distant",
|
||||
"ja": "リモートアクセス"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -351,7 +378,8 @@
|
||||
"pt-BR": "Túneis",
|
||||
"ko": "터널",
|
||||
"pl": "Tunele",
|
||||
"fr": "Tunnels"
|
||||
"fr": "Tunnels",
|
||||
"ja": "トンネル"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -364,7 +392,8 @@
|
||||
"pt-BR": "Proxy reverso",
|
||||
"ko": "리버스 프록시",
|
||||
"pl": "Reverse proxy",
|
||||
"fr": "Reverse proxy"
|
||||
"fr": "Reverse proxy",
|
||||
"ja": "リバースプロキシ"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -377,7 +406,8 @@
|
||||
"pt-BR": "PWA e celular",
|
||||
"ko": "PWA 및 모바일",
|
||||
"pl": "PWA i urządzenia mobilne",
|
||||
"fr": "PWA et mobile"
|
||||
"fr": "PWA et mobile",
|
||||
"ja": "PWA とモバイル"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -390,7 +420,8 @@
|
||||
"pt-BR": "Segurança",
|
||||
"ko": "보안",
|
||||
"pl": "Bezpieczeństwo",
|
||||
"fr": "Sécurité"
|
||||
"fr": "Sécurité",
|
||||
"ja": "セキュリティ"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -404,7 +435,8 @@
|
||||
"pt-BR": "Personalizar",
|
||||
"ko": "맞춤 설정",
|
||||
"pl": "Dostosuj",
|
||||
"fr": "Personnaliser"
|
||||
"fr": "Personnaliser",
|
||||
"ja": "カスタマイズ"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -417,7 +449,8 @@
|
||||
"pt-BR": "Temas",
|
||||
"ko": "테마",
|
||||
"pl": "Motywy",
|
||||
"fr": "Thèmes"
|
||||
"fr": "Thèmes",
|
||||
"ja": "テーマ"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -430,7 +463,8 @@
|
||||
"pt-BR": "Notificações",
|
||||
"ko": "알림",
|
||||
"pl": "Powiadomienia",
|
||||
"fr": "Notifications"
|
||||
"fr": "Notifications",
|
||||
"ja": "通知"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -443,7 +477,8 @@
|
||||
"pt-BR": "Modo de voz",
|
||||
"ko": "음성 모드",
|
||||
"pl": "Tryb głosowy",
|
||||
"fr": "Mode vocal"
|
||||
"fr": "Mode vocal",
|
||||
"ja": "音声モード"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -456,7 +491,8 @@
|
||||
"pt-BR": "Ícones de projeto",
|
||||
"ko": "프로젝트 아이콘",
|
||||
"pl": "Ikony projektów",
|
||||
"fr": "Icônes de projet"
|
||||
"fr": "Icônes de projet",
|
||||
"ja": "プロジェクトアイコン"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -470,7 +506,8 @@
|
||||
"pt-BR": "Desktop",
|
||||
"ko": "데스크톱",
|
||||
"pl": "Pulpit",
|
||||
"fr": "Desktop"
|
||||
"fr": "Desktop",
|
||||
"ja": "デスクトップ"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -483,7 +520,8 @@
|
||||
"pt-BR": "Instâncias remotas",
|
||||
"ko": "원격 인스턴스",
|
||||
"pl": "Zdalne instancje",
|
||||
"fr": "Instances distantes"
|
||||
"fr": "Instances distantes",
|
||||
"ja": "リモートインスタンス"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -496,7 +534,8 @@
|
||||
"pt-BR": "Navegador desktop",
|
||||
"ko": "데스크톱 브라우저",
|
||||
"pl": "Przeglądarka na pulpicie",
|
||||
"fr": "Navigateur desktop"
|
||||
"fr": "Navigateur desktop",
|
||||
"ja": "デスクトップブラウザ"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -509,7 +548,8 @@
|
||||
"pt-BR": "Túneis no desktop",
|
||||
"ko": "데스크톱 터널",
|
||||
"pl": "Tunele w aplikacji desktopowej",
|
||||
"fr": "Tunnels desktop"
|
||||
"fr": "Tunnels desktop",
|
||||
"ja": "デスクトップトンネル"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -522,7 +562,8 @@
|
||||
"pt-BR": "Hosts SSH e proxy",
|
||||
"ko": "SSH 호스트 및 프록시",
|
||||
"pl": "Hosty SSH i proxy",
|
||||
"fr": "Hosts SSH et proxy"
|
||||
"fr": "Hosts SSH et proxy",
|
||||
"ja": "SSH ホストとプロキシ"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -535,7 +576,8 @@
|
||||
"pt-BR": "Atualizações",
|
||||
"ko": "업데이트",
|
||||
"pl": "Aktualizacje",
|
||||
"fr": "Mises à jour"
|
||||
"fr": "Mises à jour",
|
||||
"ja": "更新"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -549,7 +591,8 @@
|
||||
"pt-BR": "Ajuda",
|
||||
"ko": "도움말",
|
||||
"pl": "Pomoc",
|
||||
"fr": "Aide"
|
||||
"fr": "Aide",
|
||||
"ja": "ヘルプ"
|
||||
},
|
||||
"items": [
|
||||
{
|
||||
@@ -562,7 +605,8 @@
|
||||
"pt-BR": "Solução de problemas",
|
||||
"ko": "문제 해결",
|
||||
"pl": "Rozwiązywanie problemów",
|
||||
"fr": "Dépannage"
|
||||
"fr": "Dépannage",
|
||||
"ja": "トラブルシューティング"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -575,7 +619,8 @@
|
||||
"pt-BR": "Conexão com o OpenCode",
|
||||
"ko": "OpenCode 연결",
|
||||
"pl": "Połączenie z OpenCode",
|
||||
"fr": "Connexion à OpenCode"
|
||||
"fr": "Connexion à OpenCode",
|
||||
"ja": "OpenCode 接続"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -588,7 +633,8 @@
|
||||
"pt-BR": "Worktrees e Git",
|
||||
"ko": "Worktree 및 Git",
|
||||
"pl": "Worktree i Git",
|
||||
"fr": "Worktrees et Git"
|
||||
"fr": "Worktrees et Git",
|
||||
"ja": "Worktrees と Git"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -601,7 +647,8 @@
|
||||
"pt-BR": "Acesso remoto",
|
||||
"ko": "원격 접속",
|
||||
"pl": "Dostęp zdalny",
|
||||
"fr": "Accès distant"
|
||||
"fr": "Accès distant",
|
||||
"ja": "リモートアクセス"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user