基于 OASF (Open Agent Service Framework) v0.8.0 规范,8004scan 现在支持自动对 AI Agent 进行 skills 和 domains 分类。
系统会按以下优先级处理 OASF 分类:
- 从 Metadata 提取:如果 agent 的 metadata 中包含
endpoints[].skills和endpoints[].domains(OASF 标准格式),直接使用 - AI 自动分类:否则使用 AI 服务分析 agent 的 description 自动分类
支持多种 LLM 提供商(参考 herAI 的架构设计):
- DeepSeek(推荐):性价比高,质量好
- OpenAI:GPT-4o-mini,效果稳定
- OpenRouter:统一接口支持多种模型
- Anthropic Claude:保持向后兼容
技术实现:
- 使用 OpenAI SDK 统一接口(兼容 DeepSeek、OpenRouter 等)
- 强制 JSON 输出格式(
response_format={"type": "json_object"}) - 智能分析 agent 描述,准确度更高
- 无需 API key
- 基于关键词匹配
- 当 API key 未配置或 LLM 调用失败时自动启用
- 列表页:在 agent 卡片中显示最多 3 个标签(skills + domains)
- 详情页:完整展示所有 skills 和 domains,按分类分组显示
在 backend/.env 中配置:
# 选择 LLM 提供商: deepseek, openai, openrouter, anthropic
LLM_PROVIDER=deepseek
# 模型名称(可选,不指定将使用默认值)
LLM_MODEL_NAME=
# 根据选择的提供商配置对应的 API Key
DEEPSEEK_API_KEY=sk-your-deepseek-key-here
OPENAI_API_KEY=sk-your-openai-key-here
OPENROUTER_API_KEY=sk-your-openrouter-key-here
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key-here默认模型配置:
- DeepSeek:
deepseek-chat - OpenAI:
gpt-4o-mini - OpenRouter:
deepseek/deepseek-chat - Anthropic:
claude-3-haiku-20240307
获取 API Key:
- DeepSeek: https://platform.deepseek.com/
- OpenAI: https://platform.openai.com/
- OpenRouter: https://openrouter.ai/
- Anthropic: https://console.anthropic.com/
如果不配置任何 API key,系统会自动使用关键词匹配进行分类。
POST /api/agents/{agent_id}/classify示例:
curl -X POST http://localhost:8000/api/agents/{agent_id}/classifyPOST /api/agents/classify-all?limit=100参数:
limit:最多处理多少个 agent(默认 100)
示例:
curl -X POST "http://localhost:8000/api/agents/classify-all?limit=50"GET /api/taxonomy/skills返回:
{
"count": 30,
"skills": [
{
"slug": "code_software/code_generation",
"display_name": "Code Generation"
},
...
]
}GET /api/taxonomy/domainsclass Agent(Base):
...
# OASF taxonomy fields
skills = Column(JSON, nullable=True) # ["skill_category/skill_name", ...]
domains = Column(JSON, nullable=True) # ["domain_category/domain_name", ...]如果 agent 的 metadata 包含以下格式,系统会自动提取:
{
"name": "My Agent",
"description": "...",
"endpoints": [
{
"name": "OASF",
"endpoint": "https://...",
"version": "v0.8.0",
"skills": [
"code_software/code_generation",
"natural_language_processing/text_analysis"
],
"domains": [
"technology/software_development",
"technology/data_science"
]
}
]
}完整的 OASF taxonomy 直接从 agent0-py SDK 获取:
- Skills: 136 个技能分类
- Domains: 204 个领域分类
- 来源: https://github.com/agent0lab/agent0-py
- Natural Language Processing - 文本理解、生成和分析
- Images / Computer Vision - 图像分类、目标检测、分割
- Audio - 语音识别、音频分类、合成
- Data Engineering - 数据清洗、转换、质量评估
- Agent Orchestration - 多代理协调和任务分解
- Evaluation & Monitoring - 性能跟踪和质量评估
- Security & Privacy - 威胁检测、漏洞分析、隐私评估
- DevOps / MLOps - 基础设施、CI/CD、模型版本管理
- Advanced Reasoning & Planning - 战略思维、假设生成
- Analytical Skills - 逻辑推理、问题解决、复杂数据处理
- Retrieval Augmented Generation - RAG、文档检索、语义搜索
- Multi-modal - 跨模态任务
- Tabular / Text - 表格数据和文本分析
- Blockchain - 区块链分析、智能合约
- Workflow Orchestration - 工作流管理
- Technology - 软件工程、AI、数据科学、区块链
- Finance and Business - 银行、交易、投资、会计
- Healthcare - 医疗服务、远程医疗
- Education - 在线教育、教育技术
- Legal - 合同管理、法律服务
- Transportation - 物流、供应链、自动驾驶
- Energy - 能源管理、可再生能源
- Agriculture - 精准农业、作物管理
- Media and Entertainment - 内容创作、社交媒体
- Real Estate - 房产管理、市场分析
- Life Science - 生物技术、基因组学
- Environmental Science - 气候科学、生态学
- Industrial Manufacturing - 自动化、供应链
- Telecommunications - 通信网络、营销自动化
- Human Resources - 招聘、员工发展
- Trust and Safety - 内容审核、欺诈预防
- Cloud Computing - 云基础设施、容器编排
- Data Science - 机器学习、数据可视化
- Cybersecurity - 网络安全、威胁情报
- Insurance - 保险承保、理赔处理
- Marketing and Advertising - 数字营销、广告技术
- Retail and E-commerce - 在线零售、库存管理
- Social Services - 社会工作、社区服务
- Sports and Fitness - 运动科学、健身训练
- Hospitality and Tourism - 酒店管理、旅游服务
- JSON 数据:
backend/src/taxonomies/all_skills.jsonbackend/src/taxonomies/all_domains.json
- Python 模块:
backend/src/taxonomies/oasf_taxonomy.py
- 区块链同步服务监听
Registered事件 - 获取 metadata
- 尝试从 metadata 提取 OASF 信息
- 如果没有,调用 AI 分类服务自动分类
- 存储到数据库
- 监听
UriUpdated事件 - 重新获取 metadata
- 重新提取或分类
- 更新数据库
[info] oasf_extracted_from_metadata name=Agent1 skills_count=2 domains_count=1
[info] oasf_auto_classified name=Agent2 skills_count=3 domains_count=2
[info] fallback_classification name=Agent3 skills_count=1 domains_count=1
- AI 分类成本:使用 Claude API 会产生费用,建议设置合理的限流
- 降级方案:即使没有 API key,系统也能通过关键词匹配提供基础分类
- 手动调整:未来可以添加手动编辑分类的功能
- 数据迁移:已有的 agents 可以通过
/api/agents/classify-all批量分类
如需添加更多 skills 或 domains,修改:
backend/src/taxonomies/oasf_taxonomy.py
参考完整的 OASF 规范:
- https://github.com/agntcy/oasf/
- agent0_sdk/taxonomies/all_skills.json
- agent0_sdk/taxonomies/all_domains.json