Nodes/ComfyUI-ShellAgent-Plugin/Input Text (ShellAgent Plugin)
ComfyUI Node

Input Text (ShellAgent Plugin)

The prompt slot your app can fill in

By myshell-ai·Created 2 years ago·Updated 4 months ago· 45
Input Text (ShellAgent Plugin)
    • text
    input_nameinput_text
    default_value
    description
    choices

    Input Text (ShellAgent Plugin) is the node that says "here's where the caller's text goes." If you've ever used ComfyUIDeploy or ComfyDeploy's text input nodes, it's the same idea: a named, externally-settable string slot that your workflow reads like a variable. When a ShellAgent app runs your workflow, it fills this in; when you're just testing locally, you type into the widget and it behaves like a normal string constant.

    It's the natural partner to the pack's Output Text node - text comes in through one, results go back out the other.

    How it works

    Under the hood it's a STRING with forceInput: false, meaning the widget holds a value by default but you can still wire another node's string output into it when you want a computed value. The node's validate() method advertises the input's schema to ShellAgent - title from input_name, type string - which is how the app builds its form. Run it and you get a plain string out of the text socket.

    The one genuinely neat feature: the pack's front-end extension adds a "manage choices" button to this node. You can define a fixed list of allowed values, and the widget turns into a dropdown in the app's UI. Great for constraining an agent's options - model names, styles, modes - instead of letting it type anything.

    Inputs and outputs

    • input_name - the variable name ShellAgent sees. Default input_text. Make it descriptive; it's the JSON key.
    • default_value - multiline. The fallback value used when the app doesn't supply one. This is also what you type into when testing standalone.
    • description - optional help text for whoever's using the app.
    • choices - optional comma/JSON list that turns the input into a picklist in the app. Empty string (the default) means free text.

    Output: a single STRING on the text socket. Wire it into your CLIP Text Encode or any string input.

    Installing it

    Same one install as every other node in this pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin
    

    restart, done. Or find ComfyUI-ShellAgent-Plugin in ComfyUI Manager. The pack brings in pydantic, opencv-python, pillow_heif and friends on install, but there are no model files to hunt down.

    Common issues

    • The app shows a free text box when I wanted a dropdown. You set choices but need to actually click manage choices on the node and add entries - the widget manages that list, it's not inferred from a plain string.
    • My prompt keeps getting overwritten. That's the point: when ShellAgent runs the workflow it injects its value into default_value. If you want a fixed prompt, use a regular Text node instead.
    • Nothing shows in the app UI. Check input_name - if it collides with another input node's name, the app may render only one of them.

    This is a tiny node, and that's okay. Its whole job is to be the named entry point for free-form text, and it does that without fuss.

    Categoryshellagent

    Inputs (4)

    NameTypeDefaultDescription
    input_nameSTRINGinput_text
    default_valueoptSTRING
    descriptionoptSTRING
    choicesoptSTRING

    Outputs (1)

    NameTypeDescription
    textSTRING