fix: AIUI proxy graceful error without API key, deploy proxy parity
Claude proxy no longer crashes when ANTHROPIC_API_KEY is not set. Instead serves a 401 with a helpful message telling users to configure their API key in Settings. Fixes blank AIUI on fresh installs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
81b4db82d1
commit
7fdb85713a
@ -2181,6 +2181,9 @@ class Handler(http.server.BaseHTTPRequestHandler):
|
||||
m = data.get("model", "")
|
||||
if m in MODEL_MAP: data["model"] = MODEL_MAP[m]
|
||||
body = json.dumps(data).encode()
|
||||
if not API_KEY:
|
||||
err = json.dumps({"type":"error","error":{"type":"auth_error","message":"AIUI not configured. Set your Anthropic API key in Settings > AIUI to enable AI chat."}}).encode()
|
||||
self.send_response(401); self.send_header("Content-Type","application/json"); self.send_header("Content-Length",str(len(err))); self.end_headers(); self.wfile.write(err); return
|
||||
headers = {"Content-Type":"application/json","x-api-key":API_KEY,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"}
|
||||
for h in ["anthropic-version","anthropic-beta"]:
|
||||
if self.headers.get(h): headers[h] = self.headers[h]
|
||||
@ -2210,7 +2213,7 @@ class Handler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_response(200); self.send_header("Content-Type","application/json"); self.end_headers(); self.wfile.write(b'{"status":"ok"}')
|
||||
else: self.send_response(404); self.end_headers()
|
||||
def log_message(self, fmt, *args): pass
|
||||
if not API_KEY: print("ERROR: ANTHROPIC_API_KEY not set — configure via setup-aiui-server.sh"); sys.exit(1)
|
||||
if not API_KEY: print("WARNING: ANTHROPIC_API_KEY not set — AIUI will return setup instructions")
|
||||
server = http.server.HTTPServer(("127.0.0.1", PORT), Handler)
|
||||
print(f"Claude API proxy on port {PORT}")
|
||||
server.serve_forever()
|
||||
|
||||
@ -687,6 +687,9 @@ class Handler(http.server.BaseHTTPRequestHandler):
|
||||
m = data.get("model", "")
|
||||
if m in MODEL_MAP: data["model"] = MODEL_MAP[m]
|
||||
body = json.dumps(data).encode()
|
||||
if not API_KEY:
|
||||
err = json.dumps({"type":"error","error":{"type":"auth_error","message":"AIUI not configured. Set your Anthropic API key in Settings > AIUI to enable AI chat."}}).encode()
|
||||
self.send_response(401); self.send_header("Content-Type","application/json"); self.send_header("Content-Length",str(len(err))); self.end_headers(); self.wfile.write(err); return
|
||||
headers = {"Content-Type":"application/json","x-api-key":API_KEY,"anthropic-version":"2023-06-01","anthropic-dangerous-direct-browser-access":"true"}
|
||||
for h in ["anthropic-version","anthropic-beta"]:
|
||||
if self.headers.get(h): headers[h] = self.headers[h]
|
||||
@ -716,7 +719,7 @@ class Handler(http.server.BaseHTTPRequestHandler):
|
||||
self.send_response(200); self.send_header("Content-Type","application/json"); self.end_headers(); self.wfile.write(b"{\"status\":\"ok\"}")
|
||||
else: self.send_response(404); self.end_headers()
|
||||
def log_message(self, fmt, *args): pass
|
||||
if not API_KEY: print("ERROR: ANTHROPIC_API_KEY not set"); sys.exit(1)
|
||||
if not API_KEY: print("WARNING: ANTHROPIC_API_KEY not set — AIUI will return setup instructions")
|
||||
server = http.server.HTTPServer(("127.0.0.1", PORT), Handler)
|
||||
print(f"Claude API proxy on port {PORT}")
|
||||
server.serve_forever()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user