mrkeyoor.com_
Thu 01 Oct 08:17 UTC
Self-Hostedevaluationupdated 01 Oct 2026

fanzha-ai-proxy review

Fanzha AI Proxy is documented in Chinese, and we found no English README. It turns the Chinese National Anti-Fraud AI assistant into a small OpenAI-compatible HTTP service for chat clients that cannot call the original mobile-app backend directly.

Verdict

Our Fanzha AI Proxy run installed 50 packages in 18 seconds and built in 6 seconds, but the repository supplied no test target, release, or detected license. Use it as a Chinese-language experiment on a trusted machine if you already have a legitimate app token. Do not make it an unattended public gateway until you have added authentication, tests, secret handling, and a plan for upstream changes.

We ran it

Lab card: what happened when we ran fanzha-ai-proxyScreenshot of fanzha-ai-proxy (github.com/lfzk550/fanzha-ai-proxy)
Install✓ · 18s50 packages · 49 MB
Build✓ · 6s
Testsn/ano test script
Known vulns0(pip-audit)
Repo6 files~264 lines of source · 0 MB · 0 CI workflows

Answers from our run

Does fanzha-ai-proxy build from source?

Dependencies installed in 18 seconds (50 packages), and the build succeeded in 6 seconds. We cloned commit 3ebb428 into a clean Debian container with 3 CPUs and no project-specific setup.

Does fanzha-ai-proxy have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does fanzha-ai-proxy have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use fanzha-ai-proxy?

Teams that need English setup material: the 5,154-byte README is in Chinese and provides no English section.

What are the alternatives to fanzha-ai-proxy?

LiteLLM, Portkey AI Gateway, New API. Our Fanzha AI Proxy run installed 50 packages in 18 seconds and built in 6 seconds, but the repository supplied no test target, release, or detected license.

Setup3/5Fast install, but token extraction and env loading need manual work
Docs2/5Useful Chinese guide, but no English docs and a misleading env step
Community2/5566 stars, but no issues, pull requests, or release history
Maturity1/5Six source files with no tests, CI, release, or detected license

Who it’s for

Chinese-speaking developers experimenting with the National Anti-Fraud AI assistant through an OpenAI-style client.
People who can obtain their own app access token and keep the proxy bound to a trusted machine.
Tinkerers who need streamed or non-streamed chat completions, rather than a broad OpenAI API replacement.

Who it’s NOT for

Teams that need English setup material: the 5,154-byte README is in Chinese and provides no English section.
Anyone unwilling or unable to extract an app token: the README's preferred method needs Android debugging, root access, a copied SQLite database, and sqlite3.
Production services that require a maintained release trail or an explicit open-source license: GitHub reports no detected license, and the repository has no releases.
Developers expecting the copied .env file to work by itself: the README tells you to copy it, while main.py reads process variables without loading that file.
Buyers seeking a full OpenAI substitute: the README documents only model listing and chat-completion routes.

Setup reality

Our sandbox installed commit 3ebb428 in 18 seconds, adding 50 Python packages and using 49 MB on disk. The build step succeeded in 6 seconds. There was no test script or target, so tests were skipped; pip-audit found 0 known vulnerabilities.

A useful request still needs a National Anti-Fraud AI access token obtained from the Android app. A refresh token is optional. The README says to copy .env.example, but the program reads process variables directly and does not load that file itself, so export the values or use a process manager that loads them.

Python 3.9 or newer is documented. The server binds to 127.0.0.1:8088 by default and depends on the upstream government service. There is no Dockerfile, CI workflow, test directory, release, or detected license.

Two routes wrap one upstream anti-fraud assistant

Fanzha AI Proxy exposes model-listing and chat-completion routes shaped for OpenAI clients. A request creates a conversation against the Chinese National Anti-Fraud AI backend, forwards the latest user message, and converts the upstream event stream into OpenAI-style chunks. Both streaming and collected responses are supported. The narrow scope is the point: a client such as NextChat or Codex CLI can talk to this particular assistant without knowing its mobile-app protocol.

Compatibility stops well short of the full OpenAI platform. The README documents /v1/models and /v1/chat/completions, plus unprefixed aliases. There are no embeddings, image, audio, file, batch, or Responses endpoints. The proxy also reduces a conversation to the most recent user message before sending it upstream, so a client may display a multi-turn chat while the backend receives only one extracted prompt per request.

The 49 MB install is easier than obtaining the token

