"""
项目配置

定义项目的运行配置。
"""

from agent.core.runner import KnowledgeConfig, RunConfig


# ===== Agent 运行配置 =====

RUN_CONFIG = RunConfig(
    # 模型配置
    model="qwen3.5-plus",
    temperature=0.3,
    max_iterations=1000,

    # 启用 thinking 模式
    extra_llm_params={"extra_body": {"enable_thinking": True}},

    # Agent 预设（对应 presets.json 中的 "main"）
    agent_type="main",

    # 任务名称
    name="工具调研与文档生成",

    # 知识管理配置
    knowledge=KnowledgeConfig(
        enable_extraction=False,
        enable_completion_extraction=True,
        enable_injection=False,
        owner="sunlit.howard@gmail.com",
        default_tags={"project": "tool_research", "domain": "ai_agent"},
        default_scopes=["org:cybertogether"],
        default_search_types=["tool", "guide"],
        default_search_owner="sunlit.howard@gmail.com"
    )
)


# ===== 任务配置 =====

OUTPUT_DIR = "examples/tool_research/outputs/nanobanana_2"  # 输出目录


# ===== 基础设施配置 =====

SKILLS_DIR = "./skills"
TRACE_STORE_PATH = ".trace"
DEBUG = True
LOG_LEVEL = "INFO"
LOG_FILE = None  # 设置为文件路径可以同时输出到文件

# ===== 浏览器配置 =====
# 可选值: "cloud" (云浏览器) 或 "local" (本地浏览器) 或 "container" (容器浏览器，支持预配置账户)
BROWSER_TYPE = "cloud"
HEADLESS = False

# ===== IM 配置 =====
IM_ENABLED = True                          # 是否启动 IM Client
IM_CONTACT_ID = "agent_research"           # Agent 在 IM 系统中的身份 ID
IM_SERVER_URL = "ws://43.106.118.91:8105"     # IM Server WebSocket 地址
IM_WINDOW_MODE = True                      # 窗口模式（True=每次运行消息隔离，推荐）
IM_NOTIFY_INTERVAL = 10.0                  # 新消息检查间隔（秒）

# ===== Knowledge Manager 配置 =====
KNOWLEDGE_MANAGER_ENABLED = True           # 是否启动 Knowledge Manager（作为后台 IM Client）
KNOWLEDGE_MANAGER_CONTACT_ID = "knowledge_manager"  # Knowledge Manager 的 IM 身份 ID
KNOWLEDGE_MANAGER_ENABLE_DB_COMMIT = False # 是否允许入库（False=只缓存，True=可入库）
