dshbase

插件目录 / Developer / dsh-galgame-localization-reverse

dsh-galgame-localization-reverse

已验证 · 实测可装 julescules

✓ 持续维护 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

3Stars
0Forks
1未关闭 issue
Python语言
2026-08-24最近推送
跨平台平台

功能简介

面向视觉小说汉化的 Galgame Doctor:只读项目/引擎证据审计、严格占位符与控制码翻译 QA,以及可回滚、可验证的汉化工作流 Skill Provider。

我们的评价
可用 — 实测通过,早期项目

面向视觉小说汉化的 Galgame Doctor:只读项目/引擎证据审计、严格占位符与控制码翻译 QA,以及可回滚、可验证的汉化工作流 Skill Provider。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

Galgame Doctor for DeepSeek Harness

中文 | English

dshbase verified CI

[!IMPORTANT]
Unofficial community plugin. Independently developed and maintained; not reviewed or endorsed by DeepSeek.

Audit first, reuse safely, localize second. Give DeepSeek Harness a visual-novel folder and get an evidence-backed engine candidate, safe translation migration, encoding clues, strict QA, and a reversible next step. The audit is offline and read-only; only report paths outside the audited tree are written.

Synthetic terminal example: read-only engine audit and strict translation QA

Start in 30 seconds

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

Restart DSH, then ask:

Use galgame-localization-reverse to audit D:\Games\Example read-only.
Show the engine evidence, localization risks, and the safest next step.

No API key is required. The plugin contains no game assets, decrypted archives, credentials, or title-specific keys.

What you get

One-command localization plan

vn_project_audit.py plan inventories a bounded set of files and reports:

  • engine candidates with confidence, signal groups, and concrete path evidence;
  • script, archive, image, font, and executable candidates;
  • bounded encoding samples and CJK-path-safe relative paths;
  • a cautious classification of candidate, weak-candidate, or unknown;
  • an evidence status, recommended route, exact next commands, risks, and release gates.

The classification is routing evidence, not a claim that static inspection proves runtime behavior.

python -X utf8 skill\scripts\vn_project_audit.py plan D:\Games\Example `
  --json D:\project\logs\project-audit.json `
  --markdown D:\project\logs\project-audit.md

Lossless source-script adapters

vn_script_adapter.py extracts plain KiriKiri .ks, Ren'Py .rpy, and NScripter 0.txt text into UTF-8 JSONL while preserving source hash, line hash, path, line number, encoding, BOM, newline, prefix, and suffix. Apply always writes to a separate output root and fails if the source changed.

python -X utf8 skill\scripts\vn_script_adapter.py extract D:\Games\Example `
  --engine kirikiri --output D:\project\translations.jsonl

python -X utf8 skill\scripts\vn_script_adapter.py apply D:\Games\Example `
  D:\project\translations.jsonl --output-root D:\project\rebuilt

It does not open XP3/NSA archives or claim compiled-script support.

Safe translation migration after game updates

vn_translation_memory.py carries reviewed translations into a newly extracted catalog without silently guessing. It auto-reuses only exact ID/source pairs or relocated exact source matches with one consistent, placeholder-safe target. Fuzzy matches are review-only; conflicts stay empty and make the command return a non-zero status. Both inputs remain unchanged and their SHA-256 hashes are recorded in the report.

python -X utf8 skill\scripts\vn_translation_memory.py migrate `
  --current D:\project\v2\translations.jsonl `
  --previous D:\project\v1\translations.jsonl `
  --output D:\project\v2\migrated.jsonl `
  --report D:\project\logs\translation-memory.json `
  --markdown D:\project\logs\translation-memory.md

Strict translation preflight

vn_qa.py rejects missing, added, or reordered control tokens by default. v3 adds glossary and forbidden-term gates, repeated-source consistency, character/line budgets, punctuation balance, empty translations, residual Japanese, and target-encoding checks. Generic JSON/JSONL, script-adapter JSONL, and GalTransl cache fields are supported without third-party packages.

python -X utf8 skill\scripts\vn_qa.py check-jsonl D:\project\translations.jsonl `
  --encoding gbk --require-complete --require-consistent `
  --glossary D:\project\glossary.json --max-chars 80 --max-lines 3 --check-punctuation `
  --report D:\project\logs\translation-qa.json `
  --markdown D:\project\logs\translation-qa.md

An intentionally broken synthetic fixture produces a concise failure report:

FAIL  2 blockers · 3 segments
E control-token-added  scene01:2  added [wait]
E empty-translation    scene01:3  translation required

Release evidence, not another translator

The bundled workflow also provides:

  • vn_patch.py — hash-bound file replacement, verification, backup, and rollback;
  • vn_image_qa.py — PNG/APNG, JPEG, GIF, and BMP geometry/alpha/frame comparison;
  • vn_slot_qa.py — fixed-slot terminator, padding, marker, and outside-region checks;
  • focused routes for AI6WIN, BGI/Ethornell, Director, RealLive, Delphi/DirectDraw, PSP/Vita, Ren'Py, KiriKiri, and custom engines.

GalTransl, VNTextPatch, GARbro, LunaTranslator, and engine-specific tools can handle translation or extraction. Galgame Doctor complements them by deciding what the project appears to be, checking their text output, and preserving release evidence.

Try the synthetic examples

python -X utf8 skill\scripts\vn_project_audit.py plan examples\synthetic-project\game `
  --json test_outputs\synthetic-audit.json `
  --markdown test_outputs\synthetic-audit.md

python -X utf8 skill\scripts\vn_qa.py check-jsonl examples\translations.jsonl `
  --encoding gbk --require-complete --glossary examples\glossary.json `
  --report test_outputs\translation-qa.json `
  --markdown test_outputs\translation-qa.md

All example text is synthetic and redistributable.

DSH integration

The bundle uses the official packaged Skill Provider shape:

  • inject = ['skills'];
  • ctx.skills.registerProvider(...);
  • directory resourceBase for on-demand references and scripts;
  • the official dsh.bundle.patch install path.

The registered name remains galgame-localization-reverse, so existing prompts continue to work.

Verify the package

npm run check
npm pack --dry-run
node scripts/build-release-metadata.mjs .\dsh-galgame-localization-reverse-0.6.0.tgz .\builds\v0.6.0
.\scripts\verify-release.ps1 -PackagePath .\dsh-galgame-localization-reverse-0.6.0.tgz -ChecksumsPath .\builds\v0.6.0\SHA256SUMS

The check runs provider tests plus deterministic self-tests for planning, script adapters, translation-memory migration, translation QA, and all bundled patch/asset utilities. Each release also publishes SHA-256 and CycloneDX SBOM evidence.

Limits

  • Engine formats and binary constants remain title/version specific until proven against exact hashes.
  • Script adapters support plain source files only and never imply archive/compiled-script compatibility.
  • Static audit and QA do not replace a zero-mutation round trip or in-game UI, save/load, audio, and rollback tests.
  • Residual Japanese can be intentional; review each finding or maintain an explicit exclusion instead of silently weakening the gate.
  • DeepSeek Harness is in developer preview; pin a reviewed plugin release.

See CONTRIBUTING.md and SECURITY.md for contribution and reporting guidance.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-galgame-localization-reverse」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:julescules/dsh-galgame-localization-reverse

Headless(CLI)profile:

dsh plugin --profile headless add github:julescules/dsh-galgame-localization-reverse

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →