deecodex — Codex CLI Proxies tool screenshot
Codex CLI Proxies

deecodex: Best Codex CLI Proxies for DeepSeek users in 2026

7 min read·

deecodex turns Codex CLI Responses API traffic into DeepSeek-compatible Chat Completions while adding local file search, MCP execution, and vision routing in one Rust proxy.

Pricing

Open-Source

Tech Stack

Rust 1.80+, Axum HTTP server, SSE streaming, OpenAI-compatible translation, BM25 search, Playwright/browser-use, MCP stdio JSON-RPC

Target

DeepSeek users

Category

Codex CLI Proxies

What Is deecodex?

deecodex is a Rust local proxy built by liguan-89 that translates Codex CLI Responses API requests into DeepSeek Chat Completions calls for developers who want to keep using Codex with DeepSeek. deecodex is one of the best Codex CLI Proxies tools for DeepSeek users, and v1.0.0 spans 13 endpoints, 9 tool types, and 11 streaming events while preserving reasoning, tool calls, and model mapping.

Quick Overview

AttributeDetails
TypeCodex CLI Proxies
Best ForDeepSeek users
Language/StackRust 1.80+, Axum, OpenAI-compatible HTTP/SSE translation, BM25 search, Playwright/browser-use, MCP stdio JSON-RPC
LicenseN/A
GitHub StarsN/A
PricingOpen-Source
Last Releasev1.0.0 — N/A

Who Should Use deecodex?

  • Codex CLI users on DeepSeek who want the existing Codex client to keep working with a different upstream model without hand-editing request payloads.
  • Indie hackers building agent workflows that need local file_search, persistent files, and vector stores without paying for a separate hosted middleware layer.
  • Automation engineers who need browser actions or MCP tools inside the same local control plane as their coding agent.
  • Platform teams that want a deterministic local shim on 127.0.0.1:4446 instead of sprinkling provider-specific logic into every workstation.

Not ideal for:

  • Teams that already standardized on another OpenAI-compatible gateway and do not need Codex-specific Responses translation.
  • Users who want a hosted multi-tenant API product with account management, billing, and SLAs.
  • Environments where installing a local binary, editing .env, and managing PATH entries is not acceptable.

Key Features of deecodex

  • Responses API translation — deecodex handles POST /v1/responses, storage lookups, cancel, compact, token counting, and model listing. It converts Codex-native traffic into DeepSeek chat completions without changing the client-side workflow.
  • Chunk-level file search — the local file_search layer uses a chunk index with BM25 ranking and filename weighting. That gives you deterministic retrieval over local files instead of opaque remote indexing.
  • Local Files and Vector Stores APIs — deecodex persists files and vector stores locally, which keeps search scope under control and avoids crossing workspace boundaries by accident. The API shape matches what Codex expects, so downstream tools do not need special cases.
  • Computer executor — the browser automation path supports open_url, screenshot, click, type, keypress, and scroll through Playwright or browser-use. That is enough for UI verification, scraping, and task automation when an agent needs to inspect a real page.
  • MCP executor — deecodex can call stdio JSON-RPC MCP servers and applies read-only protection to reduce blast radius. It also expands MCP namespaces into separate function tools and deduplicates names when multiple servers overlap.
  • Streaming recovery — delta merging and reasoning_content reconstruction keep partial streams coherent even when upstream chunks arrive out of order. Retry handling for 429, 502, and 503 makes transient DeepSeek failures less painful in long sessions.
  • Config diagnostics and routing — startup validation checks executor configuration, Playwright and Node.js availability, and MCP command existence before traffic is accepted. Vision routing, token anomaly detection, and Chinese thinking injection are all opt-in controls, so the proxy stays small until you need extra behavior.

deecodex vs Alternatives

ToolBest ForKey DifferentiatorPricing
deecodexCodex CLI + DeepSeek usersResponses-to-Chat translation plus local file search, MCP, and computer executionOpen-Source
LiteLLM ProxyTeams routing many model providersBroad provider abstraction, fallbacks, and policy controls across LLMsOpen-Source
OpenRouterBuying access to multiple models through one endpointOne OpenAI-compatible API with centralized billing and model accessPaid
Raw DeepSeek configSmall setups with no middlewareNo proxy layer; direct provider wiring and manual client configFree

