📋 All Releases English | 简体中文
Release date: 2025-09-20 (100+ commits since 1.6.9.30)
1.7.0 is a major upgrade centered around full MCP (Model Context Protocol) enablement and enhanced Tool Call experience, accompanied by a large-scale refactor of database and data model, drag-and-drop ordering for models/keys/presets, a new Markdown Mermaid renderer, image size controls, and numerous UX improvements and fixes across both backend and frontend.
- Full MCP support: end-to-end server/frontend integration, per-user authorization, tool discovery, in-chat usage, and permission validation
- Enhanced Tool Calls: richer SSE events, new message content types for tool request/response, streaming UI
- Data model & DB refactor (breaking): Message → ChatTurn/Step layering, migration script, default constraint cleanup
- Model & key management revamp: accordion grouping and drag-and-drop ordering for Providers/Keys/Models with matching backend APIs and schema
- Chat UX upgrades: per-message / whole-segment regeneration, System Prompt edit/render modes, auto-hide input while generating, richer statuses
- Markdown Mermaid: better dark/light themes, fullscreen view, caching & debounce, streaming-friendly
- Image generation sizes: common sizes added and configurable in chat
- Stronger OpenAI compatibility: tool-call fixes (e.g., gpt-5/Qwen), improved Keycloak login compatibility, Google AI integration validated
Backend entities & relations:
- Tables:
McpServer,McpTool,UserMcp,ChatConfigMcp UserMcpstrictly controls user access to MCP servers; creators are auto-assigned- Server labels: globally unique, colon
:disallowed; headers must be empty or valid JSON object
Backend APIs (partial):
- List/Management/Details:
GET /api/mcp,GET /api/mcp/management,GET /api/mcp/{id} - Create/Update/Delete:
POST /api/mcp,PUT /api/mcp/{id},DELETE /api/mcp/{id} - Fetch tools:
POST /api/mcp/fetch-tools(enumerates tools via SSE to remote MCP server) - User assignment:
POST /api/mcp/{id}/assign-to-users, plus endpoints for unassigned/assigned users
Chat integration:
- Each Chat Span can bind multiple MCPs (
ChatConfigMcp) - Server validates user permission to all bound MCP servers (via
UserMcp) before chat - Tool calls stream parameters & results into message content; UI renders them in real time
Frontend management:
- New “MCP” tab in Settings: create/edit MCP servers, fetch tools, assign users, and gated editability
- SSE kinds extended (
SseResponseKind):CallingTool,ToolProgress,ToolCompleted,StartResponse,StartReasoning,ImageGenerated, etc. - Message content types:
toolCall,toolResponse(frontend assembles streaming parameters and displays results) - Backend SSE output uses richer JSON polymorphism; frontend types updated accordingly
To improve maintainability and observability, the message storage layer has been refactored.
- Schema & model changes:
Message→ChatTurnMessageContent*→Step*(newSteptable;StepContentreferencesStep)Chat.LeafMessageId→LeafTurnId
- Usage relations:
UserModelUsageno longer referencesUserModel; nowUserId+ModelIdUsageTransactionno longer referencesUserModel; now directlyModelId- Removed
UserModel.IsDeleted
- Archival & performance:
- New
ChatConfigArchivedto store formerHashCode, which is removed fromChatConfig
- New
- Ordering capabilities:
- Add
OrdertoModelKey; makeModel.OrderNOT NULL - Add
OrdertoChatPreset
- Add
- Default constraints cleanup: removed multiple defaults to avoid “implicit writes”; app layer controls explicitly
- Migration script (SQL Server):
src/scripts/db-migration/1.7/20250516-mcp.sql
Note: This section contains breaking changes. Back up your database and follow the upgrade guide strictly.
- New management UI: accordion grouping for Providers/Keys
- Drag-and-drop ordering via dnd-kit: Providers, Models, and ModelKeys
- Backend reorder APIs and fields to persist fine-grained ordering
- Support user-level model management, usage stats link, provider icons
- Regeneration:
- Single message:
POST /api/chats/regenerate-assistant-message - Regenerate all assistant messages after a given user message:
POST /api/chats/regenerate-all-assistant-message
- Single message:
- System Prompt: new edit/render modes
- Image size: 1024×1024, 1536×1024, 1024×1536 (
KnownImageSizeandChatConfig.ImageSizeId) - Mermaid Markdown:
- New
MermaidBlockand fullscreen dialog with dark/light theming - Debounced rendering, SVG caching, graceful fallback to reduce flicker/failures
- New
- Other improvements:
- Auto-hide ChatInput while generating
- More icons, tooltips, disabled states, mobile page and multiple UI tweaks
- Continued improvements for OpenAI-compatible flows
- Fixes for tool-calls with gpt-5/Qwen
- Keycloak login compatibility improvements
- Google AI integration validated
- MCP server labels must be unique and cannot contain
:; headers must be empty or a JSON object - MCP servers aren’t auto-loaded; access fully controlled by
UserMcp
- Multiple frontend build/runtime fixes, dependency upgrades, and
console.logcleanup - Fixes for share page display, initial settings load/save, model reference loading, empty turns and edge cases
- Polish on prompt/title behavior and microcopy
- Scripts: new and combined restore scripts (e.g.,
restore-dev.local), updateddev.win.sql
- Back up the database (strongly recommended)
- Run the migration script on SQL Server:
src/scripts/db-migration/1.7/20250516-mcp.sql - Rebuild and redeploy the backend; for frontend, consider removing
src/FE/node_modulesand reinstall/build due to dependency changes - Login as admin, go to “Settings → MCP” to create/import MCP servers and assign users
- For ordering features, use the model management UI to drag/drop Provider/Model/Key/Presets
If you rely on the old DB defaults/shape in any external scripts/reports, please adapt them accordingly.
- New chat regeneration:
POST /api/chats/regenerate-assistant-messagePOST /api/chats/regenerate-all-assistant-message
- New MCP management/assignment:
GET /api/mcp,GET /api/mcp/management,GET /api/mcp/{id}POST /api/mcp,PUT /api/mcp/{id},DELETE /api/mcp/{id}POST /api/mcp/fetch-toolsPOST /api/mcp/{id}/assign-to-users,GET /api/mcp/{id}/get-unassigned-users,GET /api/mcp/{id}/assigned-user-details,GET /api/mcp/{id}/assigned-user-names
- SSE events: richer JSON polymorphism; frontend
SseResponseKindand unions updated accordingly
- Wide-ranging DB schema changes and renames; migration SQL is required
UserModelUsage/UsageTransactionno longer referenceUserModel; removedUserModel.IsDeletedChat.LeafMessageId→LeafTurnId- Multiple default constraints removed; adjust external dependencies if any
- Remote MCP tool enumeration depends on the peer service; initial fetch may take noticeable time when many tools exist
- Some third-party model/tool-call edge cases may still require vendor-specific adjustments
- Thanks to the community! Special thanks to PR #96 (by @xiehs211) for fixing the login page runtime error.
If you have any issues or suggestions for this release, please open an Issue or PR. Enjoy!