Major New Features
RAG Module
- Introduced a native RAG (Retrieval-Augmented Generation) module with full support for distributed, multi-tenant, and multi-session RAG services, significantly enhancing knowledge retrieval capabilities.
Long-Term Memory Middleware
- Added a mem0-backed long-term memory middleware, enabling agents to retain persistent memory across sessions.
Budget Control Middleware
- Introduced BudgetControlMiddleware for enforcing token budget limits, helping teams manage and control API costs effectively.
Tool-Level Onion Middleware
- ToolBase now supports onion-style middleware at the tool level, allowing flexible pre/post-processing logic to be injected around tool execution.
What's Changed
- fix(dashscope): correct qwen max 3.7 model id by @Rise1024 in #1876
- feat(middleware): add mem0-backed long-term memory middleware by @Osier-Yi in #1775
- fix(model): handle Gemini function calls without an id by @he-yufeng in #1883
- feat(middleware): add BudgetControlMiddleware for token budget enforcement by @MannXo in #1738
- feat(tts): add cosyvoice realtime tts model by @qbc2016 in #1855
- feat(model): add gpt-4o, gpt-4o-mini, and gpt-4.1-nano cards for openai-response by @nuthalapativarun in #1750
- fix(schema): remove max_length constraints from SummarySchema fields and increase tool result limit by @qbc2016 in #1891
- fix(gemini): add _sanitize_schema_for_gemini to strip Gemini-incompatible JSON Schema constructs by @qbc2016 in #1886
- feat(tool): support tool-level onion middleware in ToolBase by @nuthalapativarun in #1754
- feat(utils): add configurable ID factory via set_id_factory() by @lajxw in #1839
- feat(embedding): add pass_dimensions option for OpenAI embedding model by @jinliyl in #1897
- chore(version): bump version from 2.0.2 to 2.0.3 by @DavdGao with @Copilot in #1898
- chore(workflow): add github workflow for monitoring by @DavdGao in #1912
- fix(formatter): merge parallel tool_results into one user message in AnthropicChatFormatter by @qbc2016 in #1894
- feat(workspace): support builtin tools for the e2b and docker workspaces by @DavdGao in #1903
- fix(tool): merge base64 tool response chunks by bytes by @wang-zhengxin in #1901
- fix(agent): avoid shared default configs by @Premsenareddy in #1906
- feat(agent-team): support to expose the hitl events in the team leader's session by @DavdGao in #1918
- fix(app): convert AG-UI SSE stream events by @YingchaoX in #1917
- refactor(message_bus): refactor and decouple message bus from service logic by @DavdGao in #1923
- feat(message_bus): add in-memory message bus for single node deployment by @DavdGao in #1925
- feat(webui): render Write and Edit tool diffs by @Premsenareddy in #1856
- refactor(webui): add right panel to the WebUI to support verbose task&permission context, equipped MCP and skills by @DavdGao in #1945
- docs: fix hyperlink in docs by @qbc2016 in #1946
- fix(middleware): use configured id factory for TTS audio blocks by @YingchaoX in #1930
- feat(rag): add RAG module in agentscope and support distributed&multi-tenant&multi-session RAG service by @DavdGao in #1926
- feat(agent): support user-defined hints/instructions when compressing memory by @h2h2h in #1942
- refactor: lift _flatten_json_schema to shared util and apply in OpenAI chat model by @qbc2016 in #1940
New Contributors
- @Rise1024 made their first contribution in #1876
- @nuthalapativarun made their first contribution in #1750
- @lajxw made their first contribution in #1839
- @wang-zhengxin made their first contribution in #1901
- @h2h2h made their first contribution in #1942
Full Changelog: v2.0.2...v2.0.3