DSH Hub

Drhushi/dsh-plugin-tav2

dsh-plugin-tav2

UIWeb UI24 GitHub stars· updated 2026-09-14

dsh-plugin-tav2 is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add github:Drhushi/dsh-plugin-tav2

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-plugin-tav2 DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-plugin-tav2.svg)](https://dshhub.dev/plugins/dsh-plugin-tav2)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Drhushi/dsh-plugin-tav2, cleaned of badges and images.

<h1>dsh-plugin-tav2</h1> <p>DeepSeek Harness 插件 —— 对话式游戏本地化:跟 AI 助手说说话,从侦察、术语、翻译到打包验证一站完成</p>

这是什么

一个装进 DeepSeek Harness 的插件, 把 AI 翻译流水线接进对话:翻译由模型完成,你只需要跟助手说话, 从初始化、翻译到打包部署,全程由标准工作流推进。

  • 对话式全流程:说一句「初始化游戏翻译」,助手探测游戏、生成配置、给出翻译计划,你确认后才动手;
  • 补丁式非侵入:不碰原游戏任何文件,交付物是可合并的补丁包(含 manifest 清单与版本指纹), 删除清单所列文件即可完全还原;
  • 游戏更新不怕:按版本指纹与稳定 ID 做增量迁移,已有译文自动保留,只补译变化的部分;
  • 翻译质量基建:术语扫描与推敲锁定、世界书提名制(按三问判据推荐值得出卡的设定级实体)、 审校队列、完整性校验、运行时三层验证(文件层 / 运行时层 / 实机确认),一站到底;
  • 多引擎适配器架构:一套工作流对接不同游戏引擎,新引擎以适配器形式接入; 当前已落地 Ren'Py 适配器(见下方「引擎支持」)。

引擎支持

引擎状态说明
Ren'Py✅ 完整支持非侵入写 tl/<lang>、CJK 字体配方、游戏内语言菜单切换
Unity(Yarn Spinner 等对话系统)布局可识别,适配器待落地探测能认出 Unity 布局并明确提示「暂未适配」,不会误报成探测失败
其他引擎暂未适配识别不到时明确提示;欢迎提 issue 讨论适配

Ren'Py 补充说明:

  • 普通 .rpy 源码游戏开箱即用;遇到 .rpyc 已编译游戏需要 Ren'Py SDK, 配置 renpySdk 后 prepare 走官方路线——自动反编译、模板直接写入游戏目录 game/tl/<lang>,无需切换项目,语言切换可立即进游戏验证; 反编译源码参考放 <游戏根>/tav2_src/(工作材料,不进补丁包,封包时可传 clean_source=true 清理);
  • 交付物为 game/tl/<lang> 下的增量文件,游戏内语言菜单选中文即可生效;
  • CJK 字体等运行时组件属于「运行时前置条件」,需用户自行安装, 不进补丁包、tav2_verify 会做存在性自检。

前置要求

  • DeepSeek Harness ≥ 0.1.5-rc.1(Web 版,Node.js ≥ 22.19)。 0.1.5-rc.2 为实机验证版本;0.1.5-rc.1 经逐符号核对(本插件用到的 ToolCallId、snapshotEvents、 dsh-persona.prefix、Remote 设置通道均在该版本的包内)。更早的 dsh 上服务端工具仍可用, 但设置卡会显示「Remote 通道缺失」降级提示(0.1.5 起才有 remote.settings / remote.credentials 通道);
  • 一个游戏(当前需为 Ren'Py 游戏,目录内含 game/;其他引擎支持情况见「引擎支持」);
  • 可用的 LLM 翻译通道:DeepSeek API Key,或一个本地 OpenAI 兼容端点(在「设置 → 插件 → 翻译渠道」配置)。

安装

方式 A:从 GitHub Release 安装(推荐)

每个版本在 Releases 页有一份预构建资产 (.tgz,已含 dist/ 与客户端 bundle),装它不需要 clone 仓库、也不需要自己构建:

$ver = '0.2.1'   # 换成你要装的版本
$tgz = "https://github.com/Drhushi/dsh-plugin-tav2/releases/download/v$ver/dsh-plugin-tav2-$ver.tgz"
pnpm -C "$env:USERPROFILE\.dsh\profiles\web" add $tgz

首次安装(或换 profile)后,确认 profile 的 package.json(或 pnpm-workspace.yaml)放行了 原生模块构建:pnpm.onlyBuiltDependencies 含 better-sqlite3,否则启动会报 sqlite 绑定错误。 方式 B 的安装脚本会自动处理这一步。

方式 B:从仓库安装(适合改代码/跟着 main 走)

# 先在仓库里构建(link: 安装加载的是构建产物 dist,不构建会加载缺失/旧的 dist)
pnpm install
pnpm build

# 再把插件挂进 profile(先不加 -Apply 可预览改动,确认后再真正安装)
powershell -ExecutionPolicy Bypass -File scripts/install-plugin.ps1 `
  -ProfileDir "$env:USERPROFILE\.dsh\profiles\web" `
  -PluginPath "<本仓库绝对路径>" -Apply

安装完成后重启 GUI(客户端 bundle 是 harness 启动时的快照,只重开聊天不生效), 设置 → 插件应出现 dsh-plugin-tav2 卡片。

2. 新建工作区:把工作区文件夹设为游戏根目录(含 game/)
3. 对助手说「初始化游戏翻译」→ 生成最小配置,全套翻译工具自动就绪
4. 助手先只读侦察(tav2_detect / tav2_status),列出翻译计划等你确认
5. 翻译:助手按场景分批翻译(tav2_translate_batch),完成后自动校验
6. 打包部署:tav2_pack 生成补丁包 → 把 <游戏名> 目录合并进游戏根目录
7. 游戏内语言菜单选中文,启动游戏核对(tav2_verify 可复查)

翻译是补丁式非破坏产物,只增量写目标语言目录;卸载用 tav2_uninstall 按清单精确删除。

卸载

插件的挂载点是 profile 的 package.json(dependencies + dsh.profile.bundles)。 在 cordis.patch.yml 里写 - id: tav2 / disabled: true 只是压住加载行,插件仍留在 bundles 里; 要彻底停止它对所有会话的影响,必须从 profile 摘除挂载并重启 harness。

⚠️ 设置卡里的「翻译模式」开关不是加载门控:插件按工作区自动安装翻译作用域 (游戏工作区全套 / 普通工作区轻量引导包),关掉开关不会阻止它在新会话里生效。 真正能关掉它的只有「卸载 + 重启」。

用仓库自带的卸载脚本(默认 dry-run,先预览再 -Apply):

# 1. 预览将做的改动(不写任何文件)
powershell -ExecutionPolicy Bypass -File scripts/uninstall-plugin.ps1

…

Related plugins