소스 정보
- 저장소
- xiaoDongMr/agentic-workflow-studio
- 최근 소스 활동
- 2026년 8월 16일 16:44
- 감지된 SKILL.md 언어
- 영어
- 스타
- 6
- 포크
- 2
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/xiaoDongMr/agentic-workflow-studio --skill workflow-node-llm명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | workflow-node-llm |
| description | Builds or updates frontend LLM-node data with model capability selection. |
| allowed-tools | ["execute_node_skill_script","update_current_graph"] |
Use type: llm for semantic understanding, classification, extraction, and content generation.
build_node.data only contains business fields. Do not provide id, type,
position, or status; the script generates or fills them. New LLM node IDs
follow the frontend rule: llm-<uuid> with a uniqueness suffix only if needed.
| Field | Type | Required | Meaning | Notes |
|---|---|---|---|---|
title | string | no | Display title | Defaults to 大模型 |
description | string | no | Node description | |
inputs | array | no | Variables referenced by prompts | Defaults to one input string |
outputs | array | no | Values generated by the model | Defaults to one result string |
config | object | no | Model, prompt, and mapping settings | Defaults match frontend LLM node |
Each input/output item has:
| Field | Type | Required | Meaning |
|---|---|---|---|
name | string | yes | Stable variable name |
type | string | yes | Such as String, Object, Image, or Array |
description | string | no | Business meaning |
Config fields:
| Field | Type | Required | Meaning | Notes |
|---|---|---|---|---|
prompt | string | no | Compatible prompt field | Prefer userPrompt |
systemPrompt | string | no | Stable role and policy | |
userPrompt | string | yes | Task prompt | Variables use {{name}} |
model | string | no | Configured model name | Defaults to empty; obtain through scripts below |
modelProvider | string | no | Model provider | Defaults to deerflow |
temperature | number | no | Sampling temperature | Low for deterministic tasks |
maxTokens | integer | no | Output-token limit | Positive |
enabled | boolean | no | Whether node runs | Defaults to true |
responseMode | string | yes | text or json | |
outputKey | string | no | Main output variable | Leave empty to use the first non-reasoning output |
reasoningKey | string | no | Reasoning output variable | Only with thinking |
thinkingEnabled | boolean | no | Enable model reasoning | Model must support it |
reasoningEffort | string | no | Reasoning effort | Only when supported |
inputMappings | array | no | Input source mappings | Full ordered array |
Each inputMappings item contains field, sourceType, source, and
valueType. field must correspond to an input.
Inputs expose exactly two user-facing modes:
{"field": "instruction", "sourceType": "literal", "source": "summarize", "valueType": "String"}.{"field": "input", "sourceType": "node", "source": "start.input", "valueType": "String"}.context is a legacy runtime source type, not a Skill input mode. Do not emit
it. The start-node input is referenced as a normal node output, such as
start.input.
Before building or changing any node-reference input, execute
list_input_sources. For a new node pass the IDs of its intended direct
predecessors from the confirmed topology. For an existing node pass node_id.
Only use an exact source returned by that script. The script includes all
reachable ancestors, checks Graph direction, and returns source types.
For a node mapping, copy the returned source type into both the input type
and mapping valueType. For a literal mapping, the input and valueType
must both be String.
Supported output types are:
String, Integer, Number, Boolean, Time, Object, Image, Video,
Array, Array<String>, Array<Integer>, Array<Number>,
Array<Boolean>, Array<Time>, Array<Object>, Array<Image>, and
Array<Video>.
Output names must be unique identifiers using letters, numbers, and underscores, and must not start with a number.
responseMode: text: declare one primary output. Its type is normally
String. outputKey may be empty to select the first non-reasoning output.responseMode: json: declare every expected top-level JSON field as an
output with its exact type. Set outputKey only when one declared field is
the primary output.reasoning_content as a String output and
set reasoningKey to the same name.Default LLM node generated by build_node:
{
"id": "llm-<uuid>",
"title": "大模型",
"type": "llm",
"description": "调用大语言模型,基于输入变量和提示词生成回复。",
"inputs": [
{
"name": "input",
"type": "String",
"description": ""
}
],
"outputs": [
{
"name": "result",
"type": "String",
"description": ""
}
],
"config": {
"prompt":
Execute list_models before choosing a model:
requires_vision: true when any input is Image, ImageList, Video, or VideoList.requires_thinking: true only when the task needs explicit reasoning.Never choose a model that lacks a required capability.
Then execute resolve_model_config with the selected model,
capability requirements, enable_thinking, and reasoning_effort. Merge its
result into the candidate node config.
workflow-node-llm/scripts/node.pylist_input_sources{"upstream_node_ids": ["intended-direct-predecessor-id"]}{"node_id": "existing-id"}{"sources": [{"source": "node-id.field", "nodeTitle": "...", "field": "...", "type": "...", "description": "..."}], "allowed_source_values": [...]}workflow-node-llm/scripts/node.pylist_models{"requirements": {"requires_vision": bool, "requires_thinking": bool}}{"models": [...], "recommended_model": "name"}workflow-node-llm/scripts/node.pyresolve_model_config{"request": {"model": "name", "requires_vision": bool, "requires_thinking": bool, "enable_thinking": bool, "reasoning_effort": "medium"}}data.config.workflow-node-llm/scripts/node.pybuild_nodeid and type.{"data": <Node Schema business fields>, "upstream_node_ids": ["direct-predecessor-id"]}{"node": <complete node>}workflow-node-llm/scripts/node.pyupdate_node{"node_id": "existing-id", "changes": <changed fields>}{"node": <complete updated node>}Objects merge recursively; arrays replace the entire old array; scalars replace
directly; omitted fields stay unchanged. To modify one input or mapping, submit
the complete new inputs or config.inputMappings array. Never submit only the
changed array item.
reasoning_content as an output.node mapping source. Use list_input_sources.inputs and config.inputMappings must have one complete matching entry per
input field.outputKey empty when the node should use its first non-reasoning output
(result by default); set it only when an explicitly planned output variable
is required.list_models.build_node or update_node; pass
only its related edges to update_current_graph.position or runtime status.