(http://wenzhixin.net.cn/)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--------------------------------------------------------------------------------
+
+Code in src/agentscope/web/static/css/bootstrap.min.css is adapted from
+https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.min.css (MIT
+License)
+
+Copyright 2011-2019 The Bootstrap Authors
+Copyright 2011-2019 Twitter, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+--------------------------------------------------------------------------------
+
+Fonts in src/agentscope/web/static/fonts/KRYPTON.ttf is adapted from
+https://github.com/githubnext/monaspace (SIL Open Font License 1.1). These
+fonts are distributed with their original license. See https://github
+.com/githubnext/monaspace/blob/main/LICENSE for the full text of the license.
+The following font families are included:
+
+- Monaspace (with subfamilies: Krypton)
+
+Copyright (c) 2023, GitHub https://github.com/githubnext/monaspace
+with Reserved Font Name "Monaspace", including subfamilies: "Argon", "Neon",
+"Xenon", "Radon", and "Krypton"
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+--------------------------------------------------------------------------------
+
+Fonts in src/agentscope/web/static/fonts/OSWALD.ttf is adapted from
+https://fonts.google.com/specimen/Oswald (SIL Open Font License 1.1). These
+fonts are distributed with their original license. See https://github
+.com/googlefonts/OswaldFont/blob/main/OFL.txt for the full text of the license.
+
+Copyright 2016 The Oswald Project Authors (https://github
+.com/googlefonts/OswaldFont)
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+--------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..72bace1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+[**中文主页**](https://github.com/agentscope-ai/agentscope/blob/main/README_zh.md) | [**Tutorial**](https://doc.agentscope.io/) | [**Roadmap (Jan 2026 -)**](https://github.com/agentscope-ai/agentscope/blob/main/docs/roadmap.md) | [**FAQ**](https://doc.agentscope.io/tutorial/faq.html)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## What is AgentScope?
+
+AgentScope is a production-ready, easy-to-use agent framework with essential abstractions that work with rising model capability and built-in support for finetuning.
+
+We design for increasingly agentic LLMs.
+Our approach leverages the models' reasoning and tool use abilities
+rather than constraining them with strict prompts and opinionated orchestrations.
+
+## Why use AgentScope?
+
+- **Simple**: start building your agents in 5 minutes with built-in ReAct agent, tools, skills, human-in-the-loop steering, memory, planning, realtime voice, evaluation and model finetuning
+- **Extensible**: large number of ecosystem integrations for tools, memory and observability; built-in support for MCP and A2A; message hub for flexible multi-agent orchestration and workflows
+- **Production-ready**: deploy and serve your agents locally, as serverless in the cloud, or on your K8s cluster with built-in OTel support
+
+
+
+
+
+The AgentScope Ecosystem
+
+
+
+## News
+
+- **[2026-02] `FEAT`:** Realtime Voice Agent support. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent) | [Multi-Agent Realtime Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime) | [Tutorial](https://doc.agentscope.io/tutorial/task_realtime.html)
+- **[2026-01] `COMM`:** Biweekly Meetings launched to share ecosystem updates and development plans - join us! [Details & Schedule](https://github.com/agentscope-ai/agentscope/discussions/1126)
+- **[2026-01] `FEAT`:** Database support & memory compression in memory module. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/short_term_memory/memory_compression) | [Tutorial](https://doc.agentscope.io/tutorial/task_memory.html)
+- **[2025-12] `INTG`:** A2A (Agent-to-Agent) protocol support. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/a2a_agent) | [Tutorial](https://doc.agentscope.io/tutorial/task_a2a.html)
+- **[2025-12] `FEAT`:** TTS (Text-to-Speech) support. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/tts) | [Tutorial](https://doc.agentscope.io/tutorial/task_tts.html)
+- **[2025-11] `INTG`:** Anthropic Agent Skill support. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/agent_skill) | [Tutorial](https://doc.agentscope.io/tutorial/task_agent_skill.html)
+- **[2025-11] `RELS`:** Alias-Agent for diverse real-world tasks and Data-Juicer Agent for data processing open-sourced. [Alias-Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/alias) | [Data-Juicer Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/data_juicer_agent)
+- **[2025-11] `INTG`:** Agentic RL via Trinity-RFT library. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/tuner/react_agent) | [Trinity-RFT](https://github.com/agentscope-ai/Trinity-RFT)
+- **[2025-11] `INTG`:** ReMe for enhanced long-term memory. [Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/long_term_memory/reme)
+- **[2025-11] `RELS`:** agentscope-samples repository launched and agentscope-runtime upgraded with Docker/K8s deployment and VNC-powered GUI sandboxes. [Samples](https://github.com/agentscope-ai/agentscope-samples) | [Runtime](https://github.com/agentscope-ai/agentscope-runtime)
+
+
+[More news →](./docs/NEWS.md)
+
+## Community
+
+Welcome to join our community on
+
+| [Discord](https://discord.gg/eYMpfnkG8h) | DingTalk |
+|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
+|
|
|
+
+
+
+## 📑 Table of Contents
+
+- [Quickstart](#quickstart)
+ - [Installation](#installation)
+ - [From PyPI](#from-pypi)
+ - [From source](#from-source)
+- [Example](#example)
+ - [Hello AgentScope!](#hello-agentscope)
+ - [Voice Agent](#voice-agent)
+ - [Realtime Voice Agent](#realtime-voice-agent)
+ - [Human-in-the-loop](#human-in-the-loop)
+ - [Flexible MCP Usage](#flexible-mcp-usage)
+ - [Agentic RL](#agentic-rl)
+ - [Multi-Agent Workflows](#multi-agent-workflows)
+- [Documentation](#documentation)
+- [More Examples & Samples](#more-examples--samples)
+ - [Functionality](#functionality)
+ - [Agent](#agent)
+ - [Game](#game)
+ - [Workflow](#workflow)
+ - [Evaluation](#evaluation)
+ - [Tuner](#tuner)
+- [Contributing](#contributing)
+- [License](#license)
+- [Publications](#publications)
+- [Contributors](#contributors)
+
+
+
+## Quickstart
+
+### Installation
+
+> AgentScope requires **Python 3.10** or higher.
+
+#### From PyPI
+
+```bash
+pip install agentscope
+```
+
+Or with uv:
+
+```bash
+uv pip install agentscope
+```
+
+#### From source
+
+```bash
+# Pull the source code from GitHub
+git clone -b main https://github.com/agentscope-ai/agentscope.git
+
+# Install the package in editable mode
+cd agentscope
+
+pip install -e .
+# or with uv:
+# uv pip install -e .
+```
+
+
+## Example
+
+### Hello AgentScope!
+
+Start with a conversation between user and a ReAct agent 🤖 named "Friday"!
+
+```python
+from agentscope.agent import ReActAgent, UserAgent
+from agentscope.model import DashScopeChatModel
+from agentscope.formatter import DashScopeChatFormatter
+from agentscope.memory import InMemoryMemory
+from agentscope.tool import Toolkit, execute_python_code, execute_shell_command
+import os, asyncio
+
+
+async def main():
+ toolkit = Toolkit()
+ toolkit.register_tool_function(execute_python_code)
+ toolkit.register_tool_function(execute_shell_command)
+
+ agent = ReActAgent(
+ name="Friday",
+ sys_prompt="You're a helpful assistant named Friday.",
+ model=DashScopeChatModel(
+ model_name="qwen-max",
+ api_key=os.environ["DASHSCOPE_API_KEY"],
+ stream=True,
+ ),
+ memory=InMemoryMemory(),
+ formatter=DashScopeChatFormatter(),
+ toolkit=toolkit,
+ )
+
+ user = UserAgent(name="user")
+
+ msg = None
+ while True:
+ msg = await agent(msg)
+ msg = await user(msg)
+ if msg.get_text_content() == "exit":
+ break
+
+asyncio.run(main())
+```
+
+### Voice Agent
+
+Create a voice-enabled ReAct agent that can understand and respond with speech, even playing a multi-agent werewolf game with voice interactions.
+
+
+https://github.com/user-attachments/assets/c5f05254-aff6-4375-90df-85e8da95d5da
+
+
+### Realtime Voice Agent
+
+Build a realtime voice agent with web interface that can interact with users via voice input and output.
+
+[Realtime chatbot](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent) | [Realtime Multi-Agent Example](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime)
+
+https://github.com/user-attachments/assets/1b7b114b-e995-4586-9b3f-d3bb9fcd2558
+
+
+
+### Human-in-the-loop
+
+Support realtime interruption in ReActAgent: conversation can be interrupted via cancellation in realtime and resumed
+seamlessly via robust memory preservation.
+
+
+
+### Flexible MCP Usage
+
+Use individual MCP tools as **local callable functions** to compose toolkits or wrap into a more complex tool.
+
+```python
+from agentscope.mcp import HttpStatelessClient
+from agentscope.tool import Toolkit
+import os
+
+async def fine_grained_mcp_control():
+ # Initialize the MCP client
+ client = HttpStatelessClient(
+ name="gaode_mcp",
+ transport="streamable_http",
+ url=f"https://mcp.amap.com/mcp?key={os.environ['GAODE_API_KEY']}",
+ )
+
+ # Obtain the MCP tool as a **local callable function**, and use it anywhere
+ func = await client.get_callable_function(func_name="maps_geo")
+
+ # Option 1: Call directly
+ await func(address="Tiananmen Square", city="Beijing")
+
+ # Option 2: Pass to agent as a tool
+ toolkit = Toolkit()
+ toolkit.register_tool_function(func)
+ # ...
+
+ # Option 3: Wrap into a more complex tool
+ # ...
+```
+
+### Agentic RL
+
+Train your agentic application seamlessly with Reinforcement Learning integration. We also prepare multiple sample projects covering various scenarios:
+
+| Example | Description | Model | Training Result |
+|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------|------------------------|-----------------------------|
+| [Math Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/math_agent) | Tune a math-solving agent with multi-step reasoning. | Qwen3-0.6B | Accuracy: 75% → 85% |
+| [Frozen Lake](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/frozen_lake) | Train an agent to navigate the Frozen Lake environment. | Qwen2.5-3B-Instruct | Success rate: 15% → 86% |
+| [Learn to Ask](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/learn_to_ask) | Tune agents using LLM-as-a-judge for automated feedback. | Qwen2.5-7B-Instruct | Accuracy: 47% → 92% |
+| [Email Search](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/email_search) | Improve tool-use capabilities without labeled ground truth. | Qwen3-4B-Instruct-2507 | Accuracy: 60% |
+| [Werewolf Game](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/werewolves) | Train agents for strategic multi-agent game interactions. | Qwen2.5-7B-Instruct | Werewolf win rate: 50% → 80% |
+| [Data Augment](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/data_augment) | Generate synthetic training data to enhance tuning results. | Qwen3-0.6B | AIME-24 accuracy: 20% → 60% |
+
+### Multi-Agent Workflows
+
+AgentScope provides ``MsgHub`` and pipelines to streamline multi-agent conversations, offering efficient message routing and seamless information sharing
+
+```python
+from agentscope.pipeline import MsgHub, sequential_pipeline
+from agentscope.message import Msg
+import asyncio
+
+async def multi_agent_conversation():
+ # Create agents
+ agent1 = ...
+ agent2 = ...
+ agent3 = ...
+ agent4 = ...
+
+ # Create a message hub to manage multi-agent conversation
+ async with MsgHub(
+ participants=[agent1, agent2, agent3],
+ announcement=Msg("Host", "Introduce yourselves.", "assistant")
+ ) as hub:
+ # Speak in a sequential manner
+ await sequential_pipeline([agent1, agent2, agent3])
+ # Dynamic manage the participants
+ hub.add(agent4)
+ hub.delete(agent3)
+ await hub.broadcast(Msg("Host", "Goodbye!", "assistant"))
+
+asyncio.run(multi_agent_conversation())
+```
+
+
+## Documentation
+
+- [Tutorial](https://doc.agentscope.io/tutorial/)
+- [FAQ](https://doc.agentscope.io/tutorial/faq.html)
+- [API Docs](https://doc.agentscope.io/api/agentscope.html)
+
+## More Examples & Samples
+
+### Functionality
+
+- [MCP](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/mcp)
+- [Anthropic Agent Skill](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/agent_skill)
+- [Plan](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/plan)
+- [Structured Output](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/structured_output)
+- [RAG](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/rag)
+- [Long-Term Memory](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/long_term_memory)
+- [Session with SQLite](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/session_with_sqlite)
+- [Stream Printing Messages](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/stream_printing_messages)
+- [TTS](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/tts)
+- [Code-first Deployment](https://github.com/agentscope-ai/agentscope/tree/main/examples/deployment/planning_agent)
+- [Memory Compression](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/short_term_memory/memory_compression)
+
+### Agent
+
+- [ReAct Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/react_agent)
+- [Voice Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/voice_agent)
+- [Deep Research Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/deep_research_agent)
+- [Browser-use Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/browser_agent)
+- [Meta Planner Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/meta_planner_agent)
+- [A2A Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/a2a_agent)
+- [Realtime Voice Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent)
+
+### Game
+
+- [Nine-player Werewolves](https://github.com/agentscope-ai/agentscope/tree/main/examples/game/werewolves)
+
+### Workflow
+
+- [Multi-agent Debate](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_debate)
+- [Multi-agent Conversation](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_conversation)
+- [Multi-agent Concurrent](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_concurrent)
+- [Multi-agent Realtime Conversation](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime)
+
+### Evaluation
+
+- [ACEBench](https://github.com/agentscope-ai/agentscope/tree/main/examples/evaluation/ace_bench)
+
+### Tuner
+
+- [Tune ReAct Agent](https://github.com/agentscope-ai/agentscope/tree/main/examples/tuner/react_agent)
+
+
+## Contributing
+
+We welcome contributions from the community! Please refer to our [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines
+on how to contribute.
+
+## License
+
+AgentScope is released under Apache License 2.0.
+
+## Publications
+
+If you find our work helpful for your research or application, please cite our papers.
+
+- [AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications](https://arxiv.org/abs/2508.16279)
+
+- [AgentScope: A Flexible yet Robust Multi-Agent Platform](https://arxiv.org/abs/2402.14034)
+
+```
+@article{agentscope_v1,
+ author = {Dawei Gao, Zitao Li, Yuexiang Xie, Weirui Kuang, Liuyi Yao, Bingchen Qian, Zhijian Ma, Yue Cui, Haohao Luo, Shen Li, Lu Yi, Yi Yu, Shiqi He, Zhiling Luo, Wenmeng Zhou, Zhicheng Zhang, Xuguang He, Ziqian Chen, Weikai Liao, Farruh Isakulovich Kushnazarov, Yaliang Li, Bolin Ding, Jingren Zhou}
+ title = {AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications},
+ journal = {CoRR},
+ volume = {abs/2508.16279},
+ year = {2025},
+}
+
+@article{agentscope,
+ author = {Dawei Gao, Zitao Li, Xuchen Pan, Weirui Kuang, Zhijian Ma, Bingchen Qian, Fei Wei, Wenhao Zhang, Yuexiang Xie, Daoyuan Chen, Liuyi Yao, Hongyi Peng, Zeyu Zhang, Lin Zhu, Chen Cheng, Hongzhu Shi, Yaliang Li, Bolin Ding, Jingren Zhou}
+ title = {AgentScope: A Flexible yet Robust Multi-Agent Platform},
+ journal = {CoRR},
+ volume = {abs/2402.14034},
+ year = {2024},
+}
+```
+
+## Contributors
+
+All thanks to our contributors:
+
+
+
+
diff --git a/README_zh.md b/README_zh.md
new file mode 100644
index 0000000..10880c3
--- /dev/null
+++ b/README_zh.md
@@ -0,0 +1,402 @@
+
+
+
+
+
+
+[**English Homepage**](https://github.com/agentscope-ai/agentscope/blob/main/README.md) | [**Tutorial**](https://doc.agentscope.io/zh_CN/) | [**Roadmap (Jan 2026 -)**](https://github.com/agentscope-ai/agentscope/blob/main/docs/roadmap.md) | [**FAQ**](https://doc.agentscope.io/zh_CN/tutorial/faq.html)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## What is AgentScope?
+
+AgentScope 是一款企业级开箱即用的智能体框架,提供灵活的核心抽象以适配不断进化的模型能力,并原生支持模型微调。
+
+我们为新一代自主智能的大语言模型而生。 我们的理念是释放模型的推理与工具调用潜能,而不是用僵化的提示工程和预设流程束缚它们的手脚。
+
+## Why use AgentScope?
+
+- **简单**: 使用内置的 ReAct 智能体、工具、技能、人机协作、记忆、计划、实时语音、评估和模型微调轻松构建智能体应用
+- **可扩展**: 大量生态系统集成,包括工具、记忆和可观察性;内置 MCP 和 A2A 支持;消息中心(MsgHub)提供灵活的多智能体编排能力
+- **生产就绪**: 在本地、云端 Serverless 或 K8s 集群上轻松部署智能体应用,并内置 OTel 可观察性支持
+
+
+
+
+
+AgentScope 生态
+
+
+
+## 📢 新闻
+
+- **[2026-02] `功能`:** 支持实时语音交互。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent) | [多智能体实时交互](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime) | [文档](https://doc.agentscope.io/tutorial/task_realtime.html)
+- **[2026-01] `社区`:** AgentScope 双周会议启动,分享生态更新和开发计划 - 欢迎加入
+- **[2026-01] `功能`:** 记忆模块新增数据库支持和记忆压缩。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/short_term_memory/memory_compression) | [教程](https://doc.agentscope.io/tutorial/task_memory.html)
+- **[2025-12] `集成`:** A2A(智能体间通信)协议支持。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/a2a_agent) | [教程](https://doc.agentscope.io/zh_CN/tutorial/task_a2a.html)
+- **[2025-12] `功能`:** TTS(文本转语音)支持。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/tts) | [教程](https://doc.agentscope.io/zh_CN/tutorial/task_tts.html)
+- **[2025-11] `集成`:** Anthropic Agent Skill 支持。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/agent_skill) | [教程](https://doc.agentscope.io/zh_CN/tutorial/task_agent_skill.html)
+- **[2025-11] `发布`:** 面向多样化真实任务的 Alias-Agent 和数据处理的 Data-Juicer Agent 开源。[Alias-Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/alias) | [Data-Juicer Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/data_juicer_agent)
+- **[2025-11] `集成`:** 通过 Trinity-RFT 库实现智能体强化学习。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/tuner/react_agent) | [Trinity-RFT](https://github.com/agentscope-ai/Trinity-RFT)
+- **[2025-11] `集成`:** ReMe 增强长期记忆。[样例](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/long_term_memory/reme)
+- **[2025-11] `发布`:** agentscope-samples 样例库上线,agentscope-runtime 升级支持 Docker/K8s 部署和 VNC 图形沙盒。[样例库](https://github.com/agentscope-ai/agentscope-samples) | [Runtime](https://github.com/agentscope-ai/agentscope-runtime)
+
+
+[更多新闻 →](./docs/NEWS_zh.md)
+
+## 联系我们
+
+欢迎加入我们的社区!
+
+| [Discord](https://discord.gg/eYMpfnkG8h) | 钉钉 |
+|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------|
+|
|
|
+
+
+
+## 📑 Table of Contents
+
+- [快速开始](#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
+ - [安装](#%E5%AE%89%E8%A3%85)
+ - [从 PyPI 安装](#%E4%BB%8E-pypi-%E5%AE%89%E8%A3%85)
+ - [从源码安装](#%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85)
+- [样例](#%E6%A0%B7%E4%BE%8B)
+ - [Hello AgentScope!](#hello-agentscope)
+ - [语音智能体](#%E8%AF%AD%E9%9F%B3%E6%99%BA%E8%83%BD%E4%BD%93)
+ - [实时语音智能体](#%E5%AE%9E%E6%97%B6%E8%AF%AD%E9%9F%B3%E6%99%BA%E8%83%BD%E4%BD%93)
+ - [人机协作](#%E4%BA%BA%E6%9C%BA%E5%8D%8F%E4%BD%9C)
+ - [灵活的 MCP 控制](#%E7%81%B5%E6%B4%BB%E7%9A%84-mcp-%E6%8E%A7%E5%88%B6)
+ - [智能体强化学习](#%E6%99%BA%E8%83%BD%E4%BD%93%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0)
+ - [多智能体工作流](#%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%B7%A5%E4%BD%9C%E6%B5%81)
+- [文档](#%E6%96%87%E6%A1%A3)
+- [更多样例](#%E6%9B%B4%E5%A4%9A%E6%A0%B7%E4%BE%8B)
+ - [功能](#%E5%8A%9F%E8%83%BD)
+ - [智能体](#%E6%99%BA%E8%83%BD%E4%BD%93)
+ - [游戏](#%E6%B8%B8%E6%88%8F)
+ - [工作流](#%E5%B7%A5%E4%BD%9C%E6%B5%81)
+ - [评估](#%E8%AF%84%E4%BC%B0)
+ - [微调](#%E5%BE%AE%E8%B0%83)
+- [贡献](#%E8%B4%A1%E7%8C%AE)
+- [许可](#%E8%AE%B8%E5%8F%AF)
+- [论文](#%E8%AE%BA%E6%96%87)
+- [贡献者](#%E8%B4%A1%E7%8C%AE%E8%80%85)
+
+
+
+## 快速开始
+
+### 安装
+
+> AgentScope 需要 **Python 3.10** 或更高版本。
+
+#### 从 PyPI 安装
+
+```bash
+pip install agentscope
+```
+
+或使用 uv:
+
+```bash
+uv pip install agentscope
+```
+
+#### 从源码安装
+
+```bash
+# 从 GitHub 拉取源码
+git clone -b main https://github.com/agentscope-ai/agentscope.git
+
+# 以可编辑模式安装包
+cd agentscope
+
+pip install -e .
+# 或使用 uv:
+# uv pip install -e .
+```
+
+## 样例
+
+### Hello AgentScope!
+
+开始与名为"Friday"的 ReAct 智能体 🤖 进行对话!
+
+```python
+from agentscope.agent import ReActAgent, UserAgent
+from agentscope.model import DashScopeChatModel
+from agentscope.formatter import DashScopeChatFormatter
+from agentscope.memory import InMemoryMemory
+from agentscope.tool import Toolkit, execute_python_code, execute_shell_command
+import os, asyncio
+
+
+async def main():
+ toolkit = Toolkit()
+ toolkit.register_tool_function(execute_python_code)
+ toolkit.register_tool_function(execute_shell_command)
+
+ agent = ReActAgent(
+ name="Friday",
+ sys_prompt="You're a helpful assistant named Friday.",
+ model=DashScopeChatModel(
+ model_name="qwen-max",
+ api_key=os.environ["DASHSCOPE_API_KEY"],
+ stream=True,
+ ),
+ memory=InMemoryMemory(),
+ formatter=DashScopeChatFormatter(),
+ toolkit=toolkit,
+ )
+
+ user = UserAgent(name="user")
+
+ msg = None
+ while True:
+ msg = await agent(msg)
+ msg = await user(msg)
+ if msg.get_text_content() == "exit":
+ break
+
+asyncio.run(main())
+```
+
+### 语音智能体
+
+创建支持语音的 ReAct 智能体,能够理解语音并进行语音回复,还可以使用语音交互玩多智能体狼人杀游戏。
+
+https://github.com/user-attachments/assets/559af387-fd6f-4f0c-b882-cd4778214801
+
+
+### 实时语音智能体
+
+使用 AgentScope 轻松构建实时交互的智能体应用,提供统一的事件接口和工具调用支持。
+
+[实时语音智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent) | [多智能体实时交互](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime)
+
+https://github.com/user-attachments/assets/d9674ad5-f71d-43d5-a341-5bada318aee0
+
+
+
+### 人机协作
+
+在 ReActAgent 中支持实时打断:可以通过取消操作实时中断对话,并通过强大的记忆保留机制无缝恢复。
+
+
+
+### 灵活的 MCP 控制
+
+AgentScope 支持将单个 MCP 工具作为**本地可调用函数**使用,装备给智能体或封装为更复杂的工具。
+
+```python
+from agentscope.mcp import HttpStatelessClient
+from agentscope.tool import Toolkit
+import os
+
+async def fine_grained_mcp_control():
+ # 以高德MCP为例,初始化MCP客户端
+ client = HttpStatelessClient(
+ name="gaode_mcp",
+ transport="streamable_http",
+ url=f"https://mcp.amap.com/mcp?key={os.environ['GAODE_API_KEY']}",
+ )
+
+ # 将 MCP 工具获取为**本地可调用函数**,并在任何地方使用
+ func = await client.get_callable_function(func_name="maps_geo")
+
+ # 选项 1:直接调用
+ await func(address="天安门广场", city="北京")
+
+ # 选项 2:作为工具传递给智能体
+ toolkit = Toolkit()
+ toolkit.register_tool_function(func)
+ # ...
+
+ # 选项 3:包装为更复杂的工具
+ # ...
+```
+
+### 智能体强化学习
+
+通过强化学习集成无缝训练智能体应用。我们还准备了涵盖各种场景的样例项目:
+
+| 样例 | 描述 | 模型 | 训练结果 |
+|--------------------------------------------------------------------------------------------------|----------------------------|------------------------|-----------------------------|
+| [Math Agent](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/math_agent) | 通过多步推理调优数学求解智能体。 | Qwen3-0.6B | Accuracy: 75% → 85% |
+| [Frozen Lake](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/frozen_lake) | 训练智能体进行冰湖游戏。 | Qwen2.5-3B-Instruct | Success rate: 15% → 86% |
+| [Learn to Ask](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/learn_to_ask) | 使用 LLM 作为评判获得自动反馈,从而调优智能体。 | Qwen2.5-7B-Instruct | Accuracy: 47% → 92% |
+| [Email Search](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/email_search) | 在训练数据没有标注真值的情况下提升工具使用能力。 | Qwen3-4B-Instruct-2507 | Accuracy: 60% |
+| [Werewolf Game](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/werewolves) | 训练智能体进行战略性多智能体游戏互动。 | Qwen2.5-7B-Instruct | 狼人胜率:50% → 80% |
+| [Data Augment](https://github.com/agentscope-ai/agentscope-samples/tree/main/tuner/data_augment) | 生成合成训练数据以增强调优结果。 | Qwen3-0.6B | AIME-24 accuracy: 20% → 60% |
+
+### 多智能体工作流
+
+AgentScope 提供 ``MsgHub`` 和 pipeline 来简化多智能体对话,提供高效的消息路由和无缝信息共享
+
+```python
+from agentscope.pipeline import MsgHub, sequential_pipeline
+from agentscope.message import Msg
+import asyncio
+
+async def multi_agent_conversation():
+ # 创建智能体
+ agent1 = ...
+ agent2 = ...
+ agent3 = ...
+ agent4 = ...
+
+ # 创建消息中心来管理多智能体对话
+ async with MsgHub(
+ participants=[agent1, agent2, agent3],
+ announcement=Msg("Host", "请介绍一下自己。", "assistant")
+ ) as hub:
+ # 按顺序发言
+ await sequential_pipeline([agent1, agent2, agent3])
+ # 动态管理参与者
+ hub.add(agent4)
+ hub.delete(agent3)
+ await hub.broadcast(Msg("Host", "再见!", "assistant"))
+
+asyncio.run(multi_agent_conversation())
+```
+
+
+## 文档
+
+- [教程](https://doc.agentscope.io/zh_CN/tutorial/)
+- [常见问题](https://doc.agentscope.io/zh_CN/tutorial/faq.html)
+- [API 文档](https://doc.agentscope.io/zh_CN/api/agentscope.html)
+
+## 更多样例
+
+### 功能
+
+- [MCP](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/mcp)
+- [Anthropic 智能体技能](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/agent_skill)
+- [计划](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/plan)
+- [结构化输出](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/structured_output)
+- [RAG](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/rag)
+- [长期记忆](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/long_term_memory)
+- [基于 SQLite 的会话管理](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/session_with_sqlite)
+- [流式打印消息](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/stream_printing_messages)
+- [TTS](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/tts)
+- [高代码部署](https://github.com/agentscope-ai/agentscope/tree/main/examples/deployment/planning_agent)
+- [记忆压缩](https://github.com/agentscope-ai/agentscope/tree/main/examples/functionality/short_term_memory/memory_compression)
+
+### 智能体
+
+- [ReAct 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/react_agent)
+- [语音智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/voice_agent)
+- [Deep Research 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/deep_research_agent)
+- [Browser-use 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/browser_agent)
+- [Meta Planner 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/meta_planner_agent)
+- [A2A 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/a2a_agent)
+- [实时语音交互智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/agent/realtime_voice_agent)
+
+### 游戏
+
+- [九人制狼人杀](https://github.com/agentscope-ai/agentscope/tree/main/examples/game/werewolves)
+
+### 工作流
+
+- [多智能体辩论](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_debate)
+- [多智能体对话](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_conversation)
+- [多智能体并发](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_concurrent)
+- [多智能体实时语音交互](https://github.com/agentscope-ai/agentscope/tree/main/examples/workflows/multiagent_realtime)
+
+### 评估
+
+- [ACEBench](https://github.com/agentscope-ai/agentscope/tree/main/examples/evaluation/ace_bench)
+
+### 微调
+
+- [调优 ReAct 智能体](https://github.com/agentscope-ai/agentscope/tree/main/examples/tuner/react_agent)
+
+
+## 贡献
+
+我们欢迎社区的贡献!请参阅我们的 [贡献指南](./CONTRIBUTING_zh.md) 了解如何贡献到 AgentScope。
+
+## 许可
+
+AgentScope 基于 Apache License 2.0 发布。
+
+## 论文
+
+如果我们的工作对您的研究或应用有帮助,请引用我们的论文。
+
+- [AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications](https://arxiv.org/abs/2508.16279)
+
+- [AgentScope: A Flexible yet Robust Multi-Agent Platform](https://arxiv.org/abs/2402.14034)
+
+```
+@article{agentscope_v1,
+ author = {Dawei Gao, Zitao Li, Yuexiang Xie, Weirui Kuang, Liuyi Yao, Bingchen Qian, Zhijian Ma, Yue Cui, Haohao Luo, Shen Li, Lu Yi, Yi Yu, Shiqi He, Zhiling Luo, Wenmeng Zhou, Zhicheng Zhang, Xuguang He, Ziqian Chen, Weikai Liao, Farruh Isakulovich Kushnazarov, Yaliang Li, Bolin Ding, Jingren Zhou},
+ title = {AgentScope 1.0: A Developer-Centric Framework for Building Agentic Applications},
+ journal = {CoRR},
+ volume = {abs/2508.16279},
+ year = {2025},
+}
+
+@article{agentscope,
+ author = {Dawei Gao, Zitao Li, Xuchen Pan, Weirui Kuang, Zhijian Ma, Bingchen Qian, Fei Wei, Wenhao Zhang, Yuexiang Xie, Daoyuan Chen, Liuyi Yao, Hongyi Peng, Zeyu Zhang, Lin Zhu, Chen Cheng, Hongzhu Shi, Yaliang Li, Bolin Ding, Jingren Zhou},
+ title = {AgentScope: A Flexible yet Robust Multi-Agent Platform},
+ journal = {CoRR},
+ volume = {abs/2402.14034},
+ year = {2024},
+}
+```
+
+## 贡献者
+
+感谢所有贡献者:
+
+
+
+
diff --git a/assets/images/agentscope_20260120.png b/assets/images/agentscope_20260120.png
new file mode 100644
index 0000000000000000000000000000000000000000..eecaac2239c87e665431e42ba29fefd5a84d1636
GIT binary patch
literal 1809731
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