From ee4613c3887fb57da2345bc256f4422ccf3badd0 Mon Sep 17 00:00:00 2001 From: "dayuan.jiang" Date: Fri, 12 Jun 2026 11:44:25 +0900 Subject: [PATCH] docs: move admin panel details to dedicated docs/{en,cn,ja}/admin-panel.md The READMEs now carry a short blurb + link, matching the existing per-topic docs (docker.md, ai-providers.md, ...). Removes the ~22-line inline section and the duplicated data/settings.json mentions. --- README.md | 16 ++-------------- docs/cn/README_CN.md | 16 ++-------------- docs/cn/admin-panel.md | 24 ++++++++++++++++++++++++ docs/en/admin-panel.md | 24 ++++++++++++++++++++++++ docs/ja/README_JA.md | 16 ++-------------- docs/ja/admin-panel.md | 24 ++++++++++++++++++++++++ 6 files changed, 78 insertions(+), 42 deletions(-) create mode 100644 docs/cn/admin-panel.md create mode 100644 docs/en/admin-panel.md create mode 100644 docs/ja/admin-panel.md diff --git a/README.md b/README.md index 1d9498e..61a1222 100644 --- a/README.md +++ b/README.md @@ -228,21 +228,9 @@ Administrators can configure multiple server-side models that are available to a ### Admin Panel -Instead of hand-editing `.env`, you can manage server settings in a web admin panel: +Set the `ADMIN_PASSWORD` environment variable and visit `/admin` to manage server settings (models, access codes, features, observability, quota) from a web panel instead of hand-editing `.env`. -1. Set the `ADMIN_PASSWORD` environment variable (leave unset to disable the panel). -2. Visit `/admin` and sign in. -3. In the Models section, add providers with their API keys and model lists — the same UI as the in-app model settings. Saved models become server-side models available to all users; they are stored in `data/settings.json` and merged with any `AI_MODELS_CONFIG` / `ai-models.json` from your environment at request time (the panel does not modify those env files). -4. Other sections cover access codes, generation parameters, features, observability, and quota. Saved settings are written to `data/settings.json` and apply immediately — no restart needed (a few settings such as Langfuse and DynamoDB are marked "Restart Required"). - -Precedence: settings saved in the panel override environment variables, which override built-in defaults. Removing a saved value falls back to the environment variable. - -Notes: - -- Secrets are stored in plaintext in `data/settings.json` (file mode 600). Keep the file private. -- On serverless platforms (Vercel, Cloudflare Workers) there is no persistent disk, so the panel is read-only — configure via environment variables there. -- With Docker, the `data/` directory is persisted via the volume in `docker-compose.yml`. -- `NEXT_PUBLIC_*` variables are baked in at build time and cannot be changed in the panel. +📖 **[Admin Panel Guide](./docs/en/admin-panel.md)** — setup, precedence rules, and notes. **Model Requirements**: This task requires strong model capabilities for generating long-form text with strict formatting constraints (draw.io XML). Recommended models include Claude Sonnet 4.5, GPT-5.1, Gemini 3 Pro, and DeepSeek V3.2/R1. diff --git a/docs/cn/README_CN.md b/docs/cn/README_CN.md index bcd3257..be2e4cb 100644 --- a/docs/cn/README_CN.md +++ b/docs/cn/README_CN.md @@ -224,21 +224,9 @@ npm run dev ### 管理面板 -无需手动编辑 `.env`,您可以在 Web 管理面板中管理服务端设置: +设置 `ADMIN_PASSWORD` 环境变量并访问 `/admin`,即可在 Web 面板中管理服务端设置(模型、访问码、功能开关、可观测性、配额),无需手动编辑 `.env`。 -1. 设置 `ADMIN_PASSWORD` 环境变量(不设置则面板禁用)。 -2. 访问 `/admin` 并登录。 -3. 在 Models 区块中添加提供商及其 API Key 和模型列表——交互与应用内的模型设置相同。保存后这些模型成为所有用户可用的服务端模型;它们存储在 `data/settings.json` 中,并在请求时与环境中的 `AI_MODELS_CONFIG` / `ai-models.json` 合并(面板不会修改这些环境文件)。 -4. 其余区块涵盖访问码、生成参数、功能开关、可观测性和配额。保存的设置会写入 `data/settings.json` 并立即生效,无需重启(少数设置如 Langfuse 和 DynamoDB 标记为"需要重启")。 - -优先级:面板中保存的设置覆盖环境变量,环境变量覆盖内置默认值。删除已保存的值会回退到环境变量。 - -注意事项: - -- 密钥以明文形式存储在 `data/settings.json` 中(文件权限 600),请妥善保管该文件。 -- 在无服务器平台(Vercel、Cloudflare Workers)上没有持久化磁盘,面板为只读 — 请改用环境变量配置。 -- 使用 Docker 时,`data/` 目录通过 `docker-compose.yml` 中的卷持久化。 -- `NEXT_PUBLIC_*` 变量在构建时固化,无法在面板中修改。 +📖 **[管理面板指南](./admin-panel.md)** — 启用方法、优先级规则和注意事项。 ## 工作原理 diff --git a/docs/cn/admin-panel.md b/docs/cn/admin-panel.md new file mode 100644 index 0000000..64fb6b5 --- /dev/null +++ b/docs/cn/admin-panel.md @@ -0,0 +1,24 @@ +# 管理面板 + +无需手动编辑 `.env`,您可以在 Web 管理面板中管理服务端设置。 + +## 启用面板 + +1. 设置 `ADMIN_PASSWORD` 环境变量(不设置则面板禁用)。 +2. 访问 `/admin` 并登录。 + +## 可配置内容 + +1. **Models(模型)** — 添加提供商及其 API Key 和模型列表,交互与应用内的模型设置相同。保存后这些模型成为所有用户可用的服务端模型,并在请求时与环境中的 `AI_MODELS_CONFIG` / `ai-models.json` 合并(面板不会修改这些环境文件)。 +2. **其余区块** — 访问码、生成参数、功能开关、可观测性和配额。保存的设置会写入 `data/settings.json` 并立即生效,无需重启(少数设置如 Langfuse 和 DynamoDB 标记为"需要重启")。 + +## 优先级 + +面板中保存的设置覆盖环境变量,环境变量覆盖内置默认值。删除已保存的值会回退到环境变量。 + +## 注意事项 + +- 密钥以明文形式存储在 `data/settings.json` 中(文件权限 600),请妥善保管该文件。 +- 在无服务器平台(Vercel、Cloudflare Workers)上没有持久化磁盘,面板为只读 — 请改用环境变量配置。 +- 使用 Docker 时,`data/` 目录通过 `docker-compose.yml` 中的卷持久化。 +- `NEXT_PUBLIC_*` 变量在构建时固化,无法在面板中修改。 diff --git a/docs/en/admin-panel.md b/docs/en/admin-panel.md new file mode 100644 index 0000000..5980e1c --- /dev/null +++ b/docs/en/admin-panel.md @@ -0,0 +1,24 @@ +# Admin Panel + +Instead of hand-editing `.env`, you can manage server settings in a web admin panel. + +## Enabling the panel + +1. Set the `ADMIN_PASSWORD` environment variable (leave unset to disable the panel). +2. Visit `/admin` and sign in. + +## What you can configure + +1. **Models** — add providers with their API keys and model lists, using the same UI as the in-app model settings. Saved models become server-side models available to all users, merged with any `AI_MODELS_CONFIG` / `ai-models.json` from your environment at request time (the panel does not modify those env files). +2. **Other sections** — access codes, generation parameters, features, observability, and quota. Saved settings are written to `data/settings.json` and apply immediately — no restart needed (a few settings such as Langfuse and DynamoDB are marked "Restart Required"). + +## Precedence + +Settings saved in the panel override environment variables, which override built-in defaults. Removing a saved value falls back to the environment variable. + +## Notes + +- Secrets are stored in plaintext in `data/settings.json` (file mode 600). Keep the file private. +- On serverless platforms (Vercel, Cloudflare Workers) there is no persistent disk, so the panel is read-only — configure via environment variables there. +- With Docker, the `data/` directory is persisted via the volume in `docker-compose.yml`. +- `NEXT_PUBLIC_*` variables are baked in at build time and cannot be changed in the panel. diff --git a/docs/ja/README_JA.md b/docs/ja/README_JA.md index 566629c..be2f66f 100644 --- a/docs/ja/README_JA.md +++ b/docs/ja/README_JA.md @@ -223,21 +223,9 @@ AWS BedrockとOpenRouter以外のすべてのプロバイダーはカスタム ### 管理パネル -`.env` を手動で編集する代わりに、Web 管理パネルでサーバー設定を管理できます: +`ADMIN_PASSWORD` 環境変数を設定して `/admin` にアクセスすると、`.env` を手動で編集する代わりに Web パネルでサーバー設定(モデル、アクセスコード、機能、可観測性、クォータ)を管理できます。 -1. `ADMIN_PASSWORD` 環境変数を設定します(未設定の場合、パネルは無効になります)。 -2. `/admin` にアクセスしてサインインします。 -3. Models セクションでプロバイダーの API キーとモデルリストを追加します — アプリ内のモデル設定と同じ UI です。保存するとそれらは全ユーザーが利用できるサーバーサイドモデルになります。`data/settings.json` に保存され、リクエスト時に環境の `AI_MODELS_CONFIG` / `ai-models.json` とマージされます(パネルがこれらの環境ファイルを変更することはありません)。 -4. その他のセクションはアクセスコード、生成パラメータ、機能、可観測性、クォータをカバーします。保存された設定は `data/settings.json` に書き込まれ、即座に反映されます — 再起動は不要です(Langfuse や DynamoDB など一部の設定は「再起動が必要」と表示されます)。 - -優先順位:パネルで保存された設定は環境変数を上書きし、環境変数は組み込みのデフォルト値を上書きします。保存した値を削除すると環境変数にフォールバックします。 - -注意事項: - -- シークレットは `data/settings.json` に平文で保存されます(ファイルモード 600)。ファイルの管理にはご注意ください。 -- サーバーレスプラットフォーム(Vercel、Cloudflare Workers)には永続ディスクがないため、パネルは読み取り専用です — 環境変数で設定してください。 -- Docker では、`data/` ディレクトリは `docker-compose.yml` のボリュームで永続化されます。 -- `NEXT_PUBLIC_*` 変数はビルド時に固定されるため、パネルでは変更できません。 +📖 **[管理パネルガイド](./admin-panel.md)** — 有効化の方法、優先順位ルール、注意事項。 ## 仕組み diff --git a/docs/ja/admin-panel.md b/docs/ja/admin-panel.md new file mode 100644 index 0000000..ff6b88b --- /dev/null +++ b/docs/ja/admin-panel.md @@ -0,0 +1,24 @@ +# 管理パネル + +`.env` を手動で編集する代わりに、Web 管理パネルでサーバー設定を管理できます。 + +## パネルの有効化 + +1. `ADMIN_PASSWORD` 環境変数を設定します(未設定の場合、パネルは無効になります)。 +2. `/admin` にアクセスしてサインインします。 + +## 設定できる項目 + +1. **Models(モデル)** — アプリ内のモデル設定と同じ UI で、プロバイダーの API キーとモデルリストを追加します。保存するとそれらは全ユーザーが利用できるサーバーサイドモデルになり、リクエスト時に環境の `AI_MODELS_CONFIG` / `ai-models.json` とマージされます(パネルがこれらの環境ファイルを変更することはありません)。 +2. **その他のセクション** — アクセスコード、生成パラメータ、機能、可観測性、クォータ。保存された設定は `data/settings.json` に書き込まれ、即座に反映されます — 再起動は不要です(Langfuse や DynamoDB など一部の設定は「再起動が必要」と表示されます)。 + +## 優先順位 + +パネルで保存された設定は環境変数を上書きし、環境変数は組み込みのデフォルト値を上書きします。保存した値を削除すると環境変数にフォールバックします。 + +## 注意事項 + +- シークレットは `data/settings.json` に平文で保存されます(ファイルモード 600)。このファイルは非公開に保ってください。 +- サーバーレスプラットフォーム(Vercel、Cloudflare Workers)には永続ディスクがないため、パネルは読み取り専用です — その環境では環境変数で設定してください。 +- Docker 使用時は、`data/` ディレクトリが `docker-compose.yml` のボリュームで永続化されます。 +- `NEXT_PUBLIC_*` 変数はビルド時に固定され、パネルでは変更できません。