· via Hacker News – Front Page (native)
Nexus-CLI routes Claude Code and other agents to DeepSeek R1 via a free web account
A new Go tool called Nexus-CLI exposes DeepSeek's free web chat as local OpenAI, Anthropic and Ollama endpoints, letting coding agents such as Claude Code use R1 and V3 without a paid API key.
A Go proxy that swaps paid API access for a free web account
A new open-source project called Nexus-CLI has surfaced on the front page of Hacker News. Written in pure Go, it is a CLI utility and local proxy server that lets any OpenAI-, Anthropic- or Ollama-compatible client — including coding agents such as Claude Code, Codex and Aider — talk to DeepSeek's V3 and R1 models through a free chat.deepseek.com web account, with no paid DeepSeek API key required.
According to the project's README, Nexus-CLI was rewritten from scratch in Go after an analysis of two earlier bridge projects, a Node.js one called FreeDeepseekAPI-EN and a Python one called deepseek_bridge. The result is a single binary with zero runtime dependencies; building it requires Go 1.20 or newer.
Proof-of-work in Go is the core trick
The technically interesting part is the proof-of-work solver. DeepSeek's web client presents server challenges before accepting requests, and Nexus-CLI implements the required DeepSeekHashV1 algorithm, a Keccak-based hash, in parallel across CPU cores. The README claims it clears difficulty-144,000 challenges in roughly 40 to 50 milliseconds, with no CGO, WASM or Python involved.
Authentication relies on the web session token. Users can copy the userToken value from the browser's Local Storage, let the tool capture the session automatically from Chrome via the Chrome DevTools Protocol, or supply the token through a .env file. A nexus doctor command validates the token, checks server connectivity, benchmarks the PoW solver and verifies session creation.
Three API dialects on one local port
Running nexus serve starts a local server (the README's examples use port 9655) that exposes:
- POST /v1/chat/completions — the OpenAI chat format, with SSE streaming and plain JSON
- POST /v1/messages — the Anthropic Messages API, which the README claims is fully compatible with Claude Code and the Anthropic SDK
- POST /v1/responses — the OpenAI Responses API
- GET /v1/models, plus capability and session-management endpoints
On top of that, the server emulates the native Ollama API at /api/tags, /api/chat, /api/generate and /api/version, so tools built for Ollama — Open WebUI, Dify, AnythingLLM, LlamaIndex and the official Ollama SDKs — can connect without modification. Structured outputs, including strict JSON and JSON Schema validation, work across the CLI, Ollama and OpenAI endpoints.
Built for coding agents
A launcher command handles the agent ecosystem directly: nexus launch claude starts the proxy in the background and boots Claude Code running on DeepSeek, and similar launchers exist for the official DeepSeek Harness CLI, OpenAI's Codex, OpenCode, Goose, Aider and several other tools. For terminal use there is a REPL that streams R1's reasoning process live with dedicated styling, plus one-off prompts and Unix pipe workflows such as piping a source file into a code-review prompt.
The tool also supports a pool of multiple DeepSeek accounts rotated round-robin to sidestep HTTP 429 rate limits — a hint that free web access comes with quota ceilings of its own.
Why it matters
Coding agents are token-hungry, and API spend has become a real cost for developers who keep tools like Claude Code running all day. A free bridge to capable models such as R1 and V3 is an obvious lure for hobbyists, students and anyone experimenting with agentic workflows on a budget.
The project is also a neat illustration of how the OpenAI, Anthropic and Ollama API surfaces have become de facto standards: implement those three wire formats and you slot into an entire ecosystem of clients and agents with no further integration work.
The catch is that this sits outside any supported integration path. It depends on undocumented behaviour of DeepSeek's web client and could break whenever the company changes it, and arrangements that substitute a personal web account for paid API access often conflict with a provider's terms of service. For anything production-critical, that fragility matters more than the savings; for experimentation, the price is hard to beat.
- #deepseek
- #claude-code
- #golang
- #open-source
- #llm-proxy