long.loveason.com / daily_stock_analysis 全面核查报告

生成时间:2026-05-18 02:43:42
结论:核心功能已恢复可用:登录、LLM 通道、Agent 聊天、异步股票分析链路均通过真实验证。

一、GitHub/部署状态

二、已确认并修复的问题

三、真实功能验证

四、仍存在但不阻断的警告

五、建议后续处理

六、原始证据摘录

n_source":null},{"task_id":"6dea155287fb4e079dd1ef04dc65a2f0","stock_code":"603216.SH","stock_name":"梦天家居","status":"completed","progress":100,"message":"分析完成","report_type":"detailed","created_at":"2026-05-18T02:33:43.859297","started_at":"2026-05-18T02:33:43.860300","completed_at":"2026-05-18T02:35:14.797279","error":null,"original_query":"梦天家居","selection_source":"autocomplete"}]}
TASKS_JSON_END
HEALTH_BEGIN
{"status":"ok","timestamp":"2026-05-18T02:43:41.971783"}
HEALTH_END
RECENT_LOGS_BEGIN
2026-05-18 02:38:56 | ERROR    | src/auth.py:185 | Failed to read credential file: [Errno 13] Permission denied: '/app/data/.admin_password_hash'
2026-05-18 02:38:57 | ERROR    | src/auth.py:185 | Failed to read credential file: [Errno 13] Permission denied: '/app/data/.admin_password_hash'
2026-05-18 02:38:57 | ERROR    | src/auth.py:185 | Failed to read credential file: [Errno 13] Permission denied: '/app/data/.admin_password_hash'
2026-05-18 02:38:57 | ERROR    | src/auth.py:185 | Failed to read credential file: [Errno 13] Permission denied: '/app/data/.admin_password_hash'
2026-05-18 02:38:57 | INFO     | /usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py:484 | 172.22.0.1:37550 - "POST /api/v1/system/config/llm/test-channel HTTP/1.1" 401
2026-05-18 02:38:57 | INFO     | /usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py:484 | 172.22.0.1:37560 - "POST /api/v1/agent/chat HTTP/1.1" 401
2026-05-18 02:39:25 | ERROR    | src/auth.py:185 | Failed to read credential file: [Errno 13] Permission denied: '/app/data/.admin_password_hash'
2026-05-18 02:39:25 | INFO     | /usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py:484 | 172.22.0.1:60994 - "POST /api/v1/system/config/llm/test-channel HTTP/1.1" 200
2026-05-18 02:39:25 | INFO     | src/agent/llm_adapter.py:207 | Agent LLM: Router initialized from channels/YAML — 2 deployment(s), models: ['openai/gpt-5.5', 'openai/mimo-v2.5-pro']
2026-05-18 02:39:28 | INFO     | /usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py:484 | 172.22.0.1:32772 - "POST /api/v1/agent/chat HTTP/1.1" 200
2026-05-18 02:40:07 | INFO     | src/config.py:1895 | LLM channel 'cliproxy': 2 model(s), 1 key(s)
2026-05-18 02:40:11 | INFO     | /usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py:484 | 172.22.0.1:47222 - "POST /api/v1/system/config/llm/test-channel HTTP/1.1" 200
2026-05-18 02:41:28 | INFO     | src/services/task_queue.py:403 | [TaskQueue] 任务已提交: 600519 -> ef3a03e63af340baa82821e1b157b733
2026-05-18 02:41:28 | INFO     | src/analyzer.py:1932 | Analyzer LLM: Router initialized from channels/YAML — 2 deployment(s), models: ['openai/gpt-5.5', 'openai/mimo-v2.5-pro']
2026-05-18 02:41:28 | WARNING  | src/notification.py:197 | 未配置有效的通知渠道,将不发送推送通知
2026-05-18 02:41:28 | INFO     | src/search_service.py:2202 | 已启用 SearXNG 公共实例自动发现模式
2026-05-18 02:41:28 | INFO     | src/search_service.py:2218 | 新闻时效策略已启用: profile=short, profile_days=3, NEWS_MAX_AGE_DAYS=3, effective_window=3
2026-05-18 02:41:28 | INFO     | src/core/pipeline.py:132 | 调度器初始化完成,最大并发数: 2
2026-05-18 02:41:28 | INFO     | src/core/pipeline.py:1635 | ========== 开始处理 600519 ==========
2026-05-18 02:41:28 | INFO     | src/core/pipeline.py:227 | 贵州茅台(600519) 开始从数据源获取数据...
2026-05-18 02:41:28 | INFO     | data_provider/base.py:1171 | [数据源尝试 1/5] [EfinanceFetcher] 获取 600519...
2026-05-18 02:41:28 | INFO     | data_provider/base.py:396 | [EfinanceFetcher] 开始获取 600519 日线数据: 范围=2026-03-19 ~ 2026-05-18
2026-05-18 02:41:28 | ERROR    | data_provider/base.py:424 | [EfinanceFetcher] 600519 获取失败: 范围=2026-03-19 ~ 2026-05-18, error_type=PermissionError, elapsed=0.00s, reason=[Errno 13] Permission denied: '/usr/local/lib/python3.11/site-packages/efinance/config/../data'
2026-05-18 02:41:28 | WARNING  | data_provider/base.py:1192 | [数据源失败 1/5] [EfinanceFetcher] 600519: error_type=PermissionError, reason=[EfinanceFetcher] 600519: [Errno 13] Permission denied: '/usr/local/lib/python3.11/site-packages/efinance/config/../data'
2026-05-18 02:41:28 | INFO     | data_provider/base.py:1199 | [数据源切换] 600519: [EfinanceFetcher] -> [AkshareFetcher]
2026-05-18 02:41:28 | INFO     | data_provider/base.py:1171 | [数据源尝试 2/5] [AkshareFetcher] 获取 600519...
2026-05-18 02:41:28 | INFO     | data_provider/base.py:396 | [AkshareFetcher] 开始获取 600519 日线数据: 范围=2026-03-19 ~ 2026-05-18
2026-05-18 02:41:28 | INFO     | data_provider/akshare_fetcher.py:379 | [数据源] 尝试使用 东方财富 获取 600519...
2026-05-18 02:41:30 | INFO     | data_provider/akshare_fetcher.py:406 | [API调用] ak.stock_zh_a_hist(symbol=600519, ...)
2026-05-18 02:41:31 | WARNING  | data_provider/akshare_fetcher.py:387 | [数据源] 东方财富 获取失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-05-18 02:41:31 | INFO     | data_provider/akshare_fetcher.py:379 | [数据源] 尝试使用 新浪财经 获取 600519...
2026-05-18 02:41:39 | INFO     | data_provider/base.py:415 | [AkshareFetcher] 600519 获取成功: 范围=2026-03-19 ~ 2026-05-18, rows=38, elapsed=11.58s
2026-05-18 02:41:39 | INFO     | data_provider/base.py:1183 | [数据源完成] 600519 使用 [AkshareFetcher] 获取成功: rows=38, elapsed=11.58s
2026-05-18 02:41:39 | INFO     | src/storage.py:1640 | 保存 600519 数据成功,新增 38 条
2026-05-18 02:41:39 | INFO     | src/core/pipeline.py:235 | 贵州茅台(600519) 数据保存成功(来源: AkshareFetcher,新增 38 条)
2026-05-18 02:41:39 | INFO     | data_provider/akshare_fetcher.py:1099 | [API调用] 腾讯财经接口获取 600519 实时行情: endpoint=qt.gtimg.cn/q, symbol=sh600519
2026-05-18 02:41:45 | INFO     | data_provider/akshare_fetcher.py:1204 | [实时行情-腾讯] 600519 贵州茅台: endpoint=qt.gtimg.cn/q, 价格=1332.95, 涨跌=-0.69%, 量比=1.15, 换手率=0.46%, elapsed=5.38s
2026-05-18 02:41:45 | INFO     | data_provider/base.py:1410 | [实时行情] 600519 成功获取 (来源: tencent)
2026-05-18 02:41:45 | INFO     | src/core/pipeline.py:282 | 贵州茅台(600519) 实时行情: 价格=1332.95, 量比=1.15, 换手率=0.46% (来源: tencent)
2026-05-18 02:41:50 | INFO     | data_provider/akshare_fetcher.py:1483 | [API调用] ak.stock_cyq_em(symbol=600519) 获取筹码分布...
2026-05-18 02:41:51 | ERROR    | data_provider/akshare_fetcher.py:1521 | [API错误] 获取 600519 筹码分布失败: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
2026-05-18 02:41:51 | WARNING  | data_provider/base.py:1592 | [筹码分布] 600519 所有数据源均失败
2026-05-18 02:41:51 | INFO     | data_provider/akshare_fetcher.py:1099 | [API调用] 腾讯财经接口获取 600519 实时行情: endpoint=qt.gtimg.cn/q, symbol=sh600519
2026-05-18 02:41:57 | INFO     | data_provider/akshare_fetcher.py:1204 | [实时行情-腾讯] 600519 贵州茅台: endpoint=qt.gtimg.cn/q, 价格=1332.95, 涨跌=-0.69%, 量比=1.15, 换手率=0.46%, elapsed=5.87s
2026-05-18 02:41:57 | INFO     | data_provider/base.py:1410 | [实时行情] 600519 成功获取 (来源: tencent)
2026-05-18 02:41:59 | INFO     | src/core/pipeline.py:372 | 贵州茅台(600519) 趋势分析: 空头排列, 买入信号=持有, 评分=46
2026-05-18 02:41:59 | INFO     | src/core/pipeline.py:395 | 贵州茅台(600519) 开始多维度情报搜索...
2026-05-18 02:41:59 | INFO     | src/search_service.py:3093 | 开始多维度情报搜索: 贵州茅台(600519), 时间范围: 近3天 (profile=short, NEWS_MAX_AGE_DAYS=3), 目标条数=3, provider请求条数=6
2026-05-18 02:41:59 | INFO     | src/search_service.py:3122 | [情报搜索] 最新消息: 使用 SearXNG
2026-05-18 02:42:00 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://search.rhscz.eu 搜索失败: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2026-05-18 02:42:00 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.rhscz.eu 搜索失败: Too Many Requests
2026-05-18 02:42:01 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://search.hbubli.cc 搜索失败: 响应JSON解析失败
2026-05-18 02:42:01 | WARNING  | src/search_service.py:3160 | [情报搜索] 最新消息: 搜索失败 - https://search.rhscz.eu: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
in a given amount o;https://searx.rhscz.eu: Too Many Requests;https://search.hbubli.cc: 响应JSON解析失败
2026-05-18 02:42:01 | INFO     | src/search_service.py:3122 | [情报搜索] 机构分析: 使用 SearXNG
2026-05-18 02:42:02 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.rhscz.eu 搜索失败: Too Many Requests
2026-05-18 02:42:02 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://search.hbubli.cc 搜索失败: 响应JSON解析失败
2026-05-18 02:42:03 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.tiekoetter.com 搜索失败: Too Many Requests
2026-05-18 02:42:03 | WARNING  | src/search_service.py:3160 | [情报搜索] 机构分析: 搜索失败 - https://searx.rhscz.eu: Too Many Requests;https://search.hbubli.cc: 响应JSON解析失败;https://searx.tiekoetter.com: Too Many Requests
2026-05-18 02:42:04 | INFO     | src/search_service.py:3122 | [情报搜索] 风险排查: 使用 SearXNG
2026-05-18 02:42:04 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://search.hbubli.cc 搜索失败: 响应JSON解析失败
2026-05-18 02:42:05 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.tiekoetter.com 搜索失败: Too Many Requests
2026-05-18 02:42:06 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://priv.au 搜索失败: Too Many Requests
2026-05-18 02:42:06 | WARNING  | src/search_service.py:3160 | [情报搜索] 风险排查: 搜索失败 - https://search.hbubli.cc: 响应JSON解析失败;https://searx.tiekoetter.com: Too Many Requests;https://priv.au: Too Many Requests
2026-05-18 02:42:06 | INFO     | src/search_service.py:3122 | [情报搜索] 公司公告: 使用 SearXNG
2026-05-18 02:42:07 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.tiekoetter.com 搜索失败: Too Many Requests
2026-05-18 02:42:07 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://priv.au 搜索失败: Too Many Requests
2026-05-18 02:42:08 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.oloke.xyz 搜索失败: Too Many Requests
2026-05-18 02:42:08 | WARNING  | src/search_service.py:3160 | [情报搜索] 公司公告: 搜索失败 - https://searx.tiekoetter.com: Too Many Requests;https://priv.au: Too Many Requests;https://searx.oloke.xyz: Too Many Requests
2026-05-18 02:42:09 | INFO     | src/search_service.py:3122 | [情报搜索] 业绩预期: 使用 SearXNG
2026-05-18 02:42:10 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://priv.au 搜索失败: Too Many Requests
2026-05-18 02:42:10 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://searx.oloke.xyz 搜索失败: Too Many Requests
2026-05-18 02:42:11 | WARNING  | src/search_service.py:2072 | [SearXNG] 实例 https://search.privacyredirect.com 搜索失败: 响应JSON解析失败
2026-05-18 02:42:11 | WARNING  | src/search_service.py:3160 | [情报搜索] 业绩预期: 搜索失败 - https://priv.au: Too Many Requests;https://searx.oloke.xyz: Too Many Requests;https://search.privacyredirect.com: 响应JSON解析失败
2026-05-18 02:42:12 | INFO     | src/core/pipeline.py:410 | 贵州茅台(600519) 情报搜索完成: 共 0 条结果
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2416 | ========== AI 分析 贵州茅台(600519) ==========
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2417 | [LLM配置] 模型: openai/gpt-5.5
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2418 | [LLM配置] Prompt 长度: 2848 字符
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2419 | [LLM配置] 是否包含新闻: 是
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2423 | [LLM Prompt 预览]
| 股票代码 | **600519** |
2026-05-18 02:42:14 | INFO     | src/analyzer.py:2432 | [LLM调用] 开始调用 openai/gpt-5.5...
2026-05-18 02:43:11 | INFO     | src/analyzer.py:2466 | [LLM返回] openai/gpt-5.5 响应成功, 耗时 57.00s, 响应长度 5102 字符
2026-05-18 02:43:11 | INFO     | src/analyzer.py:2470 | [LLM返回 预览]
  "stock_name": "贵州茅台(600519)",
2026-05-18 02:43:11 | INFO     | src/analyzer.py:2520 | [LLM解析] 贵州茅台(600519) 分析完成: 震荡, 评分 46
2026-05-18 02:43:11 | INFO     | src/core/pipeline.py:1662 | [600519] 分析完成: 观望, 评分 46
2026-05-18 02:43:11 | INFO     | src/services/task_queue.py:638 | [TaskQueue] 任务完成: ef3a03e63af340baa82821e1b157b733 (600519)
RECENT_LOGS_END
GIT_BEGIN
4aad40c fix: 增强 LLM 参数适配层 (#1317)
47f938f feat: add mainstream analysis strategy skills (#1332)
0a98708 feat: Web 个股分析支持选择策略 (#1331)
48de69e docs: add beginner client setup guide (#1333)
fdb202c feat: [issue #1199/PR2] expand settings help coverage for core config (#1328)
51e7337 feat: add Finnhub & AlphaVantage US market data source adapters (#1313)
adaf6cb feat: 增加 P2 告警评估 Worker (#1323)
GIT_END