Next AI Draw.io 的 /admin 管理面板怎么配置访问码、配额和功能开关
Next AI Draw.io 的 /admin 管理面板怎么配置访问码、配额和功能开关【免费下载链接】next-ai-draw-ioA next.js web application that integrates AI capabilities with draw.io diagrams. This app allows you to create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io自部署 Next AI Draw.io源码或 Docker之后如果想限制谁能聊天、给每个 IP 设每日配额、或开关 VLM 校验这类功能不必手动编辑.env再重启项目提供了一个 Web 管理面板/admin改动直接写入data/settings.json并立即生效。唯一前提是部署环境有可写持久盘——在 Vercel、Cloudflare Workers 这类无持久盘的 serverless 平台上面板是只读的只能改用环境变量配置。启用面板ADMIN_PASSWORD 与持久化面板由环境变量ADMIN_PASSWORD控制设置了就启用不设置则整个面板禁用API 会返回 403 并提示 Admin panel is disabled。源码方式env.example 中有注释示例cp env.example .env.local # 在 .env.local 中取消注释并设置 # ADMIN_PASSWORDyour-admin-password npm run dev启动后访问http://localhost:6002/admin开发服务器端口见 README.md。保存的设置写入项目目录下的data/settings.json。Docker 方式docker-compose.yml的服务已经用env_file: .env读取环境变量并用卷./data:/app/data持久化面板设置文件data/settings.json。把ADMIN_PASSWORD你的密码加进.env后用docker compose up -d启动访问http://localhost:3000/admin。可选地SETTINGS_FILE可以指定设置文件的其他位置默认./data/settings.json见 env.example。登录 /admin 并确认面板可用在登录页的密码框填入ADMIN_PASSWORD的值即可进入。登录成功后密码会留在浏览器sessionStorage中同一会话刷新页面自动重新登录。也可以直接用 API 验证面板是否启用、密码是否正确以下以 Docker 的 3000 端口为例curl -i -H x-admin-password: 你的ADMIN_PASSWORD http://localhost:3000/api/admin/settings三种结果对应三种状态行为见 app/api/admin/settings/route.ts 与 lib/admin/auth.ts未设置ADMIN_PASSWORDHTTP 403Admin panel is disabled. Set the ADMIN_PASSWORD environment variable to enable it.密码错误HTTP 401Invalid admin password正确HTTP 200返回writable和每个设置项的key、sourcefile/env/default与当前值。source字段能直接告诉你某项当前是来自面板保存值、环境变量还是内置默认。配置访问码Access Control进入面板后在Access Control分组里只有ACCESS_CODE_LIST一项逗号分隔的列表用户聊天时必须输入其中之一才能使用留空则不限制open access。设置后保存即可无需重启。可以用验证接口确认生效情况逻辑见 app/api/verify-access-code/route.tscurl -i -X POST http://localhost:3000/api/verify-access-code -H x-access-code: code1未配置任何访问码时恒返回{ valid: true, message: No access code required }请求头缺失401Access code is required代码不在列表中401Invalid access code代码匹配200Access code is valid。注意ACCESS_CODE_LIST既可以在面板里保存也可以在.env里配置。面板保存值会覆盖环境变量优先级见下文把面板里该字段清空后回落到环境变量的值。功能开关FeaturesFeatures分组提供一组布尔/数值开关每一项都对应同名环境变量字段用途约束ENABLE_VLM_VALIDATION用视觉模型对生成的图表做视觉校验布尔开关VALIDATION_MODEL校验用模型留空时回落到默认 AI 模型字符串VALIDATION_TIMEOUT校验超时毫秒最小 1000ENABLE_HISTORY_XML_REPLACE用占位符替换历史中的旧图表 XML布尔开关ALLOW_PRIVATE_URLS关闭后可阻止请求私网 IP 和内部主机名SSRF 防护布尔运行时默认值true字段定义与取值范围来自 lib/admin/settings-registry.ts。数字项有上下界如TEMPERATURE0–2 的校验在 Generation 分组越界时保存接口返回 400 和逐字段错误。面板顶部的 Models 分组管理 provider、API key 和模型列表保存的模型成为对所有用户可用的服务端模型与环境中AI_MODELS_CONFIG/ai-models.json在请求时合并面板不会改写那些环境文件。本文聚焦访问码、配额和功能开关Models 分组按同一套保存机制操作即可。配额与限流Quota Rate LimitsQuota Rate Limits分组控制按 IP 的用量限制但该分组右上角有 Enabled/Disabled 总开关——关闭总开关保存时该分组已保存的值会被删除、回落环境变量功能才算真正关掉。字段用途备注DAILY_REQUEST_LIMIT每 IP 每日请求上限最小 1DAILY_TOKEN_LIMIT每 IP 每日 token 上限最小 1TPM_LIMIT每分钟 token 上限最小 1DYNAMODB_QUOTA_TABLEDynamoDB 表名为空则配额执行被禁用标记 Restart RequiredDYNAMODB_REGIONDynamoDB 区域示例占位ap-northeast-1标记 Restart RequiredQUOTA_TIMEZONE每日重置边界所用的时区示例占位UTC标记 Restart Required分组说明明确写着 Per-IP usage limits. Enforcement requires a DynamoDB table——即三个限额字段只有配合 DynamoDB 表才会真正强制执行。保存、优先级与 Restart Required 项修改字段后页面底部出现保存栏Discard / Save Changes保存成功会短暂显示 Saved。保存行为与优先级规则见 docs/en/admin-panel.md保存值写入data/settings.json立即生效无需重启优先级面板保存值 环境变量 内置默认值把面板里某字段清空值为空等于删除该保存值回落到环境变量的值。标记 Restart Required 的例外lib/admin/settings-registry.ts 中以下 6 项在进程启动时才读取面板里明确标注了 Restart Required保存后需要重启服务才生效LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、LANGFUSE_BASEURLObservability 分组的 Langfuse 追踪DYNAMODB_QUOTA_TABLE、DYNAMODB_REGION、QUOTA_TIMEZONEQuota 分组其余访问码、功能开关、限额数字类字段均即时生效。限制与注意事项serverless 只读Vercel、Cloudflare Workers 没有持久盘面板进入只读状态并显示警告横幅此时 PUT 保存请求返回 503Settings file is not writable on this deployment. Configure via environment variables instead.——在这些平台上应直接配置环境变量。不可在面板修改的变量NEXT_PUBLIC_*在构建时打进客户端包ADMIN_PASSWORD和SETTINGS_FILE是引导项只能在环境变量中设置防止锁定各 provider 的 reasoning/thinking 调优变量也是环境变量的专属项。这些键即使通过 API 提交也会被拒Unknown setting。密钥以明文存储data/settings.json中的密钥如 Langfuse Secret Key是明文保存的文件权限 600读取时接口只返回掩码… 末 4 位。文档要求保持该文件私密Docker 场景靠 docker-compose.yml 的./data:/app/data卷让它落在宿主机受控位置。完成配置后的验收路径是固定的ADMIN_PASSWORD能登录/admin、访问码接口对正确/错误代码分别返回 200/401、非 Restart Required 的改动无需重启即生效。涉及 Restart Required 的 Langfuse 或 DynamoDB 配额项保存后重启容器或服务再验证。【免费下载链接】next-ai-draw-ioA next.js web application that integrates AI capabilities with draw.io diagrams. This app allows you to create, modify, and enhance diagrams through natural language commands and AI-assisted visualization.项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考