Wolf AgentLab is a local Windows workflow for translating Wolf RPG Editor games with an Agent-driven pipeline.
The project is built around att-wolf, a CLI adapted from the A.T.T tooling line. It does not depend on existing .trans files. The normal flow is:
- Register a Wolf game.
- Prepare and unpack
Datawith UberWolf/WolfDec fallback. - Dump text through WolfTL.
- Build a stable text index.
- Translate with LLM batches.
- Audit and restore runtime-sensitive strings.
- Patch back through WolfTL.
- Generate and finalize a clean patch package.
For old Wolf games, insert the Pro conversion gate before write-back: unpack the original Data.wolf, remove every .wolf from the game directory, run EditorPro.exe until Backup_Before_Ver3\ConvertLog.txt records successful conversion, then re-dump the converted Data and patch that converted dump. Do not patch a pre-conversion dump into a converted Data directory.
.
├── wolf-source/ # Python/Rust source for att-wolf
├── scripts/ # repository-level packaging helpers
├── game/ # local input games, ignored by git
├── workspace/ # generated workspace, ignored by git
├── patches/ # generated patch output, ignored by git
├── tools/ # local WolfTL/UberWolf/WolfDec binaries, ignored by git
├── att-wolf-auto.bat # Windows entry point
├── att-wolf-wizard.ps1 # safe workflow wizard
├── WOLF_FIXED_WORKFLOW.md # fixed production workflow
└── PATCH_FINALIZATION.md # release package finalization rules
- Windows
- Python 3.14
- uv
- Rust stable and MSVC build tools, for the native extension
- WolfTL.exe
- UberWolf.exe, optional but preferred
- WolfDec.exe, fallback unpacker
- An OpenAI-compatible model endpoint
Tool paths can be configured in wolf-source\setting.toml, through environment variables, or by placing binaries in G:\wolf\tools.
Environment variables:
ATT_WOLF_WOLFTL_PATHATT_WOLF_UBERWOLF_PATHATT_WOLF_WOLFDEC_PATH
cd G:\wolf\wolf-source
uv sync --locked --dev
uv run maturin develop --release
uv run att-wolf --agent-mode doctor --no-check-llm --jsonPrepare a game without translating or writing back:
G:\wolf\att-wolf-auto.bat -GamePath "G:\wolf\game\<game-dir>" -PrepareOnly -SkipLlmCheckRun a one-batch smoke translation:
G:\wolf\att-wolf-auto.bat -GameTitle "<game-title>" -SmallBatchMaxBatches 1 -SkipLlmCheckRun full translation without write-back:
G:\wolf\att-wolf-auto.bat -GameTitle "<game-title>" -RunFullTranslation -SkipLlmCheckWrite back only after all quality gates pass:
G:\wolf\att-wolf-auto.bat -GameTitle "<game-title>" -RunFullTranslation -WriteBack -SkipLlmCheckThe wizard intentionally does not write back by default.
Before write-back, the workflow runs or expects:
translation-statuswith no pending text.restore-runtime.quality-report.audit-runtime.- WolfTL re-dump after patching.
- Real game-window QA before release.
Runtime-sensitive strings are protected by default, including labels, common-event names, resource paths, map references, database internal IDs, common-event parameter keywords, and control tokens such as \s[9], \cself[...], \self[...], \v[...], \i[...], and <管理番号...>.
Wolf database structure names are not translated by default. Keep types/*/fields/*, types/*/name, and types/*/description intact unless a game-specific whitelist has been tested in the real game window.
cd G:\wolf\wolf-source
uv run python -m pytest tests/test_wolf_pipeline.py tests/test_cli_json_output.py::test_parser_commands_have_dispatch_handlers -q
uv run python -m compileall appAfter make-patch, finalize the patch directory:
G:\wolf\finalize-patch-package.bat "G:\wolf\patches\<patch-dir>"Default password: sstm
See WOLF_FIXED_WORKFLOW.md and PATCH_FINALIZATION.md for the fixed production process.