"""
项目配置

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

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(
        # 压缩时提取（消息量超阈值触发压缩时，用完整 history 反思）
        enable_extraction=False,
        reflect_prompt="",  # 自定义反思 prompt；空则使用默认，见 agent/core/prompts/knowledge.py:REFLECT_PROMPT

        # agent运行完成后提取（不代表任务完成，agent 可能中途退出等待人工评估）
        enable_completion_extraction=True,
        completion_reflect_prompt="",  # 自定义复盘 prompt；空则使用默认，见 agent/core/prompts/knowledge.py:COMPLETION_REFLECT_PROMPT

        # 知识注入（agent切换当前工作的goal时，自动注入相关知识）
        enable_injection=False,

        # 默认字段（保存/搜索时自动注入）
        owner="sunlit.howard@gmail.com",  # 所有者（空则尝试从 git config user.email 获取，再空则用 agent:{agent_id}）
        default_tags={"project": "production_plan", "domain": "ai_agent"},  # 默认 tags（会与工具调用参数合并）
        default_scopes=["org:cybertogether"],  # 默认 scopes
        default_search_types=["strategy"],  # 默认搜索类型过滤
        default_search_owner="sunlit.howard@gmail.com"  # 默认搜索 owner 过滤（空则不过滤）
    )
)


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

INPUT_DIR = "examples/production_plan/huahua"       # 输入素材目录
OUTPUT_DIR = "examples/production_plan/outputs/huahua_3"                   # 输出目录 ID，输出保存在 examples/plan/outputs/{OUTPUT_DIR}/


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

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

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