From 5f3605fd8598c73056d799d70a760275a7bdb684 Mon Sep 17 00:00:00 2001 From: kevinchennewbee <200705279@qq.com> Date: Thu, 11 Jun 2026 11:30:00 +0800 Subject: [PATCH] fix(vision): respect versioned api bases in openai-compat url join apibase like https://ark.cn-beijing.volces.com/api/coding/v3 already carries its version segment; blindly appending /v1/chat/completions 404s on such endpoints. Append only /chat/completions when the base ends with /v. Verified against Volcengine coding-plan endpoint (previously 404, now works). --- memory/vision_api.template.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/memory/vision_api.template.py b/memory/vision_api.template.py index cfa4ff15b..fb5fe013d 100644 --- a/memory/vision_api.template.py +++ b/memory/vision_api.template.py @@ -1,4 +1,4 @@ -import base64, requests, sys, os +import base64, re, requests, sys, os from io import BytesIO from pathlib import Path @@ -96,7 +96,7 @@ def _call_claude(b64, prompt, timeout, max_tokens=1024): def _call_openai_compat(b64, prompt, timeout, *, apibase, apikey, model, proxy=None): proxies = {'https': proxy, 'http': proxy} if proxy else None resp = requests.post( - apibase.rstrip('/') + '/v1/chat/completions', + apibase.rstrip('/') + ('/chat/completions' if re.search(r'/v\d+$', apibase.rstrip('/')) else '/v1/chat/completions'), json={'model': model, 'messages': [{ 'role': 'user', 'content': [