� Market Selection Simplification:
- Remove all Chinese text from CLI interface
- Remove Hong Kong Stock support (as requested)
- Keep only US Stock and China A-Share markets
- English-only error messages and validation
� Supported Markets:
1. US Stock
- Examples: SPY, AAPL, TSLA, NVDA, MSFT
- Format: 1-5 letter stock symbols
- Data Source: Yahoo Finance
- Pattern: ^[A-Z]{1,5}$
2. China A-Share
- Examples: 000001, 600036, 300001, 688001
- Format: 6-digit numeric codes
- Data Source: TongDaXin API
- Pattern: ^\d{6}$
� Technical Changes:
- Simplified market selection function
- Removed Chinese text from all user-facing messages
- Maintained TongDaXin integration for A-shares
- Kept format validation and data source routing
- English-only interface throughout
✅ Test Results:
- Market Selection: ✅ Pass
- Supported Markets: ✅ Pass (US + China A-Share only)
- Ticker Validation: ✅ Pass (English messages)
- Data Source Routing: ✅ Pass
- English-Only Interface: ✅ Pass
� User Experience:
- Clean English-only interface
- Two clear market options
- Automatic format validation
- TongDaXin real-time data for A-shares
- No language barriers for international users
Supported Chinese Exchanges:
• Shanghai Stock Exchange: 60xxxx
• Shenzhen Stock Exchange: 00xxxx
• ChiNext Board: 30xxxx
• STAR Market: 68xxxx
� Fixed Issues:
- Resolve 404 error when using DashScope LLM with OpenAI embeddings
- Add missing DashScope model options in CLI selection
- Improve embedding provider fallback logic
� Memory System Updates:
- Add DashScope embedding support (text-embedding-v3)
- Implement intelligent fallback: DashScope → OpenAI → Error
- Add proper API key validation and error messages
- Support multiple embedding providers based on LLM selection
� CLI Enhancements:
- Add DashScope models to SHALLOW_AGENT_OPTIONS and DEEP_AGENT_OPTIONS
- Support qwen-turbo, qwen-plus, qwen-max, qwen-max-longcontext
- Fix KeyError when selecting DashScope as LLM provider
✅ Test Results:
- All .env configuration tests pass
- DashScope embeddings working correctly
- Proper fallback to OpenAI when DashScope unavailable
- Memory initialization successful with real API keys
� Now users can successfully:
1. Select DashScope in CLI without errors
2. Use DashScope embeddings for memory system
3. Automatic fallback if DashScope unavailable
4. Complete end-to-end DashScope workflow
- Add DashScope to CLI LLM provider selection (first option)
- Add DashScope support in TradingAgentsGraph with proper error handling
- Import ChatDashScope adapter with fallback for missing dependencies
- Update default_config.py with DashScope configuration comments
- Create comprehensive DashScope configuration example
Features added:
- DashScope provider selection in CLI (cli/utils.py)
- LLM initialization for DashScope models (trading_graph.py)
- Configuration validation and testing (examples/dashscope_config_example.py)
- Support for qwen-turbo, qwen-plus, qwen-max models
- Proper error handling for missing dashscope package
Usage:
1. Install: pip install dashscope
2. Configure: DASHSCOPE_API_KEY in .env file
3. Select 'DashScope (Alibaba Cloud)' in CLI
4. Use models: qwen-turbo (fast), qwen-plus (balanced), qwen-max (best)
This enables Chinese users to use Alibaba Cloud's Qwen models
for financial analysis with optimized Chinese language support.
- Added support for running CLI and Ollama server via Docker
- Introduced tests for local embeddings model and standalone Docker setup
- Enabled conditional Ollama server launch via LLM_PROVIDER