RWKV Translator DE (CPU)
The CPU-Only RWKV Translator That Carries Its Own Engine
- translated_text
The "DE" in the name is never explained anywhere in this pack - the README is a single sentence - but open the source and it's obvious. RWKV Translator DE (CPU) is a self-contained PyTorch reimplementation of the RWKV-7 (x070) architecture, lifted from the RWKV-LM demo code, hardwired to the 0.1B config and forced to CPU. It's the pack author's own engine rather than the rwkv package's model class.
Same job as its sibling RWKV Translator - English ⇄ Chinese through a local RWKV-7 model - but the generation runs on a hand-rolled model built from pure PyTorch ops. Fixed config: 12 layers, 768 embedding dims, 64 head size, 65536 vocab. That's precisely the RWKV-7 "Goose" 0.1B architecture, and the size is the point: 0.1B is small enough that CPU-only inference is genuinely usable, which is exactly the audience this node is for.
How it works
On every execution it runs torch.load on the checkpoint (into fp16, on CPU) and then drives its own RWKV_x070 forward pass. Same English: <text>\n\nChinese: template as the other translator, generation capped at 200 tokens, temperature 1.0, top-p 0. Two things are worth knowing before you trust it:
- The tokenizer still comes from the
rwkvpackage (PIPELINE+rwkv_vocab_v20230424, imported at module load). Sorequirements.txtis still justrwkv- this node replaces the model, not the dependency. And because that import is unguarded, the node won't even appear in your node list untilrwkvis installed. - There's no model cache. Weights are reloaded from disk on every single execution. On a CPU that's the difference between "okay" and "go make tea." It's the node's biggest wart, and it's by design - the code is copied straight from RWKV-LM's demo loop.
Inputs and output
Identical to the plain translator: model_path (STRING, forceInput - wire it from the pack's Model Loader), direction (en2zh / zh2en), text_to_translate (multiline), and the translated_text (STRING) output you can drop into any string input.
One constraint the fixed config imposes: only the 0.1B checkpoint loads cleanly. Feed it a 1.5B file and the shape assertions will refuse it. This node is effectively "the 0.1B, CPU-friendly translator," so don't bother pointing bigger models at it.
Why you'd reach for it
You're on a CPU-only box - a laptop, a machine without a working GPU path - you want a real multilingual LLM translating inside the graph, and you're fine with a small model and a 200-token cap. It's slower per run than the plain node on a GPU, but it doesn't lean on the rwkv package's compiled kernels, which is precisely the part that makes GPU installs fiddly. If your only goal is "translate my prompt locally," this is the node that just works.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/No-22-Github/ComfyUI_RWKV_Studio
Or search "ComfyUI_RWKV_Studio" in ComfyUI Manager. Restart, install pip install rwkv into ComfyUI's Python environment, then drop the RWKV-7 Goose 0.1B World .pth into ComfyUI/models/RWKV. The pack's README is one line and the repo has a single commit from late 2025 - there's no support community, so read the source when something surprises you. It's only a couple hundred lines, and it's surprisingly readable for something implementing a state-space model by hand.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_path | STRING | — | |
| direction | COMBO | 2 options: en2zh, zh2en | |
| text_to_translate | STRING | Welcome use RWKV series models. Beyond Transformer! | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| translated_text | STRING | — |