Import 9 alphaear finance skills

- alphaear-deepear-lite: DeepEar Lite API integration
- alphaear-logic-visualizer: Draw.io XML finance diagrams
- alphaear-news: Real-time finance news (10+ sources)
- alphaear-predictor: Kronos time-series forecasting
- alphaear-reporter: Professional financial reports
- alphaear-search: Web search + local RAG
- alphaear-sentiment: FinBERT/LLM sentiment analysis
- alphaear-signal-tracker: Signal evolution tracking
- alphaear-stock: A-Share/HK/US stock data

Updates:
- All scripts updated to use universal .env path
- Added JINA_API_KEY, LLM_*, DEEPSEEK_API_KEY to .env.example
- Updated load_dotenv() to use ~/.config/opencode/.env
This commit is contained in:
Kunthawat Greethong
2026-03-27 10:11:37 +07:00
parent 7edf5bc4d0
commit 58f9380ec4
149 changed files with 26867 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import sys
import os
import unittest
# Add skill root to path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
try:
from scripts.kronos_predictor import KronosPredictorUtility
from scripts.utils.database_manager import DatabaseManager
except ImportError as e:
print(f"Import Error: {e}")
sys.exit(1)
class TestPredictor(unittest.TestCase):
def test_init(self):
print("Testing KronosPredictorUtility Iteration...")
db = DatabaseManager(":memory:")
# Kronos might need model files, but init should pass if we don't call predict?
# Note: Kronos loads model in init. This might fail if model path is invalid.
# We wrap in try-except to catch model loading errors which are expected in this env
try:
tools = KronosPredictorUtility()
self.assertIsNotNone(tools)
except Exception as e:
print(f"Kronos Init failed (expected if no model): {e}")
if __name__ == '__main__':
unittest.main()