feat(web): 将原生 select 替换为 shadcn/ui Select 组件并支持图片消息发送

- 在 AccountForm、AssetGallery、ChatView、ConfigForm、PromptEditor 中将 `<select>` 替换为 shadcn/ui 的 Select 组件以统一 UI 风格
- 在 ChatView 和 useChat hook 中支持发送图片附件
- 更新 pi-bridge 和 ws/chat 以处理 agent 调用中的图片数据
This commit is contained in:
2026-05-08 02:18:50 +08:00
parent 803b55605f
commit 2186b04675
9 changed files with 110 additions and 84 deletions

View File

@@ -44,7 +44,7 @@ interface RunContext {
currentAssistantMsgId: string | null;
}
export async function runAgentChat(ws: WebSocket, convId: string, userContent: string) {
export async function runAgentChat(ws: WebSocket, convId: string, userContent: string, images?: Array<{ type: 'image'; data: string; mimeType: string }>) {
const userMsgId = saveUserMessage(convId, userContent);
ws.send(JSON.stringify({ type: 'message', data: { id: userMsgId, role: 'user', content: userContent } }));
@@ -84,7 +84,7 @@ export async function runAgentChat(ws: WebSocket, convId: string, userContent: s
ws.send(JSON.stringify({ type: 'status', data: { status: 'thinking' } }));
try {
await agent.prompt(userContent);
await agent.prompt(userContent, images);
} catch (err) {
const errMsg = (err as Error).message;
console.error('[pi-bridge] Agent error:', errMsg);