{
  "schema_version": "ai_technology_watch_sources_v1",
  "updated_at": "2026-06-26",
  "cadence": {
    "near_real_time_watch": "每 6 小時執行一次只讀 primary-source 檢查，偵測主流 AI 技術版本、文件與 release 變更。",
    "daily_triage": "每日彙整變更技術，依商業適用性、依賴風險、成本風險與資安風險分組。",
    "weekly_scorecard": "每週刷新技術 scorecard，判斷是否值得進入 sandbox、offline replay 或 adapter design。",
    "monthly_strategy_review": "每月策略檢討，決定技術應納入 roadmap、維持 watch-only 或從監控清單移除。"
  },
  "policy": {
    "read_only": true,
    "raw_chat_history_synced": false,
    "sdk_installation_approved": false,
    "paid_api_calls_approved": false,
    "production_routing_approved": false,
    "workflow_modification_approved": false,
    "telegram_send_approved": false,
    "model_provider_switch_approved": false,
    "host_write_approved": false
  },
  "coverage_contract": {
    "scope": [
      "agent_frameworks",
      "model_providers",
      "rag_and_vector",
      "mcp_and_a2a",
      "evaluation_and_observability",
      "coding_agents",
      "multimodal_generation"
    ],
    "must_not_do": [
      "安裝新 SDK",
      "呼叫付費模型 API",
      "修改 provider routing",
      "修改 production prompts",
      "發送 Telegram 指令",
      "寫入主機",
      "在缺少 replay / shadow / canary 證據時替換 OpenClaw"
    ]
  },
  "candidates": [
    {
      "candidate_id": "openai_agents_sdk",
      "display_name": "OpenAI Agents SDK",
      "technology_area": "agent_frameworks",
      "integration_surface": "agent_handoff_tracing_guardrails",
      "awoooi_role": "協調者、handoff、tool tracing、guardrail 候選",
      "evaluation_priority": "p0",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "openai_agents_python_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/openai-agents/json",
          "reference_version": "0.17.7"
        },
        {
          "source_id": "openai_agents_typescript_npm",
          "type": "npm",
          "url": "https://registry.npmjs.org/%40openai%2Fagents",
          "reference_version": "0.12.0"
        },
        {
          "source_id": "openai_agents_docs",
          "type": "docs",
          "url": "https://developers.openai.com/api/docs/guides/agents"
        }
      ]
    },
    {
      "candidate_id": "nvidia_nemotron_nemo",
      "display_name": "NVIDIA Nemotron + NeMo Agent Toolkit",
      "technology_area": "agent_frameworks",
      "integration_surface": "offline_replay_evaluator_smoke_gate",
      "awoooi_role": "NemoTron replay / evaluator / synthetic data gate",
      "evaluation_priority": "p0",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "nvidia_nemotron_developer_page",
          "type": "docs",
          "url": "https://developer.nvidia.com/topics/ai/nemotron"
        },
        {
          "source_id": "nvidia_nemo_agent_toolkit_docs",
          "type": "docs",
          "url": "https://docs.nvidia.com/nemo/agent-toolkit/latest/index.html"
        },
        {
          "source_id": "nvidia_nemo_agent_toolkit_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/nvidia-nat/json"
        },
        {
          "source_id": "nvidia_nemotron_3_ultra_blog",
          "type": "docs",
          "url": "https://developer.nvidia.com/blog/nvidia-nemotron-3-ultra-powers-faster-more-efficient-reasoning-for-long-running-agents/"
        }
      ]
    },
    {
      "candidate_id": "langgraph_runtime",
      "display_name": "LangGraph",
      "technology_area": "agent_frameworks",
      "integration_surface": "durable_workflow_human_in_loop",
      "awoooi_role": "事件處理與可恢復 workflow kernel 候選",
      "evaluation_priority": "p0",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "langgraph_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/langgraph/json",
          "reference_version": "1.2.6"
        },
        {
          "source_id": "langgraph_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/langchain-ai/langgraph/releases/latest",
          "reference_version": "1.2.6"
        },
        {
          "source_id": "langgraph_docs",
          "type": "docs",
          "url": "https://docs.langchain.com/oss/python/langgraph/overview"
        }
      ]
    },
    {
      "candidate_id": "google_adk_stack",
      "display_name": "Google Agent Development Kit",
      "technology_area": "agent_frameworks",
      "integration_surface": "gemini_enterprise_agent_stack",
      "awoooi_role": "Gemini/Vertex agent stack watch-only 候選",
      "evaluation_priority": "p1",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "google_adk_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/google-adk/json",
          "reference_version": "2.3.0"
        },
        {
          "source_id": "google_adk_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/google/adk-python/releases/latest",
          "reference_version": "v2.3.0"
        },
        {
          "source_id": "google_adk_docs",
          "type": "docs",
          "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk"
        }
      ]
    },
    {
      "candidate_id": "microsoft_agent_framework",
      "display_name": "Microsoft Agent Framework",
      "technology_area": "agent_frameworks",
      "integration_surface": "enterprise_mcp_a2a_workflow",
      "awoooi_role": "MCP/A2A enterprise workflow watch-only 候選",
      "evaluation_priority": "p1",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "microsoft_agent_framework_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/microsoft/agent-framework/releases/latest",
          "reference_version": "dotnet-1.11.0"
        },
        {
          "source_id": "microsoft_agent_framework_docs",
          "type": "docs",
          "url": "https://learn.microsoft.com/en-us/agent-framework/overview/"
        }
      ]
    },
    {
      "candidate_id": "crewai_flows",
      "display_name": "CrewAI Flows + Crews",
      "technology_area": "agent_frameworks",
      "integration_surface": "multi_agent_prototype",
      "awoooi_role": "快速 prototype / non-production 評估候選",
      "evaluation_priority": "p2",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "crewai_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/crewai/json",
          "reference_version": "1.14.7"
        },
        {
          "source_id": "crewai_docs",
          "type": "docs",
          "url": "https://docs.crewai.com/"
        }
      ]
    },
    {
      "candidate_id": "modelcontextprotocol_sdk",
      "display_name": "Model Context Protocol SDK",
      "technology_area": "mcp_and_a2a",
      "integration_surface": "tool_registry_interoperability",
      "awoooi_role": "read-only tool registry / MCP adapter 候選",
      "evaluation_priority": "p0",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "mcp_typescript_sdk_npm",
          "type": "npm",
          "url": "https://registry.npmjs.org/%40modelcontextprotocol%2Fsdk"
        },
        {
          "source_id": "mcp_typescript_sdk_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/modelcontextprotocol/typescript-sdk/releases/latest"
        },
        {
          "source_id": "mcp_typescript_sdk_docs",
          "type": "docs",
          "url": "https://github.com/modelcontextprotocol/typescript-sdk"
        },
        {
          "source_id": "mcp_specification_2025_06_18",
          "type": "docs",
          "url": "https://modelcontextprotocol.io/specification/2025-06-18"
        },
        {
          "source_id": "mcp_roadmap",
          "type": "docs",
          "url": "https://modelcontextprotocol.io/development/roadmap"
        }
      ]
    },
    {
      "candidate_id": "a2a_protocol",
      "display_name": "Agent2Agent Protocol",
      "technology_area": "mcp_and_a2a",
      "integration_surface": "agent_to_agent_interop",
      "awoooi_role": "跨 Agent 溝通協定 watch-only 候選",
      "evaluation_priority": "p1",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "a2a_protocol_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/a2aproject/A2A/releases/latest"
        },
        {
          "source_id": "a2a_python_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/a2aproject/a2a-python/releases/latest"
        },
        {
          "source_id": "a2a_protocol_docs",
          "type": "docs",
          "url": "https://a2a-protocol.org/latest/"
        }
      ]
    },
    {
      "candidate_id": "opentelemetry_genai_semconv",
      "display_name": "OpenTelemetry GenAI Semantic Conventions",
      "technology_area": "evaluation_and_observability",
      "integration_surface": "agent_llm_trace_semantic_conventions",
      "awoooi_role": "Agent / LLM / MCP trace 欄位標準與日週月報可觀測基礎",
      "evaluation_priority": "p1",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "otel_genai_attributes",
          "type": "docs",
          "url": "https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/"
        }
      ]
    },
    {
      "candidate_id": "openai_model_platform",
      "display_name": "OpenAI Model Platform",
      "technology_area": "model_providers",
      "integration_surface": "model_capability_cost_routing",
      "awoooi_role": "模型能力、成本與 routing scorecard 來源",
      "evaluation_priority": "p0",
      "requires_cost_approval": true,
      "requires_dependency_approval": false,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "openai_models_docs",
          "type": "docs",
          "url": "https://platform.openai.com/docs/models"
        },
        {
          "source_id": "openai_python_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/openai/json"
        },
        {
          "source_id": "openai_node_npm",
          "type": "npm",
          "url": "https://registry.npmjs.org/openai"
        }
      ]
    },
    {
      "candidate_id": "anthropic_claude_platform",
      "display_name": "Anthropic Claude Platform",
      "technology_area": "model_providers",
      "integration_surface": "model_capability_cost_routing",
      "awoooi_role": "Claude model / coding agent / remediation watch source",
      "evaluation_priority": "p0",
      "requires_cost_approval": true,
      "requires_dependency_approval": false,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "anthropic_models_docs",
          "type": "docs",
          "url": "https://docs.anthropic.com/en/docs/about-claude/models/overview"
        },
        {
          "source_id": "anthropic_sdk_npm",
          "type": "npm",
          "url": "https://registry.npmjs.org/%40anthropic-ai%2Fsdk"
        },
        {
          "source_id": "claude_agent_sdk_docs",
          "type": "docs",
          "url": "https://code.claude.com/docs/en/agent-sdk/overview"
        }
      ]
    },
    {
      "candidate_id": "google_gemini_platform",
      "display_name": "Google Gemini Platform",
      "technology_area": "model_providers",
      "integration_surface": "model_capability_cost_routing",
      "awoooi_role": "Gemini model capability / cost watch source",
      "evaluation_priority": "p1",
      "requires_cost_approval": true,
      "requires_dependency_approval": false,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "gemini_models_docs",
          "type": "docs",
          "url": "https://ai.google.dev/gemini-api/docs/models"
        },
        {
          "source_id": "google_genai_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/google-genai/json"
        }
      ]
    },
    {
      "candidate_id": "llamaindex_rag",
      "display_name": "LlamaIndex",
      "technology_area": "rag_and_vector",
      "integration_surface": "rag_indexing_connectors",
      "awoooi_role": "RAG ingestion / indexing / connector watch source",
      "evaluation_priority": "p1",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "llama_index_core_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/llama-index-core/json"
        },
        {
          "source_id": "llama_index_docs",
          "type": "docs",
          "url": "https://developers.llamaindex.ai/python/framework/"
        }
      ]
    },
    {
      "candidate_id": "langchain_runtime",
      "display_name": "LangChain",
      "technology_area": "rag_and_vector",
      "integration_surface": "llm_app_runtime_connectors",
      "awoooi_role": "LLM app integration connector watch source",
      "evaluation_priority": "p2",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "langchain_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/langchain/json"
        },
        {
          "source_id": "langchain_docs",
          "type": "docs",
          "url": "https://docs.langchain.com/"
        }
      ]
    },
    {
      "candidate_id": "pgvector_vector_store",
      "display_name": "pgvector",
      "technology_area": "rag_and_vector",
      "integration_surface": "postgres_vector_index",
      "awoooi_role": "現有 Postgres/pgvector 能力與版本 freshness 來源",
      "evaluation_priority": "p1",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "pgvector_github_tags",
          "type": "github_tags",
          "url": "https://api.github.com/repos/pgvector/pgvector/tags"
        },
        {
          "source_id": "pgvector_docs",
          "type": "docs",
          "url": "https://github.com/pgvector/pgvector"
        }
      ]
    },
    {
      "candidate_id": "qdrant_vector_store",
      "display_name": "Qdrant",
      "technology_area": "rag_and_vector",
      "integration_surface": "dedicated_vector_database",
      "awoooi_role": "專用 vector DB 候選，只能 sandbox 評估",
      "evaluation_priority": "p2",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "qdrant_client_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/qdrant-client/json"
        },
        {
          "source_id": "qdrant_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/qdrant/qdrant/releases/latest"
        }
      ]
    },
    {
      "candidate_id": "chromadb_vector_store",
      "display_name": "ChromaDB",
      "technology_area": "rag_and_vector",
      "integration_surface": "local_vector_database",
      "awoooi_role": "本機 / sandbox vector store 候選",
      "evaluation_priority": "p3",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "chromadb_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/chromadb/json"
        },
        {
          "source_id": "chromadb_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/chroma-core/chroma/releases/latest"
        }
      ]
    },
    {
      "candidate_id": "ragas_eval",
      "display_name": "Ragas",
      "technology_area": "evaluation_and_observability",
      "integration_surface": "rag_eval_metrics",
      "awoooi_role": "RAG / LLM app evaluation metrics 候選",
      "evaluation_priority": "p1",
      "requires_cost_approval": false,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "ragas_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/ragas/json"
        },
        {
          "source_id": "ragas_docs",
          "type": "docs",
          "url": "https://docs.ragas.io/en/stable/"
        }
      ]
    },
    {
      "candidate_id": "langfuse_observability",
      "display_name": "Langfuse",
      "technology_area": "evaluation_and_observability",
      "integration_surface": "llm_observability_tracing",
      "awoooi_role": "LLM trace / prompt / eval observability 候選",
      "evaluation_priority": "p1",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "langfuse_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/langfuse/json"
        },
        {
          "source_id": "langfuse_docs",
          "type": "docs",
          "url": "https://langfuse.com/docs"
        }
      ]
    },
    {
      "candidate_id": "huggingface_tgi",
      "display_name": "Hugging Face Text Generation Inference",
      "technology_area": "model_serving",
      "integration_surface": "self_hosted_model_serving",
      "awoooi_role": "自託管模型 serving 能力與版本 freshness 來源",
      "evaluation_priority": "p2",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "tgi_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/huggingface/text-generation-inference/releases/latest"
        },
        {
          "source_id": "tgi_docs",
          "type": "docs",
          "url": "https://huggingface.co/docs/text-generation-inference/index"
        }
      ]
    },
    {
      "candidate_id": "vllm_serving",
      "display_name": "vLLM",
      "technology_area": "model_serving",
      "integration_surface": "self_hosted_llm_inference",
      "awoooi_role": "自託管 LLM inference 候選，需 GPU/成本/安全 gate",
      "evaluation_priority": "p2",
      "requires_cost_approval": true,
      "requires_dependency_approval": true,
      "requires_security_review": true,
      "sources": [
        {
          "source_id": "vllm_pypi",
          "type": "pypi",
          "url": "https://pypi.org/pypi/vllm/json"
        },
        {
          "source_id": "vllm_github_release",
          "type": "github_release",
          "url": "https://api.github.com/repos/vllm-project/vllm/releases/latest"
        }
      ]
    }
  ],
  "discovery_sources": [
    {
      "source_id": "github_ai_agent_discovery",
      "type": "github_search",
      "url": "https://api.github.com/search/repositories?q=topic:ai-agent+stars:%3E5000&sort=updated&order=desc"
    },
    {
      "source_id": "github_mcp_discovery",
      "type": "github_search",
      "url": "https://api.github.com/search/repositories?q=topic:mcp+stars:%3E1000&sort=updated&order=desc"
    },
    {
      "source_id": "github_rag_discovery",
      "type": "github_search",
      "url": "https://api.github.com/search/repositories?q=topic:rag+stars:%3E3000&sort=updated&order=desc"
    }
  ]
}
