# 配置管理后台 项目内置了一个零额外依赖的配置后台,用于统一管理登录账号、角色、AI 模型和 MCP 配置。 > 如果要把后台部署到另一台电脑、局域网服务器或云服务器,请直接查看独立文档 [BACKEND_DEPLOY.md](BACKEND_DEPLOY.md)。部署端只需要 `admin_backend.py`,不需要上传桌面端代码或安装桌面端依赖。 ## 1. 启动后台 在项目目录运行: ```powershell python admin_backend.py ``` 后台会优先使用 `8765`。如果该端口已被其他程序占用,会自动尝试 `8766`、`8767`……,并在控制台打印最终地址。桌面端会读取 `backend_runtime.json` 自动跟随实际端口,无需手工修改。 浏览器打开控制台打印的地址。首次创建数据库时使用: - 用户名:`admin` - 初始密码:`Admin@123456` 首次登录必须修改密码。也可以在第一次启动前通过环境变量 `WECOM_ADMIN_INITIAL_PASSWORD` 设置不同的初始密码。 数据库默认保存在 `backend.db`,已加入 `.gitignore`。首次建库会读取当前 `ai_settings.json` 作为第一版模型配置。 ## 2. 用户与角色 - 管理员(admin):管理用户、角色并发布模型配置。 - 配置员(operator):查看和发布模型配置,不能管理用户。 - 只读用户(viewer):查看后台并登录桌面端同步配置,不能修改配置。 管理员创建的新用户第一次登录网页时也必须修改初始密码,之后才能从桌面端登录。 ## 3. 桌面端自动配置 启动 `wechat_gui.py`,进入“AI 人格与能力”页: 1. 点击“登录后台”。 2. 填写后台地址、用户名和密码。 3. 登录成功后,后台配置立即写入本机 `ai_settings.json` 并生效。 4. 桌面端以后会在启动时及每 5 分钟自动同步,也可以点击“立即同步”。 本机只保存 30 天有效的访问令牌,不保存后台密码。登录后台并启用自动同步后,本地 AI 配置字段会变成只读,以后台配置为准;退出后台后可恢复本地编辑。 后台发生端口冲突并自动更换端口时,同一项目目录中的桌面端会自动发现新地址;已有登录令牌可以继续使用。 同一台电脑上启动后台与桌面端时,后台会在 `backend_runtime.json` 发布一个仅限回环地址使用的临时只读同步凭证。桌面软件启动时会先检测该服务并拉取最新配置,所以即使没有保存后台账号登录,也会立即刷新“能力开关”“模型与身份”和“MCP 服务器”中的内容。该凭证不能管理用户或修改后台配置,后台停止后即失效。 ## 4. 连接已部署的后台 后台所在电脑启动服务: ```powershell python admin_backend.py --host 0.0.0.0 --port 8765 ``` 桌面端后台地址填写服务器的局域网地址,例如 `http://192.168.1.20:8765`。需要在 Windows 防火墙中仅对可信局域网放行该端口。 Docker、云服务器、HTTPS、备份和升级步骤统一放在 [BACKEND_DEPLOY.md](BACKEND_DEPLOY.md),不再与桌面端使用说明混在一起。 ## 5. 管理员密码恢复 停止后台后运行: ```powershell python admin_backend.py --reset-admin-password ``` 按提示输入新密码。重置后已有 admin 登录令牌会失效,下次登录仍需再修改一次密码。 ## API - `POST /api/v1/auth/login`:桌面端登录并取得令牌。 - `POST /api/v1/auth/logout`:注销令牌。 - `GET /api/v1/me`:读取当前用户及角色。 - `GET /api/v1/config`:读取当前版本的模型配置。 - `POST /api/v1/model/test`:使用当前提交的模型地址、名称和可选密钥测试连通性(仅管理员和配置员;不会保存配置)。 - `GET /api/v1/desktop/config`:桌面软件启动时只读同步云端配置。 - `GET /health`:健康检查。 模型测试支持三种 `AI_PROVIDER_TYPE`: - `openai`:OpenAI 兼容接口,向 `chat/completions` 发送最小对话请求。 - `dify`:Dify 应用接口,向 `chat-messages` 发送 blocking 请求。 - `comfyui`:ComfyUI 文生图服务,通过 `GET /system_stats` 检查服务状态。 管理页面可直接选择服务类型并点击“测试模型连通性”。测试使用页面当前值,不保存配置;API Key 留空时沿用后台已保存值,响应和审计记录均不会包含密钥。 ## 云端开发模式 管理员或配置员可在“能力开关”中开启“开发模式”并发布。桌面端下次启动或定时同步后,会在“运行日志”显示: - 云端配置请求的具体地址、配置版本和更新时间; - 云端返回的具体配置; - 每次模型调用采用的服务类型、模型名称、基础地址和最终请求地址。 所有诊断均会隐藏 API Key、Token、密码、认证头、Cookie 等敏感值,也不会输出聊天内容。关闭开关并发布后,桌面端下次同步起停止输出这些诊断信息。