feat(governance): 新增 AI 技術雷達滾動監控
Some checks failed
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m39s
CD Pipeline / build-and-deploy (push) Successful in 4m35s
CD Pipeline / post-deploy-checks (push) Successful in 1m51s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-25 11:55:50 +08:00
parent 683428bdcb
commit 210577de28
19 changed files with 3859 additions and 0 deletions

View File

@@ -1,3 +1,32 @@
## 2026-06-25AI 技術雷達近即時監控與產品讀回
**背景**:使用者要求 AWOOOI 不能只評估 AI Agent整個產品與網站必須持續、即時監控市場上所有主流 AI 技術,包含新技術、新版本、新整合與新應用,並能滾動更新到專案評估流程中。
**完成**
- 新增 `docs/ai/ai-technology-watch-sources.v1.json`,監控範圍擴到 `agent_frameworks``model_providers``rag_and_vector``mcp_and_a2a``evaluation_and_observability``model_serving` 六大領域。
- 新增 `apps/api/src/services/ai_technology_watch.py``scripts/agents/ai-technology-watch.py`,沿用 AI Agent market watch 的只讀 primary-source fetch / change detection / review queue 邏輯。
- `agent_market_watch.py` 新增 `github_tags` source type支援 pgvector 這類沒有 GitHub Release 但有 tags 的主流專案,避免誤報來源失敗。
- 新增 `docs/evaluations/ai_technology_watch_report_2026-06-25.json`:本輪 live 讀取 `20` 個技術項、`47` 個 primary sources、`6` 個技術領域,`source_failure_count=0``changed_technologies=0`、高優先級項目 `14`
- 新增 `scripts/dev/ai-technology-radar-readback.py``docs/operations/ai-technology-radar-readback.snapshot.json``docs/operations/AI-TECHNOLOGY-RADAR-READBACK-2026-06-25.md``docs/operations/AI-TECHNOLOGY-RADAR-READBACK.md`
- 新增 read-only API`GET /api/v1/agents/ai-technology-radar-readback`,前端可讀 AI 技術雷達、Agent 專業分工、滾動更新節奏、審核佇列與 blocked gates。
- 新增 `.gitea/workflows/ai-technology-watch.yaml`,每 6 小時執行只讀 AI 技術監控並寫入 Gitea step summaryworkflow 不 commit、不發 Telegram、不安裝 SDK、不呼叫 LLM API、不切 provider route、不改 production。
- 新增 schema 與測試:`ai_technology_watch_report_v1``ai_technology_radar_readback_v1`、watch service tests、readback loader tests、FastAPI endpoint tests。
**目前真相**
- AI 技術雷達來源成功率:`100%`
- AI 技術監控項目:`20`
- primary sources`47`
- 技術領域:`6`
- 需要審核變更:`0`
- 來源失敗:`0`
- OpenClaw 替換批准:`false`
- SDK 安裝、付費 API、production routing、Telegram send、model provider switch、host write全部仍為 `false`
- OpenClaw / Hermes / NemoTron / MarketRadar / Critic-Reviewer 的專業分工已在 readback 中可讀NemoTron 仍定位為 replay evaluator / smoke gate不得直接進 production routing。
**邊界**
- 本輪沒有安裝新 SDK、沒有呼叫付費 AI API、沒有發 Telegram、沒有修改 AI provider route、沒有主機寫入、沒有 Nginx / K8s / secret / runtime config 變更、沒有替換 OpenClaw。
- `.gitea/workflows/ai-technology-watch.yaml` 只啟用 read-only source monitoring任何後續自動整合、套件升級、模型切換、Telegram live delivery 或 production change 仍需獨立 owner gate。
## 2026-06-25Wazuh release / route readback 狀態收斂與 agent registry 未完成邊界
**背景**Wazuh 用戶端消失事故的關鍵狀態已從「IwoooS production route 仍 404」前進到「route 已部署但 Wazuh live metadata / agent registry 尚未驗收」。本輪同步前台、release gate、live metadata env gate、handoff 與 LOGBOOK避免 operator 或平行工作視窗把 route 200、agent transport、service active 或 UI 可見誤判成所有主機已納回 Wazuh。

View File

@@ -0,0 +1,563 @@
{
"schema_version": "ai_technology_watch_sources_v1",
"updated_at": "2026-06-25",
"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"
}
]
},
{
"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"
}
]
},
{
"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://github.com/a2aproject/A2A"
}
]
},
{
"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"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
# AI 技術雷達與滾動更新讀回
- 產生時間:`2026-06-25T03:56:51.751955+00:00`
- 整體治理完成度:`42.2%`
- AI 技術雷達來源成功率:`100.0%`
- 監控技術項目:`20`
- 技術領域:`6`
- 官方 / primary sources`47`
- 來源失敗:`0`
- 需要審核變更:`0`
- 高優先級項目:`14`
- 滾動更新狀態:`near_real_time_watch_ready_integration_gated`
## 技術領域覆蓋
| 技術領域 | 技術數 | 高優先級 | 需要審核 | 代表技術 |
|---|---:|---:|---:|---|
| `agent_frameworks` | `6` | `5` | `0` | OpenAI Agents SDK, NVIDIA Nemotron + NeMo Agent Toolkit, LangGraph, Google Agent Development Kit |
| `evaluation_and_observability` | `2` | `2` | `0` | Ragas, Langfuse |
| `mcp_and_a2a` | `2` | `2` | `0` | Model Context Protocol SDK, Agent2Agent Protocol |
| `model_providers` | `3` | `3` | `0` | OpenAI Model Platform, Anthropic Claude Platform, Google Gemini Platform |
| `model_serving` | `2` | `0` | `0` | Hugging Face Text Generation Inference, vLLM |
| `rag_and_vector` | `5` | `2` | `0` | LlamaIndex, LangChain, pgvector, Qdrant |
## 高優先級審核佇列
| 技術 | 領域 | 優先級 | Gate | 下一步 |
|---|---|---|---|---|
## Agent 專業分工
| Agent | 專業角色 | 自動化範圍 | 需要審核的邊界 |
|---|---|---|---|
| OpenClaw | 生產決策仲裁者、風險分級與最後 policy guard | 維持現有 production baseline、讀取 replay / shadow 評分、拒絕無證據替換 | 任何取代、降級、生產路由切換都必須通過 replay / shadow / canary 與人工批准。 |
| NemoTron | 離線回放評估者、模型能力比較、合約輸出 smoke gate | 只讀 request pack、比對候選輸出、產生 replay scorecard 草稿 | 不得自行呼叫外部 NIM/API、不得讀 labels 作答、不得進生產路由。 |
| Hermes | 知識管理、RAG 整理、報告草稿與長期技能庫維護 | 整理 primary source 摘要、建立 no-send 日週月報、準備人審包 | 不得同步 raw chat history、不得保存 secret、不得直接發 Telegram live report。 |
| MarketRadar | AI 技術市場雷達、版本監控、來源失敗偵測 | 每 6 小時只讀 primary sources、產生 freshness / review queue | 不得自動新增 SDK、不得自動修改 provider route 或 workflow 行為。 |
| Critic / Reviewer | 獨立審核、反例檢查、整合風險評分 | 檢查政策旗標、來源可靠性、成本與資安風險 | 只能輸出 blocked / candidate / owner_review不得直接執行寫入。 |
## 滾動更新控制
| 節奏 | Agent 可自動做什麼 | 輸出 | Gate |
|---|---|---|---|
| 每 6 小時 | 讀取官方文件、PyPI、npm、GitHub release、primary source hash。 | AI 技術 watch report、來源失敗清單、review queue。 | `read_only_only` |
| 每日 | 依 business applicability、成本、依賴、資安、AWOOOI fit 分類。 | 日報摘要與中低風險自動處理建議。 | `no_send_report_until_delivery_gate` |
| 每週 | 刷新 scorecard決定 sandbox / replay / adapter design 優先級。 | 週報、優先序、候選整合審查包。 | `scorecard_required_before_replay` |
| 每月 | 彙整趨勢,提出 roadmap / watch-only / retire 建議。 | 月報與策略審核包。 | `human_review_for_strategy_or_production_change` |
## 優先工作清單
| 順序 | 工作 | 優先級 | 自動化模式 | 完成定義 |
|---:|---|---|---|---|
| 1 | AI 技術雷達 primary source 監控產品化 | `P0` | `agent_auto_read_only` | API、snapshot、Markdown、schema、測試與 production readback 都能顯示技術領域、來源與 Gate。 |
| 2 | 近即時版本 / release / docs 變更偵測 | `P0` | `agent_auto_schedule_read_only` | 每 6 小時可跑 watch失敗來源會進日報不會自動整合。 |
| 3 | OpenClaw / Hermes / NemoTron / MarketRadar 專業分工與成長紀錄 | `P0` | `agent_auto_read_model_human_review_for_write` | 每個 Agent 的角色、輸出、學習寫回與限制都能被前端讀回。 |
| 4 | AI 技術 scorecard 與 sandbox / replay 優先級 | `P1` | `agent_propose_owner_review` | 高優先級變更先進 scorecard再進 no-cost/no-write sandbox 或 replay 計畫。 |
| 5 | Telegram Bot 報告與高風險審核橋接 | `P1` | `blocked_until_telegram_send_gate` | 低中風險只告警回報;高風險需 owner approval 後才可發送或執行。 |
| 6 | 新 AI 技術探索與 watchlist 擴充 | `P2` | `agent_auto_discover_human_classify` | GitHub topic / package registry / 官方 blog 可提出候選,但加入正式 watchlist 前需審核。 |
## 仍被 Gate 擋下
- `sdk_installation_approved=false`
- `paid_api_calls_approved=false`
- `production_routing_approved=false`
- `telegram_send_approved=false`
- `model_provider_switch_approved=false`
- `host_write_approved=false`
- `openclaw_replacement_approved=false`
- `replay_shadow_canary_gate_required=true`
- `cost_and_data_boundary_review_required=true`

View File

@@ -0,0 +1,70 @@
# AI 技術雷達與滾動更新讀回
- 產生時間:`2026-06-25T03:56:51.751955+00:00`
- 整體治理完成度:`42.2%`
- AI 技術雷達來源成功率:`100.0%`
- 監控技術項目:`20`
- 技術領域:`6`
- 官方 / primary sources`47`
- 來源失敗:`0`
- 需要審核變更:`0`
- 高優先級項目:`14`
- 滾動更新狀態:`near_real_time_watch_ready_integration_gated`
## 技術領域覆蓋
| 技術領域 | 技術數 | 高優先級 | 需要審核 | 代表技術 |
|---|---:|---:|---:|---|
| `agent_frameworks` | `6` | `5` | `0` | OpenAI Agents SDK, NVIDIA Nemotron + NeMo Agent Toolkit, LangGraph, Google Agent Development Kit |
| `evaluation_and_observability` | `2` | `2` | `0` | Ragas, Langfuse |
| `mcp_and_a2a` | `2` | `2` | `0` | Model Context Protocol SDK, Agent2Agent Protocol |
| `model_providers` | `3` | `3` | `0` | OpenAI Model Platform, Anthropic Claude Platform, Google Gemini Platform |
| `model_serving` | `2` | `0` | `0` | Hugging Face Text Generation Inference, vLLM |
| `rag_and_vector` | `5` | `2` | `0` | LlamaIndex, LangChain, pgvector, Qdrant |
## 高優先級審核佇列
| 技術 | 領域 | 優先級 | Gate | 下一步 |
|---|---|---|---|---|
## Agent 專業分工
| Agent | 專業角色 | 自動化範圍 | 需要審核的邊界 |
|---|---|---|---|
| OpenClaw | 生產決策仲裁者、風險分級與最後 policy guard | 維持現有 production baseline、讀取 replay / shadow 評分、拒絕無證據替換 | 任何取代、降級、生產路由切換都必須通過 replay / shadow / canary 與人工批准。 |
| NemoTron | 離線回放評估者、模型能力比較、合約輸出 smoke gate | 只讀 request pack、比對候選輸出、產生 replay scorecard 草稿 | 不得自行呼叫外部 NIM/API、不得讀 labels 作答、不得進生產路由。 |
| Hermes | 知識管理、RAG 整理、報告草稿與長期技能庫維護 | 整理 primary source 摘要、建立 no-send 日週月報、準備人審包 | 不得同步 raw chat history、不得保存 secret、不得直接發 Telegram live report。 |
| MarketRadar | AI 技術市場雷達、版本監控、來源失敗偵測 | 每 6 小時只讀 primary sources、產生 freshness / review queue | 不得自動新增 SDK、不得自動修改 provider route 或 workflow 行為。 |
| Critic / Reviewer | 獨立審核、反例檢查、整合風險評分 | 檢查政策旗標、來源可靠性、成本與資安風險 | 只能輸出 blocked / candidate / owner_review不得直接執行寫入。 |
## 滾動更新控制
| 節奏 | Agent 可自動做什麼 | 輸出 | Gate |
|---|---|---|---|
| 每 6 小時 | 讀取官方文件、PyPI、npm、GitHub release、primary source hash。 | AI 技術 watch report、來源失敗清單、review queue。 | `read_only_only` |
| 每日 | 依 business applicability、成本、依賴、資安、AWOOOI fit 分類。 | 日報摘要與中低風險自動處理建議。 | `no_send_report_until_delivery_gate` |
| 每週 | 刷新 scorecard決定 sandbox / replay / adapter design 優先級。 | 週報、優先序、候選整合審查包。 | `scorecard_required_before_replay` |
| 每月 | 彙整趨勢,提出 roadmap / watch-only / retire 建議。 | 月報與策略審核包。 | `human_review_for_strategy_or_production_change` |
## 優先工作清單
| 順序 | 工作 | 優先級 | 自動化模式 | 完成定義 |
|---:|---|---|---|---|
| 1 | AI 技術雷達 primary source 監控產品化 | `P0` | `agent_auto_read_only` | API、snapshot、Markdown、schema、測試與 production readback 都能顯示技術領域、來源與 Gate。 |
| 2 | 近即時版本 / release / docs 變更偵測 | `P0` | `agent_auto_schedule_read_only` | 每 6 小時可跑 watch失敗來源會進日報不會自動整合。 |
| 3 | OpenClaw / Hermes / NemoTron / MarketRadar 專業分工與成長紀錄 | `P0` | `agent_auto_read_model_human_review_for_write` | 每個 Agent 的角色、輸出、學習寫回與限制都能被前端讀回。 |
| 4 | AI 技術 scorecard 與 sandbox / replay 優先級 | `P1` | `agent_propose_owner_review` | 高優先級變更先進 scorecard再進 no-cost/no-write sandbox 或 replay 計畫。 |
| 5 | Telegram Bot 報告與高風險審核橋接 | `P1` | `blocked_until_telegram_send_gate` | 低中風險只告警回報;高風險需 owner approval 後才可發送或執行。 |
| 6 | 新 AI 技術探索與 watchlist 擴充 | `P2` | `agent_auto_discover_human_classify` | GitHub topic / package registry / 官方 blog 可提出候選,但加入正式 watchlist 前需審核。 |
## 仍被 Gate 擋下
- `sdk_installation_approved=false`
- `paid_api_calls_approved=false`
- `production_routing_approved=false`
- `telegram_send_approved=false`
- `model_provider_switch_approved=false`
- `host_write_approved=false`
- `openclaw_replacement_approved=false`
- `replay_shadow_canary_gate_required=true`
- `cost_and_data_boundary_review_required=true`

View File

@@ -0,0 +1,496 @@
{
"blocked_gates": [
"sdk_installation_approved=false",
"paid_api_calls_approved=false",
"production_routing_approved=false",
"telegram_send_approved=false",
"model_provider_switch_approved=false",
"host_write_approved=false",
"openclaw_replacement_approved=false",
"replay_shadow_canary_gate_required=true",
"cost_and_data_boundary_review_required=true"
],
"generated_at": "2026-06-25T03:56:51.751955+00:00",
"high_priority_review_queue": [],
"integration_candidates": [
{
"awoooi_role": "協調者、handoff、tool tracing、guardrail 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "OpenAI Agents SDK",
"integration_surface": "agent_handoff_tracing_guardrails",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "openai_agents_sdk"
},
{
"awoooi_role": "NemoTron replay / evaluator / synthetic data gate",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "NVIDIA Nemotron + NeMo Agent Toolkit",
"integration_surface": "offline_replay_evaluator_smoke_gate",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "nvidia_nemotron_nemo"
},
{
"awoooi_role": "事件處理與可恢復 workflow kernel 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "LangGraph",
"integration_surface": "durable_workflow_human_in_loop",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "langgraph_runtime"
},
{
"awoooi_role": "Gemini/Vertex agent stack watch-only 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Google Agent Development Kit",
"integration_surface": "gemini_enterprise_agent_stack",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "google_adk_stack"
},
{
"awoooi_role": "MCP/A2A enterprise workflow watch-only 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Microsoft Agent Framework",
"integration_surface": "enterprise_mcp_a2a_workflow",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "microsoft_agent_framework"
},
{
"awoooi_role": "快速 prototype / non-production 評估候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "CrewAI Flows + Crews",
"integration_surface": "multi_agent_prototype",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "agent_frameworks",
"technology_id": "crewai_flows"
},
{
"awoooi_role": "read-only tool registry / MCP adapter 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Model Context Protocol SDK",
"integration_surface": "tool_registry_interoperability",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "mcp_and_a2a",
"technology_id": "modelcontextprotocol_sdk"
},
{
"awoooi_role": "跨 Agent 溝通協定 watch-only 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Agent2Agent Protocol",
"integration_surface": "agent_to_agent_interop",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "mcp_and_a2a",
"technology_id": "a2a_protocol"
},
{
"awoooi_role": "模型能力、成本與 routing scorecard 來源",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "OpenAI Model Platform",
"integration_surface": "model_capability_cost_routing",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "model_providers",
"technology_id": "openai_model_platform"
},
{
"awoooi_role": "Claude model / coding agent / remediation watch source",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Anthropic Claude Platform",
"integration_surface": "model_capability_cost_routing",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "model_providers",
"technology_id": "anthropic_claude_platform"
},
{
"awoooi_role": "Gemini model capability / cost watch source",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Google Gemini Platform",
"integration_surface": "model_capability_cost_routing",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "model_providers",
"technology_id": "google_gemini_platform"
},
{
"awoooi_role": "RAG ingestion / indexing / connector watch source",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "LlamaIndex",
"integration_surface": "rag_indexing_connectors",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "rag_and_vector",
"technology_id": "llamaindex_rag"
},
{
"awoooi_role": "LLM app integration connector watch source",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "LangChain",
"integration_surface": "llm_app_runtime_connectors",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "rag_and_vector",
"technology_id": "langchain_runtime"
},
{
"awoooi_role": "現有 Postgres/pgvector 能力與版本 freshness 來源",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "pgvector",
"integration_surface": "postgres_vector_index",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "rag_and_vector",
"technology_id": "pgvector_vector_store"
},
{
"awoooi_role": "專用 vector DB 候選,只能 sandbox 評估",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Qdrant",
"integration_surface": "dedicated_vector_database",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "rag_and_vector",
"technology_id": "qdrant_vector_store"
},
{
"awoooi_role": "本機 / sandbox vector store 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "ChromaDB",
"integration_surface": "local_vector_database",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "rag_and_vector",
"technology_id": "chromadb_vector_store"
},
{
"awoooi_role": "RAG / LLM app evaluation metrics 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Ragas",
"integration_surface": "rag_eval_metrics",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "evaluation_and_observability",
"technology_id": "ragas_eval"
},
{
"awoooi_role": "LLM trace / prompt / eval observability 候選",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Langfuse",
"integration_surface": "llm_observability_tracing",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "evaluation_and_observability",
"technology_id": "langfuse_observability"
},
{
"awoooi_role": "自託管模型 serving 能力與版本 freshness 來源",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "Hugging Face Text Generation Inference",
"integration_surface": "self_hosted_model_serving",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "model_serving",
"technology_id": "huggingface_tgi"
},
{
"awoooi_role": "自託管 LLM inference 候選,需 GPU/成本/安全 gate",
"changed": false,
"decision": "watch_only_no_change",
"display_name": "vLLM",
"integration_surface": "self_hosted_llm_inference",
"recommended_actions": [
"keep_watch_only_status"
],
"technology_area": "model_serving",
"technology_id": "vllm_serving"
}
],
"policy": {
"host_write_approved": false,
"model_provider_switch_approved": false,
"openclaw_replacement_approved": false,
"paid_api_calls_approved": false,
"production_routing_approved": false,
"raw_chat_history_synced": false,
"read_only": true,
"sdk_installation_approved": false,
"telegram_send_approved": false
},
"priority_workplan": [
{
"automation_mode": "agent_auto_read_only",
"done_definition": "API、snapshot、Markdown、schema、測試與 production readback 都能顯示技術領域、來源與 Gate。",
"order": 1,
"priority": "P0",
"work_item": "AI 技術雷達 primary source 監控產品化"
},
{
"automation_mode": "agent_auto_schedule_read_only",
"done_definition": "每 6 小時可跑 watch失敗來源會進日報不會自動整合。",
"order": 2,
"priority": "P0",
"work_item": "近即時版本 / release / docs 變更偵測"
},
{
"automation_mode": "agent_auto_read_model_human_review_for_write",
"done_definition": "每個 Agent 的角色、輸出、學習寫回與限制都能被前端讀回。",
"order": 3,
"priority": "P0",
"work_item": "OpenClaw / Hermes / NemoTron / MarketRadar 專業分工與成長紀錄"
},
{
"automation_mode": "agent_propose_owner_review",
"done_definition": "高優先級變更先進 scorecard再進 no-cost/no-write sandbox 或 replay 計畫。",
"order": 4,
"priority": "P1",
"work_item": "AI 技術 scorecard 與 sandbox / replay 優先級"
},
{
"automation_mode": "blocked_until_telegram_send_gate",
"done_definition": "低中風險只告警回報;高風險需 owner approval 後才可發送或執行。",
"order": 5,
"priority": "P1",
"work_item": "Telegram Bot 報告與高風險審核橋接"
},
{
"automation_mode": "agent_auto_discover_human_classify",
"done_definition": "GitHub topic / package registry / 官方 blog 可提出候選,但加入正式 watchlist 前需審核。",
"order": 6,
"priority": "P2",
"work_item": "新 AI 技術探索與 watchlist 擴充"
}
],
"professional_agent_roles": [
{
"agent": "OpenClaw",
"auto_scope": "維持現有 production baseline、讀取 replay / shadow 評分、拒絕無證據替換",
"professional_role": "生產決策仲裁者、風險分級與最後 policy guard",
"review_boundary": "任何取代、降級、生產路由切換都必須通過 replay / shadow / canary 與人工批准。"
},
{
"agent": "NemoTron",
"auto_scope": "只讀 request pack、比對候選輸出、產生 replay scorecard 草稿",
"professional_role": "離線回放評估者、模型能力比較、合約輸出 smoke gate",
"review_boundary": "不得自行呼叫外部 NIM/API、不得讀 labels 作答、不得進生產路由。"
},
{
"agent": "Hermes",
"auto_scope": "整理 primary source 摘要、建立 no-send 日週月報、準備人審包",
"professional_role": "知識管理、RAG 整理、報告草稿與長期技能庫維護",
"review_boundary": "不得同步 raw chat history、不得保存 secret、不得直接發 Telegram live report。"
},
{
"agent": "MarketRadar",
"auto_scope": "每 6 小時只讀 primary sources、產生 freshness / review queue",
"professional_role": "AI 技術市場雷達、版本監控、來源失敗偵測",
"review_boundary": "不得自動新增 SDK、不得自動修改 provider route 或 workflow 行為。"
},
{
"agent": "Critic / Reviewer",
"auto_scope": "檢查政策旗標、來源可靠性、成本與資安風險",
"professional_role": "獨立審核、反例檢查、整合風險評分",
"review_boundary": "只能輸出 blocked / candidate / owner_review不得直接執行寫入。"
}
],
"report_contract": {
"agent_auto_allowed_for": [
"官方來源只讀監控",
"版本與文件 hash 比對",
"審核佇列分類",
"繁中 no-send 報告草稿",
"離線 replay fixture 準備",
"低風險文件與讀回 snapshot 更新提案"
],
"api_endpoint": "/api/v1/agents/ai-technology-radar-readback",
"daily": "每日彙整變更、來源失敗、審核佇列與可自動處理項目。",
"frontend_target": "/zh-TW/governance?tab=agent-market",
"human_review_required_for": [
"新 SDK / package / MCP server 安裝",
"付費 API 或 token 上限變更",
"模型 provider / 生產路由切換",
"Telegram Bot 即時發送或審批按鈕策略變更",
"主機、K8s、workflow、Nginx、secret 或資料層寫入",
"OpenClaw 生產決策核心替換、拆分或降級"
],
"monthly": "每月進行策略 review決定納入 roadmap、維持 watch-only 或移出監控。",
"near_real_time": "每 6 小時讀取 primary sources偵測主流 AI 技術版本、文件與 release 變更。",
"schedule_cron_utc": "0 */6 * * *",
"schedule_enabled": true,
"schedule_workflow": ".gitea/workflows/ai-technology-watch.yaml",
"weekly": "每週做技術 scorecard決定 sandbox / replay / adapter design 優先級。"
},
"rolling_update_controls": [
{
"agent_auto_action": "讀取官方文件、PyPI、npm、GitHub release、primary source hash。",
"cadence": "每 6 小時",
"cadence_source": "每 6 小時執行一次只讀 primary-source 檢查,偵測主流 AI 技術版本、文件與 release 變更。",
"gate": "read_only_only",
"output": "AI 技術 watch report、來源失敗清單、review queue。"
},
{
"agent_auto_action": "依 business applicability、成本、依賴、資安、AWOOOI fit 分類。",
"cadence": "每日",
"cadence_source": "每日彙整變更技術,依商業適用性、依賴風險、成本風險與資安風險分組。",
"gate": "no_send_report_until_delivery_gate",
"output": "日報摘要與中低風險自動處理建議。"
},
{
"agent_auto_action": "刷新 scorecard決定 sandbox / replay / adapter design 優先級。",
"cadence": "每週",
"cadence_source": "每週刷新技術 scorecard判斷是否值得進入 sandbox、offline replay 或 adapter design。",
"gate": "scorecard_required_before_replay",
"output": "週報、優先序、候選整合審查包。"
},
{
"agent_auto_action": "彙整趨勢,提出 roadmap / watch-only / retire 建議。",
"cadence": "每月",
"cadence_source": "每月策略檢討,決定技術應納入 roadmap、維持 watch-only 或從監控清單移除。",
"gate": "human_review_for_strategy_or_production_change",
"output": "月報與策略審核包。"
}
],
"schema_version": "ai_technology_radar_readback_v1",
"source_scope": {
"agent_market_radar_readback": "docs/operations/ai-agent-market-radar-readback.snapshot.json",
"gitea_main_evidence_basis_commit": "683428bd",
"scope_note": "本讀回只整合已提交的只讀來源監控、AI Agent 市場雷達與治理 gate不包含 raw chat history、secret、session 或本機工作視窗內容。",
"technology_source_registry": "docs/ai/ai-technology-watch-sources.v1.json",
"technology_watch_report": "docs/evaluations/ai_technology_watch_report_2026-06-25.json"
},
"summary": {
"ai_technology_radar_completion_percent": 100.0,
"changed_technologies": 0,
"high_priority_count": 14,
"overall_completion_percent": 42.2,
"review_queue_count": 0,
"rolling_update_status": "near_real_time_watch_ready_integration_gated",
"source_count": 47,
"source_failures": 0,
"technology_area_count": 6,
"technology_count": 20
},
"technology_area_counts": {
"agent_frameworks": 6,
"evaluation_and_observability": 2,
"mcp_and_a2a": 2,
"model_providers": 3,
"model_serving": 2,
"rag_and_vector": 5
},
"technology_domains": [
{
"changed_count": 0,
"high_priority_count": 5,
"representative_technologies": [
"OpenAI Agents SDK",
"NVIDIA Nemotron + NeMo Agent Toolkit",
"LangGraph",
"Google Agent Development Kit"
],
"technology_area": "agent_frameworks",
"technology_count": 6
},
{
"changed_count": 0,
"high_priority_count": 2,
"representative_technologies": [
"Ragas",
"Langfuse"
],
"technology_area": "evaluation_and_observability",
"technology_count": 2
},
{
"changed_count": 0,
"high_priority_count": 2,
"representative_technologies": [
"Model Context Protocol SDK",
"Agent2Agent Protocol"
],
"technology_area": "mcp_and_a2a",
"technology_count": 2
},
{
"changed_count": 0,
"high_priority_count": 3,
"representative_technologies": [
"OpenAI Model Platform",
"Anthropic Claude Platform",
"Google Gemini Platform"
],
"technology_area": "model_providers",
"technology_count": 3
},
{
"changed_count": 0,
"high_priority_count": 0,
"representative_technologies": [
"Hugging Face Text Generation Inference",
"vLLM"
],
"technology_area": "model_serving",
"technology_count": 2
},
{
"changed_count": 0,
"high_priority_count": 2,
"representative_technologies": [
"LlamaIndex",
"LangChain",
"pgvector",
"Qdrant"
],
"technology_area": "rag_and_vector",
"technology_count": 5
}
]
}

View File

@@ -0,0 +1,127 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:awoooi:ai-technology-radar-readback-v1",
"title": "AWOOOI AI 技術雷達產品讀回快照 (v1)",
"type": "object",
"required": [
"schema_version",
"generated_at",
"source_scope",
"summary",
"policy",
"technology_area_counts",
"technology_domains",
"high_priority_review_queue",
"professional_agent_roles",
"rolling_update_controls",
"integration_candidates",
"priority_workplan",
"blocked_gates",
"report_contract"
],
"properties": {
"schema_version": {
"type": "string",
"const": "ai_technology_radar_readback_v1"
},
"generated_at": {
"type": "string",
"minLength": 1
},
"source_scope": {
"type": "object",
"additionalProperties": true
},
"summary": {
"type": "object",
"required": [
"overall_completion_percent",
"ai_technology_radar_completion_percent",
"technology_count",
"technology_area_count",
"source_count",
"changed_technologies",
"review_queue_count",
"source_failures",
"high_priority_count",
"rolling_update_status"
],
"properties": {
"overall_completion_percent": {"type": "number"},
"ai_technology_radar_completion_percent": {"type": "number"},
"technology_count": {"type": "integer", "minimum": 0},
"technology_area_count": {"type": "integer", "minimum": 0},
"source_count": {"type": "integer", "minimum": 0},
"changed_technologies": {"type": "integer", "minimum": 0},
"review_queue_count": {"type": "integer", "minimum": 0},
"source_failures": {"type": "integer", "minimum": 0},
"high_priority_count": {"type": "integer", "minimum": 0},
"rolling_update_status": {"type": "string", "minLength": 1}
},
"additionalProperties": true
},
"policy": {
"type": "object",
"required": [
"read_only",
"raw_chat_history_synced",
"sdk_installation_approved",
"paid_api_calls_approved",
"production_routing_approved",
"telegram_send_approved",
"model_provider_switch_approved",
"host_write_approved",
"openclaw_replacement_approved"
],
"properties": {
"read_only": {"type": "boolean", "const": true},
"raw_chat_history_synced": {"type": "boolean", "const": false},
"sdk_installation_approved": {"type": "boolean", "const": false},
"paid_api_calls_approved": {"type": "boolean", "const": false},
"production_routing_approved": {"type": "boolean", "const": false},
"telegram_send_approved": {"type": "boolean", "const": false},
"model_provider_switch_approved": {"type": "boolean", "const": false},
"host_write_approved": {"type": "boolean", "const": false},
"openclaw_replacement_approved": {"type": "boolean", "const": false}
},
"additionalProperties": true
},
"technology_area_counts": {
"type": "object",
"additionalProperties": {"type": "integer", "minimum": 0}
},
"technology_domains": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"high_priority_review_queue": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"professional_agent_roles": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"rolling_update_controls": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"integration_candidates": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"priority_workplan": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"blocked_gates": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"report_contract": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
}

View File

@@ -0,0 +1,157 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:awoooi:ai-technology-watch-report-v1",
"title": "AWOOOI AI 技術雷達來源監控報告 (v1)",
"type": "object",
"required": [
"schema_version",
"generated_at",
"mode",
"registry",
"cadence",
"policy",
"summary",
"technology_area_counts",
"technologies",
"review_queue",
"new_technology_discovery",
"failures"
],
"properties": {
"schema_version": {
"type": "string",
"const": "ai_technology_watch_report_v1"
},
"generated_at": {
"type": "string",
"minLength": 1
},
"mode": {
"type": "string",
"enum": ["offline", "live"]
},
"registry": {
"type": "object",
"required": ["path", "schema_version", "updated_at"],
"properties": {
"path": {"type": "string"},
"schema_version": {"type": "string"},
"updated_at": {"type": "string"}
},
"additionalProperties": true
},
"cadence": {
"type": "object",
"additionalProperties": true
},
"policy": {
"type": "object",
"required": [
"read_only",
"sdk_installation_approved",
"paid_api_calls_approved",
"production_routing_approved",
"telegram_send_approved",
"model_provider_switch_approved",
"host_write_approved"
],
"properties": {
"read_only": {"type": "boolean", "const": true},
"sdk_installation_approved": {"type": "boolean", "const": false},
"paid_api_calls_approved": {"type": "boolean", "const": false},
"production_routing_approved": {"type": "boolean", "const": false},
"telegram_send_approved": {"type": "boolean", "const": false},
"model_provider_switch_approved": {"type": "boolean", "const": false},
"host_write_approved": {"type": "boolean", "const": false}
},
"additionalProperties": true
},
"summary": {
"type": "object",
"required": [
"technology_count",
"technology_area_count",
"source_count",
"changed_technologies",
"watch_only_technologies",
"review_queue_count",
"source_failure_count",
"high_priority_count"
],
"properties": {
"technology_count": {"type": "integer", "minimum": 0},
"technology_area_count": {"type": "integer", "minimum": 0},
"source_count": {"type": "integer", "minimum": 0},
"changed_technologies": {"type": "integer", "minimum": 0},
"watch_only_technologies": {"type": "integer", "minimum": 0},
"review_queue_count": {"type": "integer", "minimum": 0},
"source_failure_count": {"type": "integer", "minimum": 0},
"high_priority_count": {"type": "integer", "minimum": 0}
},
"additionalProperties": true
},
"technology_area_counts": {
"type": "object",
"additionalProperties": {"type": "integer", "minimum": 0}
},
"technologies": {
"type": "array",
"items": {"$ref": "#/$defs/technology"}
},
"review_queue": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"new_technology_discovery": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"failures": {
"type": "array",
"items": {"type": "string"}
}
},
"$defs": {
"technology": {
"type": "object",
"required": [
"technology_id",
"display_name",
"technology_area",
"integration_surface",
"awoooi_role",
"evaluation_priority",
"requires_cost_approval",
"requires_dependency_approval",
"requires_security_review",
"sources",
"changed",
"decision",
"recommended_actions"
],
"properties": {
"technology_id": {"type": "string", "minLength": 1},
"display_name": {"type": "string", "minLength": 1},
"technology_area": {"type": "string", "minLength": 1},
"integration_surface": {"type": "string"},
"awoooi_role": {"type": "string"},
"evaluation_priority": {"type": "string"},
"requires_cost_approval": {"type": "boolean"},
"requires_dependency_approval": {"type": "boolean"},
"requires_security_review": {"type": "boolean"},
"sources": {
"type": "array",
"items": {"type": "object", "additionalProperties": true}
},
"changed": {"type": "boolean"},
"decision": {"type": "string"},
"recommended_actions": {
"type": "array",
"items": {"type": "string"}
}
},
"additionalProperties": true
}
},
"additionalProperties": false
}