OpenCodeAppの設定方法について説明します。
OpenCodeAppは.config.jsonファイルで設定を管理します。このファイルにはAPIキー、エンドポイント、セッション設定などが含まれます。
設定ファイルはプロジェクトのルートディレクトリに配置されます:
chrome-to-opencode/
└── .config.json
重要: .config.jsonは.gitignoreに含まれており、Gitリポジトリにはコミットされません。これはAPIキー等の機密情報を保護するためです。
.config.jsonの基本的な構造:
{
"apiKey": "your-opencode-api-key",
"apiEndpoint": "https://api.opencode.ai",
"sessionTimeout": 3600
}必須: はい
型: String
説明: OpenCode APIの認証キー
例:
{
"apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}取得方法:
- OpenCodeアカウントにログイン
- APIキー管理ページにアクセス
- 新しいAPIキーを生成
- キーをコピーして
.config.jsonに貼り付け
セキュリティのヒント:
- APIキーは機密情報として扱ってください
- キーを共有しないでください
- 定期的にキーを更新することを推奨
必須: はい
型: String
説明: OpenCode APIのエンドポイントURL
デフォルト値: https://api.opencode.ai
例:
{
"apiEndpoint": "https://api.opencode.ai"
}カスタムエンドポイント: 独自のOpenCodeインスタンスを使用する場合、カスタムエンドポイントを設定できます:
{
"apiEndpoint": "https://your-custom-opencode.com/api"
}必須: いいえ
型: Int
単位: 秒
デフォルト値: 3600 (1時間)
説明: セッションのタイムアウト時間
例:
{
"sessionTimeout": 7200
}推奨値:
1800(30分) - 短いセッション3600(1時間) - 標準7200(2時間) - 長いセッション86400(24時間) - 1日間有効
- OpenCodeのウェブサイトにアクセス
- アカウントにログイン
- 設定 → APIキー管理に移動
- 「新しいAPIキーを作成」をクリック
- キー名を入力(例: "Mac Desktop App")
- キーをコピー
プロジェクトのルートディレクトリに.config.jsonを作成:
touch .config.json.config.jsonを編集してAPIキーを入力:
{
"apiKey": "sk-your-actual-api-key-here",
"apiEndpoint": "https://api.opencode.ai",
"sessionTimeout": 3600
}設定ファイルが正しいか検証:
# jqを使用してJSONバリデーション
cat .config.json | jqまたは、Pythonを使用:
cat .config.json | python3 -m json.tool現在のバージョンでは.config.jsonファイルを使用していますが、将来のバージョンでは環境変数をサポートする予定です。
export OPENCODE_API_KEY="sk-your-api-key"
export OPENCODE_API_ENDPOINT="https://api.opencode.ai"
export OPENCODE_SESSION_TIMEOUT=3600-
.gitignoreに含める.config.jsonは.gitignoreに含まれています- 絶対にGitリポジトリにコミットしないでください
-
ファイル権限の設定
chmod 600 .config.json
-
キーの共有を避ける
- APIキーをチャットやメールで共有しないでください
- 公開リポジトリにコミットしないでください
定期的にAPIキーを更新することを推奨します:
- 古いキーを無効化
- 新しいキーを生成
.config.jsonを更新- アプリケーションを再起動
設定ファイルのバックアップを作成する場合:
# 暗号化されたバックアップ
gpg -c .config.json
# => .config.json.gpg
# 復元
gpg -d .config.json.gpg > .config.json# jqがインストールされている場合
jq empty .config.json && echo "Valid JSON" || echo "Invalid JSON"# APIキーが含まれているか確認
jq -e '.apiKey' .config.json >/dev/null 2>&1 && echo "API key found" || echo "API key missing"
# APIエンドポイントが含まれているか確認
jq -e '.apiEndpoint' .config.json >/dev/null 2>&1 && echo "API endpoint found" || echo "API endpoint missing"アプリケーション起動時に設定が検証されます:
✓ APIキー: 有効
✓ APIエンドポイント: 有効
✓ セッションタイムアウト: 有効
設定に問題がある場合、アラートが表示されます。
.config.jsonを開くapiKeyフィールドの値を更新- 保存
- アプリケーションを再起動
.config.jsonを開くapiEndpointフィールドの値を更新- 保存
- アプリケーションを再起動
.config.jsonを開くsessionTimeoutフィールドの値を更新(秒単位)- 保存
- アプリケーションを再起動
{
"apiKey": "sk-dev-xxxxxxxxxxxxxxxxxxxxxxxx",
"apiEndpoint": "https://dev-api.opencode.ai",
"sessionTimeout": 1800
}{
"apiKey": "sk-prod-xxxxxxxxxxxxxxxxxxxxxxxx",
"apiEndpoint": "https://api.opencode.ai",
"sessionTimeout": 3600
}{
"apiKey": "sk-custom-xxxxxxxxxxxxxxxxxxxxxxxx",
"apiEndpoint": "https://custom-opencode.example.com/api",
"sessionTimeout": 7200
}エラーメッセージ: "設定が見つかりません"
解決策:
.config.jsonがプロジェクトルートにあるか確認- ファイル名が正しいか確認(先頭のドットを忘れない)
- ファイルのパーミッションを確認
ls -la .config.jsonエラーメッセージ: "設定ファイルの読み込みに失敗しました"
解決策:
- JSON構造を検証
- 不要なカンマや引用符がないか確認
- UTF-8エンコーディングであるか確認
file .config.json
# => .config.json: UTF-8 Unicode textエラーメッセージ: "認証に失敗しました"
解決策:
- APIキーが正しいか確認
- APIキーの有効期限を確認
- OpenCodeのアカウント状態を確認
異なる環境で異なる設定を使用する場合:
# 開発用
cp .config.dev.json .config.json
# 本番用
cp .config.prod.json .config.json設定の切り替えを自動化:
#!/bin/bash
# switch-config.sh
if [ "$1" == "dev" ]; then
cp .config.dev.json .config.json
echo "Development environment activated"
elif [ "$1" == "prod" ]; then
cp .config.prod.json .config.json
echo "Production environment activated"
else
echo "Usage: ./switch-config.sh [dev|prod]"
fi使用方法:
chmod +x switch-config.sh
./switch-config.sh dev設定が完了したら: