Introduction

DSH’s philosophy is “everything is a plugin”: specific tools can enter the agent workflow through plugins. Visual novel localization usually requires handling a local game directory first: identifying the engine, locating the scripts, determining which text is safe to translate, reusing reviewed translations after game updates, checking if the translation meets the gate, and ensuring rollback capability after replacement.

Below is an introduction to dsh-galgame-localization-reverse. It is a community plugin maintained by julescules under the MIT license. Its goal is to provide audit evidence, safe migration, strict QA, and rollback operations for DeepSeek Harness without performing direct translation. The DSH community directory is an independent site with no official affiliation to DeepSeek / Huanfang; this plugin is also not an officially audited or endorsed component of the DeepSeek app store.

What is it

A one-sentence positioning for dsh-galgame-localization-reverse is:

Galgame Doctor for DeepSeek Harness: safe translation-memory migration, evidence plans, strict QA, and rollback.

It primarily targets local Galgame folders, handling engineering issues before and after localization:

  • Offline reading of the local game directory, providing engine candidates and path evidence.
  • Extraction and application for pure source scripts like KiriKiri .ks, Ren’Py .rpy, and NScripter 0.txt.
  • Migrating reviewed translations after game updates, recording SHA-256 hashes.
  • Strict checks on translation JSONL for glossary, forbidden terms, residual Japanese, encoding, etc.
  • Providing hash-bound patching, backup, rollback, and image QA (PNG/APNG, JPEG, GIF, BMP) as well as fixed-slot QA.

This plugin does not require an API key. The documentation states that it does not contain game assets, decrypted packages, credentials, or title-specific keys.

Core Features

  1. Offline Read-Only Audit

Performing an offline read-only audit on the local game directory, outputting engine candidates and path evidence. vn_project_audit.py provides a one-command localization plan.

  1. Pure Source Script Adaptation

Supports lossless source-script adapters for KiriKiri .ks, Ren’Py .rpy, and NScripter 0.txt. The script adapters only support plain source files and do not imply compatibility with archives or compiled scripts.

  1. Translation Memory Migration

After a game update, migrating reviewed translations to a new directory. Migration results record SHA-256 hashes to prevent silent guessing.

  1. Strict Translation QA

Checking items like glossary, forbidden terms, residual Japanese, and encoding, and allowing for report output.

  1. Patching and Rollback

Performing hash-bound patching via vn_patch.py, including backup and rollback.

  1. Image and Slot QA

Supporting QA for PNG/APNG, JPEG, GIF, BMP images, as well as fixed-slot QA.

Installation and Usage

Before installation, confirm that you are willing to run the plugin with the current dsh process permissions, and review the source code, license, and release version. The plugin is licensed under MIT.

Installation command:

dsh plugin --profile web add github:julescules/dsh-galgame-localization-reverse#v0.6.0

After installation, restart DSH, then instruct DSH to use galgame-localization-reverse to perform a read-only audit on the local game directory.

Typical Usage

The following uses placeholder paths to explain common steps. In actual use, please replace the placeholders with real directories and ensure the output directory is separated from the game directory.

1. Audit Local Game Directory

First, run the audit plan to generate JSON and Markdown outputs:

vn_project_audit.py plan <GAME_FOLDER> --json <AUDIT_JSON> --markdown <AUDIT_MD>

This step is used to view engine candidates, path evidence, and localization risks, rather than directly modifying files.

2. Extract Pure Source Scripts

Extract UTF-8 JSONL from pure source scripts of KiriKiri, Ren’Py, or NScripter:

vn_script_adapter.py extract <GAME_FOLDER>

The extracted JSONL is suitable for subsequent translation or QA. The script adapter only handles plain source files and does not process archives or compiled scripts.

3. Apply Translations

Apply translation results to a separate output root:

vn_script_adapter.py apply <GAME_FOLDER> <translations.jsonl>

Do not write the output back to the original game directory. If the source files change, the application process should fail.

4. Migrate Reviewed Translations

After a game update, use translation memory to migrate reviewed translations:

vn_translation_memory.py migrate

Runtime requires providing the current directory, previous version directory, output, and report location. SHA-256 hashes will be recorded in the report.

5. Strict QA

Perform strict QA on the translation JSONL, checking encoding, glossary, max chars/lines, punctuation, etc.:

vn_qa.py <translations.jsonl> --encoding <ENCODING> --glossary <GLOSSARY_JSON>

This can be combined with max chars/lines, punctuation, and report output to form verifiable QA results.

6. Verify Plugin Package

You can verify the package content before release or installation:

npm run check
npm pack --dry-run

Also verify release metadata, SHA-256, and SBOM evidence.

Applicable Scenarios and Notes

Suitable for:

  • Already having a local Galgame folder that needs engine and file evidence determination.
  • Having reviewed JSONL that needs safe migration after game updates.
  • Needing repeatable checks for translated characters, terminology, residual Japanese, and encoding.
  • Hoping for clear evidence and rollback paths for patching, image QA, and fixed-slot QA.

Notes:

  • Engine formats and binary constants may depend on specific titles and versions; before verifying with exact hashes, do not treat this as a general conclusion.
  • Static audit and QA cannot replace in-game round-trip testing, UI, save/load, audio, and rollback testing.
  • Residual Japanese may be intentionally preserved; when encountering reports, judge item by item or explicitly exclude them, do not silently lower the gate.
  • DeepSeek Harness is in developer preview; you should pin to reviewed plugin release versions. The installation command used in this article is pinned to v0.6.0.
  • This plugin is a community plugin and has not been audited or endorsed by DeepSeek. The DSH community directory is an independent site with no official affiliation to DeepSeek / Huanfang.

Links

  • GitHub: https://github.com/julescules/dsh-galgame-localization-reverse
  • Directory page clue (not confirmed in the verified materials for this session, for search reference only): https://www.skillhub.cn/plugins/julescules/dsh-galgame-localization-reverse