feat: 添加文字输入对话功能

- 后端 WsQuery 添加 text 字段,支持文本输入模式
- Pipeline 支持文本查询时跳过 STT 直接使用输入文本
- 前端 ChatPanel 添加文字输入框,连接状态下可用
- useVisionSession 添加 sendTextMessage 方法
- 更新接口文档,添加文本输入模式说明
This commit is contained in:
2026-06-14 12:52:39 +08:00
parent 563ca12790
commit 51ed6aa563
8 changed files with 252 additions and 73 deletions

View File

@@ -473,6 +473,13 @@ body {
/* ---- Chat Panel (覆盖子组件样式) ---- */
.chat-panel {
flex: 1;
display: flex;
flex-direction: column;
min-height: 0;
}
.chat-panel__messages {
flex: 1;
overflow-y: auto;
padding: 16px 24px;
@@ -560,6 +567,56 @@ body {
letter-spacing: 0.01em;
}
/* ---- Chat Input ---- */
.chat-input {
display: flex;
gap: 8px;
padding: 12px 24px 16px;
border-top: 1px solid var(--color-border);
background: var(--color-surface);
}
.chat-input__field {
flex: 1;
padding: 10px 14px;
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
background: var(--color-surface-2);
color: var(--color-text);
font-size: 0.82rem;
outline: none;
transition: border-color var(--transition-fast);
}
.chat-input__field::placeholder {
color: var(--color-text-muted);
}
.chat-input__field:focus {
border-color: var(--color-primary);
}
.chat-input__send {
padding: 10px 16px;
border: none;
border-radius: var(--radius-sm);
background: var(--color-primary);
color: white;
font-size: 0.9rem;
cursor: pointer;
transition: opacity var(--transition-fast);
}
.chat-input__send:hover:not(:disabled) {
opacity: 0.9;
}
.chat-input__send:disabled {
opacity: 0.4;
cursor: not-allowed;
}
/* ---- Streaming Cursor ---- */
.cursor {