📋 人物特徵解析器
Clean up your LLM's character description before it touches your prompt
- features
LLMs are great at describing a character and terrible at keeping the output clean. Ask one to extract features and you'll get the useful part buried under "人物特徵:" prefixes, bold markdown, and a closing sentence you didn't ask for. PersonFeatureParser is the tiny cleanup stage that takes a vision LLM's messy character description and returns just the features - stripped of labels, markdown, and fluff, and capped at a sane length. It's the second half of this pack's character-consistency pipeline: extractor produces the request, your LLM produces the description, this node makes it usable.
How it works
Given llm_output, the node:
- Strips common prefixes the LLM tends to add - things like
人物特徵:,特徵描述:,描述:,特徵:. - Removes markdown styling (
**and*) - the classic LLM habit that would otherwise leak odd characters into your prompt. - Truncates to 150 characters with an ellipsis if the model rambled.
What comes out is a single clean string of features. That's the entire mechanism, and it's the right scope for the job: nothing clever, just the exact three things that always need fixing.
Inputs and output
One input: llm_output (STRING, force-input - you must wire the LLM's text in). One output: features (STRING). The node's console hint tells you where it's meant to go: the features parameter of the pack's photo-magazine prompt generator.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/dseditor/ComfyUI-ListHelper
Restart ComfyUI; find it under DesignPack. No dependencies, no models, pure string surgery. ComfyUI Manager: search "ComfyUI-ListHelper".
The honest take
This is a formatting helper, so its value is entirely in the pipeline around it - on its own it does almost nothing, and it's honest about that. Where it earns its keep: feeding its clean features output into the magazine prompt injector means your character description doesn't carry LLM artifacts into the final prompts, which is exactly the kind of subtle contamination that breaks character consistency downstream. One caveat: the 150-character cap is a hard cutoff, so a genuinely rich description gets clipped mid-feature. If your character has a lot going on, accept the truncation or summarize the description before running it through - the cap is there to keep the prompt injector from choking, not to punish detail.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| llm_output | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| features | STRING | — |