後臺總覽
Aivory 的絕大部分運營配置都在管理後臺完成:上游渠道與模型、使用者與配額、積分與兌換碼、內容稽核、備份遷移、用量報表等,全部儲存在資料庫中,儲存後即對後續請求生效,無需重啟服務。本頁介紹後臺的進入方式、左側導航結構,以及許可權模型。
進入方式
後臺入口有兩個,均要求當前賬號的角色為 admin:
| 入口 | 說明 |
|---|---|
| 側欄賬號選單 | 點選聊天介面左下角的賬號頭像,選單中的「管理後臺」項(盾形圖示)僅對管理員可見 |
直接訪問 /admin | 瀏覽器位址列輸入 https://你的域名/admin,會自動跳轉到「系統 > 全域性設定」頁 |
非管理員賬號訪問任何 /admin 路徑都會被直接重定向回首頁,頁面本身不會渲染,對應的管理 API 也不會被呼叫。後臺左上角的「返回聊天」按鈕可隨時回到主介面。
移動端訪問時,左側導航收納進漢堡選單,點選後從左側滑出,功能與桌面端一致。
全新部署(使用者數為 0)時,訪問站點會自動進入首啟設定頁 /setup,在這裡填寫郵箱、名字、密碼(至少 8 個字元)建立的第一個賬號即成為管理員,並自動登入(免郵箱驗證)。一旦系統中存在任何賬號,/setup 即永久失效(返回 409)。詳見首次執行。
導航結構一覽
左側導航是 6 個扁平選單項,每一項聚合若干相關頁面;進入後通過內容區頂部的二級標籤頁切換。下表列出全部頁面及其職責:
| 選單 | 二級標籤 | 路徑 | 職責 | 手冊 |
|---|---|---|---|---|
| 系統 | 全域性設定 | /admin/settings | 預設/任務/審校模型、上下文壓縮、註冊開關、每日限額、SMTP | 站點設定 |
| 系統 | 登入方式 | /admin/oauth | OAuth 第三方登入提供商配置 | 站點設定 |
| 系統 | 內容稽核 | /admin/moderation | 全域性違規關鍵詞、稽核模型、攔截提示語 | 渠道與模型 |
| 系統 | 公告 | /admin/announcement | 面向全站使用者的公告發布 | 站點設定 |
| 系統 | 備份與遷移 | /admin/backup | 完整庫備份 ZIP、站點配置 JSON 匯出/匯入 | 備份與遷移 |
| 模型 | 渠道 | /admin/channels | 上游 API 渠道:Base URL + API Key + 協議型別 | 渠道與模型 |
| 模型 | 模型 | /admin/models | 模型的建立、啟停、能力位、定價、按組配額 | 渠道與模型 |
| 能力 | 技能 | /admin/skills | 管理員維護的技能包,模型按需載入 | 渠道與模型 |
| 能力 | 圖片風格 | /admin/image-styles | 繪圖模式的官方風格預設 | 圖片生成 |
| 能力 | 工具 | /admin/tools | 搜尋後端、沙箱地址等工具呼叫配置 | 沙箱部署 |
| 能力 | 文件 | /admin/documents | 嵌入模型、MinerU 解析、RAG 注入引數、上傳限額 | 知識庫 |
| 能力 | 語音 | /admin/audio | 語音相關配置 | 站點設定 |
| 使用者 | 使用者 | /admin/users | 搜尋、建號、改角色、重置密碼、封禁、對話鑽取 | 使用者、配額與積分 |
| 使用者 | 使用者組 | /admin/user-groups | 會員等級:價格、功能、時效積分發放 | 使用者、配額與積分 |
| 使用者 | 兌換碼 | /admin/redeem-codes | 批次生成兌換碼,授予使用者組與有效期 | 使用者、配額與積分 |
| 工作空間 | 工作空間 | /admin/workspaces | 團隊共享空間的總覽與治理 | 工作空間 |
| 資料 | 用量 | /admin/usage | 逐條 API 呼叫記錄:篩選、排錯、刪除 | 用量與分析 |
| 資料 | 分析 | /admin/analytics | 整體使用趨勢:總體、分模型、分使用者 | 用量與分析 |
幾點導航行為說明:
- 側欄項與二級標籤按路徑字首高亮:進入深層頁面(如某使用者的對話記錄
/admin/users/:id/conversations,或某模型的設定頁/admin/models/:id)時,所屬大類和標籤仍保持高亮。 - 「模型標籤」管理頁(
/admin/model-tags)從模型列表或模型編輯頁進入,歸屬「模型 > 模型」標籤。 - 切換標籤只重新整理內容區,側欄與標籤欄保持不動。
初始配置動線
一個全新站點的最短配置路徑:
- 完成
/setup首啟設定,獲得管理員賬號。 - 進入「模型 > 渠道」,新增上游渠道(型別 + Base URL + API Key)。
- 進入「模型 > 模型」,在渠道下建立模型(上游模型 ID、名稱、定價、能力位),啟用後即出現在所有使用者的模型選擇器中。
- 進入「系統 > 全域性設定」,指定預設對話模型與任務模型;若要使用知識庫,再到「能力 > 文件」指定嵌入模型。
詳細步驟見渠道與模型與首次執行。若是從舊例項遷移,直接在「系統 > 備份與遷移」匯入完整備份,見備份與遷移。
許可權模型
角色
Aivory 只有兩種角色,儲存在使用者記錄的 role 欄位:
| 角色 | 許可權 |
|---|---|
user | 普通使用者:聊天、知識庫、專案、訂閱頁等全部前臺功能 |
admin | 在 user 基礎上增加整個管理後臺與全部 /api/admin/* 介面 |
管理員數量不限:可以在「使用者 > 使用者」頁把任何賬號的角色改為「管理員」,也可以在新建使用者時直接指定角色。後臺介面逐一經過 admin 角色校驗,前端的路由守衛只是第一道門。
唯一性與自我保護
- 首啟設定頁
/setup只在使用者數為 0 時可用,建立的賬號自動成為第一個管理員;此後/setup永久返回 409,不可能再通過它產生賬號。 - 管理員不能修改自己的角色:編輯自己賬號時角色下拉被停用。這保證了系統總有至少一個管理員,不會被誤操作鎖死。
- 管理員不能封禁或刪除自己:使用者列表中對自己那一行,封禁與刪除按鈕均不可用。
封禁的即時性
封禁一個使用者是即時全域性生效的,不依賴 token 過期:
- 使用者狀態寫為
banned,同時該使用者的 token 版本號自增; - 之後的每個請求在中介軟體比對 token 版本號,舊 token 立即失效;
- 該使用者進行中的生成會被廣播訊息取消,流式回覆即時斷開;
- refresh token 被刪除,無法再換髮新的 access token。
同一機制也用於「改密後失效全部會話」等場景。操作入口見使用者、配額與積分。
管理員檢視使用者資料是隻讀的
管理員可以從使用者列表鑽取檢視任意使用者的對話記錄、專案、知識庫與生成相簿(用於濫用排查與工單支援),但這些頁面不渲染任何編輯、重生成、刪除訊息的入口:看與動在介面層嚴格分開,管理員要發訊息只能用自己的會話。
後臺可配置的內容(渠道金鑰、模型、工具、RAG、儲存等)都是熱更新的:儲存後下一次請求即按新配置執行,不需要重啟容器。少數例外(如 JWT_SECRET 等環境變數)見核心環境變數。