2e9c7cd69e
Core changes: - Refactor FastAnalysisService: single LLM multi-factor analysis replaces 7-agent pipeline; add multi-timeframe consensus, threshold calibration, confidence calibration, multi-model ensemble voting - Add RAG memory injection and reflection validation (analysis_memory + reflection worker) - Simplify billing config: remove unused strategy_run/backtest/portfolio_monitor, add ai_code_gen separate billing (different token consumption scale) - Settings hot-reload after save, no backend restart needed Frontend: - Global dark theme overhaul: pure black palette replacing blue-tinted colors across sidebar/header/dashboard/analysis/K-line/user-manage/profile/settings/billing - Fix USDT payment modal dark theme (portal rendering broke CSS selectors) - Refactor position modal: direction + quantity + entry price, remove add/reduce logic, show raw DB values on re-open, save exactly what user inputs - Fix Polymarket prediction market dark text - i18n for position modal title Backend: - Position management: one record per symbol (DELETE+INSERT replacing ON CONFLICT with side), fixes PnL showing 0 when switching long/short - MarketDataCollector data fetching optimization - portfolio_monitor scheduled monitoring improvements - env.example reorganized: common config first, advanced config last Documentation: - README architecture diagram updated to FastAnalysisService flow - Add virtual position, AI tuning config, billing items documentation - Add INDICATOR_DEFINITIONS_CN.md, FRONTEND_FAST_ANALYSIS.md Made-with: Cursor
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import sys
|
||
import os
|
||
from dotenv import load_dotenv
|
||
|
||
# 添加后端目录到 Python 路径(使得可以 import app.*)
|
||
# 由于 app 包位于 backend_api_python/app 下,而脚本位于 backend_api_python/scripts
|
||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
||
|
||
from app.services.reflection import ReflectionService
|
||
|
||
def main():
|
||
# Load backend envs for DATABASE_URL, reflection switches, etc.
|
||
# This script may be run locally, so we must load .env explicitly.
|
||
backend_env_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '.env'))
|
||
root_env_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '.env'))
|
||
if os.path.exists(root_env_path):
|
||
load_dotenv(root_env_path, override=False)
|
||
if os.path.exists(backend_env_path):
|
||
load_dotenv(backend_env_path, override=False)
|
||
|
||
"""
|
||
运行自动反思验证任务
|
||
建议通过 cron 或 定时任务调度器 每天运行一次
|
||
"""
|
||
print("Running Automated Reflection Verification Task...")
|
||
service = ReflectionService()
|
||
stats = service.run_verification_cycle()
|
||
print("Reflection stats:", stats)
|
||
print("Task Completed.")
|
||
|
||
if __name__ == "__main__":
|
||
main()
|
||
|