feat: 5-issue fix — OCR image parse bug + Vue frontend feature parity + streaming UX
Fix 1 (CRITICAL): file_parser.py suffix normalization ".jpg", api_server.py Path.suffix Fix 2: Sidebar version history download, ProcessSection replaces old components Fix 3: OCR content/position layer structured logging in agent/nodes.py Fix 4: collapsible process sections with per-section stream routing + auto-fold Fix 5: agent_complete total_duration_ms, SummaryCard duration display - backend/file_parser.py: normalize suffix to always include leading dot - api_server.py: step_index in node_start, total_duration_ms in agent_complete - agent/nodes.py: _log_ocr_layers() for [内容层]/[位置层]/[合并] logging - frontend: ProcessSection.vue (NEW), chat.ts sections model, Sidebar versions - CLAUDE.md: updated component list and v6 changelog
This commit is contained in:
@@ -5,8 +5,7 @@ import { useSessionStore } from './stores/session'
|
||||
import { api } from './api/client'
|
||||
import Sidebar from './components/Sidebar.vue'
|
||||
import ChatMessages from './components/ChatMessages.vue'
|
||||
import StreamingMessage from './components/StreamingMessage.vue'
|
||||
import NodeProgress from './components/NodeProgress.vue'
|
||||
import ProcessSection from './components/ProcessSection.vue'
|
||||
import SummaryCard from './components/SummaryCard.vue'
|
||||
import UnifiedInput from './components/UnifiedInput.vue'
|
||||
|
||||
@@ -55,7 +54,7 @@ async function handleSend(text: string, files: File[]) {
|
||||
try {
|
||||
await api.chat(session.currentId, text, remoteIds, {
|
||||
onNodeStart(data) {
|
||||
chat.addNode(data)
|
||||
chat.addNode({ node: data.node, label: data.label, step_index: data.step_index })
|
||||
},
|
||||
onNodeComplete(data) {
|
||||
chat.completeNode(data)
|
||||
@@ -72,6 +71,7 @@ async function handleSend(text: string, files: File[]) {
|
||||
error_msg: data.error_msg,
|
||||
natural_explanation: data.natural_explanation,
|
||||
retry_count: data.retry_count,
|
||||
total_duration_ms: data.total_duration_ms,
|
||||
ocr_extraction_result: data.ocr_extraction_result,
|
||||
})
|
||||
|
||||
@@ -119,8 +119,7 @@ async function handleSend(text: string, files: File[]) {
|
||||
<main class="main-area">
|
||||
<div class="chat-container" ref="chatContainer">
|
||||
<ChatMessages />
|
||||
<StreamingMessage />
|
||||
<NodeProgress />
|
||||
<ProcessSection />
|
||||
<SummaryCard />
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user