Releases: agentscope-ai/agentscope
Releases · agentscope-ai/agentscope
v2.0.1
Highlight
- Agent Team is supported
What's Changed
- fix(webui): add missing files in the web ui example by @DavdGao in #1661
- fix(readme): update the QR code for DingTalk group by @DavdGao in #1662
- perf(service): support to provide extra tools and middlewares by @DavdGao in #1709
- fix(formatter): drop thinking blocks without signature for Anthropic by @qbc2016 in #1668
- feat(webui): support to set fallback model in web UI by @DavdGao in #1699
- feat(model): add client_kwargs in model by @qbc2016 in #1659
- feat(model): add yaml configs for mainstream models by @MannXo in #1731
- feat(rag): add the basic class for the RAG module by @DavdGao in #1746
- fix(model): refine retry logic by @qbc2016 in #1730
- fix(tool): support plain return values in FunctionTool by @xunx911 in #1703
- fix(tool): clean the file cache of the builtin Read tool by @googs1025 in #1735
- fix(storage): expire Redis message lists by @he-yufeng in #1734
- fix(webui): fix frontend build with current dependencies by @yuanchangsai77 in #1708
- fix(tool): hide bash subprocess windows on Windows by @he-yufeng in #1717
- fix(workspace): add locks to mcp and skill operations in LocalWorkspace. by @weizhang25 in #1710
- perf(permission): improve the implementation of the current permission system by @DavdGao in #1767
- feat(agent_team): refactor the agent service to support agent team by @DavdGao in #1776
- feat(event): add metadata in EventBase by @qbc2016 in #1788
- fix(mcp): sanitize MCPTool name for LLM provider compatibility by @qbc2016 in #1787
- fix(model): honor explicit thinking_enable=False on Ollama and Gemini by @qbc2016 in #1784
- docs(readme): update readme for the new service feature by @DavdGao in #1789
- fix(webui): use asChild on Button tooltip trigger to avoid nested by @fancyboi999 in #1770
- fix(webui): add dialog descriptions for accessibility by @fancyboi999 in #1771
- fix: include tool group skills by @he-yufeng in #1732
- feat(deps): make ripgrep an optional dependency by @Oxygen56 in #1740
New Contributors
- @MannXo made their first contribution in #1731
- @xunx911 made their first contribution in #1703
- @googs1025 made their first contribution in #1735
- @he-yufeng made their first contribution in #1734
- @yuanchangsai77 made their first contribution in #1708
- @fancyboi999 made their first contribution in #1770
- @Oxygen56 made their first contribution in #1740
Full Changelog: v2.0.0...v2.0.1
v2.0.0
AgentScope 2.0 is released!
Please refer to the new docs for more information.
What's Changed
- chore(project): temporarily deprecate evaluate/module/rag/tts/realtime modules pending refactor by @DavdGao in #1438
- refactor(msg): simplify core building blocks and Msg class structure by @DavdGao in #1440
- feat(msg): formalize Msg type rules and constraints and add message related tests by @DavdGao in #1454
- feat(permission): build the basic permission classes by @DavdGao in #1486
- refactor(tool): refactor the tool module, including providing new base class and toolkit logic by @DavdGao in #1493
- ci(mcp): refactor the previous MCP unittests for the new version by @DavdGao in #1505
- feat(tool): implement builtin tools with ToolBase inheritance and add comprehensive tests by @DavdGao in #1502
- refactor(skill): refactor the skill in the toolkit by adding a new skill loader class by @DavdGao in #1513
- feat(agent): implement permission checking logic within the agent class by @DavdGao in #1518
- feat(context): support context compression in Agent class by @DavdGao in #1544
- feat(task): add task related tools in agentscope 2.0 by @DavdGao in #1549
- refactor(mcp): rename the mcp when registered into the toolkit by @DavdGao in #1552
- refactor(mcp): unify the MCP implementation into a
MCPClientclass by @DavdGao in #1572 - feat(middleware): support 2.0 middlewares in the agent class by @DavdGao in #1565
- feat(context): support tool result compact within the
Agentclass by @DavdGao in #1585 - feat(workspace): built the workspace module in agentscope 2.0 by @DavdGao in #1586
- refactor(model): refactor the chat model implementation by @DavdGao in #1564
- factor(tool): refactor the
tool_choiceargument to support advanced prompt cache in OpenAI response API by @qbc2016 in #1524 - feat(scripts): add scripts for model call by @qbc2016 in #1604
- feat(model): add cache_creation_input_tokens and cache_input_tokens in ChatUsage by @qbc2016 in #1602
- fix(dashscope): fix KeyError in dashscope response by @qbc2016 in #1615
- refactor(model): refactor dashscope model to openai compatible by @qbc2016 in #1617
- refactor: rename kimi to moonshot by @qbc2016 in #1609
- refactor(tracing): refactor tracing module, except model and formatter by @qbc2016 in #1579
- fix(formatter): refine formatters and unittest by @qbc2016 in #1621
- feat(service): implement the FastAPI based agent service by @DavdGao in #1568
- feat(trace): add trace as a middleware by @qbc2016 in #1633
- feat(model): uniform thinking tag by @qbc2016 in #1622
- fix(model): refine _format_tools for openai response model by @qbc2016 in #1635
- fix(scripts): assign a list of textblock to the content instead of a string by @qbc2016 in #1629
- fix(mcp): preserve $defs in MCPTool input schema and strip titles recursively by @qbc2016 in #1595
- feat(model): handle audio output for openai by @qbc2016 in #1623
- feat(msg): add usage in msg by @qbc2016 in #1639
- feat(tool): integrate the tool and workspace modules with the Agent class by @DavdGao in #1642
- feat(model): fix dashscope structured output and add examples by @qbc2016 in #1651
- fix(formatter): download remote image URLs to base64 for Moonshot by @qbc2016 in #1653
- fix(tool): close .env bypass gap and refine dangerous-path API for Write/Edit/Bash by @qbc2016 in #1656
- refactor(workspace): support e2b and docker workspace, as well as their managers by @DavdGao in #1650
- docs(readme): udpate the docs for 2.0 release by @DavdGao in #1657
- chore(version): update the version to 2.0.0 and release to PyPI by @DavdGao in #1658
Full Changelog: v1.0.21...v2.0.0
v1.0.21
What's Changed
- docs: update dingtalk qr codes and add hyperlink by @qbc2016 in #1620
- docs(readme): remove redundant links by @qbc2016 in #1636
- feat(model): extend reasoning_effort options for OpenAI-compatible providers by @qbc2016 in #1643
- fix(formatter): avoid emitting
text: nullin AnthropicChatFormatter tool_result by @qbc2016 in #1641 - feat(model): support openai response api by @qbc2016 in #1346
- fix(tts): bug fix and add warning and retry by @qbc2016 in #1014
- feat(gemini): add thought signature for gemini model and formatter by @qbc2016 in #1402
- fix(tracing): handle CancelledError when closing spans by @FallingSnowFlake in #1619
- fix(model): handle structured output failures on dashscope-compatible endpoints by @CarlBye in #1646
- chore(version): bumping version to 1.0.21 by @qbc2016 in #1652
New Contributors
- @FallingSnowFlake made their first contribution in #1619
- @CarlBye made their first contribution in #1646
Full Changelog: v1.0.20...v1.0.21
v1.0.20
What's Changed
- fix(openai): catch response_format errors during streaming to enable fallback by @qbc2016 in #1527
- feat(mcp): add execution timeout for mcp by @qbc2016 in #1540
- chore(version): bumping version to 1.0.19.post1 by @qbc2016 in #1543
- fix(mcp): preserve $defs and $ref in MCP tool input schema by @qbc2016 in #1591
- fix(mcp): remove title in $defs by @qbc2016 in #1594
- chore(milvus): fix version of milvus-lite by @qbc2016 in #1603
- fix(anthropic): handle None input_tokens in stream message_delta event by @qbc2016 in #1610
- fix(formatter): fix memory overhead, None tool output crash, and DeepSeek null content rejection by @qbc2016 in #1589
- chore(version): bumping verstion to 1.0.20 by @qbc2016 in #1612
Full Changelog: v1.0.19...v1.0.20
v1.0.19.post1
v1.0.19
What's Changed
- docs(copaw): add news for copaw by @qbc2016 in #1379
- feat(formatter): support local multimedia paths starting with file:// by @qbc2016 in #1385
- feat(memory): add tablestore memory support by @zhanghaochenFCB in #1308
- fix(examples): rename ReflectFailure.decompose_subtask.rephrased_plan to failed_subtask in deep research example by @alex-xinlu in #1151
- docs(news): update the news for 2.0 by @DavdGao in #1442
- chore(assets): update the png by @DavdGao in #1468
- fix(agent): add missing await on memory.add in DeepResearchAgent._summarizing by @Ricardo-M-L in #1477
- fix: handle missing 'type' field in tool parameter properties for OpenAITokenCounter by @octo-patch in #1403
- fix(agent): handle thinking blocks in DeepResearchAgent to support thinking and non-thinking models by @Luohh5 in #1492
- fix(memory): serialize concurrent writes in AsyncSQLAlchemyMemory by @umerkhan95 in #1390
- fix(agent): prevent duplicate hook execution when subclass overrides _reasoning or _acting by @qbc2016 in #1481
- feat(model): add fallback for structured output for openai chat model by @qbc2016 in #1430
- fix(sqlalchemy_memory): flush the session to ensure message records are written to the database by @qbc2016 in #1396
- feat(formatter): translate local file path to base64 in image blocks in Anthropic formatter by @qbc2016 in #1361
- fix: use underscore naming for Tavily tool functions in DeepResearch agent by @octo-patch in #1400
- feat(model): refine counting input tokens for anthropic chat model by @qbc2016 in #1319
- fix(DashScope formatter): convert local files to base64 data in dashscope formatter by @qbc2016 in #1253
- fix(agent): guard DeepResearchAgent tool metadata access by @YingchaoX in #1489
- fix(unittest): hotfix for unittest by @qbc2016 in #1507
- chore(version): bumping verstion to 1.0.19 by @qbc2016 in #1506
New Contributors
- @zhanghaochenFCB made their first contribution in #1308
- @alex-xinlu made their first contribution in #1151
- @Ricardo-M-L made their first contribution in #1477
- @octo-patch made their first contribution in #1403
- @umerkhan95 made their first contribution in #1390
Full Changelog: v1.0.18...v1.0.19
v1.0.18
What's Changed
- fix(huggingface): add huggingface endpoint fix by @garyzhang99 in #1340
- docs(readme): update the README.md and README_zh.md with copaw by @DavdGao in #1353
- feat(test): fix version of pymilvus by @qbc2016 in #1355
- feat(formatter): enhance _to_openai_image_url for local files without extension by @kingofpowers in #1341
- feat(tuner): enhance tuner with prompt tuning and model selection by @Kanaricc in #1190
- fix(tuner): set monitor_type on monitor config instead of overwriting monitor object by @PatrickG1014 in #1365
- feat(toolkit): support background execution for tools by @DavdGao in #1342
- feat(agent): filter thinking content before broadcast by @qbc2016 in #1332
- feat(formatter): supprot audio path start with file:// in OpenAI formatter by @qbc2016 in #1349
- docs: update github trending image by @qbc2016 in #1368
- fix(model): avoid streaming tool input regression by @YingchaoX in #1356
- feat(model): pass through the model's response id by @qbc2016 in #1333
- chore(version): update version to 1.0.18 for release by @qbc2016 in #1370
New Contributors
- @kingofpowers made their first contribution in #1341
- @Kanaricc made their first contribution in #1190
Full Changelog: v1.0.17...v1/0.18
v1.0.17
What's Changed
- fix(tool): expand user home in text file tools for paths with tilde by @YingchaoX in #1262
- fix(docs): correct typo in quickstart_agent.py by @04cb in #1273
- fix(openai-model): support newer vllm reasoning field parsing by @WeiSibo in #1271
- fix(model): update DashScopeChatModel to use AioMultiModalConversatio… by @YingchaoX in #1290
- fix(utils): resolve double dot in file extension when saving base64 data by @YingchaoX in #1289
- feat(dashscope): move generate_kwargs after defaults to enable parameter override by @qbc2016 in #1304
- fix(formatter): correct local path identification logic by @DavdGao in #1284
- chore(github-actions): upgrade GitHub actions for node 24 compatibility by @salmanmkc in #1283
- fix(hooks): prevent Agent crash when Studio disconnects by @YingchaoX in #1298
- fix(docs): fix the typo in docstrings and remove unnecessary close statement by @dipeshbabu in #1247
- feat(session): make jsonsession file read and write async by @qbc2016 in #1313
- fix(plan): trigger hooks when recovering historical plans by @QianCyrus in #1279
- fix(hook): make set_console_output_enabled only affect console printing by @zhijianma in #1186
- fix(deep_research_agent): fix the bug in multi-turn deep research by @Luohh5 in #1239
- fix(gemini): handle None usage in streaming response parsing by @shlokmestry in #1251
- fix(examples): await register_mcp_client in deep_research_agent by @YingchaoX in #1299
- chore(version): update version to 1.0.17 for release by @DavdGao in #1325
New Contributors
- @YingchaoX made their first contribution in #1262
- @04cb made their first contribution in #1273
- @WeiSibo made their first contribution in #1271
- @salmanmkc made their first contribution in #1283
- @dipeshbabu made their first contribution in #1247
- @QianCyrus made their first contribution in #1279
- @shlokmestry made their first contribution in #1251
Full Changelog: v1.0.16...v1.0.17
v1.0.16
Highlight
- fix bugs in the previous version (1.0.15)
What's Changed
- fix(dependency): lazy import the websockets library by @DavdGao in #1214
- fix(stream_printing_messages): add sleep in print to avoid blocking consumption by @qbc2016 in #1218
- feat(model): add multimodality parameter in DashScope chat model by @qbc2016 in #1215
- fix(openai realtime): Add tool format for openai realtime model by @qbc2016 in #1216
- feat(realtime agent): Add video recording in realtime agent example and typo fix in realtime event by @qbc2016 in #1225
- feat(github): add checking for creating pull request titles by @DavdGao in #1233
- fix(memory): fix the memory compression bug in
ReActAgentand the serialization error inInMemoryMemoryclass by @DavdGao in #1231 - perf(msg): set empty dictionary as defautl value for
msg.metadataand improve the structured model in the werewolf game example by @qbc2016 in #1234 - fix(rag): fix the KeyError: 'v' in WrodReader when reading Word documents contain… by @qbc2016 in #1228
- feat(middleware): support toolkit middleware to control the tool execution by @DavdGao in #1232
- fix(plan): improve plan module test coverage and fix hint bug by @WangCheng0116 in #1220
- ci(realtime): add unittests for
OpenAIRealtimeModelandGeminiRealtimeModelby @qbc2016 in #1235 - feat(tts): support dashscope cosyvoice tts model by @qbc2016 in #1040
- perf(browser-use): update the example of the browser-use agent with the lastest ReActAgent by @cuiyuebing in #1230
- chore(version): bump version from 1.0.16dev to 1.0.16 by @DavdGao in #1241
New Contributors
- @WangCheng0116 made their first contribution in #1220
Full Changelog: v1.0.15...v1.0.16
v1.0.16dev
What's Changed
- fix(dependency): lazy import the websockets library by @DavdGao in #1214
- fix(stream_printing_messages): add sleep in print to avoid blocking consumption by @qbc2016 in #1218
- feat(model): add multimodality parameter in DashScope chat model by @qbc2016 in #1215
- fix(openai realtime): Add tool format for openai realtime model by @qbc2016 in #1216
Full Changelog: v1.0.15...v1.0.16dev