# coding: utf-8 # Copyright (c) 2025 inclusionAI. import asyncio import os from aworld.config.conf import AgentConfig, TaskConfig from aworld.core.agent.base import Agent from aworld.core.task import Task from aworld.output.ui.base import AworldUI from aworld.runner import Runners from custom.custom_rich_aworld_ui import RichAworldUI if __name__ == '__main__': agent_config = AgentConfig( llm_provider="openai", llm_model_name=os.environ["LLM_MODEL_NAME"], llm_api_key=os.environ["LLM_API_KEY"], llm_base_url=os.environ["LLM_BASE_URL"] ) amap_sys_prompt = "You are a helpful agent." amap_agent = Agent( conf=agent_config, name="amap_agent", system_prompt=amap_sys_prompt, mcp_servers=["filesystem", "amap-amap-sse"], # MCP server name for agent to use history_messages=100 ) user_input = ("How long does it take to drive from Hangzhou of Zhejiang to Weihai of Shandong (generate a table with columns for starting point, destination, duration, distance), " "which cities are passed along the way, what interesting places are there along the route, " "and finally generate the content as markdown and save it") async def _run(agent, input): task = Task( input=input, agent=agent, conf=TaskConfig() ) openwebui_ui = OpenAworldUI( chat_id=chat_id, workspace=WorkSpace.from_local_storages( workspace_id=chat_id, storage_path=os.path.join(os.curdir, "workspaces", chat_id), ), ) async for output in Runners.streamed_run_task(task).stream_events(): await AworldUI.parse_output(output, rich_ui) asyncio.run(_run(amap_agent, user_input))