全程云库模式(cloud_always) + 修正 chessdb 分数口径为行棋方视角(去掉多余翻转); 油猴 v1.6.0 加'全程'开关

This commit is contained in:
AwesomeXiangQi committed 2026-09-13 14:22:05 +08:00
1 parent 06747bf76c
commit 1ed6a176cb
3 files changed
+32 -18

No files matched your search

+8 -4
View File
@@ -31,15 +31,18 @@ class Service:
await self.engine.quit()
await self.cloud.close()
async def bestmove(self, moves_site, fen=None, movetime=None, depth=None, req_cloud=None):
async def bestmove(self, moves_site, fen=None, movetime=None, depth=None,
req_cloud=None, cloud_always=None):
moves_ucci = [site_to_ucci(m) for m in moves_site]
fen = fen or fen_from_moves(moves_ucci)
# 1. 云库优先(请求可显式关闭; 深度模式强制引擎)
# 1. 云库优先(请求可显式关闭; 全程云库模式无视分数门槛和深度强制)
use_cloud = req_cloud if req_cloud is not None else True
if use_cloud and not depth:
if use_cloud:
try:
cloud_hit = await self.cloud.best(fen, moves_count=len(moves_ucci))
cloud_hit = await self.cloud.best(
fen, moves_count=len(moves_ucci),
any_score=bool(cloud_always))
except Exception as e:
log.warning('cloud error: %s', e)
cloud_hit = None
@@ -99,6 +102,7 @@ def make_app(args):
movetime=req.get('movetime'),
depth=req.get('depth'),
req_cloud=req.get('cloud'),
cloud_always=req.get('cloud_always'),
)
return web.json_response(out)
except Exception as e: