From 3e860c16e0dbec476772b60978b4b20ee70c4034 Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Fri, 21 Aug 2026 03:28:50 +0000 Subject: [PATCH] =?UTF-8?q?fix(aibox):=20resolve=5Fapi=5Fkey=20=E7=9A=84?= =?UTF-8?q?=20USERPROFILE=20=E5=85=9C=E5=BA=95=E6=B1=82=E5=80=BC=E5=BF=85?= =?UTF-8?q?=E6=8A=9B=20KeyError?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit os.environ.get("HOME", os.environ["USERPROFILE"]) 的 default 参数会 无条件先求值,无 USERPROFILE 变量的 Linux 上必抛 KeyError 并被吞掉, 导致 ~/.cert/deepseek.key 回退路径永远不可达。改为 or 短路写法。 --- aibox/llm_client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aibox/llm_client.py b/aibox/llm_client.py index c095279..b420ffb 100644 --- a/aibox/llm_client.py +++ b/aibox/llm_client.py @@ -527,7 +527,9 @@ def resolve_api_key(api_key: Optional[str], config=None, f"模型档案端点缺少 API Key:请设置环境变量 {env_name}," f"或将该档案的 api_key_env 配置为空串以启用本地免密端点") try: - home = os.environ.get("HOME", os.environ["USERPROFILE"]) + # dict.get 的 default 参数会无条件先求值,直接写 os.environ["USERPROFILE"] + # 在无该变量的 Linux 上必抛 KeyError,导致 key 文件回退路径永远不可达 + home = os.environ.get("HOME") or os.environ.get("USERPROFILE") key_path = os.path.join(home, ".cert", "deepseek.key") with open(key_path, "r") as f: return f.read().strip()