feat: add Chinese UI, Responses models, and mirrored Windows setup
Localize the web console and persist custom model and capability settings. Use OpenAI Responses exclusively and move runtime limits into environment configuration. Bootstrap uv and the virtual environment on Windows, support optional China mirrors, and package source distributions without environments, build output, or credentials. Update regression tests and repository quality checks for the new behavior.
This commit is contained in:
1 parent
371aa6df56
commit
2ddec53954
183 files changed
+3427
-11857
No files matched your search
@@ -728,7 +728,7 @@ def _all_pass_probes():
|
||||
_probe("toolchain", blocker=False),
|
||||
_probe("android_adb", metadata={"installed": True, "adb_keys": {"is_corrupted": False}}),
|
||||
_probe(
|
||||
"gemini_api_key",
|
||||
"openai_api_key",
|
||||
summary="Active (Gemini)",
|
||||
description="Gemini credential is active (sk-RAW...cdef).",
|
||||
metadata={
|
||||
@@ -815,7 +815,7 @@ def test_cli_doctor_all_pass_renders_table_in_fix_order(monkeypatch):
|
||||
"Title python_runtime",
|
||||
"Title system_config",
|
||||
"Title integration_host",
|
||||
"Title gemini_api_key",
|
||||
"Title openai_api_key",
|
||||
"Title android_adb",
|
||||
"Title toolchain",
|
||||
"Title vision_ocr_key",
|
||||
@@ -917,7 +917,7 @@ def test_cli_doctor_json_shape_and_ready_verdict(monkeypatch):
|
||||
"python_runtime",
|
||||
"system_config",
|
||||
"integration_host",
|
||||
"gemini_api_key",
|
||||
"openai_api_key",
|
||||
"android_adb",
|
||||
"toolchain",
|
||||
"vision_ocr_key",
|
||||
@@ -935,10 +935,10 @@ def test_cli_doctor_json_blocked_verdict_and_exit_code(monkeypatch):
|
||||
"""A blocker that is not PASS makes the verdict 'blocked' and the exit code 1."""
|
||||
import json
|
||||
|
||||
probes = [p for p in _all_pass_probes() if p.id != "gemini_api_key"]
|
||||
probes = [p for p in _all_pass_probes() if p.id != "openai_api_key"]
|
||||
probes.append(
|
||||
_probe(
|
||||
"gemini_api_key",
|
||||
"openai_api_key",
|
||||
status="fail",
|
||||
summary="Key Missing",
|
||||
description="No LLM credential found.",
|
||||
@@ -954,7 +954,7 @@ def test_cli_doctor_json_blocked_verdict_and_exit_code(monkeypatch):
|
||||
assert result.exit_code == 1, result.output
|
||||
doc = json.loads(result.output)
|
||||
assert doc["verdict"] == "blocked"
|
||||
key_check = next(c for c in doc["checks"] if c["id"] == "gemini_api_key")
|
||||
key_check = next(c for c in doc["checks"] if c["id"] == "openai_api_key")
|
||||
assert key_check["status"] == "fail"
|
||||
assert key_check["required"] is True
|
||||
assert key_check["fix"] == [
|
||||
|
||||
Reference in new issue
Block a user