@fieldwangai/agentflow 0.1.159 → 0.1.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/bin/lib/auth.mjs +231 -14
  2. package/bin/lib/catalog-flows.mjs +12 -1
  3. package/bin/lib/cli-auth-page.mjs +103 -0
  4. package/bin/lib/control-while.mjs +336 -0
  5. package/bin/lib/flow-dsl/codegen.mjs +74 -11
  6. package/bin/lib/flow-dsl/ir.mjs +33 -2
  7. package/bin/lib/flow-dsl/lint.mjs +128 -3
  8. package/bin/lib/flow-dsl/parser.mjs +168 -4
  9. package/bin/lib/marketplace.mjs +10 -2
  10. package/bin/lib/node-package-manifest.mjs +7 -2
  11. package/bin/lib/node-ui-kit.mjs +156 -0
  12. package/bin/lib/paths.mjs +2 -0
  13. package/bin/lib/skill-runtime.mjs +6 -0
  14. package/bin/lib/table.mjs +2 -3
  15. package/bin/lib/ui-server.mjs +220 -17
  16. package/bin/lib/workspace-draft.mjs +74 -0
  17. package/bin/lib/workspace-flow-store.mjs +11 -2
  18. package/bin/lib/workspace-graph-merge.mjs +3 -0
  19. package/bin/lib/workspace-routes.mjs +307 -5
  20. package/bin/lib/workspace-server.mjs +598 -11
  21. package/bin/pipeline/validate-flow.mjs +3 -3
  22. package/builtin/nodes/control_parse_json.md +25 -0
  23. package/builtin/nodes/control_subflow_call.md +27 -0
  24. package/builtin/nodes/control_while.md +124 -0
  25. package/builtin/nodes/provide_json.md +14 -0
  26. package/builtin/nodes/workspace_subflow_input.md +14 -0
  27. package/builtin/pipelines/new/workspace.flow.js +1 -1
  28. package/builtin/pipelines/subflow-preview/workspace.flow.js +29 -0
  29. package/builtin/pipelines/subflow-preview/workspace.layout.json +38 -0
  30. package/builtin/pipelines/subflow-preview/workspace.nodes.json +19 -0
  31. package/builtin/pipelines/subflow-preview/workspace.state.json +93 -0
  32. package/builtin/pipelines/while-subflow-preview/workspace.flow.js +55 -0
  33. package/builtin/pipelines/while-subflow-preview/workspace.layout.json +66 -0
  34. package/builtin/pipelines/while-subflow-preview/workspace.nodes.json +49 -0
  35. package/builtin/pipelines/while-subflow-preview/workspace.state.json +194 -0
  36. package/builtin/web-ui/dist/assets/{WorkflowAssistantThread-CY19DsYq.js → WorkflowAssistantThread-CTrXOZ00.js} +1 -1
  37. package/builtin/web-ui/dist/assets/index-5uJFccdX.css +1 -0
  38. package/builtin/web-ui/dist/assets/index-BeUfNQRL.js +873 -0
  39. package/builtin/web-ui/dist/index.html +2 -2
  40. package/package.json +6 -1
  41. package/reference/flow-control-capabilities.md +41 -16
  42. package/shared/slot-types.js +58 -0
  43. package/skills/agentflow-author-flow/SKILL.md +81 -8
  44. package/skills/agentflow-author-flow/agents/openai.yaml +3 -3
  45. package/skills/agentflow-cli/SKILL.md +130 -25
  46. package/skills/agentflow-cli/agents/openai.yaml +2 -2
  47. package/skills/agentflow-cli/runtime/bin/lib/skill-runtime.mjs +14765 -0
  48. package/skills/agentflow-cli/runtime/builtin/nodes/agent_subAgent.md +34 -0
  49. package/skills/agentflow-cli/runtime/builtin/nodes/control_agent_toBool.md +26 -0
  50. package/skills/agentflow-cli/runtime/builtin/nodes/control_anyOne.md +19 -0
  51. package/skills/agentflow-cli/runtime/builtin/nodes/control_cancelled.md +26 -0
  52. package/skills/agentflow-cli/runtime/builtin/nodes/control_cd_workspace.md +50 -0
  53. package/skills/agentflow-cli/runtime/builtin/nodes/control_delay.md +31 -0
  54. package/skills/agentflow-cli/runtime/builtin/nodes/control_end.md +13 -0
  55. package/skills/agentflow-cli/runtime/builtin/nodes/control_if.md +21 -0
  56. package/skills/agentflow-cli/runtime/builtin/nodes/control_interval_loop.md +55 -0
  57. package/skills/agentflow-cli/runtime/builtin/nodes/control_load_mcp.md +24 -0
  58. package/skills/agentflow-cli/runtime/builtin/nodes/control_load_skills.md +35 -0
  59. package/skills/agentflow-cli/runtime/builtin/nodes/control_parse_json.md +25 -0
  60. package/skills/agentflow-cli/runtime/builtin/nodes/control_start.md +13 -0
  61. package/skills/agentflow-cli/runtime/builtin/nodes/control_subflow_call.md +27 -0
  62. package/skills/agentflow-cli/runtime/builtin/nodes/control_toBool.md +27 -0
  63. package/skills/agentflow-cli/runtime/builtin/nodes/control_user_workspace.md +24 -0
  64. package/skills/agentflow-cli/runtime/builtin/nodes/control_wait_until.md +34 -0
  65. package/skills/agentflow-cli/runtime/builtin/nodes/control_while.md +124 -0
  66. package/skills/agentflow-cli/runtime/builtin/nodes/display_ascii.md +24 -0
  67. package/skills/agentflow-cli/runtime/builtin/nodes/display_chart.md +32 -0
  68. package/skills/agentflow-cli/runtime/builtin/nodes/display_code.md +39 -0
  69. package/skills/agentflow-cli/runtime/builtin/nodes/display_html.md +32 -0
  70. package/skills/agentflow-cli/runtime/builtin/nodes/display_image.md +36 -0
  71. package/skills/agentflow-cli/runtime/builtin/nodes/display_markdown.md +24 -0
  72. package/skills/agentflow-cli/runtime/builtin/nodes/display_mermaid.md +24 -0
  73. package/skills/agentflow-cli/runtime/builtin/nodes/display_react_app.md +53 -0
  74. package/skills/agentflow-cli/runtime/builtin/nodes/display_table.md +32 -0
  75. package/skills/agentflow-cli/runtime/builtin/nodes/provide_bool.md +14 -0
  76. package/skills/agentflow-cli/runtime/builtin/nodes/provide_file.md +14 -0
  77. package/skills/agentflow-cli/runtime/builtin/nodes/provide_json.md +14 -0
  78. package/skills/agentflow-cli/runtime/builtin/nodes/provide_password.md +14 -0
  79. package/skills/agentflow-cli/runtime/builtin/nodes/provide_str.md +14 -0
  80. package/skills/agentflow-cli/runtime/builtin/nodes/tool_display_share_link.md +47 -0
  81. package/skills/agentflow-cli/runtime/builtin/nodes/tool_get_env.md +20 -0
  82. package/skills/agentflow-cli/runtime/builtin/nodes/tool_git_checkout.md +70 -0
  83. package/skills/agentflow-cli/runtime/builtin/nodes/tool_git_worktree_load.md +73 -0
  84. package/skills/agentflow-cli/runtime/builtin/nodes/tool_git_worktree_unload.md +52 -0
  85. package/skills/agentflow-cli/runtime/builtin/nodes/tool_gitlab_create_mr.md +114 -0
  86. package/skills/agentflow-cli/runtime/builtin/nodes/tool_jenkins_build.md +67 -0
  87. package/skills/agentflow-cli/runtime/builtin/nodes/tool_load_key.md +26 -0
  88. package/skills/agentflow-cli/runtime/builtin/nodes/tool_nodejs.md +52 -0
  89. package/skills/agentflow-cli/runtime/builtin/nodes/tool_print.md +21 -0
  90. package/skills/agentflow-cli/runtime/builtin/nodes/tool_save_key.md +26 -0
  91. package/skills/agentflow-cli/runtime/builtin/nodes/tool_set_run_env.md +38 -0
  92. package/skills/agentflow-cli/runtime/builtin/nodes/tool_user_ask.md +27 -0
  93. package/skills/agentflow-cli/runtime/builtin/nodes/tool_user_check.md +26 -0
  94. package/skills/agentflow-cli/runtime/builtin/nodes/tool_wecom_send_app_markdown.md +57 -0
  95. package/skills/agentflow-cli/runtime/builtin/nodes/tool_wecom_send_group_markdown.md +45 -0
  96. package/skills/agentflow-cli/runtime/builtin/nodes/workspace_one_click_task.md +44 -0
  97. package/skills/agentflow-cli/runtime/builtin/nodes/workspace_run.md +16 -0
  98. package/skills/agentflow-cli/runtime/builtin/nodes/workspace_scheduled_run.md +16 -0
  99. package/skills/agentflow-cli/runtime/builtin/nodes/workspace_subflow_input.md +14 -0
  100. package/skills/agentflow-cli/runtime/package.json +6 -0
  101. package/skills/agentflow-cli/scripts/agentflow-auth-store.mjs +113 -0
  102. package/skills/agentflow-cli/scripts/agentflow-cli.mjs +393 -28
  103. package/skills/agentflow-cli/scripts/agentflow-runtime.mjs +11 -4
  104. package/skills/agentflow-flow-add-instances/SKILL.md +2 -2
  105. package/skills/agentflow-flow-dsl/SKILL.md +83 -10
  106. package/skills/agentflow-flow-dsl/agents/openai.yaml +2 -2
  107. package/skills/agentflow-flow-dsl/references/node-calls.md +3 -0
  108. package/skills/agentflow-flow-dsl/references/subflow-authoring.md +230 -0
  109. package/skills/agentflow-flow-edit-node-fields/SKILL.md +3 -3
  110. package/skills/agentflow-flow-recipes/SKILL.md +1 -1
  111. package/skills/agentflow-flow-recipes/references/recipes.md +1 -2
  112. package/skills/agentflow-flow-sync-ui/SKILL.md +1 -1
  113. package/skills/agentflow-node-dsl/SKILL.md +44 -13
  114. package/skills/agentflow-node-reference/references/builtin-nodes.md +25 -0
  115. package/skills/agentflow-workspace-markdown/SKILL.md +1 -1
  116. package/builtin/web-ui/dist/assets/index-B9ppXv7e.css +0 -1
  117. package/builtin/web-ui/dist/assets/index-CdEQWRrp.js +0 -872
  118. package/skills/agentflow-workspace-graph/SKILL.md +0 -85
