v1.0.6
This release introduces significant enhancements to Human-in-the-Loop (HITL) interaction patterns and optimizes the streaming experience for tool usage. It also includes new integrations (Nacos), API simplifications, and various bug fixes.
🌟 Key Highlights
1. Comprehensive Human-in-the-Loop (HITL) Support
We have refactored the execution flow to support robust HITL scenarios. You can now suspend agent execution to await human input, confirmation, or modification, and then resume the process seamlessly.
- Mechanism: HITL is achieved via
stopAgent()withinPostReasoningEventorPostActingEvent. - External Tools: Added support for external tool execution with a suspension mechanism, allowing agents to "pause" while a tool (or human) performs an action asynchronously.
- Documentation: For a deep dive on implementation, please refer to the HITL Documentation.
- Example: Check out the new chat example with MCP tools and tool confirmation.
2. Enhanced Streaming: Incremental Tool Outputs
We have upgraded the streaming capabilities to support Real-time tool-use block emitting.
- Impact:
ReasoningChunkEventnow supports incremental returns for Tools. - For Developers: Please pay attention to the new output types in the stream. This feature allows for significant UI optimizations, such as displaying tool arguments or intermediate statuses to the user character-by-character as they are generated, rather than waiting for the full tool call to complete.
🚀 New Features
- Nacos Integration: Added AgentScope Nacos Spring Boot starter and A2A integration (#446).
- MCP Support: Added support for Model Context Protocol (MCP) builder configuration in the main config (#452).
- Model API Simplification: Removed
OpenAIConfigand simplified theOpenAIChatModelAPI for better usability (#427). - Customization:
- Support for
reasoningEffortfield in OpenAIChatFormatter (#444). - Support for customized tool result converters (#413).
- Support for customizing role numbers in the Werewolf example (#417).
- HTTP Transport: Switched default HTTP transport to JDK and enhanced its capabilities (#445).
🛠️ Refactoring & Fixes
- Tools: Added
Toolkitdeep copy to isolate agent state (#438). - JSON: Centralized JSON processing with
JsonCodecabstraction (#439). - Formatters: Extracted provider-specific logic into dedicated formatters (#428) and fixed OpenAI streaming chunk type detection (#436).
- Bug Fixes:
- Fixed handling of
TextBlockin the last REASONING event (#419). - Fixed output attribute after
callToolresponse (#443). - Fixed
ToolResultBlocktransient field issues (#455).
❤️ New Contributors
- @hujun-w-2 made their first contribution in #417
- @Howryann made their first contribution in #419
- @TornadoDragon made their first contribution in #436
- @wuji1428 made their first contribution in #433
- @alickreborn0 made their first contribution in #443
Full Changelog: v1.0.5...v1.0.6