Skip to content

1.2.0

Choose a tag to compare

@ZM-BAD ZM-BAD released this 16 Apr 16:53
· 102 commits to main since this release

πŸš€ Release v1.2.0

✨ New Features

πŸ›‘ Conversation Interruption

Users can now abort an LLM response mid-stream. Partial content (including reasoning/thinking) is automatically saved to the database β€” nothing is lost.

  • Introduced placeholder mode: real MongoDB documents are created before the chat request, eliminating the old temporary ID mechanism
  • New endpoint: POST /create-message-placeholders

🐳 Docker One-Click Deploy

docker compose up --build

4 services β€” MongoDB 8, MySQL 9.6, backend (Python 3.14), frontend (Node β†’ nginx) β€” with health checks, startup ordering, and persistent volumes.

Also added Makefile (14 targets) and VS Code Dev Container (.devcontainer/).

🌐 Full i18n Coverage

All hardcoded Chinese strings across the UI are now translation keys β€” chat actions, input controls, error boundary, loading screen, and API error messages. Added check-i18n-sync.mjs to keep en.json and zh.json in sync.

πŸ›‘οΈ Structured Error Handling

Unified error format across all endpoints β€” backend returns error codes via error_codes.py, frontend resolves them to localized messages via apiError.ts.

πŸ“ Smarter Title Generation

Refactored to a Template Method pattern across all model services. Titles now match the user's language instead of defaulting to Chinese.

🎨 Model Select Box UI

Optimized the model selector dropdown appearance.


πŸ› Bug Fixes

  • πŸ”’ package-lock.json was out of sync with package.json, causing npm ci to fail in CI β€” regenerated without --legacy-peer-deps

πŸ“– Docs

  • README (EN & ZH) rewritten with Mermaid architecture diagrams
  • Added .webp demo videos, replaced old PNG screenshots