11 Commits

Author SHA1 Message Date
青玉案
b740beea2a fix: 公共 SearXNG 实例发现默认关闭 (#2226)
* fix: 公共 SearXNG 实例发现默认关闭

公共实例普遍存在限流(429)、下线(503)或未开启 JSON 输出的情况,
默认开启会让未配置任何搜索 key 的用户每次分析多耗 30~60 秒,
且新闻面最终为空却不在报告中提示(详见 #2225 的实测数据)。

- .env.example: 默认值改为 false,并说明原因与推荐做法
- docs/full-guide.md、docs/full-guide_EN.md: 同步默认值与说明
- tests: 放宽段落定位断言以适配新默认值,并新增一条测试固化该默认值

* fix: 公共 SearXNG 实例发现改在运行时层面默认关闭

按 review 意见修正:仅改 .env.example 只影响复制新模板的用户,
已有安装与 GitHub Actions(未配置 Variable/Secret 时变量为空)
仍会走 default=True 的运行时分支,继续承受 30~60 秒失败重试。

- src/config.py: parse_env_bool 的 default 由 True 改为 False(真正生效处)
- src/core/config_registry.py: 示例顺序调整为 false 优先
- .github/workflows/00-daily-analysis.yml: 变量未设置时诊断显示「默认关闭」,
  与运行时行为保持一致,不再误报为已开启
- tests: 新增三条回归测试,分别锁住运行时默认值、config.py 源码中的
  default=False、以及工作流诊断文案
- docs/CHANGELOG.md: 在 [Unreleased] 追加条目

显式设为 true 的用户行为不变。27 passed

* fix: align SearXNG public instance defaults

* fix: complete SearXNG opt-in defaults

---------

Co-authored-by: Mach-Chan <zz-b240@zz-b240deMacBook-Air.local>
Co-authored-by: ZhuLinsen <zhuls97@163.com>
2026-08-19 21:59:10 +08:00
zhulinsen
e430fcfe48 fix: 收敛选股排序、缓存与热点并发契约 (#2145)
* fix: stabilize screening ranking and hotspot workflows

* fix(review-feedback-2145): Stop timed-out constituent workers before returning and Keep the

* fix: close screening review contract gaps

* fix: bound screening hotspot search workers

* fix(review-feedback-2145): [Verification blocker] 当前 Head 的阻断型 CI 已最终失败:backend-gate。请在本地运行对应

* fix: close screening contract review gaps

* fix: unify hotspot timeout contracts

* fix: bound hotspot search end to end

* fix: bound hotspot detail fallbacks
2026-08-02 18:32:30 +08:00
zhulinsen
bcb7ae4e13 feat: 将参考 AlphaSift 的选股实现纳入主项目 (#2136)
* feat: integrate built-in stock screening engine

* test: verify screening routes via public contract

* refactor: make screening integration fully native

* fix(review-feedback-2136): [Verification blocker] 当前 Head 的阻断型 CI 已最终失败:backend-gate。请在本地运行对应

* feat: persist screening runs and reuse DSA analysis

* fix(review-feedback-2136): 对选股重排应用统一的模型参数兼容逻辑

* fix(review-feedback-2136): 将字段缺失计入数据源失败

* fix(review-feedback-2136): 评审结论 - 代码检查 :当前整个 PR 仍有 3 个未关闭的高置信度代码 blocker。最新复核摘要:当前整个 PR 仍有 3

* fix(review-feedback-2136): 延迟写入候选直到覆盖率通过校验 and 将 DSA 日线成功结果写入 last-good 缓存

* fix(review-feedback-2136): 将直连日线源纳入统一调用超时 and 将新增的选股缓存目录加入桌面更新备份

* fix(review-feedback-2136): 保留完整热点缓存而非请求切片 and 遵守 DSA 上下文声明的候选上限

* fix(review-feedback-2136): 补一条端到端回归:把真实 ScreenResult 经 ScreeningService.screen 落到 /history 和

* fix(review-feedback-2136): 补一个 refresh=true 且 live fetch 失败时返回 stale cache 的回归测试,避免当前只更新 stale
2026-08-01 14:13:23 +08:00
mumu
cca629ff24 fix(issue-1771): chore(docker):-raise-default-compose-mem (#1774) 2026-06-24 20:17:20 +08:00
mumu
469609e6a5 docs: sync Anspire Open docs and deployment guides (#1195) 2026-05-05 21:13:00 +08:00
Alfred
3eabeda06c feat: 支持 SearXNG 公共实例自动发现与受控轮询 (#752) (#769)
* feat: support SearXNG public instance discovery (#752)

* fix: back off cold-start failures for public searxng (#752)
2026-03-19 12:40:21 +08:00
Alfred
4608f8f3a6 [feat] 增加 SearXNG支持 Issue #550 (#588)
* feat(search): add SearXNG support as quota-free fallback (Fixes #550)

Made-with: Cursor

* fix(pr-588): address Copilot review - test robustness, config urlparse, doc typo

- tests: fix flaky published_date assertion; add sleep patch to 3 retry tests; remove unused SearchResult import
- config: replace double urlparse with single-pass loop for SEARXNG_BASE_URLS
- docs: correct SERPAPI_KEYS to SERPAPI_API_KEYS in zeabur-deployment.md

Made-with: Cursor
2026-03-11 13:36:09 +08:00
Haode Du
049e7e8f59 feat: add MiniMax Coding Plan web search provider (#493)
* feat: add MiniMax Coding Plan web search provider

- Add MiniMaxSearchProvider class with POST API to api.minimaxi.com
- Priority: Bocha > MiniMax > Tavily > Brave > SerpAPI
- Dual time-filtering: query augmentation + client-side date filtering
- Circuit breaker: 3 consecutive failures -> 300s cooldown
- New MINIMAX_API_KEY env var (supports multiple keys, comma-separated)
- Update config.py, search_service.py, .env.example

* docs: add MiniMax search provider to all documentation

- .env.example: add MINIMAX_API_KEY and BOCHA_API_KEYS with priority note
- README.md: update tech stack table and secrets table
- docs/full-guide.md: add MiniMax to config tables and search service section
- docs/full-guide_EN.md: add MiniMax to config tables and search service section
- docs/README_EN.md: update tech stack and secrets tables
- docs/README_CHT.md: update tech stack and secrets tables
- docs/DEPLOY.md: add MiniMax to env var tables
- docs/DEPLOY_EN.md: add MiniMax to env var tables
- docs/docker/zeabur-deployment.md: add MiniMax to analysis config table
- docs/CHANGELOG.md: add MiniMax provider to Unreleased section

* update doc

* refactor(search_service): 调整搜索提供者初始化顺序及参数位置

将MiniMax搜索提供者的参数位置和初始化顺序调整到最后,保持代码逻辑清晰

* 添加其他多处minimax_api_keys支持并调整参数顺序

* 增加 Bocha 和 Minimax 的前端配置

* fix: 将MINIMAX_API_KEYS改为单数形式

* docs(CHANGELOG): 调整MiniMax搜索提供商的优先级顺序

更新CHANGELOG.md中MiniMax搜索提供商的优先级描述,从Bocha > MiniMax > Tavily > Brave > SerpAPI调整为Bocha > Tavily > Brave > SerpAPI > MiniMax

* fix: 统一 MINIMAX_API_KEY 为 MINIMAX_API_KEYS 以保持命名一致性

---------

Co-authored-by: mumu <42829555+ZhuLinsen@users.noreply.github.com>
2026-03-09 21:29:56 +08:00
mumu
52917baa02 feat!: replace legacy WebUI with unified FastAPI architecture #major (#267)
* feat!: replace legacy WebUI with unified FastAPI architecture #major

- Remove legacy WebUI (web/ package based on ThreadingHTTPServer)
- Unify CLI commands: --webui now seamlessly launches the new FastAPI service
- Migrate task service from web/services.py to src/services/task_service.py
- Update documentation to reflect the new simplified usage

* refactor(service): support parameterized query source in TaskService
2026-02-06 22:06:01 +08:00
Krane
9847157980 Feature/React web support 新的WebUI (#256)
* feat(web): add FastAPI & React web connect

* feat: add FastAPI package

* feat: system base struct

* feat: frontend base struct

* feat: 基础分析接口,历史记录接口

* fix: 使用正确的 FastAPI 方法定义,避免线程阻塞

* fix: 对接历史报告页、详情页

* fix: 修复接口问题

* fix: 网络配置 允许公网访问 跨域配置

* fix: 页面打包 & 提供 Server 静态访问

* fix: 优化dock栏样式

* fix: 优化图标样式

* fix: 修改部分配色

* fix: 删除垃圾文档

* fix: 删除垃圾代码

* fix: 驼峰转换工具

* fix: 历史记录列表滚动加载(分页)

* feat: 显示分析中任务

* fix: 调整布局

* fix: 优化 Market Sentiment 组件动效

* fix: 历史列表组件bug

* fix: FastAPI 日志配置

* feat: 新闻历史接口

* feat: 资讯列表

* feat: 优化布局

* fix: 修复页面元素变宽问题

* fix: 中文标题

* fix: 任务列表状态显示问题

* fix: 抽取日志配置

* fix: 优化报告价格显示

* fix: 修复编译错误

* fix: FastAPI 启动提取到 main.py

* fix: 补充新web-ui启动文档

* fix: 默认发送通知

* fix: FastAPI 模式适配 docker

* fix: FastAPI 模式文档

* Update api/v1/endpoints/stocks.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: package-lock.json

* fix: 修改错别字

* fix: 更新文档说明

* fix: 更新文档说明

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-05 20:56:38 +08:00
adminlove520
f04e56fa0c docs: 添加Zeabur部署详细文档 2026-01-25 19:04:04 +08:00