feat: Agent 运行时、对话 API、作业助手与引擎修复及前端执行超时
- agent_runtime 模块与 agent_chat API,前端 AgentChat 视图与路由对接 - workflow_engine: code 节点命名空间与 json 引用修复 - llm_service: 工具调用 extra_body(如 DeepSeek) - create_homework_manager_agent / _3 脚本与测试脚本扩展 - frontend: WORKFLOW_EXECUTION_HTTP_TIMEOUT_MS、AgentChatPreview/MainLayout 等 - 文档:架构说明与自主 Agent 改造完成情况 Made-with: Cursor
This commit is contained in:
@@ -11,6 +11,9 @@ Agent工作流执行测试脚本
|
||||
python test_agent_execution.py <agent_id> "你好"
|
||||
python test_agent_execution.py --homework
|
||||
python test_agent_execution.py --homework --base-url http://127.0.0.1:8037
|
||||
python test_agent_execution.py --homework2
|
||||
python test_agent_execution.py --homework2 -m "记一下数学作业,周五交"
|
||||
python test_agent_execution.py --homework2 --base-url http://127.0.0.1:8037 --request-timeout 180 --max-wait 420
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -45,6 +48,13 @@ DEFAULT_ANDROID_PROMPT = "生成一个导出androidlog的脚本"
|
||||
HOMEWORK_AGENT_NAME = "学生作业管理助手"
|
||||
HOMEWORK_DEFAULT_MESSAGE = "你好"
|
||||
|
||||
HOMEWORK2_AGENT_NAME = "学生作业管理助手2号"
|
||||
HOMEWORK2_DEFAULT_MESSAGE = """4.27号作业:
|
||||
1.学过的所有字母每个字母每个写3遍,抄写本课的单词和单词每个6遍(在孩子作业本上)
|
||||
2.读第38-40页课本,录视频打卡
|
||||
3.拼读第43页,拼读,录视频打卡
|
||||
4.完成app里面布置的绘本打卡"""
|
||||
|
||||
|
||||
def print_section(title: str) -> None:
|
||||
print("\n" + "=" * 80)
|
||||
@@ -336,6 +346,18 @@ def _parse_args() -> argparse.Namespace:
|
||||
action="store_true",
|
||||
help=f"测试「{HOMEWORK_AGENT_NAME}」,默认发送「{HOMEWORK_DEFAULT_MESSAGE}」",
|
||||
)
|
||||
p.add_argument(
|
||||
"--homework2",
|
||||
action="store_true",
|
||||
help=f"测试「{HOMEWORK2_AGENT_NAME}」(快速档案+持久记忆);默认发送一段 4.27 样例作业",
|
||||
)
|
||||
p.add_argument(
|
||||
"-m",
|
||||
"--message",
|
||||
default=None,
|
||||
metavar="TEXT",
|
||||
help="与 --homework / --homework2 联用的用户话术(推荐,避免位置参数被当成 agent_id)",
|
||||
)
|
||||
p.add_argument(
|
||||
"--agent-name",
|
||||
default=None,
|
||||
@@ -356,25 +378,36 @@ if __name__ == "__main__":
|
||||
uid: Optional[str] = args.agent_id
|
||||
msg: str
|
||||
|
||||
if args.homework and args.agent_name:
|
||||
print("[WARN] 同时指定 --homework 与 --agent-name,将使用 --agent-name 查找")
|
||||
if args.homework and args.homework2:
|
||||
print("[WARN] 同时指定 --homework 与 --homework2,优先使用 --homework2")
|
||||
if (args.homework or args.homework2) and args.agent_name:
|
||||
print("[WARN] 同时指定 --homework/--homework2 与 --agent-name,将使用 --agent-name 查找")
|
||||
|
||||
def _msg_from_homework_flags(default_v1: str, default_v2: str) -> str:
|
||||
if args.message is not None:
|
||||
return args.message
|
||||
if args.user_input is not None:
|
||||
return args.user_input
|
||||
return default_v2 if args.homework2 else default_v1
|
||||
|
||||
if args.agent_name:
|
||||
name = args.agent_name
|
||||
msg = (
|
||||
args.user_input
|
||||
if args.user_input is not None
|
||||
else (
|
||||
HOMEWORK_DEFAULT_MESSAGE
|
||||
if args.homework
|
||||
if args.homework2:
|
||||
msg = _msg_from_homework_flags(HOMEWORK_DEFAULT_MESSAGE, HOMEWORK2_DEFAULT_MESSAGE)
|
||||
elif args.homework:
|
||||
msg = _msg_from_homework_flags(HOMEWORK_DEFAULT_MESSAGE, HOMEWORK2_DEFAULT_MESSAGE)
|
||||
else:
|
||||
msg = (
|
||||
args.user_input
|
||||
if args.user_input is not None
|
||||
else DEFAULT_ANDROID_PROMPT
|
||||
)
|
||||
)
|
||||
elif args.homework2:
|
||||
name = HOMEWORK2_AGENT_NAME
|
||||
msg = _msg_from_homework_flags(HOMEWORK_DEFAULT_MESSAGE, HOMEWORK2_DEFAULT_MESSAGE)
|
||||
elif args.homework:
|
||||
name = HOMEWORK_AGENT_NAME
|
||||
msg = (
|
||||
args.user_input if args.user_input is not None else HOMEWORK_DEFAULT_MESSAGE
|
||||
)
|
||||
msg = _msg_from_homework_flags(HOMEWORK_DEFAULT_MESSAGE, HOMEWORK2_DEFAULT_MESSAGE)
|
||||
else:
|
||||
msg = (
|
||||
args.user_input
|
||||
|
||||
Reference in New Issue
Block a user