mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-21 14:05:17 +02:00
decorate the output of Bash.run
This commit is contained in:
parent
62e32a6999
commit
597128dac2
1 changed files with 12 additions and 2 deletions
|
|
@ -37,7 +37,7 @@ from metagpt.utils.repair_llm_raw_output import RepairType, repair_llm_raw_outpu
|
|||
from metagpt.utils.report import ThoughtReporter
|
||||
|
||||
|
||||
@register_tool(include_functions=["ask_human", "reply_to_human"])
|
||||
@register_tool(include_functions=["ask_human", "reply_to_human", "Bash.run"])
|
||||
class RoleZero(Role):
|
||||
"""A role who can think and act dynamically"""
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ class RoleZero(Role):
|
|||
tools: list[str] = [] # Use special symbol ["<all>"] to indicate use of all registered tools
|
||||
tool_recommender: ToolRecommender = None
|
||||
tool_execution_map: dict[str, Callable] = {}
|
||||
special_tool_commands: list[str] = ["Plan.finish_current_task", "end"]
|
||||
special_tool_commands: list[str] = ["Plan.finish_current_task", "end", "Bash.run"]
|
||||
# Equipped with three basic tools by default for optional use
|
||||
editor: Editor = Editor()
|
||||
browser: Browser = Browser()
|
||||
|
|
@ -370,6 +370,16 @@ class RoleZero(Role):
|
|||
self._set_state(-1)
|
||||
command_output = ""
|
||||
|
||||
# output from bash.run may be empty, add decorations to the output to ensure visibility.
|
||||
elif cmd["command_name"] == "Bash.run":
|
||||
tool_obj = self.tool_execution_map[cmd["command_name"]]
|
||||
tool_output = await tool_obj(**cmd["args"])
|
||||
if len(tool_output) <= 10:
|
||||
command_output += (
|
||||
f"\n[command]: {cmd['args']['cmd']} \n [command output] : {tool_output} (pay attention to this.)"
|
||||
)
|
||||
else:
|
||||
command_output += f"\n[command]: {cmd['args']['cmd']} \n [command output] : {tool_output}"
|
||||
return command_output
|
||||
|
||||
def _get_plan_status(self) -> Tuple[str, str]:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue