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
1143 lines
38 KiB
JSON
1143 lines
38 KiB
JSON
{
|
||
"cadence": {
|
||
"daily_triage": "每日彙整變更技術,依商業適用性、依賴風險、成本風險與資安風險分組。",
|
||
"monthly_strategy_review": "每月策略檢討,決定技術應納入 roadmap、維持 watch-only 或從監控清單移除。",
|
||
"near_real_time_watch": "每 6 小時執行一次只讀 primary-source 檢查,偵測主流 AI 技術版本、文件與 release 變更。",
|
||
"weekly_scorecard": "每週刷新技術 scorecard,判斷是否值得進入 sandbox、offline replay 或 adapter design。"
|
||
},
|
||
"failures": [],
|
||
"generated_at": "2026-06-25T03:56:43.486761+00:00",
|
||
"mode": "live",
|
||
"new_technology_discovery": [
|
||
{
|
||
"error": null,
|
||
"http_status": 200,
|
||
"items": [
|
||
{
|
||
"full_name": "esengine/DeepSeek-Reasonix",
|
||
"html_url": "https://github.com/esengine/DeepSeek-Reasonix",
|
||
"stargazers_count": 24465,
|
||
"updated_at": "2026-06-25T03:56:39Z"
|
||
},
|
||
{
|
||
"full_name": "zhayujie/CowAgent",
|
||
"html_url": "https://github.com/zhayujie/CowAgent",
|
||
"stargazers_count": 45598,
|
||
"updated_at": "2026-06-25T03:54:00Z"
|
||
},
|
||
{
|
||
"full_name": "EKKOLearnAI/hermes-studio",
|
||
"html_url": "https://github.com/EKKOLearnAI/hermes-studio",
|
||
"stargazers_count": 8439,
|
||
"updated_at": "2026-06-25T03:53:22Z"
|
||
},
|
||
{
|
||
"full_name": "NousResearch/hermes-agent",
|
||
"html_url": "https://github.com/NousResearch/hermes-agent",
|
||
"stargazers_count": 202213,
|
||
"updated_at": "2026-06-25T03:51:37Z"
|
||
},
|
||
{
|
||
"full_name": "can1357/oh-my-pi",
|
||
"html_url": "https://github.com/can1357/oh-my-pi",
|
||
"stargazers_count": 14522,
|
||
"updated_at": "2026-06-25T03:54:23Z"
|
||
}
|
||
],
|
||
"source_id": "github_ai_agent_discovery",
|
||
"status": "ok",
|
||
"type": "github_search",
|
||
"url": "https://api.github.com/search/repositories?q=topic:ai-agent+stars:%3E5000&sort=updated&order=desc"
|
||
},
|
||
{
|
||
"error": null,
|
||
"http_status": 200,
|
||
"items": [
|
||
{
|
||
"full_name": "lobehub/lobehub",
|
||
"html_url": "https://github.com/lobehub/lobehub",
|
||
"stargazers_count": 79055,
|
||
"updated_at": "2026-06-25T03:56:02Z"
|
||
},
|
||
{
|
||
"full_name": "dyoshikawa/rulesync",
|
||
"html_url": "https://github.com/dyoshikawa/rulesync",
|
||
"stargazers_count": 1190,
|
||
"updated_at": "2026-06-25T03:54:56Z"
|
||
},
|
||
{
|
||
"full_name": "zhayujie/CowAgent",
|
||
"html_url": "https://github.com/zhayujie/CowAgent",
|
||
"stargazers_count": 45598,
|
||
"updated_at": "2026-06-25T03:54:00Z"
|
||
},
|
||
{
|
||
"full_name": "heygen-com/hyperframes",
|
||
"html_url": "https://github.com/heygen-com/hyperframes",
|
||
"stargazers_count": 31088,
|
||
"updated_at": "2026-06-25T03:52:56Z"
|
||
},
|
||
{
|
||
"full_name": "can1357/oh-my-pi",
|
||
"html_url": "https://github.com/can1357/oh-my-pi",
|
||
"stargazers_count": 14522,
|
||
"updated_at": "2026-06-25T03:54:23Z"
|
||
}
|
||
],
|
||
"source_id": "github_mcp_discovery",
|
||
"status": "ok",
|
||
"type": "github_search",
|
||
"url": "https://api.github.com/search/repositories?q=topic:mcp+stars:%3E1000&sort=updated&order=desc"
|
||
},
|
||
{
|
||
"error": null,
|
||
"http_status": 200,
|
||
"items": [
|
||
{
|
||
"full_name": "langgenius/dify",
|
||
"html_url": "https://github.com/langgenius/dify",
|
||
"stargazers_count": 146489,
|
||
"updated_at": "2026-06-25T03:49:11Z"
|
||
},
|
||
{
|
||
"full_name": "volcengine/OpenViking",
|
||
"html_url": "https://github.com/volcengine/OpenViking",
|
||
"stargazers_count": 26015,
|
||
"updated_at": "2026-06-25T03:47:36Z"
|
||
},
|
||
{
|
||
"full_name": "headroomlabs-ai/headroom",
|
||
"html_url": "https://github.com/headroomlabs-ai/headroom",
|
||
"stargazers_count": 50063,
|
||
"updated_at": "2026-06-25T03:54:33Z"
|
||
},
|
||
{
|
||
"full_name": "elizaOS/eliza",
|
||
"html_url": "https://github.com/elizaOS/eliza",
|
||
"stargazers_count": 18641,
|
||
"updated_at": "2026-06-25T03:39:41Z"
|
||
},
|
||
{
|
||
"full_name": "mem0ai/mem0",
|
||
"html_url": "https://github.com/mem0ai/mem0",
|
||
"stargazers_count": 59389,
|
||
"updated_at": "2026-06-25T03:46:08Z"
|
||
}
|
||
],
|
||
"source_id": "github_rag_discovery",
|
||
"status": "ok",
|
||
"type": "github_search",
|
||
"url": "https://api.github.com/search/repositories?q=topic:rag+stars:%3E3000&sort=updated&order=desc"
|
||
}
|
||
],
|
||
"policy": {
|
||
"host_write_approved": false,
|
||
"model_provider_switch_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,
|
||
"workflow_modification_approved": false
|
||
},
|
||
"registry": {
|
||
"path": "docs/ai/ai-technology-watch-sources.v1.json",
|
||
"schema_version": "ai_technology_watch_sources_v1",
|
||
"updated_at": "2026-06-25"
|
||
},
|
||
"review_queue": [],
|
||
"schema_version": "ai_technology_watch_report_v1",
|
||
"summary": {
|
||
"changed_technologies": 0,
|
||
"high_priority_count": 14,
|
||
"review_queue_count": 0,
|
||
"source_count": 47,
|
||
"source_failure_count": 0,
|
||
"technology_area_count": 6,
|
||
"technology_count": 20,
|
||
"watch_only_technologies": 20
|
||
},
|
||
"technologies": [
|
||
{
|
||
"awoooi_role": "協調者、handoff、tool tracing、guardrail 候選",
|
||
"changed": false,
|
||
"decision": "watch_only_no_change",
|
||
"display_name": "OpenAI Agents SDK",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "agent_handoff_tracing_guardrails",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "f3f2446f64e51e5a0dfa398a",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T05:15:31.741499Z",
|
||
"reference_version": "0.17.7",
|
||
"source_id": "openai_agents_python_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/openai-agents/json",
|
||
"version": "0.17.7"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "d13d7176d0b123dc1d6a7b08",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T04:02:12.610Z",
|
||
"reference_version": "0.12.0",
|
||
"source_id": "openai_agents_typescript_npm",
|
||
"status": "ok",
|
||
"type": "npm",
|
||
"url": "https://registry.npmjs.org/%40openai%2Fagents",
|
||
"version": "0.12.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "043ec42b0cc899a72448614c",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "openai_agents_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://developers.openai.com/api/docs/guides/agents",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "offline_replay_evaluator_smoke_gate",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "06028073c740b559b76a4715",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "nvidia_nemotron_developer_page",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://developer.nvidia.com/topics/ai/nemotron",
|
||
"version": null
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "da7400a5ae03d8de4dc4ef16",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "nvidia_nemo_agent_toolkit_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.nvidia.com/nemo/agent-toolkit/latest/index.html",
|
||
"version": null
|
||
}
|
||
],
|
||
"technology_area": "agent_frameworks",
|
||
"technology_id": "nvidia_nemotron_nemo"
|
||
},
|
||
{
|
||
"awoooi_role": "事件處理與可恢復 workflow kernel 候選",
|
||
"changed": false,
|
||
"decision": "watch_only_no_change",
|
||
"display_name": "LangGraph",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "durable_workflow_human_in_loop",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "0700375668bf4a039be45c4c",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-18T20:58:20.335564Z",
|
||
"reference_version": "1.2.6",
|
||
"source_id": "langgraph_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/langgraph/json",
|
||
"version": "1.2.6"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "ceb3d51c1e67fc6e2e9fda21",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-18T20:58:32Z",
|
||
"reference_version": "1.2.6",
|
||
"source_id": "langgraph_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/langchain-ai/langgraph/releases/latest",
|
||
"version": "1.2.6"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "c8100f72af1cb84426b57ac3",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "langgraph_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.langchain.com/oss/python/langgraph/overview",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "gemini_enterprise_agent_stack",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "e2d0102cb37d90e01d9e4fc3",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-18T18:47:06.323661Z",
|
||
"reference_version": "2.3.0",
|
||
"source_id": "google_adk_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/google-adk/json",
|
||
"version": "2.3.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "88aec475a8cfd83f8e67e35b",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-18T18:45:04Z",
|
||
"reference_version": "v2.3.0",
|
||
"source_id": "google_adk_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/google/adk-python/releases/latest",
|
||
"version": "v2.3.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "f8ebe9e670bf59fdb44d7133",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "google_adk_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/build/adk",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "enterprise_mcp_a2a_workflow",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "268e86906524bb431c109f4d",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-23T21:18:26Z",
|
||
"reference_version": "dotnet-1.11.0",
|
||
"source_id": "microsoft_agent_framework_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/microsoft/agent-framework/releases/latest",
|
||
"version": "dotnet-1.11.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "97e807de8517641d1c3d1a77",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "microsoft_agent_framework_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://learn.microsoft.com/en-us/agent-framework/overview/",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p2",
|
||
"integration_surface": "multi_agent_prototype",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "b3955563d45132bdd2471889",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-11T17:14:39.912300Z",
|
||
"reference_version": "1.14.7",
|
||
"source_id": "crewai_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/crewai/json",
|
||
"version": "1.14.7"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "cf3b3465165c450510e0fd61",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "crewai_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.crewai.com/",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "tool_registry_interoperability",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "ca0fb3725519e6517209f0f0",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-03-30T16:50:42.718Z",
|
||
"reference_version": null,
|
||
"source_id": "mcp_typescript_sdk_npm",
|
||
"status": "ok",
|
||
"type": "npm",
|
||
"url": "https://registry.npmjs.org/%40modelcontextprotocol%2Fsdk",
|
||
"version": "1.29.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "910d982e612e4ea69f6dddb6",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-03-30T16:49:30Z",
|
||
"reference_version": null,
|
||
"source_id": "mcp_typescript_sdk_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/modelcontextprotocol/typescript-sdk/releases/latest",
|
||
"version": "v1.29.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "9b938636c879b0d2628843f9",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "mcp_typescript_sdk_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://github.com/modelcontextprotocol/typescript-sdk",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "agent_to_agent_interop",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "fe0f870c8c568c6597f38079",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-05-28T11:34:36Z",
|
||
"reference_version": null,
|
||
"source_id": "a2a_protocol_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/a2aproject/A2A/releases/latest",
|
||
"version": "v1.0.1"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "39cd1b8a6283966240e0a778",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-05-29T09:34:03Z",
|
||
"reference_version": null,
|
||
"source_id": "a2a_python_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/a2aproject/a2a-python/releases/latest",
|
||
"version": "v1.1.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "e0bc99f2e81d9faa595f3dc2",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "a2a_protocol_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://github.com/a2aproject/A2A",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "model_capability_cost_routing",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": false,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "a0e7044dcc1a3c9bdde9b3c4",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "openai_models_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://platform.openai.com/docs/models",
|
||
"version": null
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "3a739b3b7cff0338db14af8d",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T20:55:58.882276Z",
|
||
"reference_version": null,
|
||
"source_id": "openai_python_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/openai/json",
|
||
"version": "2.44.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "de4f7bc0f17aebae70e92acc",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T20:36:37.856Z",
|
||
"reference_version": null,
|
||
"source_id": "openai_node_npm",
|
||
"status": "ok",
|
||
"type": "npm",
|
||
"url": "https://registry.npmjs.org/openai",
|
||
"version": "6.45.0"
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p0",
|
||
"integration_surface": "model_capability_cost_routing",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": false,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "a2ead84a42eee92c3b36c5ee",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "anthropic_models_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.anthropic.com/en/docs/about-claude/models/overview",
|
||
"version": null
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "22069549b95a4e6e9b3efcd2",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T18:50:15.985Z",
|
||
"reference_version": null,
|
||
"source_id": "anthropic_sdk_npm",
|
||
"status": "ok",
|
||
"type": "npm",
|
||
"url": "https://registry.npmjs.org/%40anthropic-ai%2Fsdk",
|
||
"version": "0.106.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "5622132c0dc32c13c0f62568",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "claude_agent_sdk_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://code.claude.com/docs/en/agent-sdk/overview",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "model_capability_cost_routing",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": false,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "60db43f0591d1789c13ba419",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "gemini_models_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://ai.google.dev/gemini-api/docs/models",
|
||
"version": null
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "2e5896a3f7ebb9c5e5d6b168",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T01:33:16.296219Z",
|
||
"reference_version": null,
|
||
"source_id": "google_genai_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/google-genai/json",
|
||
"version": "2.10.0"
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "rag_indexing_connectors",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "d23e23bd7fd9440b5b11f8b1",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T19:35:52.833783Z",
|
||
"reference_version": null,
|
||
"source_id": "llama_index_core_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/llama-index-core/json",
|
||
"version": "0.14.23"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "07a4311e0c56bef5eff90470",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "llama_index_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://developers.llamaindex.ai/python/framework/",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p2",
|
||
"integration_surface": "llm_app_runtime_connectors",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "a48c3b206d034c7b0b90786e",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-22T23:00:31.619946Z",
|
||
"reference_version": null,
|
||
"source_id": "langchain_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/langchain/json",
|
||
"version": "1.3.11"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "57dbf4a9e69eafc6d490c181",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "langchain_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.langchain.com/",
|
||
"version": null
|
||
}
|
||
],
|
||
"technology_area": "rag_and_vector",
|
||
"technology_id": "langchain_runtime"
|
||
},
|
||
{
|
||
"awoooi_role": "現有 Postgres/pgvector 能力與版本 freshness 來源",
|
||
"changed": false,
|
||
"decision": "watch_only_no_change",
|
||
"display_name": "pgvector",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "postgres_vector_index",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "36549870c2aa94c481c5f376",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "pgvector_github_tags",
|
||
"status": "ok",
|
||
"type": "github_tags",
|
||
"url": "https://api.github.com/repos/pgvector/pgvector/tags",
|
||
"version": "v0.8.3"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "61b9903cc26a5fc7111cbc99",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "pgvector_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://github.com/pgvector/pgvector",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p2",
|
||
"integration_surface": "dedicated_vector_database",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "fbb71fdce3f7457bd10eb978",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-05-11T14:12:36.998394Z",
|
||
"reference_version": null,
|
||
"source_id": "qdrant_client_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/qdrant-client/json",
|
||
"version": "1.18.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "0f0682ba8a040a64057c03c1",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-04T06:50:36Z",
|
||
"reference_version": null,
|
||
"source_id": "qdrant_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/qdrant/qdrant/releases/latest",
|
||
"version": "v1.18.2"
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p3",
|
||
"integration_surface": "local_vector_database",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "06e0ac7ae5aa6f22125c0dcb",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-05-05T05:54:48.906852Z",
|
||
"reference_version": null,
|
||
"source_id": "chromadb_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/chromadb/json",
|
||
"version": "1.5.9"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "dbd2cd85ad1f7c822a080e46",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-05-05T05:55:40Z",
|
||
"reference_version": null,
|
||
"source_id": "chromadb_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/chroma-core/chroma/releases/latest",
|
||
"version": "1.5.9"
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "rag_eval_metrics",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": false,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "8c0a0fea2e6b423ae05b5d40",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-01-13T17:47:59.200116Z",
|
||
"reference_version": null,
|
||
"source_id": "ragas_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/ragas/json",
|
||
"version": "0.4.3"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "adc0098fc150daf81a599005",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "ragas_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://docs.ragas.io/en/stable/",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p1",
|
||
"integration_surface": "llm_observability_tracing",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "9ab6655947d61e70a876c353",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-24T07:58:15.529940Z",
|
||
"reference_version": null,
|
||
"source_id": "langfuse_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/langfuse/json",
|
||
"version": "4.11.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "d90e1c8e226fa4ce2b45c22b",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "langfuse_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://langfuse.com/docs",
|
||
"version": null
|
||
}
|
||
],
|
||
"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",
|
||
"evaluation_priority": "p2",
|
||
"integration_surface": "self_hosted_model_serving",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "d6ea0096e24f7e441961e35a",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2025-12-19T14:35:25Z",
|
||
"reference_version": null,
|
||
"source_id": "tgi_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/huggingface/text-generation-inference/releases/latest",
|
||
"version": "v3.3.7"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "c42a7871f12bcff3648aba61",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": null,
|
||
"reference_version": null,
|
||
"source_id": "tgi_docs",
|
||
"status": "ok",
|
||
"type": "docs",
|
||
"url": "https://huggingface.co/docs/text-generation-inference/index",
|
||
"version": null
|
||
}
|
||
],
|
||
"technology_area": "model_serving",
|
||
"technology_id": "huggingface_tgi"
|
||
},
|
||
{
|
||
"awoooi_role": "自託管 LLM inference 候選,需 GPU/成本/安全 gate",
|
||
"changed": false,
|
||
"decision": "watch_only_no_change",
|
||
"display_name": "vLLM",
|
||
"evaluation_priority": "p2",
|
||
"integration_surface": "self_hosted_llm_inference",
|
||
"recommended_actions": [
|
||
"keep_watch_only_status"
|
||
],
|
||
"requires_cost_approval": true,
|
||
"requires_dependency_approval": true,
|
||
"requires_security_review": true,
|
||
"sources": [
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "df159e475abea07f118301ee",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-15T05:11:49.394364Z",
|
||
"reference_version": null,
|
||
"source_id": "vllm_pypi",
|
||
"status": "ok",
|
||
"type": "pypi",
|
||
"url": "https://pypi.org/pypi/vllm/json",
|
||
"version": "0.23.0"
|
||
},
|
||
{
|
||
"changed_since_reference": false,
|
||
"content_hash": "1fee977f40c7bef04a3bb2f9",
|
||
"error": null,
|
||
"http_status": 200,
|
||
"published_at": "2026-06-15T05:27:20Z",
|
||
"reference_version": null,
|
||
"source_id": "vllm_github_release",
|
||
"status": "ok",
|
||
"type": "github_release",
|
||
"url": "https://api.github.com/repos/vllm-project/vllm/releases/latest",
|
||
"version": "v0.23.0"
|
||
}
|
||
],
|
||
"technology_area": "model_serving",
|
||
"technology_id": "vllm_serving"
|
||
}
|
||
],
|
||
"technology_area_counts": {
|
||
"agent_frameworks": 6,
|
||
"evaluation_and_observability": 2,
|
||
"mcp_and_a2a": 2,
|
||
"model_providers": 3,
|
||
"model_serving": 2,
|
||
"rag_and_vector": 5
|
||
}
|
||
}
|