Set up ChineseModels in my Windows Codex installation so I can select every available text/chat model and its supported thinking options.

API base URL: https://chinesemodels.ai/v1
Model discovery: GET /models with Authorization: Bearer <my key>
Chat endpoint: POST /chat/completions
Default model: DeepSeek-V4-Flash
Guide: https://chinesemodels.ai/documentation/codex
Windows adapter: https://chinesemodels.ai/downloads/chinesemodels-codex-windows.zip

Do the setup, not just explain it:
1. Detect my installed Codex version and CODEX_HOME. Back up existing configuration and preserve unrelated settings.
2. Download and inspect the adapter. Use an existing local ChineseModels credential if available; otherwise give me the installer's secure local key-entry step. Never print my key or put it in documentation, source code, or a browser URL.
3. Run install-windows.ps1. It prepares a separate profile and a loopback-only Responses-to-Chat-Completions adapter; it does not activate the main app. Store the key using Windows DPAPI.
4. Refresh the authenticated model list. Include all text/chat candidates, preserving exact model IDs. Exclude image and video generators, including any incorrectly tagged as chat. A listed model is not proof of Codex tool compatibility.
5. Configure model-specific thinking choices from capabilities.mjs. Do not show a thinking-off option for always-thinking models or invent effort tiers. Preserve reasoning and complete assistant/tool history across turns.
6. Test text, thinking, streaming, namespaced/custom tools, and a tool-result round trip. Verify model/list using my actual Codex binary and configuration. Report untested models or limitations honestly.
7. Preserve my main OpenAI provider and catalog so Astra and other OpenAI models remain available. Use the separate ChineseModels profile. Do not merge the provider/catalog into my main config: this replaces the normal picker rather than adding a second provider.
8. Give me the launch command: codex --no-daemon --profile chinesemodels. In that fresh session use /model to select a model and effort. Normal codex sessions retain OpenAI models. Give me the model-refresh command.

Keep the full upstream model list separate from the text-model picker. Do not change my sandbox/approval settings or publish anything.