@@ -0,0 +1,114 @@
1
+ ---
2
+ # Built-in node: GitLab Create MR
3
+ runtime: native
4
+ description: |
5
+ Create or reuse a GitLab merge request for the current branch.
6
+
7
+ - `gitContext` and `workspaceContext` can be connected from Git Checkout / Load Worktree.
8
+ - `repoPath` is optional. When empty, AgentFlow uses `gitContext.worktreePath`, `gitContext.repoPath`, or `workspaceContext.cwd`.
9
+ - `sourceBranch`, `targetBranch`, `title`, `description`, `draft`, and `labels` are optional. When empty, AgentFlow derives sensible defaults from git.
10
+ - `tokenEnv` is optional. Defaults to `GITLAB_TOKEN,GITLAB_PRIVATE_TOKEN`.
11
+ - `gitlabApiBase` is optional. When empty, AgentFlow uses `https://${gitContext.host}/api/v4`.
12
+ displayName: Create GitLab MR
13
+ input:
14
+ - type: node
15
+ name: prev
16
+ default: ""
17
+ - type: file
18
+ name: repoPath
19
+ default: ""
20
+ showOnNode: false
21
+ - type: text
22
+ name: gitContext
23
+ default: ""
24
+ showOnNode: true
25
+ - type: text
26
+ name: workspaceContext
27
+ default: ""
28
+ showOnNode: false
29
+ - type: text
30
+ name: sourceBranch
31
+ default: ""
32
+ showOnNode: false
33
+ - type: text
34
+ name: targetBranch
35
+ default: ""
36
+ showOnNode: false
37
+ - type: text
38
+ name: title
39
+ default: ""
40
+ showOnNode: false
41
+ - type: text
42
+ name: description
43
+ default: ""
44
+ showOnNode: false
45
+ - type: bool
46
+ name: draft
47
+ default: "false"
48
+ showOnNode: false
49
+ - type: text
50
+ name: labels
51
+ default: ""
52
+ showOnNode: false
53
+ - type: bool
54
+ name: push
55
+ default: "true"
56
+ showOnNode: false
57
+ - type: text
58
+ name: remote
59
+ default: "origin"
60
+ showOnNode: false
61
+ - type: text
62
+ name: tokenEnv
63
+ default: ""
64
+ showOnNode: false
65
+ - type: text
66
+ name: gitlabApiBase
67
+ default: ""
68
+ showOnNode: false
69
+ - type: bool
70
+ name: removeSourceBranch
71
+ default: "false"
72
+ showOnNode: false
73
+ - type: bool
74
+ name: squash
75
+ default: "false"
76
+ showOnNode: false
77
+ output:
78
+ - type: node
79
+ name: next
80
+ default: ""
81
+ - type: text
82
+ name: mrUrl
83
+ default: ""
84
+ required: true
85
+ - type: bool
86
+ name: created
87
+ default: ""
88
+ showOnNode: false
89
+ - type: text
90
+ name: mrIid
91
+ default: ""
92
+ showOnNode: false
93
+ - type: text
94
+ name: projectId
95
+ default: ""
96
+ showOnNode: false
97
+ - type: text
98
+ name: sourceBranch
99
+ default: ""
100
+ showOnNode: false
101
+ - type: text
102
+ name: targetBranch
103
+ default: ""
104
+ showOnNode: false
105
+ - type: text
106
+ name: title
107
+ default: ""
108
+ showOnNode: false
109
+ - type: text
110
+ name: message
111
+ default: ""
112
+ showOnNode: false
113
+ ---
114
+ Create or reuse a GitLab merge request and output `${mrUrl}`.
@@ -0,0 +1,67 @@
1
+ ---
2
+ # Built-in node: durable Jenkins build
3
+ runtime: native
4
+ description: |
5
+ Trigger one Jenkins job and durably monitor it until completion.
6
+
7
+ The node persists queue/build checkpoints and uses server-side deferred polling at `pollInterval`:
8
+ the Workspace request returns in a waiting state instead of keeping an HTTP request or worker asleep.
9
+ The AgentFlow server registry wakes the flow again and continues downstream after completion.
10
+ An existing queueId/buildNumber is reused after a run or AgentFlow server interruption,
11
+ so a resumed run does not trigger the job again. Jenkins FAILURE/ABORTED/TIMEOUT are business
12
+ outcomes and continue to downstream notification nodes. Authentication, configuration, and
13
+ repeated platform request errors fail the AgentFlow node.
14
+
15
+ Credentials are read from environment configuration. `credentialRef: team-ci` selects
16
+ `JENKINS_TEAM_CI_BASE_URL`, `JENKINS_TEAM_CI_USERNAME`, and `JENKINS_TEAM_CI_TOKEN`, falling
17
+ back to the standard `JENKINS_BASE_URL`, `JENKINS_USERNAME`, and `JENKINS_TOKEN` variables.
18
+ displayName: Jenkins Build
19
+ input:
20
+ - type: node
21
+ name: prev
22
+ default: ""
23
+ - type: text
24
+ name: job
25
+ default: ""
26
+ required: true
27
+ showOnNode: true
28
+ - type: text
29
+ name: parameters
30
+ default: "{}"
31
+ description: "Jenkins Job 参数 JSON object。"
32
+ showOnNode: true
33
+ - type: text
34
+ name: credentialRef
35
+ default: ""
36
+ description: "Project Deployment 中配置的 Jenkins 凭证引用;不在 flow.yaml 中填写 token。"
37
+ showOnNode: false
38
+ - type: text
39
+ name: pollInterval
40
+ default: "30s"
41
+ showOnNode: false
42
+ - type: text
43
+ name: timeout
44
+ default: "2h"
45
+ showOnNode: false
46
+ output:
47
+ - type: node
48
+ name: next
49
+ default: ""
50
+ - type: text
51
+ name: status
52
+ default: ""
53
+ required: true
54
+ showOnNode: true
55
+ - type: text
56
+ name: url
57
+ default: ""
58
+ required: true
59
+ description: "优先返回安装包 URL;没有安装包时返回 Jenkins Build URL。"
60
+ showOnNode: true
61
+ - type: text
62
+ name: qrUrl
63
+ default: ""
64
+ description: "解析到二维码时返回,否则为空。"
65
+ showOnNode: true
66
+ ---
67
+ Trigger Jenkins job `${job}` with `${parameters}`, wait durably, then output `${status}`, `${url}`, and optional `${qrUrl}`.
@@ -0,0 +1,26 @@
1
+ ---
2
+ # 内置节点:按 key 读取
3
+ runtime: none
4
+ palette: hidden
5
+ description: Load key-value from global storage
6
+ displayName: LoadKey
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: text
12
+ name: key
13
+ default: ""
14
+ required: true
15
+ showOnNode: true
16
+ output:
17
+ - type: node
18
+ name: next
19
+ default: ""
20
+ - type: text
21
+ name: result
22
+ default: ""
23
+ required: true
24
+ showOnNode: true
25
+ ---
26
+ ${USER_PROMPT}
@@ -0,0 +1,52 @@
1
+ ---
2
+ # 内置节点:执行 Node.js
3
+ runtime: native
4
+ description: |
5
+ Execute a Node.js script. The Workspace runtime spawns the command directly — no agent involved.
6
+
7
+ **Success/Failure:** Determined by the script process **exit code** — 0 = success, non-0 = failed.
8
+ **Result Output:** Script stdout becomes the `result` slot content (plain text, e.g. `console.log("hello")`).
9
+ When stdout is empty and the exit code is non-0, stderr is written to the failure message.
10
+ Do **not** wrap stdout in a JSON envelope.
11
+
12
+ **Script placeholders:** `script` (inline) or `scriptRef` (file) support `${}` placeholders —
13
+ `workspaceRoot` / `pipelineWorkspace` / `flowDir` (all three resolve to the scoped workspace root),
14
+ `cwd`, `nodeRunDir`, `nodeTmpDir`, `outputsDir`, `scriptRef`, plus every input and output slot name.
15
+ Values are auto shell-quoted, so do not add your own quotes.
16
+ Example: `script: node ${flowDir}/scripts/my-check.mjs --root ${workspaceRoot} --input ${todo}`
17
+
18
+ **Pin Path Constraint (Important):** File paths read/written by the script **must be passed via pins**;
19
+ never construct output paths inside the script.
20
+ - Input slots of type `file` are resolved from upstream connections; the script receives them as CLI args.
21
+ - Output slots of type `file` are resolved to absolute paths by the runtime; the script writes to them directly.
22
+ - Reference them with `${slotName}` in `script`, e.g. `--figma-tree ${figma_tree} --output ${restore_todolist}`.
23
+ - **Forbidden** to invent output paths inside the script — downstream nodes will not find the files.
24
+
25
+ **Scripts under `scripts/` must be referenced as `${flowDir}/scripts/xxx.mjs`.**
26
+ displayName: NodeJs
27
+ input:
28
+ - type: node
29
+ name: prev
30
+ default: ""
31
+ - type: text
32
+ name: workspaceContext
33
+ default: ""
34
+ required: true
35
+ showOnNode: true
36
+ - type: text
37
+ name: skillsContext
38
+ default: ""
39
+ - type: text
40
+ name: mcpContext
41
+ default: ""
42
+ output:
43
+ - type: node
44
+ name: next
45
+ default: ""
46
+ - type: text
47
+ name: result
48
+ default: ""
49
+ required: true
50
+ showOnNode: true
51
+ ---
52
+ ${USER_PROMPT}
@@ -0,0 +1,21 @@
1
+ ---
2
+ # 内置节点:醒目输出
3
+ runtime: none
4
+ palette: hidden
5
+ description: Output content to user with special font style
6
+ displayName: Print
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: text
12
+ name: content
13
+ default: ""
14
+ required: true
15
+ showOnNode: true
16
+ output:
17
+ - type: node
18
+ name: next
19
+ default: ""
20
+ ---
21
+ Print `${content}` to the user.
@@ -0,0 +1,26 @@
1
+ ---
2
+ # 内置节点:按 key 写入
3
+ runtime: none
4
+ palette: hidden
5
+ description: Save key-value pair to global storage
6
+ displayName: SaveKey
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: text
12
+ name: key
13
+ default: ""
14
+ required: true
15
+ showOnNode: true
16
+ - type: text
17
+ name: value
18
+ default: ""
19
+ required: true
20
+ showOnNode: true
21
+ output:
22
+ - type: node
23
+ name: next
24
+ default: ""
25
+ ---
26
+ ${USER_PROMPT}
@@ -0,0 +1,38 @@
1
+ ---
2
+ # Built-in node: set environment variables for the current run only
3
+ runtime: native
4
+ description: Set environment variables for downstream nodes in the current workspace run
5
+ displayName: Set Run Env
6
+ input:
7
+ - type: node
8
+ name: prev
9
+ default: ""
10
+ - type: text
11
+ name: key
12
+ default: ""
13
+ description: "单个环境变量名,例如 IMAP_USER。"
14
+ showOnNode: true
15
+ - type: text
16
+ name: value
17
+ default: ""
18
+ description: "单个环境变量值。"
19
+ showOnNode: true
20
+ - type: text
21
+ name: variables
22
+ default: ""
23
+ description: "批量设置,支持多行 KEY=VALUE 或 JSON object。"
24
+ showOnNode: false
25
+ output:
26
+ - type: node
27
+ name: next
28
+ default: ""
29
+ - type: text
30
+ name: keys
31
+ default: ""
32
+ showOnNode: false
33
+ - type: text
34
+ name: count
35
+ default: ""
36
+ showOnNode: false
37
+ ---
38
+ Set environment variables for downstream nodes in this run only.
@@ -0,0 +1,27 @@
1
+ ---
2
+ # 内置节点:用户选择(Switch 分支)
3
+ runtime: none
4
+ palette: hidden
5
+ description: 等待用户从多个选项中选择一个,流程暂停;按用户选择沿对应出边分支继续。每个 output 槽位对应一条分支,槽位的 description 作为选项文案。
6
+ displayName: UserAsk
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: file
12
+ name: question
13
+ description: 要展示给用户的问题(Markdown 格式)
14
+ default: ""
15
+ required: true
16
+ showOnNode: true
17
+ output:
18
+ - type: node
19
+ name: option_0
20
+ description: 选项 0
21
+ default: ""
22
+ - type: node
23
+ name: option_1
24
+ description: 选项 1
25
+ default: ""
26
+ ---
27
+ ${USER_PROMPT}
@@ -0,0 +1,26 @@
1
+ ---
2
+ # 内置节点:用户确认
3
+ runtime: none
4
+ palette: hidden
5
+ description: 等待用户确认,流程暂停。展示确认内容给用户,用户可编辑/AI修改后保存,回复 "继续" 后重启流程。
6
+ displayName: UserCheck
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: file
12
+ name: content
13
+ description: 要展示给用户确认的内容(Markdown 格式)
14
+ default: ""
15
+ required: true
16
+ showOnNode: true
17
+ output:
18
+ - type: node
19
+ name: next
20
+ default: ""
21
+ - type: file
22
+ name: content
23
+ description: 用户确认后的内容(可能已编辑/AI修改)
24
+ default: ""
25
+ ---
26
+ ${USER_PROMPT}
@@ -0,0 +1,57 @@
1
+ ---
2
+ # Built-in node: WeCom direct markdown message
3
+ runtime: native
4
+ description: Send Markdown message to WeCom users through an enterprise application
5
+ displayName: WeCom Direct Markdown
6
+ input:
7
+ - type: node
8
+ name: prev
9
+ default: ""
10
+ - type: text
11
+ name: markdown
12
+ default: ""
13
+ required: true
14
+ description: "企业微信应用消息 markdown.content。请输出企业微信 Markdown 正文,不要包裹 agentflow envelope 或额外解释;适合通知、告警、任务摘要等个人消息。"
15
+ showOnNode: true
16
+ - type: text
17
+ name: toUser
18
+ default: ""
19
+ required: true
20
+ description: "接收人企业微信 userid;多个用户用 | 分隔,@all 表示全部。"
21
+ showOnNode: true
22
+ - type: text
23
+ name: corpId
24
+ default: ""
25
+ showOnNode: false
26
+ - type: text
27
+ name: corpSecret
28
+ default: ""
29
+ showOnNode: false
30
+ - type: text
31
+ name: agentId
32
+ default: ""
33
+ showOnNode: false
34
+ - type: text
35
+ name: accessToken
36
+ default: ""
37
+ showOnNode: false
38
+ output:
39
+ - type: node
40
+ name: next
41
+ default: ""
42
+ - type: bool
43
+ name: sent
44
+ default: ""
45
+ showOnNode: true
46
+ - type: text
47
+ name: message
48
+ default: ""
49
+ showOnNode: false
50
+ - type: text
51
+ name: response
52
+ default: ""
53
+ showOnNode: false
54
+ ---
55
+ Send `${markdown}` to one or more WeCom users (`${toUser}`) using a WeCom enterprise application.
56
+
57
+ If credential inputs are empty, AgentFlow reads `WECOM_CORP_ID`, `WECOM_APP_SECRET` / `WECOM_CORP_SECRET`, `WECOM_AGENT_ID`, and optionally `WECOM_TO_USER` from environment config.
@@ -0,0 +1,45 @@
1
+ ---
2
+ # Built-in node: WeCom group robot markdown message
3
+ runtime: native
4
+ description: Send Markdown message to a WeCom group robot webhook
5
+ displayName: WeCom Group Chat Markdown
6
+ input:
7
+ - type: node
8
+ name: prev
9
+ default: ""
10
+ - type: text
11
+ name: markdown
12
+ default: ""
13
+ required: true
14
+ description: "企业微信机器人 markdown.content。请输出企业微信 Markdown 正文,不要包裹 agentflow envelope 或额外解释;支持标题、列表、链接、引用、代码等企业微信 Markdown 子集。"
15
+ showOnNode: true
16
+ - type: text
17
+ name: webhookUrl
18
+ default: ""
19
+ description: "企业微信群机器人完整 webhook 地址。可以只填 webhookKey。"
20
+ showOnNode: true
21
+ - type: text
22
+ name: webhookKey
23
+ default: ""
24
+ description: "企业微信群机器人 key,用于拼出 https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=..."
25
+ showOnNode: false
26
+ output:
27
+ - type: node
28
+ name: next
29
+ default: ""
30
+ - type: bool
31
+ name: sent
32
+ default: ""
33
+ showOnNode: true
34
+ - type: text
35
+ name: message
36
+ default: ""
37
+ showOnNode: false
38
+ - type: text
39
+ name: response
40
+ default: ""
41
+ showOnNode: false
42
+ ---
43
+ Send `${markdown}` to a WeCom group chat through a group robot webhook.
44
+
45
+ Use either `webhookUrl` or `webhookKey`. If both are empty, AgentFlow reads `WECOM_GROUP_WEBHOOK` / `WECOM_BOT_WEBHOOK` or `WECOM_GROUP_WEBHOOK_KEY` / `WECOM_BOT_KEY` from environment config.
@@ -0,0 +1,44 @@
1
+ ---
2
+ # 内置节点:一键任务
3
+ runtime: native
4
+ type: agent
5
+ description: 输入任务描述,选择 Skills、workspace 上下文和输出类型后直接运行;等价于「Load Skills + 子 Agent + Display」的合并节点。
6
+ displayName: 一键任务
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ - type: text
12
+ name: skillKeys
13
+ default: ""
14
+ showOnNode: false
15
+ - type: bool
16
+ name: includeWorkspaceContext
17
+ default: "true"
18
+ showOnNode: false
19
+ - type: text
20
+ name: displayType
21
+ default: "markdown"
22
+ showOnNode: false
23
+ - type: text
24
+ name: knowledgeContext
25
+ default: ""
26
+ showOnNode: false
27
+ - type: text
28
+ name: workspaceContext
29
+ default: ""
30
+ showOnNode: false
31
+ output:
32
+ - type: node
33
+ name: next
34
+ default: ""
35
+ - type: text
36
+ name: content
37
+ default: ""
38
+ showOnNode: true
39
+ - type: text
40
+ name: displayType
41
+ default: "markdown"
42
+ showOnNode: false
43
+ ---
44
+ 输入任务,选择 Skills、workspace 上下文和输出类型后直接运行。
@@ -0,0 +1,16 @@
1
+ ---
2
+ # 内置节点:Run
3
+ runtime: native
4
+ type: control
5
+ description: Workspace 图的运行入口。点击运行时,从本节点出发沿控制边选出子图并执行;本节点自身不产生输出。
6
+ displayName: Run
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ output:
12
+ - type: node
13
+ name: next
14
+ default: ""
15
+ ---
16
+ Run the downstream workspace subgraph connected from this node.
@@ -0,0 +1,16 @@
1
+ ---
2
+ # 内置节点:Scheduled Run
3
+ runtime: native
4
+ type: control
5
+ description: 定时运行入口。与 Run 相同的执行语义,区别是由调度器按节点 body 中的 JSON 排程配置触发。
6
+ displayName: Scheduled Run
7
+ input:
8
+ - type: node
9
+ name: prev
10
+ default: ""
11
+ output:
12
+ - type: node
13
+ name: next
14
+ default: ""
15
+ ---
16
+ Run the downstream workspace subgraph on a schedule.
@@ -0,0 +1,14 @@
1
+ ---
2
+ # 内置节点:子流程输入
3
+ runtime: native
4
+ type: control
5
+ palette: hidden
6
+ description: 子流程调用帧的输入代理。只允许通过 flow.input 创建,不在节点面板中展示。
7
+ displayName: Subflow Input
8
+ input: []
9
+ output:
10
+ - type: text
11
+ name: value
12
+ default: ""
13
+ ---
14
+ Expose one value injected by a flow.call invocation.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "@fieldwangai/agentflow-skill-runtime",
3
+ "version": "0.1.161",
4
+ "type": "module",
5
+ "agentflowSkillRuntime": 1
6
+ }