Files
skills/agent-vision-awareness/scripts/test_vision.py
T
hmo 04db423416 Initial commit: skills library
- 70 skills with code and documentation
- Add .gitignore (ignore __pycache__, output/, temp/, venv/)
- Clean up test intermediates and caches
2026-04-26 19:27:40 +08:00

107 lines
3.0 KiB
Python

#!/usr/bin/env python3
"""
Test script for agent-vision-awareness skill
This script tests the vision detection and processing capabilities.
"""
import os
import sys
from pathlib import Path
def test_detection():
"""Test visual content detection."""
print("Testing visual content detection...")
from .vision_detector import VisionContentDetector, DetectionConfidence
detector = VisionContentDetector()
test_cases = [
("帮我分析这个截图 error.png", DetectionConfidence.HIGH),
("描述这张图片的内容", DetectionConfidence.LOW),
("根据架构图 design/architecture.png 生成部署方案", DetectionConfidence.HIGH),
("写一个 Python 脚本", DetectionConfidence.NONE),
("![diagram](flow.png) 显示什么?", DetectionConfidence.HIGH),
]
for test_input, expected_confidence in test_cases:
confidence, items = detector.detect_visual_content(test_input)
status = "" if confidence == expected_confidence else ""
print(f"{status} Input: {test_input}")
print(f" Expected: {expected_confidence.value}, Got: {confidence.value}")
if items:
print(f" Detected: {items}")
print()
return True
def test_integration():
"""Test integration with vision analyzer (if API key available)."""
print("Testing vision integration...")
# Check if API key is available
api_key = os.environ.get("VOLCENGINE_API_KEY") or os.environ.get(
"DASHSCOPE_API_KEY"
)
if not api_key:
print("⚠️ No API key found. Skipping integration test.")
print(
" Set VOLCENGINE_API_KEY or DASHSCOPE_API_KEY environment variable to test."
)
return False
try:
from .integrate_vision import process_user_input
# Test with a simple request (won't actually process image without file)
result = process_user_input(
"测试视觉处理",
"这是一个测试",
config={
"api_key": api_key,
"base_url": "https://ark.cn-beijing.volces.com/api/coding/v3",
"model": "doubao-seed-code",
},
)
if result["status"] == "success":
print("✅ Integration test passed (configuration valid)")
return True
else:
print(f"❌ Integration test failed: {result.get('error', 'Unknown error')}")
return False
except Exception as e:
print(f"❌ Integration test failed: {e}")
return False
def main():
"""Run all tests."""
print("🧪 Testing Agent Vision Awareness Skill")
print("=" * 50)
success = True
# Test detection
success &= test_detection()
# Test integration (if possible)
success &= test_integration()
print("=" * 50)
if success:
print("✅ All tests passed!")
else:
print("⚠️ Some tests failed or were skipped.")
return success
if __name__ == "__main__":
success = main()
sys.exit(0 if success else 1)