feat: 完善词典子图,添加API调用和前端格式化工具
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m5s
Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Failing after 6m5s
- 完善词典子图:添加生词本功能 - 创建API调用工具:dictionary_api - 添加前端格式化展示工具:result_formatter.py - 创建通讯录和资讯子图的基本结构 - 更新主图状态结构,添加MainGraphState - 添加subgraph_builder.py用于子图集成
This commit is contained in:
104
backend/app/agent_subgraphs/contact/state.py
Normal file
104
backend/app/agent_subgraphs/contact/state.py
Normal file
@@ -0,0 +1,104 @@
|
||||
"""
|
||||
通讯录子图状态定义
|
||||
Contact Subgraph State Definition
|
||||
"""
|
||||
|
||||
from enum import Enum, auto
|
||||
from typing import Optional, Dict, List, Any
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
class ContactAction(Enum):
|
||||
"""通讯录操作类型"""
|
||||
NONE = auto()
|
||||
CONTACT_LIST = auto() # 联系人列表
|
||||
CONTACT_ADD = auto() # 添加联系人
|
||||
CONTACT_UPDATE = auto() # 更新联系人
|
||||
CONTACT_DELETE = auto() # 删除联系人
|
||||
EMAIL_LIST = auto() # 邮件列表
|
||||
EMAIL_READ = auto() # 读取邮件
|
||||
EMAIL_SEND = auto() # 发送邮件
|
||||
SNIFF_CONTACTS = auto() # 智能嗅探
|
||||
|
||||
|
||||
@dataclass
|
||||
class Contact:
|
||||
"""联系人数据结构"""
|
||||
id: Optional[str] = None
|
||||
name: str = ""
|
||||
phone: str = ""
|
||||
email: str = ""
|
||||
company: str = ""
|
||||
position: str = ""
|
||||
notes: str = ""
|
||||
created_at: Optional[str] = None
|
||||
updated_at: Optional[str] = None
|
||||
metadata: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class Email:
|
||||
"""邮件数据结构"""
|
||||
id: Optional[str] = None
|
||||
subject: str = ""
|
||||
sender: str = ""
|
||||
recipients: List[str] = field(default_factory=list)
|
||||
date: Optional[str] = None
|
||||
body: str = ""
|
||||
is_read: bool = False
|
||||
mailbox: str = ""
|
||||
metadata: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ContactState:
|
||||
"""通讯录子图状态"""
|
||||
# ========== 输入 ==========
|
||||
user_query: str = "" # 用户查询
|
||||
user_id: str = "" # 用户ID
|
||||
|
||||
# 操作控制
|
||||
action: ContactAction = ContactAction.NONE
|
||||
action_params: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
# ========== 执行过程 ==========
|
||||
# 当前阶段
|
||||
current_phase: str = "init" # init, processing, reviewing, done
|
||||
|
||||
# 联系人相关
|
||||
contacts: List[Contact] = field(default_factory=list)
|
||||
current_contact: Optional[Contact] = None
|
||||
|
||||
# 邮件相关
|
||||
emails: List[Email] = field(default_factory=list)
|
||||
current_email: Optional[Email] = None
|
||||
|
||||
# 邮件草稿(用于审核)
|
||||
draft_subject: str = ""
|
||||
draft_recipient: str = ""
|
||||
draft_body: str = ""
|
||||
|
||||
# ========== 人工审核相关 ==========
|
||||
pending_review: bool = False
|
||||
review_type: str = "" # email_send, contact_delete
|
||||
review_prompt: str = ""
|
||||
review_approved: Optional[bool] = None
|
||||
review_comment: str = ""
|
||||
review_modified_content: str = ""
|
||||
|
||||
# ========== 智能嗅探 ==========
|
||||
sniff_result: Optional[Dict[str, Any]] = None
|
||||
sniffed_contacts: List[Contact] = field(default_factory=list)
|
||||
sniff_confirmation_pending: bool = False
|
||||
|
||||
# ========== 结果 ==========
|
||||
success: bool = False
|
||||
error_message: str = ""
|
||||
final_result: str = ""
|
||||
result_data: Dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
# ========== 元数据 ==========
|
||||
start_time: Optional[str] = None
|
||||
end_time: Optional[str] = None
|
||||
duration: float = 0.0
|
||||
debug_info: Dict[str, Any] = field(default_factory=dict)
|
||||
Reference in New Issue
Block a user