You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Added new integrations for Telegram, DingTalk, and Mattermost IM channels.
- Introduced a pluggable slash command system and a suggested questions feature for enhanced user interaction.
- Implemented VLM auto-description for images returned by MCP tools.
- Improved stability of MCP tool names and added channel tracking for knowledge entries.
- Fixed multiple bugs including empty responses when no knowledge base is configured and UTF-8 truncation issues.
- Updated documentation to reflect new features and enhancements.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+53Lines changed: 53 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,58 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
+
## [0.3.5] - 2026-03-27
6
+
7
+
### 🚀 New Features
8
+
-**NEW**: Telegram IM Integration — Telegram bot adapter with webhook and long-polling modes, streaming replies via editMessageText, file download via getFile API, and timing-safe secret token verification
9
+
-**NEW**: DingTalk IM Integration — DingTalk bot supporting webhook (HmacSHA256 signature verification) and Stream mode (via dingtalk-stream-sdk-go), with AI Card streaming via OpenAPI and AccessToken caching
10
+
-**NEW**: Mattermost IM Channel — Mattermost IM channel adapter support
11
+
-**NEW**: IM Slash Command System — pluggable command framework with five built-in commands: /help, /info, /search, /stop, /clear; wired into all IM channel message dispatch
12
+
-**NEW**: IM Distributed Coordination — Redis-based multi-instance coordination: per-user queue limits, global concurrency gate, message dedup, WebSocket leader election, /stop cancellation for queued and in-flight requests
13
+
-**NEW**: Suggested Questions — agent-specific suggested questions API based on knowledge bases, with frontend display in chat and create-chat views; image knowledge auto-enqueues question generation tasks
14
+
-**NEW**: VLM Auto-Describe MCP Tool Images — when MCP tools return image content, the agent automatically generates text descriptions via the configured VLM model, making image data accessible to text-only LLMs
15
+
-**NEW**: Novita AI Provider — new LLM provider with OpenAI-compatible API supporting chat, embedding, and VLLM model types
16
+
-**NEW**: Channel Tracking — channel field added to knowledge entries and messages to track source (web/api/im/browser_extension) with frontend labels and DB migrations
17
+
-**NEW**: Expose Built-in Parser Engine in Settings — built-in parser engine now visible and selectable in the settings UI
18
+
19
+
### ⚡ Improvements
20
+
- MCP tool names now derived from service.Name (stable across server reconnections) instead of UUID; added collision detection and unique (tenant_id, name) DB index
21
+
- Frontend formats MCP tool names from snake_case (e.g. mcp_my_server_search_docs) to human-readable form (My Server Search Docs)
22
+
- Enhanced intent classification and context templates: runtime metadata (current time, weekday) injected into context, critical instructions added to rewrite template for entity/keyword preservation
23
+
- Knowledge search: added SQL LIKE wildcard escaping, title-based filtering, URL and HTML file type support; FindByMetadataKey method added
24
+
- Chunk search returns total chunk counts per knowledge ID for improved agent context awareness
25
+
- MiniMax models upgraded from M2.1/M2.1-lightning to M2.7/M2.7-highspeed; Novita AI MiniMax reference updated to M2.7
26
+
- DingTalk AI Card streaming: create/deliver/update via OpenAPI; shared think-block rendering via im.TransformThinkBlocks applied to all IM reply paths (DingTalk, Telegram, Feishu)
27
+
- IM stream orphan reaper and edit throttling added for DingTalk and Telegram; Feishu stream reaper fixes memory leak
28
+
- WeCom group chat replies fixed via appchat API with user fallback; empty-stream fallback when no visible content is produced
29
+
- Improved LLM call log summarization: limits output to last few messages to reduce verbosity
30
+
- ParallelToolCalls option added to ChatOptions
31
+
32
+
### 🐛 Bug Fixes
33
+
- Fixed agent producing empty response when no knowledge base is configured: retry (max 2), nudge message, and fallback response added
34
+
- Fixed UTF-8 byte-based truncation in summary fallback causing PostgreSQL invalid byte sequence errors for Chinese/emoji content; changed to rune-based truncation
35
+
- Fixed marked.js usage errors; upgraded marked dependency to v17.0.5 for correct code block rendering
36
+
- Fixed vLLM streaming: reasoning content now parsed and propagated through streaming pipeline alongside standard response
37
+
- Fixed frontend page counter not resetting to 1 after knowledge file operations (tag, upload, move, edit, delete), causing pagination skips
38
+
- Fixed image markdown being stripped during message sanitization
39
+
- Fixed MCP tool naming to use service.Name instead of UUID, preventing tool call failures after server reconnection
40
+
- Fixed global default storage engine not respected when creating a new knowledge base (was hardcoded to "local")
41
+
- Fixed API key encryption loss when updating tenant settings via PUT /tenants/kv/{key}: AfterFind-decrypted plaintext no longer written back to DB
42
+
- Fixed empty passage filtering in rerank to prevent Aliyun and Baidu Qianfan 400 errors
43
+
- Fixed markdown table rows being passed raw to rerank; now converted to plain text (col1, col2) before reranking
44
+
- Fixed OpenRouter embedding provider missing support
45
+
- Fixed Milvus vector metric type now configurable via MILVUS_METRIC_TYPE environment variable
46
+
- Fixed temperature validation to accept zero as a valid value (was previously defaulting)
47
+
- Fixed pg_search update guarded with skip_embedding to prevent unnecessary re-embedding
48
+
- Fixed thinking block content being indexed into chat history knowledge base, degrading RAG retrieval quality
49
+
50
+
### 📚 Documentation
51
+
- Added Telegram and DingTalk IM platform setup guides (WebSocket/Webhook modes, streaming, architecture diagrams)
52
+
- Updated IM integration docs with Slack, slash commands, QA queue, rate limiting, and streaming output sections
53
+
54
+
### 🔒 Security Enhancements
55
+
- Enhanced SSRF protection in RemoteAPIChat: replaced default DialContext with SSRFSafeDialContext; added SSRF URL validation for BaseURL and endpoint in NewRemoteAPIChat and chat methods
56
+
5
57
## [0.3.4] - 2026-03-19
6
58
7
59
### 🚀 New Features
@@ -740,6 +792,7 @@ All notable changes to this project will be documented in this file.
740
792
- Docker Compose for quick startup and service orchestration.
741
793
- MCP server support for integrating with MCP-compatible clients.
@@ -50,6 +50,17 @@ It adopts a modular architecture that combines multimodal preprocessing, semanti
50
50
51
51
## ✨ Latest Updates
52
52
53
+
**v0.3.5 Highlights:**
54
+
55
+
-**Telegram, DingTalk & Mattermost IM Integration**: Added Telegram bot (webhook/long-polling, streaming via editMessageText), DingTalk bot (webhook/Stream mode, AI Card streaming), and Mattermost adapter; IM channel coverage now includes WeCom, Feishu, Slack, Telegram, DingTalk, and Mattermost
56
+
-**IM Slash Commands & QA Queue**: Pluggable slash-command system (/help, /info, /search, /stop, /clear) with a bounded QA worker pool, per-user rate limiting, and Redis-based multi-instance coordination
57
+
-**Suggested Questions**: Agents surface context-aware suggested questions based on configured knowledge bases; image knowledge automatically enqueues question generation
58
+
-**VLM Auto-Describe MCP Tool Images**: When MCP tools return images, the agent generates text descriptions via the configured VLM model, enabling image content to be used by text-only LLMs
59
+
-**Novita AI Provider**: New LLM provider with OpenAI-compatible API supporting chat, embedding, and VLLM model types
60
+
-**MCP Tool Name Stability**: Tool names now based on service name (stable across reconnections) instead of UUID; unique name constraint added; frontend formats names into human-readable form
61
+
-**Channel Tracking**: Knowledge entries and messages record source channel (web/api/im/browser_extension) for traceability
62
+
-**Bug Fixes**: Fixed agent empty response when no knowledge base is configured, UTF-8 truncation in summaries for Chinese/emoji documents, API key encryption loss on tenant settings update, vLLM streaming reasoning content propagation, and rerank empty passage errors
63
+
53
64
**v0.3.4 Highlights:**
54
65
55
66
-**IM Bot Integration**: WeCom, Feishu, and Slack IM channel support with WebSocket/Webhook modes, streaming, and knowledge base integration
@@ -60,25 +71,21 @@ It adopts a modular architecture that combines multimodal preprocessing, semanti
60
71
-**AWS S3 Storage**: Integrated AWS S3 storage adapter with configuration UI and database migrations
61
72
-**AES-256-GCM Encryption**: API keys encrypted at rest with AES-256-GCM for enhanced security
62
73
-**Built-in MCP Service**: Built-in MCP service support for extending agent capabilities
63
-
-**Agent Streaming Panel**: Optimized AgentStreamDisplay with auto-scrolling, improved styling, and loading indicators
64
74
-**Hybrid Search Optimization**: Grouped targets and reused query embeddings for better retrieval performance
65
75
-**Final Answer Tool**: New final_answer tool with agent duration tracking for improved agent workflows
66
76
67
-
**v0.3.3 Highlights:**
68
-
69
-
- 🧩 **Parent-Child Chunking**: Hierarchical parent-child chunking strategy for enhanced context management and more accurate retrieval
70
-
- 📌 **Knowledge Base Pinning**: Pin frequently-used knowledge bases for quick access
71
-
- 🔄 **Fallback Response**: Fallback response handling with UI indicators when no relevant results are found
72
-
- 🖼️ **Image Icon Detection**: Automatic image icon detection and filtering in document processing
73
-
- 🧹 **Passage Cleaning for Rerank**: Passage cleaning for rerank model to improve relevance scoring accuracy
74
-
- 🐳 **Docker & Skill Management**: Enhanced Docker setup with entrypoint script and skill management
75
-
- 🗄️ **Storage Auto-Creation**: Storage engine connectivity check with auto-creation of buckets
76
-
- 🎨 **UI Consistency**: Standardized border styles, updated theme and component styles across the application
77
-
- ⚡ **Chunk Size Tuning**: Updated chunk size configurations for knowledge base processing
78
-
79
77
<details>
80
78
<summary><b>Earlier Releases</b></summary>
81
79
80
+
**v0.3.3 Highlights:**
81
+
82
+
-**Parent-Child Chunking**: Hierarchical parent-child chunking strategy for enhanced context management and more accurate retrieval
83
+
-**Knowledge Base Pinning**: Pin frequently-used knowledge bases for quick access
84
+
-**Fallback Response**: Fallback response handling with UI indicators when no relevant results are found
85
+
-**Passage Cleaning for Rerank**: Passage cleaning for rerank model to improve relevance scoring accuracy
86
+
-**Storage Auto-Creation**: Storage engine connectivity check with auto-creation of buckets
87
+
-**Milvus Vector DB**: Added Milvus as a new vector database backend for knowledge retrieval
88
+
82
89
**v0.3.2 Highlights:**
83
90
84
91
- 🔍 **Knowledge Search**: New "Knowledge Search" entry point with semantic retrieval, supporting bringing search results directly into the conversation window
@@ -163,24 +170,28 @@ WeKnora employs a modern modular design to build a complete document understandi
| Agent Mode | ✅ ReACT Agent Mode | Support for using built-in tools to retrieve knowledge bases, MCP tools, and web search, with cross-knowledge base retrieval and multiple iterations |
169
-
| Knowledge Base Types | ✅ FAQ / Document | Support for creating FAQ and document knowledge base types, with folder import, URL import, tag management, and online entry |
170
-
| Document Formats | ✅ PDF / Word / Txt / Markdown / Images (with OCR / Caption) | Support for structured and unstructured documents with text extraction from images |
171
-
| Model Management | ✅ Centralized configuration, built-in model sharing | Centralized model configuration with model selection in knowledge base settings, support for multi-tenant shared built-in models |
172
-
| Embedding Models | ✅ Local models, BGE / GTE APIs, etc. | Customizable embedding models, compatible with local deployment and cloud vector generation APIs |
173
-
| Vector DB Integration | ✅ PostgreSQL (pgvector), Elasticsearch | Support for mainstream vector index backends, flexible switching for different retrieval scenarios |
174
-
| Retrieval Strategies | ✅ BM25 / Dense Retrieval / GraphRAG | Support for sparse/dense recall and knowledge graph-enhanced retrieval with customizable retrieve-rerank-generate pipelines |
175
-
| LLM Integration | ✅ Support for Qwen, DeepSeek, etc., with thinking/non-thinking mode switching | Compatible with local models (e.g., via Ollama) or external API services with flexible inference configuration |
176
-
| Conversation Strategy | ✅ Agent models, normal mode models, retrieval thresholds, Prompt configuration | Support for configuring Agent models, normal mode models, retrieval thresholds, online Prompt configuration, precise control over multi-turn conversation behavior |
177
-
| Web Search | ✅ Extensible search engines, DuckDuckGo / Google | Support for extensible web search engines with built-in DuckDuckGo search engine |
178
-
| MCP Tools | ✅ uvx, npx launchers, Stdio/HTTP Streamable/SSE | Support for extending Agent capabilities through MCP, with built-in uvx and npx launchers, supporting three transport methods |
179
-
| QA Capabilities | ✅ Context-aware, multi-turn dialogue, prompt templates | Support for complex semantic modeling, instruction control and chain-of-thought Q&A with configurable prompts and context windows |
180
-
| E2E Testing | ✅ Retrieval+generation process visualization and metric evaluation | End-to-end testing tools for evaluating recall hit rates, answer coverage, BLEU/ROUGE and other metrics |
181
-
| Deployment Modes | ✅ Support for local deployment / Docker images | Meets private, offline deployment and flexible operation requirements, with fast development mode support |
182
-
| User Interfaces | ✅ Web UI + RESTful API | Interactive interface and standard API endpoints, with Agent mode/normal mode switching and tool call process display |
183
-
| Task Management | ✅ MQ async tasks, automatic database migration | MQ-based async task state maintenance, support for automatic database schema and data migration during version upgrades |
173
+
| Module | Support | Description |
174
+
|---------|---------|-------------|
175
+
| Agent Mode | ✅ ReACT Agent Mode | Built-in tools for knowledge base retrieval, MCP tool calls, and web search; cross-knowledge base retrieval with multi-step iteration |
176
+
| Knowledge Base Types | ✅ FAQ / Document | FAQ and document knowledge bases with folder import, URL import, tag management, online entry, and knowledge move |
177
+
| Document Formats | ✅ PDF / Word / Txt / Markdown / HTML / Images (OCR + Caption) | Structured and unstructured document parsing; image text extraction via OCR; image caption generation via VLM |
| Model Management | ✅ Centralized configuration, built-in model sharing | Centralized model config with per-knowledge-base model selection; multi-tenant shared built-in model support |
180
+
| Embedding Models | ✅ Local models (Ollama), BGE / GTE / OpenAI-compatible APIs | Customizable embedding models compatible with local deployment and cloud vector generation APIs |
181
+
| Vector DB Integration | ✅ PostgreSQL (pgvector) / Elasticsearch / Milvus / Weaviate / Qdrant | Five vector index backends with flexible switching to match retrieval scenario requirements |
182
+
| Object Storage | ✅ Local / MinIO / AWS S3 / Volcengine TOS | Pluggable storage adapters for file and image assets; bucket auto-creation on startup |
| QA Capabilities | ✅ Context-aware, multi-turn dialogue, prompt templates | Complex semantic modeling, instruction control, chain-of-thought Q&A with configurable prompts and context windows |
190
+
| Security | ✅ AES-256-GCM at-rest encryption, SSRF protection | API keys encrypted at rest; SSRF-safe HTTP client for remote API calls; sandbox execution for agent skills |
191
+
| E2E Testing | ✅ Retrieval + generation visualization and metric evaluation | End-to-end test tools for evaluating recall hit rates, answer coverage, BLEU/ROUGE metrics |
192
+
| Deployment Modes | ✅ Local / Docker / Kubernetes (Helm) | Private and offline deployment; fast development mode with hot-reload; Helm chart for Kubernetes |
193
+
| User Interfaces | ✅ Web UI + RESTful API | Interactive web interface and standard API; Agent/normal mode switching; tool call process display |
194
+
| Task Management | ✅ MQ async tasks, automatic database migration | MQ-based async task state; automatic schema and data migration on version upgrade |
0 commit comments