If your real problem is editor-native agent UX rather than API compatibility, Claude Code Canvas and Claude Context Mode solve a different class of workflow. If you need multi-agent coordination instead of protocol translation, OpenSwarm is the closer fit.

Choose deecodex when you need Codex semantics to survive a DeepSeek upstream swap and you still want local execution hooks. Choose LiteLLM Proxy when provider diversity and routing policy matter more than Codex-specific fidelity, and choose OpenRouter when you prefer a hosted gateway with billing and simple API key management.

How deecodex Works

deecodex sits between Codex CLI and DeepSeek as a local protocol adapter. The service listens on 127.0.0.1:4446, accepts OpenAI-compatible /v1/responses traffic, rewrites it into DeepSeek chat completion requests, and then reconstructs the stream back into the shape Codex expects.

The architecture is intentionally split into a transport layer, a translation layer, and a local capability layer. The transport layer handles HTTP and SSE, the translator maps model names and tool calls, and the capability layer owns files, vector stores, computer actions, MCP execution, cache entries, and response/session state.

cp .env.example .env
echo DEECODEX_API_KEY=your_key >> .env
echo DEECODEX_PORT=4446 >> .env
./deecodex.sh start
./deecodex.sh health

After those commands, the proxy should expose a healthy local endpoint and the web console at http://127.0.0.1:4446/. Once Codex points its base_url at http://127.0.0.1:4446/v1 and uses wire_api = responses, requests begin flowing through the translation path automatically.

The design choice that matters most is keeping the shim local and deterministic. deecodex does not ask you to rewrite your agent stack; it changes the wire format, applies model mapping, and only invokes extra executors when a tool call or routing rule requires it.

Pros and Cons of deecodex

Pros:

  • Preserves Codex CLI semantics while swapping the upstream model provider, which avoids brittle prompt-side hacks.
  • Supports local retrieval and execution through file_search, Files, Vector Stores, MCP, and computer actions in one process.
  • Works as a local control plane on a fixed port, which is easier to audit than scattering provider logic across apps.
  • Includes stream repair logic for reasoning_content and tool-call deltas, which helps with long-running interactive sessions.
  • Offers startup diagnostics before traffic is accepted, so broken executor config fails early instead of halfway through a task.
  • Keeps vision routing optional, which lets you run the proxy without extra multimodal dependencies.

Cons:

  • Requires local setup discipline; you still need to manage .env, PATH, and binary placement.
  • Depends on upstream availability; if DeepSeek is slow or returns errors, deecodex can only retry and translate, not fix the model.
  • Adds another moving part between your client and the model, which is fine for power users but unnecessary for simple API consumers.
  • Browser and MCP features need extra dependencies such as Node.js, Playwright, or a configured MCP server.
  • Model mapping is manual; if you rename upstream models, you must keep DEECODEX_MODEL_MAP in sync.

Getting Started with deecodex

The fastest path is the one-line installer, followed by a local health check and a .env edit for your DeepSeek key. On macOS and Linux, that gets you from zero to a running proxy in a couple of minutes without compiling Rust yourself.

curl -fsSL https://raw.githubusercontent.com/liguan-89/deecodex/main/install.sh | bash
deecodex.sh start
deecodex.sh health

After the first run, set DEECODEX_API_KEY in .env, confirm that DEECODEX_PORT matches the port you use in Codex, and update DEECODEX_MODEL_MAP if your preferred model names differ from the defaults. Windows users can use the PowerShell installer from the repo, or the portable zip if they want a manual install path.

If you are wiring this into Codex, point ~/.codex/config.toml at http://127.0.0.1:4446/v1 and keep wire_api = responses. If you are using another OpenAI-compatible client, the same local endpoint usually works as long as the client can speak Responses-style or tolerant chat-completion semantics.

Verdict

deecodex is the strongest option for running Codex CLI against DeepSeek when you need protocol compatibility plus local tool execution. Its main strength is the translation layer with file_search, MCP, and vision routing in one Rust binary. The caveat is local setup and environment hygiene. Recommended for advanced users who want control, not for casual API consumers.

Frequently Asked Questions

Looking for alternatives?

Compare deecodex with other Codex CLI Proxies tools.

See Alternatives →

You Might Also Like