* feat: support strategy selection in web analysis
* fix(review-feedback-1331): The worker receives the original skills list, while TaskInfo stores a
* fix(review-feedback-1331): 补充对应 Web/API 文档,或在 PR 中明确说明现有哪份文档已覆盖且本次无需更新的依据
* feat: expand settings help coverage
Add structured help metadata and bilingual in-app help copy for the PR2 configuration coverage slice, including LLM runtime fields, channel editor fields, data sources, notifications, WebUI, auth, schedule, trading-day, and proxy settings.
Clarify restart semantics for startup-only and bind-time settings. WEBUI_HOST and WEBUI_PORT now warn that the running process must be restarted before host or port changes rebind, while RUN_IMMEDIATELY, SCHEDULE_ENABLED, and SCHEDULE_RUN_IMMEDIATELY are marked as startup behavior.
Treat SCHEDULE_TIME separately from startup-only schedule switches: an already-running schedule mode can reload the time and rebuild the daily job, but saving the value will not create a scheduler in a non-schedule process.
Document settings-help maintenance boundaries and add regression coverage for help metadata, restart warning codes, API warnings, service warnings, and the LLM channel editor help affordance.
* feat: enhance settings help documentation and improve test coverage
---------
Co-authored-by: mumu <42829555+ZhuLinsen@users.noreply.github.com>
* feat: add Finnhub and AlphaVantage API key config fields
* feat: add FinnhubFetcher for US market OHLCV and realtime quotes
* feat: add AlphaVantageFetcher for US market OHLCV and realtime quotes
* feat: register FinnhubFetcher and AlphaVantageFetcher in DataFetcherManager
* fix: address PR review feedback on US fetcher routing and AlphaVantage pct_chg
- Fix AlphaVantage pct_chg calculation: sort by date ascending before
computing percentage change to handle newest-first API response
- Extend US daily routing source_order to include FinnhubFetcher and
AlphaVantageFetcher in the failover chain
- Add newest-first pct_chg regression test for AlphaVantage
- Add US routing fallback order test
- Update CHANGELOG.md with new feature and fix entries
- Add docs/specs/ to .gitignore to prevent accidental commits
Verified: 1956 tests passed, ci_gate.sh clean
* fix: address third round PR review - routing gaps, index isolation, CHANGELOG cleanup
- Isolate US index routing: YFinance-first, skip Finnhub/AlphaVantage for index codes
- Add Finnhub/AlphaVantage to US realtime_quote and get_stock_name routing
- Clean CHANGELOG.md: only our 3 Finnhub/AlphaVantage entries in [Unreleased]
* fix(data-provider): skip unavailable optional fetchers and back off longbridge reconnects
* fix(data-provider): back off unavailable longbridge routes
* fix(data-provider): back off noisy pytdx name lookups
* docs: align PR 1249 changelog and compatibility notes
* fix(config): preserve legacy schedule override precedence
Add the Chinese documentation center, refresh the English documentation index, and update README navigation links.
Polish the README contact sections across Chinese, Traditional Chinese, and English docs by splitting long email details, aligning contact rows, and adding the Xiaohongshu QR image.
Validation:
- git diff --check
- GitHub CI passed: ai-governance, backend-gate, docker-build
- PR Review passed: security check, static check, AI review, review report
* feat: add settings field help infrastructure
* fix: avoid online fallback in bot name routing test
Resolve natural-language stock-name candidates through deterministic local partial matches before invoking the broader name resolver. This keeps common aliases like 茅台 on the fast local path and prevents offline CI from waiting on AkShare network fallback.
Guard the async dispatcher test with an assertion that AkShare fallback is not called for the local alias case.
* test: isolate schedule time provider failure case
The schedule-time provider failure test could fail when SCHEDULE_TIME was present in the process environment before importing main. In that case _INITIAL_PROCESS_ENV marks it as an explicit override, the provider returns the env value, and ConfigManager.read_config_map is never called, so the expected RuntimeError is not raised.
Patch _INITIAL_PROCESS_ENV in the test to model the intended no-process-override scenario and keep the assertion independent of the shell environment used by scripts/ci_gate.sh.
* fix: improve settings help dialog accessibility
Trap keyboard focus inside the settings help dialog while it is open and return focus to the trigger on close.
Keep the backdrop click target out of the tab order and cover the focus loop behavior in the settings field test.
* feat: add help entry and multilingual support for system settings page
* feat: add maintenance guidelines for settings help documentation
* fix: clarify WebUI bind settings and toast visibility
* chore: remove trailing blank line from settings help