Repository navigation
Conversation
- Bing flyout 仪表板兜底请求从 retries: 0 改为 retries: 2, 连接类错误(如 TLS 握手 EOF)可由 Http 层退避重试 - BrowserSearch 每次搜索后的积分测量失败时,只记为本轮未得分并继续, 下一次成功测量会补算累计增量,不再因一次异常放弃剩余搜索积分 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
在国内网络下,必应搜索阶段偶发一次网络抖动就会让整个搜索会话直接结束,剩余的搜索积分当天拿不到。
实际日志(v4.3.2.4,2026-11-03):桌面端 60 分做到第 9 次搜索时出现一次 TLS 握手中断,随后会话退出,
remaining=36被放弃:原因
Dashboard data missing from API response,因此运行期间一直走 Bing flyout 兜底;而getFlyoutDashboardData的请求写死了retries: 0,一次连接错误就直接抛出。BrowserSearch.runSearchSession循环里每次搜索后调用tracker.measure()查积分进度,这里抛出的异常被最外层catch接住,整个 while 循环退出。改动
src/browser/BrowserFunc.ts:flyout 兜底请求改为retries: 2。Http.send对 4xx 永久错误本来就不重试,所以只会对连接类错误 / 5xx 做退避重试。src/functions/activities/search/BrowserSearch.ts:把 Cookie 回写 +measure()包进 try/catch。失败时打一条 WARN,本轮记为未得分(计入stagnant,仍受stagnantLimit兜底),然后继续下一次搜索。PointsTracker.measure()失败时不会更新this.missing,下一次成功测量会把累计增量一起算回来,不会漏计积分。这个处理方式和BonusTracker.measure()现有的"失败返回 0"保持一致。两处改动共 +14/-3 行,不涉及配置项。
验证
tsc编译、eslint 通过查询积分进度失败,继续下一次搜索。🤖 Generated with Claude Code