Spaces:
Paused
Paused
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| """ | |
| @Time : 2023/5/11 14:43 | |
| @Author : alexanderwu | |
| @File : architect.py | |
| """ | |
| from metagpt.actions import WritePRD | |
| from metagpt.actions.design_api import WriteDesign | |
| from metagpt.roles.role import Role | |
| class Architect(Role): | |
| """ | |
| Represents an Architect role in a software development process. | |
| Attributes: | |
| name (str): Name of the architect. | |
| profile (str): Role profile, default is 'Architect'. | |
| goal (str): Primary goal or responsibility of the architect. | |
| constraints (str): Constraints or guidelines for the architect. | |
| """ | |
| name: str = "Bob" | |
| profile: str = "Architect" | |
| goal: str = "design a concise, usable, complete software system" | |
| constraints: str = ( | |
| "make sure the architecture is simple enough and use appropriate open source " | |
| "libraries. Use same language as user requirement" | |
| ) | |
| def __init__(self, **kwargs) -> None: | |
| super().__init__(**kwargs) | |
| # Initialize actions specific to the Architect role | |
| self.set_actions([WriteDesign]) | |
| # Set events or actions the Architect should watch or be aware of | |
| self._watch({WritePRD}) | |