Spaces:
Running
Running
#!/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}) | |