Our installation used 49 MB after adding 50 packages, which is modest for a Python API service. The operational hurdle sits outside pip: every useful chat needs an access token from the official Android application. The README's preferred extraction path enables USB debugging, uses root to copy the app's private SQLite database, pulls that file with ADB, and queries it with sqlite3. Two packet-inspection methods are also described.

The service accepts a token from each request or falls back to a process-level token. An optional refresh token can renew the stored credential. Those values grant access to an account-backed government service, so they deserve the same treatment as any other production secret. Binding to the default 127.0.0.1:8088 limits exposure. Changing the host to a public interface without another authentication layer would let callers reach the proxy and could put the configured credential at risk.

What happened when we ran it

Our fresh Debian sandbox installed commit 3ebb428 in 18 seconds. The environment had 3 CPUs, 8 GB of RAM, Python 3.12, no secrets, and no elevated privileges. Installation succeeded with 50 packages and a 49 MB disk footprint. The build step also succeeded, taking 6 seconds. Pip-audit reported 0 known vulnerabilities in the installed dependency set.

The repository had 6 files, about 264 lines of source, and a checkout size reported as 0 MB by the lab. No test script or test target existed, so we skipped tests rather than inventing a command. Our scan also found 0 CI workflow files, no Dockerfile, and no tests directory. These results say the code installs and builds. They do not show that a real token works, that the upstream answers correctly, or that streaming survives a long session.

Copying .env does not configure version 1.1.0

The README tells the user to copy .env.example to .env, but main.py never calls a dotenv loader. Version 1.1.0 reads FANZHA_ACCESS_TOKEN, FANZHA_REFRESH_TOKEN, HOST, PORT, and DEFAULT_MODEL straight from the process environment. Following the copy step alone therefore leaves the token empty. Export the variables in the shell or configure them in the service manager that starts Python.

There is a second piece of configuration debris: config.example.json contains host, port, model, and token keys, but the 264-line program never reads that file. Neither mismatch is difficult to work around. Together, they show that setup instructions have not been checked against the exact startup path. The clone command also names a different GitHub owner from the repository being reviewed, another small sign that you should verify every copied command.

Zero tests and zero releases make upstream drift your problem

GitHub showed 566 stars and 0 open issues or pull requests on October 1, 2026. The last push was September 7, 2026, the same date attached to this very young repository's public history. There is no latest release, and GitHub detects no license. That combination is enough for a personal experiment, but it gives a company no versioned upgrade point or stated permission terms to build policy around.

The missing tests matter because this proxy translates somebody else's private protocol. Session creation, token renewal, event fields, and endpoint paths can change without an OpenAI client changing at all. A health route only confirms that the local process is alive. Before depending on it, add a mocked upstream suite for both response modes and a secret-safe integration check using an authorized account. Otherwise, a valid HTTP 200 can hide a fallback Chinese greeting rather than a real upstream answer.

Six files belong on a trusted box, away from shared traffic

The project's own README limits its 6 files to technical exchange, academic research, and personal learning, and says it is unaffiliated with the official application. That boundary matches what the code can support today. One Python file is easy to read and alter. A 6-second build also makes local experimentation cheap. None of that supplies service terms, access rights, monitoring, or a maintenance contract for the upstream.

For a Chinese-speaking developer with an authorized token, Fanzha AI Proxy is a direct way to test the assistant from an OpenAI-shaped client. For a team choosing shared AI infrastructure, LiteLLM, Portkey, or New API starts from a broader gateway problem and avoids binding the whole service to one unofficial app integration. This connector suits one specific experiment; a shared service needs a general gateway that can survive an upstream change.

Alternatives

ProjectWhat it isPick it when
LiteLLM gh↗An OpenAI-compatible gateway covering many model providers with routing and policy controls.pick this instead when you need a supported multi-provider gateway rather than one unofficial mobile-app backend.
Portkey AI GatewayA gateway for routing, retries, fallbacks, and observability across AI providers.pick this instead when production traffic controls matter more than access to the National Anti-Fraud assistant.
New API gh↗A self-hosted model gateway with account, channel, and quota management.pick this instead when multiple users or upstream channels need administration through a web interface.

What people are saying

  1. [velocity-scout] lfzk550/fanzha-ai-proxy

Sources

  1. Fanzha AI Proxy README
  2. Fanzha AI Proxy source
  3. Fanzha AI Proxy repository metadata

More self-hosted reviews

Spun · bankmcp · 8086-xcheck-system · homarr · search-plugins · vphone-web · the whole board →