Files
tobiichiGPT/INTRO.md
ChenKaiLiuG f1761cb25d Add Intro
2026-01-31 22:32:31 +08:00

2.3 KiB
Raw Blame History

功能介紹

核心概念

TobiichiGPT 將 Open WebUI 這類 AI 對話系統的後端改造成由真人管理員回覆的系統。

基本原理

  1. API 中間層 - 提供 OpenAI API 相容端點(/v1/chat/completions
  2. 訊息轉發 - 將用戶訊息存入資料庫的 reply_queue 表格
  3. 管理員介面 - 使用對話軟體讓真人管理員查看並回覆
  4. 輪詢機制 - API 等待管理員在資料庫中填入回覆後返回給用戶

技術架構

用戶 → Open WebUI → API (FastAPI) → PostgreSQL ← 管理介面 ← 管理員
                         ↓                              ↓
                    等待回覆                       填寫回覆
                         ↓                              ↓
                    返回給用戶 ←──────────────────────────┘

需求分析

Open WebUI 的對話結構

Open WebUI 採用雙層結構來組織對話:

用戶 A (user_id: abc123)
  ├── 對話 1 (chat_id: chat_001) - "教我 Python"
  ├── 對話 2 (chat_id: chat_002) - "推薦餐廳"
  └── 對話 3 (chat_id: chat_003) - "旅遊攻略"

用戶 B (user_id: def456)
  ├── 對話 1 (chat_id: chat_004) - "程式問題"
  └── 對話 2 (chat_id: chat_005) - "健康諮詢"

關鍵特性

  • 一個用戶user_id可以創建多個對話chat_id
  • 每個對話有獨立的主題和訊息串
  • 管理員需要能夠明確追蹤「哪個用戶的哪個對話」

管理後台需求

理想的管理介面應該呈現:

📂 所有對話(按用戶分組)
├── 👤 張三 (User A)
│   ├── 💬 對話: "教我 Python" (3 則訊息)
│   ├── 💬 對話: "推薦餐廳" (5 則訊息) 
│   └── 💬 對話: "旅遊攻略" (2 則訊息)
│
└── 👤 李四 (User B)
    ├── 💬 對話: "程式問題" (1 則訊息) ⚠️ 待回覆
    └── 💬 對話: "健康諮詢" (4 則訊息)

核心需求

  • 用戶分組 - 能看到每個用戶的所有對話
  • 對話追蹤 - 同一對話的多輪訊息要串在一起
  • 多層結構 - 支援「用戶 → 對話 → 訊息」的層級關係
  • 狀態管理 - 清楚標示哪些對話待回覆

架構