- Refined frontend information architecture across Workspace / Insights / Collections / Archive / Library
- Added dedicated Chat navigation entry to separate QA from document operations
- Added in-page 专注对话 quick action on Documents page for one-click jump to full chat mode
- Expanded dedicated chat panel area and feed height to improve readability on wide screens
- Reduced overall UI typography scale for better visual density and consistency
- Rebuilt frontend with
npm run buildafter the structural and style changes
- QA flow is no longer constrained by the two-column document layout
- Workspace now supports both operation mode (Documents) and focused conversation mode (Chat)
- The revised typography and spacing reduce visual fatigue in long sessions
- Core QA workflow is stable in both entry points:
- Workspace -> Documents -> 专注对话
- Workspace -> Chat
- Frontend build passes after the UI structure update
- No in-page hide documents toggle yet; current strategy is dedicated Chat page
- Full responsive manual pass for all redesigned pages is still pending
- Add one lightweight responsive verification round (desktop + tablet + mobile) for all workspace tabs
- Then decide whether to add optional in-page Hide Docs toggle in Documents view
- Passed real local
Difysmoke forhealth -> auth -> knowledge base -> upload -> ingestion -> QA / SSE - Manually validated the frontend workbench on
http://localhost:3001 - Fixed local frontend
CORSforlocalhost:3001 / 127.0.0.1:3001 - Fixed
Dify Completion APIpayload compatibility by sendingqueryin both top-level payload and app inputs - Fixed dataset creation compatibility when knowledge base description is empty
- Added an in-repo OCR adapter service under
apps/ocr - Switched OCR runtime to
RapidOCR + opencv-python-headless - Wired OCR into deploy/docker-compose.yml
- Fixed backend OCR multipart compatibility with the OCR service contract
- Passed real OCR smoke for
PDF -> OCR -> Dify ingestion - Added Linux-executable smoke script smoke.sh
- Added Linux deployment rehearsal wrapper rehearse-linux.sh
- Verified streamed answers and source rendering in the browser
- Verified new ingestion tasks complete successfully after the backend fixes
- Added owner-only failed document delete and failed ingestion task retry in backend APIs
- Added frontend recovery actions for failed document cleanup and failed task retry
Core product flow currently provides:
- login / registration
- knowledge base creation and selection
- document upload
- ingestion task tracking
- Dify dataset / document synchronization
- OCR-backed PDF ingestion
- streamed QA with retrieved sources
- Linux-executable smoke / rehearsal package
Still pending:
- real Linux host deployment rehearsal
- bulk cleanup / bulk retry UX for historical failures
- Execute
bash scripts/rehearse-linux.shon the target Linux host - Then decide whether bulk cleanup UX is needed beyond the current single-item recovery path
- If deployment hosts are network-constrained, harden image build caching before release
- Confirmed formal technical baseline:
Java 21,Dify self-hosted, same-host split containers,MinIO - Delivered document upload and ingestion task tracking
- Delivered
Dify dataset/document APIintegration - Delivered
OCR orchestrationfor PDF ingestion - Delivered
QA / chat SSEwith source-return and refusal behavior - Delivered frontend business workbench with upload, task, and QA panels
- Added deployment smoke script for health, auth, KB, upload, ingestion, and QA validation
- Aligned Docker runtime env forwarding with the delivered Dify/OCR feature set
- Rehearsed the project Docker stack locally and confirmed
actuator/health = UP - Captured the real external dependency blocker: Dify connect failure at
http://host.docker.internal:8088/v1/datasets - Fixed authenticated SSE handling for async dispatch
- Updated env templates, deployment boundary, and project docs
- Passed frontend
lint / build - Re-passed backend
test / lint / build
Backend currently provides:
- Auth
- Knowledge base basic management
- Document upload
- Ingestion task records
- Dify dataset/document synchronization
- PDF OCR ingestion path
- Knowledge-base-scoped streaming QA
Still pending:
- Real external-service smoke tests
- Run real Dify / OCR smoke tests
- Then do one Linux deployment rehearsal