mrkeyoor.com_
Fri 16 Oct 18:51 UTC
AI Toolsevaluationupdated 08 Oct 2026

dasheng review

Dasheng is a Chinese-language web app, and its README plus deployment guide do not provide an English translation. It listens while a learner reads English text, aligns the speech-to-text result with the passage, and marks transcript differences, completeness, pace, pauses, and overall meaning; it does not grade pronunciation, stress, or accent.

+0stars / 7d
Verdict

Our Dasheng run installed 282 packages, passed all 6 tests, and built in 10 seconds, but npm audit found 1 critical and 2 high-severity vulnerabilities. The mock mode is useful for evaluating its reading-feedback idea, especially for Chinese-speaking builders. Do not deploy it until the dependency findings are fixed, scoring-text disclosure is accurate, the open scoring defects are resolved, and the owner adds a license.

We ran it

Lab card: what happened when we ran dashengScreenshot of dasheng (github.com/wquguru/dasheng)
Install✓ · 32s282 packages · 342 MB
Build✓ · 10s
Tests✓ · 2s6 passed · 0 failed of 6 (node:test)
Known vulns31 critical · 2 high · 0 moderate · 0 low (npm audit)
Repo25 files~1,624 lines of source · 0.1 MB · 0 CI workflows

Answers from our run

Does dasheng build from source?

Dependencies installed in 32 seconds (282 packages), and the build succeeded in 10 seconds. We cloned commit 1bacff4 into a clean Debian container with 3 CPUs and no project-specific setup.

Do dasheng's tests pass?

Yes: 6 of 6 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does dasheng have known vulnerabilities in its dependencies?

npm audit flagged 3 known advisories in the dependency tree, including 1 critical at the time of our run.

Who should not use dasheng?

Organizations that need clear reuse rights: the repository has no license file and GitHub reports no license.

What are the alternatives to dasheng?

Confucius4-R2T2, Whisper, Vosk API. Our Dasheng run installed 282 packages, passed all 6 tests, and built in 10 seconds, but npm audit found 1 critical and 2 high-severity vulnerabilities.

Setup3/5Mock is easy; real use needs two services and a 12 GB GPU
Docs3/5Detailed Chinese setup, but the default data boundary is misstated
Community2/5144 stars, 6 open issues and PRs, and no release
Maturity1/5No license, audit findings, and unresolved scoring defects

Who it’s for

Chinese-speaking developers building a self-hosted English reading-practice page.
Teams willing to operate an NVIDIA speech-to-text service and a separate JEV text-scoring endpoint.
Educators who want word matching, completeness, pace, and meaning feedback rather than acoustic pronunciation grades.
Evaluators who want to try the whole UI with mock speech data before connecting a microphone or GPU.

Who it’s NOT for

Organizations that need clear reuse rights: the repository has no license file and GitHub reports no license.
English-only operators: the README, deployment guide, interface text, errors, and code comments are primarily Chinese, with no English docs listed.
Pronunciation coaching that must judge phonemes, stress, or accent: the README expressly says its text-only JEV step cannot score them.
Fully offline deployments using the documented defaults: local R2T2 keeps audio local, but the reference and recognized text are sent to ZenMux's JEV endpoint.
Mac-only or CPU-only teams self-hosting the real speech model: the guide requires CUDA, vLLM, and an NVIDIA Ampere-or-newer GPU with 12 GB of memory.
Security gates requiring a clean dependency audit: our run found 1 critical and 2 high-severity known vulnerabilities.

Setup reality

Our sandbox installed commit 1bacff4 in 32 seconds, adding 282 packages and using 342 MB. The build passed in 10 seconds. Node's test runner passed all 6 tests in 2 seconds. Npm audit reported 3 known vulnerabilities: 1 critical and 2 high. The checkout itself had 25 files, about 1,624 source lines, and occupied 0.1 MB.

The mock path needs only Node and can exercise the interface without a microphone. Real scoring needs a JEV_API_KEY, a JEV endpoint and model, plus an R2T2 WebSocket service. The documented default sends scoring text to ZenMux even when speech recognition runs locally.

Self-hosted R2T2 needs Linux, CUDA, vLLM, model and voice-activity weights, a changed default secret, and an NVIDIA GPU with at least 12 GB of memory. The repository has no Dockerfile, no CI workflow files, and no tests directory, so production packaging and broader checks are left to the operator.

Version 0.1.0 scores transcript agreement, not pronunciation

Dasheng version 0.1.0 is a Next.js reading-practice page for Chinese-speaking users. A learner reads an English passage, the app receives a streaming transcript, and word-level alignment identifies matches, omissions, insertions, and substitutions. JEV evaluates ambiguous word changes and overall meaning, while local arithmetic calculates completeness, pace, and a weighted total. The screen can then underline or mark each word and display the component scores.

