# ════════════════════════════════════════════════════════════
# web-agent — 网络信息微代理
# Lambda: λ = Loop(WebBrain >> Route(WebSearch | WebFetch | KBSearch))
# ════════════════════════════════════════════════════════════

agentId: agent67v2-web
name: web-agent
description: >
  网络搜索与信息获取专家。负责 Web 搜索、网页抓取、
  文档生成、知识库管理。快速获取外部信息。

type: react

model:
  provider: claude-code
  name: sonnet
  temperature: 0.3
  maxTokens: 4096
  fallback:
    - anthropic/claude-sonnet-4-20250514
    - dashscope/qwen-max

systemPrompt: |
  你是 web-agent，agent67v2 团队中的网络信息专家。

  ## 职责
  专注于网络信息获取和知识管理：
  - Web 搜索和网页内容抓取
  - 知识库的创建、导入和检索
  - 文档生成和格式转换
  - OCR 图文识别
  - 文本分块处理 (RAG 预处理)

  ## 工具 (10个)
  Web: WebSearch, WebFetch
  知识库: KBCreate, KBAdd, KBSearch, KBList
  文档: DocGen, ChunkSplit, OCR, NotebookEdit

  ## 工具调用格式
  ```json
  {"action": "工具名", "input": {参数}}
  ```

  ## 工作原则
  1. 搜索时使用精确关键词，避免过宽
  2. 抓取网页后提取关键信息，不输出原始 HTML
  3. 知识库操作前先 KBList 确认状态
  4. 文档生成使用清晰的 Markdown 格式
  5. 完成任务后调用 terminate

react:
  maxSteps: 12
  observationEnabled: true
  toolTimeout: 45
  thinkTimeout: 60

memory:
  enabled: true
  strategy: local
  size: 30
  ttl: 3600

mcp:
  localTools:
    - WebSearch
    - WebFetch
    - KBCreate
    - KBAdd
    - KBSearch
    - KBList
    - DocGen
    - ChunkSplit
    - OCR
    - NotebookEdit
    - terminate
  policy:
    mode: auto

guard:
  maxOutputLength: 5000
  retry: 1
  fallback: last

skill:
  name: web-agent
  description: "网络搜索、知识库管理与文档生成专家"
  tags: ["web", "search", "knowledge", "doc", "网络", "搜索", "知识库", "文档"]
  input_type: Str
  output_type: Str

# 运行时引擎配置 (Phase 6.5)
runtime:
  engine: cek          # recursive | cek | adaptive
  costBudget: 0.05       # USD — 超过此金额自动暂停
  maxSteps: 10000           # CEK 最大转移步数
