modelscope/ms-agent
MS-Agent: a lightweight framework to empower agentic execution of complex tasks
MS‑Agent – 轻量且可扩展的自主 AI 代理框架
是什么 – MS‑Agent(前身为 modelscope‑agent)是一个开源 Python 库,允许开发者构建、运行和自定义“代理”——即由 LLM 驱动的程序,能够调用工具、保持记忆并自主探索数据。它自带一个 模型调用协议 (MCP) 层,用于与 ModelScope 的推理服务通信,一个遵循 Anthropic Agent-Skills 协议的 技能系统,以及一个小型的 React + FastAPI Web UI,用于交互式聊天。
核心功能(如 README 所述)
- 支持工具调用的多代理聊天 – 代理可通过 MCP 调用外部工具(搜索、代码执行、视频生成等)。
- 深度研究 / 代理洞察 – 专为自主文献或数据研究设计的工作流,在 DeepResearch 基准测试中得分很高。
- 代码生成与视频生成 – 内置项目(Code Genesis, Singularity Cinema)用于生成代码制品和短(约 5 分钟)视频。
- 代理技能 – 基于知识的技能系统,使用混合 FAISS + BM25 搜索检索相关技能,通过 LLM 进行过滤,构建依赖关系 DAG,并并行运行独立技能。
- 记忆支持 – 可通过
mem0库启用可选的持久化记忆,使代理在会话间记住用户偏好。 - 多模态输入 – 图像、视频及其他模态可输入给代理。
- 上下文压缩 – 自动修剪和总结长对话历史,以保持在 token 限制内。
- Web UI – 本地 React 路由器 + FastAPI 服务器,通过 Server-Sent Events 流式传输代理响应。
- 代理中心 CLI – 用于将代理工作区与远程 ModelScope 仓库同步、监视变更、在不同代理格式间转换的命令。
典型工作流(快速入门示例)
- 从 PyPI 安装包(基础版或带
[research]扩展)。pip install ms-agent # 核心功能 pip install 'ms-agent[research]' # 深度研究功能 - 导出 ModelScope API 密钥(默认 LLM 后端所需)。
export MODELSCOPE_API_KEY=YOUR_KEY - 编写一个简短的异步脚本,创建一个带有 MCP 配置的
LLMAgent并调用run():import asyncio from ms_agent import LLMAgent mcp = { "mcpServers": { "fetch": { "type": "streamable_http", "url": "https://mcp.api-inference.modelscope.net/YOUR_UUID/mcp" } } } async def main(): agent = LLMAgent(mcp_config=mcp) await agent.run('Introduce modelscope.cn') asyncio.run(main()) - 运行脚本;代理将流式返回响应,可选地通过提供的 Web UI 查看。
扩展框架的方法
- 通过在
ms_agent/skill/下放置 Python 模块并描述它们,即可添加新技能;系统将自动发现、检索并组合它们。 - 插入自定义工具(如金融数据收集器),并通过 MCP 暴露给代理,使其在对话中调用。
- 更换 LLM 后端——虽然默认使用 ModelScope 的推理 API,但该库可指向任何符合 MCP 格式的 OpenAI 兼容端点。
- 安装
mem0ai并提供 DashScope 嵌入密钥,即可启用记忆功能;代理将从持久化向量存储中保存和检索上下文。
谁可能使用它
- 构建用于文献综述、数据挖掘或金融分析的自主代理的研究人员。
- 需要快速原型化多工具 LLM 助手(代码生成、视频创建、网络搜索等)的开发者。
- 希望在保持底层架构模块化的同时,拥有自托管 UI 与代理交互的团队。
了解更多
- 论文: https://arxiv.org/abs/2309.00986
- 文档(英文): https://ms-agent-en.readthedocs.io
- 文档(中文): https://ms-agent.readthedocs.io/zh-cn
- MCP 演示平台: https://modelscope.cn/mcp/playground
- Discord 社区: https://discord.gg/qmTFPY9byM
TL;DR – MS‑Agent 是一个真实、持续维护的 Python 框架,用于构建自主、工具调用的 LLM 代理。它集成了协议层(MCP)、技能检索/执行引擎、记忆支持、多模态输入和轻量级 Web UI,适用于研究原型和小规模生产级助手。
相关
- Dispatch
- 项目
- 项目
- 项目
- 项目