The distinction between text and sound decides whether this product fits. Dasheng does not assess phonemes, stress, or accent because JEV sees text only. A learner who says the wrong sound but still produces the expected transcript may receive no pronunciation warning. This is useful reading-fluency feedback, not a replacement for an acoustic pronunciation assessment system.

What happened when we ran it

Our sandbox cloned commit 1bacff4 into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. Installation succeeded in 32 seconds, pulled 282 packages, and used 342 MB. The build passed in 10 seconds. Node's test runner completed in 2 seconds with 6 passed and 0 failed.

The checkout was only 0.1 MB, with 25 files and about 1,624 lines of source. Our scan found 0 CI workflow files, no Dockerfile, and no tests directory. The 6 tests live in lib/align.test.js and cover the command selected by the package script. They do not establish browser microphone quality, GPU-service behavior, or JEV scoring accuracy.

Npm audit reported 3 known vulnerabilities: 1 critical and 2 high. The supplied measurement does not name the affected dependencies, so we cannot say whether a public route reaches them. A production review should identify each advisory, trace the executable path, and update or isolate it before exposing the app. A green 6-test run does not cancel a critical audit finding.

The 12 GB R2T2 path is harder than mock mode

Dasheng can demonstrate its interface with a mock speech provider, without a microphone or GPU. Real local speech recognition is a different setup. The deployment guide requires an NVIDIA Ampere-or-newer GPU with 12 GB of memory, CUDA, vLLM, R2T2 model weights, separate voice-activity weights, and a WebSocket service. It says the current inference path cannot run on a Mac.

The guide is candid about operator work: change the hard-coded service secret, avoid exposing the default listener, preserve WebSocket upgrades through any proxy, and validate microphone resampling against offline files. It also says concurrency, long-session stability, English behavior, and several streaming settings remain unverified. The app repository supplies neither a Dockerfile nor a deployment wrapper for that GPU service.

Jev 1.13 receives the reference and recognized text

Jev 1.13 is the documented text judge. lib/score.js builds a state containing both the source passage and the speech recognizer's committed transcript. lib/jev.js sends that state and the scoring questions to JEV_ENDPOINT, which defaults to ZenMux. Running R2T2 locally can keep microphone audio on your machine, but it does not keep those two text blocks local under the default configuration.

Open issue 1 points out that this conflicts with the README's claim that the whole system can run without uploads. Open pull request 5 proposes clearer wording and says the repository does not include a local JEV service. You can point JEV_ENDPOINT at a compatible service you control, but the project does not document how to deploy one. Operators should treat the text as provider-bound data until they replace that endpoint.

Three open issues can change the score or its explanation

Three open issues describe specific result defects. Issue 2 says the real browser-recording path passes zero pauses, so long silences do not reduce the pace score. Issue 4 shows that more than 12 substitutions can exceed the declared question cap, omit verdict details, and lower completeness incorrectly. Issue 1 covers the remote-text boundary rather than score arithmetic.

Open pull requests 3 and 6 propose fixes for the pause and substitution problems, but commit 1bacff4 does not include them. The distinction matters because a pull request is evidence that someone worked on a defect, not that users have received the correction. Until the changes merge and the browser path is tested, score reports need independent checks on passages with pauses and many wrong words.

Zero releases and no license keep it in evaluation

GitHub showed 144 stars and 6 combined open issues and pull requests, with the last push on September 20, 2026. Three follow-up pull requests were still open after that push, and the latest-release endpoint returned no release. More importantly, the tree contains no license file and GitHub reports no license, so public source visibility does not grant the reuse rights many teams expect from an open-source project.

Dasheng is worth opening in mock mode to study its narrow product idea: stable live text, word alignment, and a constrained text judge can produce understandable reading feedback. Stop before deployment. The missing license, remote scoring-text path, 3 audit findings, and unresolved score bugs all need answers before a school, company, or self-hoster should put real learners on it.

Alternatives

ProjectWhat it isPick it when
Confucius4-R2T2The streaming speech-recognition model and server that Dasheng uses for live transcription.pick this instead when you need the raw streaming transcript and will build your own alignment or scoring layer.
Whisper gh↗A general-purpose multilingual speech-recognition model and reference implementation.pick this instead when broad transcription support matters more than Dasheng's live reading interface.
Vosk APIAn offline speech-recognition toolkit with APIs for several platforms.pick this instead when a smaller offline recognizer fits better and you can supply your own scoring logic.

What people are saying

  1. [velocity-scout] wquguru/dasheng

Sources

  1. Dasheng README
  2. R2T2 deployment guide
  3. JEV request implementation
  4. Local and remote data-boundary report
  5. Browser pause-scoring report
  6. Substitution-limit scoring report
  7. Dasheng repository facts

More ai tools reviews

universal-modder · DeepEP-Ascend · DeepGEMM-Ascend · hypoarena · jeeves · faster-whisper · the whole board →