Next AI Draw.io
管理面板全部页面

自行部署

管理面板

管理面板让您在网页上管理服务端设置,无需手动编辑 .env。本页介绍如何开启面板、可以在面板里修改什么,以及设置保存在哪里。

开启面板

  1. 设置环境变量 ADMIN_PASSWORD。没有设置时,面板处于关闭状态。
  2. 打开 /admin,用这个密码登录。

为所有用户提供模型

在“模型”区块里添加服务商,并填入它的 API Key 和模型列表。填写凭据的输入框,和应用设置里“模型”标签页的输入框相同。

保存后,这些模型会成为所有用户都能使用的服务端模型。处理请求时,它们会和您环境里的 AI_MODELS_CONFIG 或 ai-models.json 合并。面板不会修改这些环境文件。

修改其他设置

面板的其他区块里有这些设置:

区块在这里设置什么
回复设置生成参数,决定 AI 怎么回复
访问权限访问码
可选功能功能开关
调用记录模型调用的记录(可观测性)
用量限制配额

保存的设置会写入设置文件(默认是 data/settings.json),并立即生效,无需重启。少数设置标有“需重启”,例如 Langfuse 和 DynamoDB 的设置:重启服务器后,它们才会生效。

面板只能修改它显示的设置,其他变量一律不予保存。下面这些变量请在环境里设置:

  • NEXT_PUBLIC_* 变量,它们在构建应用时就已固定
  • 开启面板的 ADMIN_PASSWORD,以及指定设置文件位置的 SETTINGS_FILE
  • 各服务商的推理和思考设置,例如 OPENAI_REASONING_EFFORT 和 ANTHROPIC_THINKING_BUDGET_TOKENS
  • 面板里没有显示的其他变量,例如 DEBUG_LLM_PAYLOAD 和 CLIENT_IP_HEADER

使用哪个值

同一个设置可能在多个地方都有值。应用按下面的顺序查找,使用最先找到的那个:

  1. 面板里保存的值
  2. 环境变量
  3. 内置默认值

删除面板里保存的值后,应用会重新使用环境变量。

设置保存在哪里

设置默认保存在服务器运行目录下的 data/settings.json 里。如果想保存到别的位置,请把环境变量 SETTINGS_FILE 设为这个文件的路径。

  • API Key 等密钥以明文形式保存在设置文件里。这个文件的权限是 600,只有文件的所有者可以读写。请不要公开这个文件。
  • 在任何主机上,只要应用无法创建设置文件所在的目录,或者无法写入这个目录,面板就会变成只读。这时面板顶部会显示提示,输入框和“保存修改”按钮都无法使用。应用只检查一次,结果会一直保留到服务器重启。
  • Vercel、Cloudflare Workers 等无服务器平台没有能长期保存文件的磁盘,所以面板在这些平台上是只读的。请在这些平台上用环境变量完成所有配置。

在 Docker 里保留设置

仓库里的 docker-compose.yml 会把主机上的 ./data 目录挂载到容器里的 /app/data(./data:/app/data),所以更换容器后,保存的设置仍然保留。如果您设置了 SETTINGS_FILE,请把文件放在 /app/data 里。

容器里的应用以用户 nextjs(uid 1001)运行,这个用户必须能写入这个目录。在 Linux 上,如果 ./data 不存在,Docker 会创建它,所有者是 root。这样应用就无法写入,面板会变成只读。启动容器前,请在 docker-compose.yml 所在的目录里创建这个目录,并设置正确的所有者:

mkdir -p data
sudo chown 1001:1001 data

如果面板已经因为这个原因变成只读,请运行上面的 chown 命令,然后重启容器。

在 GitHub 上编辑此页