-
+
+
+
+
-
使用中
-
{queueStatus.in_use}
+
使用中
+
{queueStatus.in_use}
-
-
-
-
+
+
+
+
-
账号总数
-
{queueStatus.total}
+
账号总数
+
{queueStatus.total}
@@ -401,26 +401,26 @@ export default function AccountManager({ config, onRefresh, onMessage, authFetch
-
+
diff --git a/webui/src/components/ApiTester.jsx b/webui/src/components/ApiTester.jsx
index 7d19bf0..a988559 100644
--- a/webui/src/components/ApiTester.jsx
+++ b/webui/src/components/ApiTester.jsx
@@ -10,7 +10,9 @@ import {
User,
Loader2,
CheckCircle2,
- AlertCircle
+ AlertCircle,
+ ChevronDown,
+ ShieldCheck
} from 'lucide-react'
import clsx from 'clsx'
@@ -32,6 +34,9 @@ export default function ApiTester({ config, onMessage, authFetch }) {
const [isStreaming, setIsStreaming] = useState(false)
const abortControllerRef = useRef(null)
+ const [sidebarOpen, setSidebarOpen] = useState(false)
+ const [configExpanded, setConfigExpanded] = useState(false)
+
const apiFetch = authFetch || fetch
const accounts = config.accounts || []
@@ -178,75 +183,97 @@ export default function ApiTester({ config, onMessage, authFetch }) {
}
return (
-
+
{/* Configuration Panel */}
-
-
-
-
- 模型选项
-
-
-
-
-
- {MODELS.map(m => {
- const Icon = m.icon
- return (
-
- )
- })}
+
+
+ {/* Mobile Toggle Header */}
+
+
+
+
+
-
-
-
-
+
+
+
+ 模型选项
+
-
-
-
setApiKey(e.target.value)}
- />
+
+
+
+ {MODELS.map(m => {
+ const Icon = m.icon
+ return (
+
+ )
+ })}
+
+
+
+
+
+
+
+
+
+
+ setApiKey(e.target.value)}
+ />
+
{/* Chat Interface */}
-
+
{/* Messages Area */}
{/* User Message */}