diff --git a/metagpt/tools/libs/software_development.py b/metagpt/tools/libs/software_development.py index e10ddab4a..a527c5806 100644 --- a/metagpt/tools/libs/software_development.py +++ b/metagpt/tools/libs/software_development.py @@ -16,10 +16,11 @@ from metagpt.actions.requirement_analysis.trd import ( EvaluateTRD, WriteTRD, ) -from metagpt.const import ASSISTANT_ALIAS +from metagpt.const import ASSISTANT_ALIAS, TEST_DATA_PATH from metagpt.context import Context from metagpt.logs import ToolLogItem, log_tool_output, logger from metagpt.tools.tool_registry import register_tool +from metagpt.utils.common import aread from metagpt.utils.cost_manager import CostManager @@ -80,182 +81,7 @@ async def extract_external_interfaces(acknowledge: str) -> str: async def mock_asearch_acknowledgement(use_case_actors: str): - return """ -## Interfaces -- 用户登录 - - Description: 用户从小程序/微应用发起请求,需要验证用户的合法身份才能正常处理。 - - ID: 1 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |authCode|用户临时免登授权码|String(64)|√|| - |loginTypeEnum|登录类型|String(20)|√|| - |authCorpId|用户所在企业/组织id|String(64)||微应用免登时传递| - |app|应用标识|String(3)|√|| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功与否,成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|用户的sessionId|string|√|| -- 根据sessionId查询用户详细信息 - - Description: 查询当前用户的详细信息,如 staffId,unionId,name,avatar等信息 - - ID: 2 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |NDA_SESSION|用户sessionId|String(64)|√|| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功与否,成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|用户的详细信息|object|√|| - |-> corpId|当前用户企业 钉钉ID(小程序端会拿不到该信息)|string|√|| - |-> corpName|当前用户企业名称(小程序端会拿不到该信息)|string|√|| - |-> staffId|员工在当前企业内的唯一标识,也称staffId(小程序端会拿不到该信息)|string|√|| - |-> unionId|员工在当前开发者企业账号范围内的唯一标识,系统生成,固定值,不会改变。|string|√|| - |-> name|当前用户的名称(小程序端会拿不到该信息)|string|√|| - |-> avatar|头像图片URL|string|√|| -- 查询国家情况描述 - - Description: 根据国家code查询国家情况描述 - - ID: 3 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |countryCode|国家code|string|√|| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|国家情况描述|object|√|| - |-> id|id|integer|√|| - |-> countryName|国家名称|string|√|| - |-> countryCode|国家code|string|√|| - |-> detail|产品法规分析|string|√|| -- 查询产品法规分析(法律意见详情) - - Description: 根据国家和业务线查询产品法规分析 - - ID: 4 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |countryCode|国家code|string|√|| - |businessCode|业务线code|string|√|| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|法律意见详情|object|√|| - |-> id|id|integer|√|| - |-> countryName|国家名称|string|√|| - |-> countryCode|国家code|string|√|| - |-> businessLine|业务线|string|√|| - |-> businessCode|业务线code|string|√|| - |-> detail|产品法规分析|string|√|| - |-> signEntity|签约主体|string|√|| -- 查询法律意见总数 - - Description: 法律意见总数查询 - - ID: 5 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|总数|integer|√|| -- 查询所有国家和业务线信息列表 - - Description: 查询所有国家和业务线信息列表 - - ID: 6 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|所有数据列表|list of object|√|| - |-> country|国家code|string|√|| - |-> business|业务线code|string|√|| - |-> dataType|数据类型|string|√|| - |-> businessName|业务线名|string|√|| - |-> countryName|国家名|string|√|| - |-> businessNameEn|业务线名(英文)|string|√|| -- 调用法务中台antlaw接口 - - ID: 7 -- 国家/区域导游详情 & 法律意见详情 查询 - - Description:根据国家code查询国家/区域导游信息详情 - - ID: 8 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |countryCode|国家code|string|√|| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|国家/区域导游详情|object|√|| - |-> country||||| - |-> -> id|id|integer|√|| - |-> -> country|国家code|string|√|| - |-> -> countryName|国家中文名称|string|√|| - |-> -> countryNameEn|国家英文名称|string|√|| - |-> -> content|国家导游中文详情json数组,具体格式见下示例|list of object|√|| - |-> -> -> title|标题|object|√|| - |-> -> -> -> title|中文标题|string||| - |-> -> -> -> titleEn|英文标题|string||| - |-> -> -> contentList|标题下面的文字描述列表|list of object|√|| - |-> -> -> -> detail|内容中文详情|string|√|| - |-> -> -> -> detailEn|内容英文详情|string|√|| - |-> -> -> -> url|超链接|string||| - |-> legal|法务信息|object||| - |-> -> country|国家code|string|√|| - |-> -> businessList|业务线列表|list of object||| - |-> -> -> id|id|integer||新增时不传,修改时传递| - |-> -> -> business|业务线code|string|√|| - |-> -> -> businessName|业务线中文名称|string|√|| - |-> -> -> businessNameEn|业务线英文名称|string|√|| - |-> -> -> content|业务线json,具体如下|object|√|| - |-> -> -> -> detailEn|具体的详情英文内容|string|√|| - |-> -> -> -> detail|具体的详情内容|string|√|| -- 国家/区域导游列表分页查询 - - Description: 分页查询国家/区域列表 - - ID: 9 - - Input Parameters: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |pageSize|分页大小|integer|√|>=1| - |pageNum|分页大小|integer|√|>=1| - |country|国家code|string||| - |business|业务线code|string||| - - Returns: - |名称|描述|类型(长度)|必选|备注| - | :- | :- | :-: | :- | :- | - |success|业务处理成功true,否则false|boolean|√|只判断这个属性即可| - |message|错误信息,可以用来提示|string|√|| - |code|返回状态码|string|√|| - |data|国家/区域导游详情|list of object|√|| - |-> id|id|integer|√|| - |-> country|国家code|string|√|| - |-> countryName|国家中文名称|string|√|| - |-> countryNameEn|国家英文名称|string|√|| - |-> gmtCreate|创建时间|string|√|| - |-> gmtModified|更新时间|string|√|| - |total|数据总量|integer|√|| - - """ + return await aread(filename=TEST_DATA_PATH / "requirements/1.acknowledge.md") @register_tool(tags=["system design", "write trd", "Write a TRD"])