Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/cazama1_codex-app-with-deepseek-perfectly.json
T

1 line
4.6 KiB
JSON

{"repo": "cazama1/codex-app-with-deepseek-perfectly", "files": {"codex-relay/README.md": {"268916da18f273e35cce0dc43df3aea6bdbf5481": {"t": 1785674078.7305439, "n": 2962, "h": "c5e91f04b0f44d2e", "c": "# codex-relay\n\nA lightweight Rust proxy that translates the OpenAI **Responses API** (used by [Codex CLI](https://github.com/openai/codex)) into the **Chat Completions API**, letting Codex work with any OpenAI-compatible provider — DeepSeek, Kimi, Qwen, Mistral, Groq, xAI, OpenRouter, and more.\n\n## Why\n\nCodex CLI speaks the OpenAI Responses API, which is an OpenAI-proprietary stateful protocol. Every other provider exposes the standard Chat Completions API. `codex-relay` sits between Codex and your chosen provider, translating on the fly — no code changes to Codex required.\n\n## Install\n\n```bash\n# From PyPI — prebuilt binary for your platform\npip install codex-relay\n\n# From crates.io\ncargo install codex-relay\n```\n\n## Quick start\n\n**1. Start the relay**\n\n```bash\nCODEX_RELAY_UPSTREAM=https://api.deepseek.com/v1 \\\nCODEX_RELAY_API_KEY=$DEEPSEEK_API_KEY \\\nCODEX_RELAY_PORT=4446 \\\ncodex-relay\n```\n\n**2. Configure Codex** (`~/.codex/config.toml`)\n\n```toml\nmodel = \"deepseek-chat\"\nmodel_provider = \"deepseek-relay\"\n\n[model_providers.deepseek-relay]\nname = \"DeepSeek\"\napi_base_url = \"http://127.0.0.1:4446/v1\"\nenv_key = \"DEEPSEEK_API_KEY\"\n```\n\n**3. Use Codex normally** — it routes through the relay transparently.\n\n## Supported providers\n\n| Provider | Base URL | Suggested port |\n|---|---|---|\n| DeepSeek | `https://api.deepseek.com/v1` | 4446 |\n| Kimi (Moonshot) | `https://api.moonshot.cn/v1` | 4447 |\n| Qwen | `https://dashscope.aliyuncs.com/compatible-mode/v1` | 4448 |\n| Mistral | `https://api.mistral.ai/v1` | 4449 |\n| Groq | `https://api.groq.com/openai/v1` | 4450 |\n| xAI | `https://api.x.ai/v1` | 4451 |\n| OpenRouter | `https://openrouter.ai/api/v1` | 4452 |\n\nAny OpenAI-compatible endpoint works.\n\n## Features\n\n- **Streaming** — full SSE streaming with correct event sequencing\n- **Tool calls** — accumulates streaming deltas and emits structured function_call items\n- **Parallel tool calls** — consecutive function_call input items merged into one assistant message\n- **Reasoning models** — preserves `reasoning_content` across turns (Kimi k2.6, DeepSeek-R1)\n- **Model catalog** — proxies `/v1/models` from the upstream provider\n\n## Configuration\n\n| Variable | Default | Description |\n|---|---|---|\n| `CODEX_RELAY_PORT` | `4444` | Port to listen on |\n| `CODEX_RELAY_UPSTREAM` | `https://openrouter.ai/api/v1` | Upstream Chat Completions base URL |\n| `CODEX_RELAY_API_KEY` | _(empty)_ | API key forwarded to upstream |\n| `RUST_LOG` | `codex_relay=info` | Log verbosity |\n\n## Python API\n\n```python\nfrom codex_relay import start\n\nproc = start(port=4446, upstream=\"https://api.deepseek.com/v1\", api_key=\"sk-...\")\n# ... use Codex ...\nproc.terminate()\n```\n\n## Disclaimer\n\nThis project is **not affiliated with, endorsed by, or sponsored by OpenAI**. \"Codex\" refers to [OpenAI Codex CLI](https://github.com/openai/codex), an open-source project licensed under Apache-2.0. codex-relay is an independent, community-built translation proxy.\n\n## License\n\nMIT\n"}}, "config.toml": {"268916da18f273e35cce0dc43df3aea6bdbf5481": {"t": 1785745318.128667, "n": 543, "h": "67025793e5198ba1", "c": "model_provider = \"deepseek-relay\"\nmodel = \"deepseek-v4-pro\"\nreview_model = \"deepseek-v4-flash\"\nmodel_reasoning_effort = \"xhigh\"\ndisable_response_storage = true\nnetwork_access = \"enabled\"\nwindows_wsl_setup_acknowledged = true\nmodel_context_window = 1000000\nmodel_auto_compact_token_limit = 900000\n\n[model_providers.deepseek-relay]\nname = \"DeepSeek\"\nbase_url = \"http://127.0.0.1:4445/v1\"\nenv_key = \"DEEPSEEK_API_KEY\"\n\n[model_providers.OpenAI]\nname = \"OpenAI\"\nbase_url = \"https://ai.laodog.top\"\nwire_api = \"responses\"\nrequires_openai_auth = true\n"}, "16770df75778f3c78b22275e7bf5d418f8ed41f8": {"t": 1785750094.8185353, "n": 543, "h": "67025793e5198ba1", "c": "model_provider = \"deepseek-relay\"\nmodel = \"deepseek-v4-pro\"\nreview_model = \"deepseek-v4-flash\"\nmodel_reasoning_effort = \"xhigh\"\ndisable_response_storage = true\nnetwork_access = \"enabled\"\nwindows_wsl_setup_acknowledged = true\nmodel_context_window = 1000000\nmodel_auto_compact_token_limit = 900000\n\n[model_providers.deepseek-relay]\nname = \"DeepSeek\"\nbase_url = \"http://127.0.0.1:4445/v1\"\nenv_key = \"DEEPSEEK_API_KEY\"\n\n[model_providers.OpenAI]\nname = \"OpenAI\"\nbase_url = \"https://ai.laodog.top\"\nwire_api = \"responses\"\nrequires_openai_auth = true\n"}}}}