-
-
Notifications
You must be signed in to change notification settings - Fork 2k
[Bug]版本更新后模型调用完skills出现大段报错。 #7044
Description
What happened / 发生了什么
调用自己写了个生图的skills,跑完也能正常返图。然后到最后突然出现一大段报错,偶发状况,有时候不会。没更新版本前也不会这样。
Reproduce / 如何复现?
调用比较复杂的skills,使用ChatGPT的模型。
AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
AstrBot 版本:v4.22.1
部署方式:uv包管理器
使用的提供商:第三方中转
使用的消息平台适配器:QQ机器人(websocket)
OS
Linux
Logs / 报错日志
[2026-03-27 17:01:38.904] [Core] [INFO] [runners.tool_loop_agent_runner:867]: Tool `astrbot_execute_shell` Result: {"stdout": "done\n/opt/Astrbot/data/skills/google-gemini-image-native/tmp/gemini_image_1774602084830250449.jpg\n", "stderr": "", "exit_code": 0} [2026-03-27 17:01:43.030] [Core] [INFO] [runners.tool_loop_agent_runner:640]: Agent 使用工具: ['send_message_to_user'] [2026-03-27 17:01:43.030] [Core] [INFO] [runners.tool_loop_agent_runner:686]: 使用工具:send_message_to_user,参数:{'messages': [{'type': 'plain', 'text': '老板 看我 ', 'path': '', 'url': '', 'mention_user_id': ''}, {'type': 'image', 'text': '', 'path': '/opt/Astrbot/data/skills/google-gemini-image-native/tmp/gemini_image_1774602084830250449.jpg', 'url': '', 'mention_user_id': ''}]} [2026-03-27 17:01:46.912] [Core] [INFO] [runners.tool_loop_agent_runner:867]: Tool `send_message_to_user` Result: Message sent to session 小紫:FriendMessage:14E3029D523DE1F0618BDFD3B397066B [2026-03-27 17:01:47.949] [Core] [ERRO] [v4.22.1] [sources.openai_source:577]: API 返回的 completion 无法解析:ChatCompletion(id='resp_0a1381086d7f357e0169c6477f6ea08193acd82d53874734ed', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=None, refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None, reasoning_content=None), native_finish_reason='stop')], created=1774602111, model='gpt-5.3-codex', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=4, prompt_tokens=13783, total_tokens=13787, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=13568)))。 [2026-03-27 17:01:47.950] [Core] [WARN] [v4.22.1] [runners.tool_loop_agent_runner:283]: Chat Model CMAmc/gpt-5.3-codex request error: API 返回的 completion 无法解析:ChatCompletion(id='resp_0a1381086d7f357e0169c6477f6ea08193acd82d53874734ed', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=None, refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None, reasoning_content=None), native_finish_reason='stop')], created=1774602111, model='gpt-5.3-codex', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=4, prompt_tokens=13783, total_tokens=13787, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=13568)))。 Traceback (most recent call last): File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/agent/runners/tool_loop_agent_runner.py", line 258, in _iter_llm_responses_with_fallback async for resp in self._iter_llm_responses(include_model=idx == 0): File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/agent/runners/tool_loop_agent_runner.py", line 235, in _iter_llm_responses yield await self.provider.text_chat(**payload) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/provider/sources/openai_source.py", line 803, in text_chat ) = await self._handle_api_error( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/provider/sources/openai_source.py", line 754, in _handle_api_error raise e File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/provider/sources/openai_source.py", line 791, in text_chat llm_response = await self._query(payloads, func_tool) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/provider/sources/openai_source.py", line 285, in _query llm_response = await self._parse_openai_completion(completion, tools) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.local/share/uv/tools/astrbot/lib/python3.12/site-packages/astrbot/core/provider/sources/openai_source.py", line 578, in _parse_openai_completion raise Exception(f"API 返回的 completion 无法解析:{completion}。") Exception: API 返回的 completion 无法解析:ChatCompletion(id='resp_0a1381086d7f357e0169c6477f6ea08193acd82d53874734ed', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content=None, refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None, reasoning_content=None), native_finish_reason='stop')], created=1774602111, model='gpt-5.3-codex', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=4, prompt_tokens=13783, total_tokens=13787, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=0, rejected_prediction_tokens=None), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=13568)))。
Are you willing to submit a PR? / 你愿意提交 PR 吗?
- Yes!
Code of Conduct
- I have read and agree to abide by the project's Code of Conduct。