@fieldwangai/agentflow 0.1.153 → 0.1.154

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 (192) hide show
  1. package/README.md +16 -34
  2. package/README.zh-CN.md +14 -34
  3. package/agents/agentflow-node-executor-code.md +13 -3
  4. package/agents/agentflow-node-executor-planning.md +13 -3
  5. package/agents/agentflow-node-executor-requirement.md +13 -3
  6. package/agents/agentflow-node-executor-test.md +13 -3
  7. package/agents/agentflow-node-executor-ui.md +13 -3
  8. package/agents/agentflow-node-executor.md +13 -3
  9. package/agents/en/agentflow-node-executor.md +13 -3
  10. package/agents/zh/agentflow-node-executor.md +13 -3
  11. package/bin/agentflow.mjs +3 -3
  12. package/bin/lib/admin-builtin-pipelines.mjs +3 -2
  13. package/bin/lib/agent-runners.mjs +0 -929
  14. package/bin/lib/auth.mjs +2 -1
  15. package/bin/lib/catalog-agents.mjs +2 -1
  16. package/bin/lib/catalog-flows.mjs +165 -90
  17. package/bin/lib/composer-agent.mjs +3 -793
  18. package/bin/lib/composer-skill-router.mjs +3 -323
  19. package/bin/lib/exec-buffered.mjs +32 -0
  20. package/bin/lib/flow-dsl/cli.mjs +276 -0
  21. package/bin/lib/flow-dsl/codegen.mjs +358 -0
  22. package/bin/lib/flow-dsl/defs.mjs +103 -0
  23. package/bin/lib/flow-dsl/index.mjs +77 -0
  24. package/bin/lib/flow-dsl/ir.mjs +305 -0
  25. package/bin/lib/flow-dsl/layout.mjs +115 -0
  26. package/bin/lib/flow-dsl/legacy-yaml.mjs +268 -0
  27. package/bin/lib/flow-dsl/lint.mjs +241 -0
  28. package/bin/lib/flow-dsl/packages.mjs +251 -0
  29. package/bin/lib/flow-dsl/parser.mjs +444 -0
  30. package/bin/lib/flow-import.mjs +96 -26
  31. package/bin/lib/flow-write.mjs +48 -12
  32. package/bin/lib/help.mjs +8 -28
  33. package/bin/lib/html-escape.mjs +19 -0
  34. package/bin/lib/http-util.mjs +49 -0
  35. package/bin/lib/legacy-flow-execution.mjs +37 -0
  36. package/bin/lib/locales/en.json +1 -1
  37. package/bin/lib/locales/zh.json +1 -1
  38. package/bin/lib/main.mjs +152 -286
  39. package/bin/lib/marketplace.mjs +206 -61
  40. package/bin/lib/model-config.mjs +10 -0
  41. package/bin/lib/node-package-archive.mjs +240 -0
  42. package/bin/lib/node-package-bootstrap.mjs +72 -0
  43. package/bin/lib/node-package-manifest.mjs +174 -0
  44. package/bin/lib/paths.mjs +42 -19
  45. package/bin/lib/prd-workflow-routes.mjs +2949 -0
  46. package/bin/lib/prd-workflow-server.mjs +4884 -0
  47. package/bin/lib/run-events.mjs +0 -66
  48. package/bin/lib/schedule-config.mjs +4 -4
  49. package/bin/lib/skill-runtime.mjs +35 -0
  50. package/bin/lib/startup-storage-migrations.mjs +274 -0
  51. package/bin/lib/ui-server.mjs +1087 -18122
  52. package/bin/lib/user-env.mjs +16 -0
  53. package/bin/lib/workspace-auto-layout.mjs +234 -0
  54. package/bin/lib/workspace-flow-store.mjs +478 -0
  55. package/bin/lib/workspace-graph-merge.mjs +41 -34
  56. package/bin/lib/workspace-routes.mjs +3088 -0
  57. package/bin/lib/workspace-server.mjs +6199 -0
  58. package/bin/lib/workspace-state.mjs +331 -0
  59. package/bin/lib/workspace.mjs +2 -1
  60. package/builtin/nodes/agent_subAgent.md +1 -0
  61. package/builtin/nodes/control_agent_toBool.md +2 -0
  62. package/builtin/nodes/control_anyOne.md +2 -0
  63. package/builtin/nodes/control_cancelled.md +2 -0
  64. package/builtin/nodes/control_cd_workspace.md +5 -11
  65. package/builtin/nodes/control_delay.md +2 -0
  66. package/builtin/nodes/control_end.md +2 -0
  67. package/builtin/nodes/control_if.md +1 -0
  68. package/builtin/nodes/control_interval_loop.md +2 -0
  69. package/builtin/nodes/control_load_mcp.md +24 -0
  70. package/builtin/nodes/control_load_skills.md +8 -23
  71. package/builtin/nodes/control_start.md +2 -0
  72. package/builtin/nodes/control_toBool.md +2 -0
  73. package/builtin/nodes/control_user_workspace.md +2 -0
  74. package/builtin/nodes/control_wait_until.md +2 -0
  75. package/builtin/nodes/display_ascii.md +1 -0
  76. package/builtin/nodes/display_chart.md +1 -0
  77. package/builtin/nodes/display_html.md +1 -0
  78. package/builtin/nodes/display_image.md +1 -0
  79. package/builtin/nodes/display_markdown.md +1 -0
  80. package/builtin/nodes/display_mermaid.md +1 -0
  81. package/builtin/nodes/display_react_app.md +1 -0
  82. package/builtin/nodes/display_table.md +1 -0
  83. package/builtin/nodes/provide_bool.md +1 -0
  84. package/builtin/nodes/provide_file.md +1 -0
  85. package/builtin/nodes/provide_password.md +1 -0
  86. package/builtin/nodes/provide_str.md +1 -0
  87. package/builtin/nodes/tool_display_share_link.md +1 -0
  88. package/builtin/nodes/tool_get_env.md +2 -0
  89. package/builtin/nodes/tool_git_checkout.md +1 -0
  90. package/builtin/nodes/tool_git_worktree_load.md +1 -0
  91. package/builtin/nodes/tool_git_worktree_unload.md +1 -0
  92. package/builtin/nodes/tool_gitlab_create_mr.md +1 -0
  93. package/builtin/nodes/tool_jenkins_build.md +2 -0
  94. package/builtin/nodes/tool_load_key.md +2 -0
  95. package/builtin/nodes/tool_nodejs.md +17 -19
  96. package/builtin/nodes/tool_print.md +2 -0
  97. package/builtin/nodes/tool_save_key.md +2 -0
  98. package/builtin/nodes/tool_set_run_env.md +1 -0
  99. package/builtin/nodes/tool_user_ask.md +2 -0
  100. package/builtin/nodes/tool_user_check.md +2 -0
  101. package/builtin/nodes/tool_wecom_send_app_markdown.md +1 -0
  102. package/builtin/nodes/tool_wecom_send_group_markdown.md +1 -0
  103. package/builtin/nodes/workspace_one_click_task.md +44 -0
  104. package/builtin/nodes/workspace_run.md +16 -0
  105. package/builtin/nodes/workspace_scheduled_run.md +16 -0
  106. package/builtin/pipelines/module-migrate/scripts/gate.mjs +37 -0
  107. package/builtin/pipelines/module-migrate/scripts/static-check.mjs +82 -0
  108. package/builtin/pipelines/module-migrate/workspace.flow.js +172 -0
  109. package/builtin/pipelines/module-migrate/workspace.layout.json +134 -0
  110. package/builtin/pipelines/new/scripts/lint-flow.mjs +38 -0
  111. package/builtin/pipelines/new/workspace.flow.js +91 -0
  112. package/builtin/pipelines/new/workspace.layout.json +70 -0
  113. package/builtin/web-ui/dist/assets/{WorkflowAssistantThread-B9xslwI0.js → WorkflowAssistantThread-CKClwj96.js} +1 -1
  114. package/builtin/web-ui/dist/assets/index-BZ5KqLur.js +870 -0
  115. package/builtin/web-ui/dist/assets/index-CEXmmwM2.css +1 -0
  116. package/builtin/web-ui/dist/index.html +2 -2
  117. package/package.json +2 -1
  118. package/reference/flow-control-capabilities.md +77 -158
  119. package/reference/flow-layout.md +1 -1
  120. package/reference/flow-prompt-handler-check.md +2 -2
  121. package/skills/agentflow-author-flow/SKILL.md +1 -1
  122. package/skills/agentflow-cli/SKILL.md +139 -24
  123. package/skills/agentflow-cli/agents/openai.yaml +2 -2
  124. package/skills/agentflow-cli/scripts/agentflow-cli.mjs +654 -20
  125. package/skills/agentflow-cli/scripts/agentflow-runtime.mjs +97 -0
  126. package/skills/agentflow-flow-add-instances/SKILL.md +1 -1
  127. package/skills/agentflow-flow-dsl/SKILL.md +206 -0
  128. package/skills/agentflow-flow-dsl/agents/openai.yaml +4 -0
  129. package/skills/agentflow-flow-dsl/references/node-calls.md +39 -0
  130. package/skills/agentflow-flow-edit-node-fields/SKILL.md +1 -1
  131. package/skills/agentflow-flow-recipes/SKILL.md +7 -4
  132. package/skills/agentflow-flow-recipes/references/recipes.md +97 -43
  133. package/skills/agentflow-flow-sync-ui/SKILL.md +1 -1
  134. package/skills/agentflow-node-dsl/SKILL.md +212 -0
  135. package/skills/agentflow-node-dsl/agents/openai.yaml +4 -0
  136. package/skills/agentflow-node-reference/SKILL.md +2 -2
  137. package/skills/agentflow-node-reference/references/builtin-nodes.md +166 -115
  138. package/skills/agentflow-runtime-reference/references/runtime.md +1 -1
  139. package/skills/agentflow-workspace-ascii/SKILL.md +9 -16
  140. package/skills/agentflow-workspace-graph/SKILL.md +62 -48
  141. package/skills/agentflow-workspace-html/SKILL.md +7 -2
  142. package/skills/agentflow-workspace-image/SKILL.md +6 -2
  143. package/skills/agentflow-workspace-markdown/SKILL.md +14 -21
  144. package/skills/agentflow-workspace-mermaid/SKILL.md +8 -16
  145. package/bin/lib/api-runner.mjs +0 -387
  146. package/bin/lib/apply.mjs +0 -903
  147. package/bin/lib/composer-flow-instances.mjs +0 -68
  148. package/bin/lib/composer-flow-skeleton.mjs +0 -334
  149. package/bin/lib/composer-flow-validate.mjs +0 -47
  150. package/bin/lib/composer-model-router.mjs +0 -185
  151. package/bin/lib/composer-node-schema.mjs +0 -303
  152. package/bin/lib/composer-planner.mjs +0 -751
  153. package/bin/lib/composer-script-ops.mjs +0 -233
  154. package/bin/lib/flow-static-preview.mjs +0 -104
  155. package/bin/lib/hub-login.mjs +0 -54
  156. package/bin/lib/hub-publish.mjs +0 -159
  157. package/bin/lib/hub-remote.mjs +0 -189
  158. package/bin/lib/hub.mjs +0 -299
  159. package/bin/lib/jenkins.mjs +0 -380
  160. package/bin/lib/node-execute.mjs +0 -539
  161. package/bin/lib/normalize-node-tool-command.mjs +0 -97
  162. package/bin/lib/runtime-context.mjs +0 -243
  163. package/bin/lib/scheduler.mjs +0 -601
  164. package/bin/lib/ui-print.mjs +0 -94
  165. package/bin/pipeline/build-node-prompt.mjs +0 -271
  166. package/bin/pipeline/check-cache.mjs +0 -191
  167. package/bin/pipeline/check-flow.mjs +0 -543
  168. package/bin/pipeline/collect-nodes.mjs +0 -212
  169. package/bin/pipeline/compute-cache-md5.mjs +0 -177
  170. package/bin/pipeline/ensure-run-dir.mjs +0 -71
  171. package/bin/pipeline/gc.mjs +0 -129
  172. package/bin/pipeline/get-env.mjs +0 -59
  173. package/bin/pipeline/get-resolved-values.mjs +0 -344
  174. package/bin/pipeline/load-key.mjs +0 -62
  175. package/bin/pipeline/parse-flow.mjs +0 -708
  176. package/bin/pipeline/post-process-control-if.mjs +0 -23
  177. package/bin/pipeline/post-process-node.mjs +0 -490
  178. package/bin/pipeline/pre-process-node.mjs +0 -1430
  179. package/bin/pipeline/resolve-inputs.mjs +0 -201
  180. package/bin/pipeline/run-tool-nodejs.mjs +0 -167
  181. package/bin/pipeline/save-key.mjs +0 -93
  182. package/bin/pipeline/snapshot-prior-round.mjs +0 -70
  183. package/bin/pipeline/validate-for-ui.mjs +0 -234
  184. package/bin/pipeline/validate-script-output.mjs +0 -130
  185. package/bin/pipeline/write-result.mjs +0 -182
  186. package/builtin/pipelines/module-migrate/flow.yaml +0 -819
  187. package/builtin/pipelines/new/flow.yaml +0 -545
  188. package/builtin/pipelines/new/scripts/check-flow.mjs +0 -9
  189. package/builtin/pipelines/new/scripts/collect-nodes.mjs +0 -211
  190. package/builtin/web-ui/dist/assets/index-DZ328oSo.css +0 -1
  191. package/builtin/web-ui/dist/assets/index-DmUV7ZCL.js +0 -888
  192. package/skills/agentflow-node-authoring/SKILL.md +0 -57
@@ -2,7 +2,7 @@
2
2
  name: agentflow-workspace-ascii
3
3
  description: >-
4
4
  AgentFlow Workspace ASCII 图展示技能。用于生成目录树、文本框图、流程草图等
5
- 等宽 ASCII 内容,并写入 display_ascii 节点的 workspace.graph.json。
5
+ 等宽 ASCII 内容,并写入 workspace.flow.js display.ascii 节点。
6
6
  ---
7
7
 
8
8
  # AgentFlow Workspace ASCII
@@ -11,21 +11,14 @@ description: >-
11
11
 
12
12
  ## 生成节点
13
13
 
14
- 新增或更新 `workspace.graph.json` 中的 `display_ascii` instance:
15
-
16
- ```json
17
- {
18
- "definitionId": "display_ascii",
19
- "label": "目录树",
20
- "body": "app/\n|-- src/\n|-- package.json",
21
- "input": [
22
- { "type": "node", "name": "prev", "value": "" },
23
- { "type": "text", "name": "content", "value": "app/\n|-- src/\n|-- package.json" }
24
- ],
25
- "output": [
26
- { "type": "text", "name": "content", "value": "app/\n|-- src/\n|-- package.json" }
27
- ]
28
- }
14
+ `workspace.flow.js` 里新增或更新一个 `display.ascii` 节点:
15
+
16
+ ```js
17
+ const tree = display.ascii("目录树", {
18
+ content: `app/
19
+ |-- src/
20
+ |-- package.json`,
21
+ });
29
22
  ```
30
23
 
31
24
  `body`、`input.content.value`、`output.content.value` 使用同一份 ASCII 文本。
@@ -2,7 +2,7 @@
2
2
  name: agentflow-workspace-graph
3
3
  description: >-
4
4
  AgentFlow Workspace 画布编辑技能。用于在 Workspace 视图中创建或修改
5
- workspace.graph.json,新增展示节点、上下文节点和连线;不修改正式 flow.yaml。
5
+ workspace.flow.js,新增展示节点、上下文节点和连线;不修改正式 flow.yaml。
6
6
  ---
7
7
 
8
8
  # AgentFlow Workspace Graph
@@ -11,61 +11,75 @@ description: >-
11
11
 
12
12
  ## 目标文件
13
13
 
14
- 优先修改当前 Workspace 项目目录下的 `workspace.graph.json`。不要修改历史 `flow.yaml`,除非用户明确要求迁移或审计。
15
-
16
- `workspace.graph.json` 结构:
17
-
18
- ```json
19
- {
20
- "version": 1,
21
- "instances": {
22
- "node_id": {
23
- "definitionId": "display_markdown",
24
- "label": "标题",
25
- "body": "展示内容",
26
- "input": [
27
- { "type": "node", "name": "prev", "value": "" },
28
- { "type": "text", "name": "content", "value": "展示内容" }
29
- ],
30
- "output": [
31
- { "type": "text", "name": "content", "value": "展示内容" }
32
- ]
33
- }
34
- },
35
- "edges": [
36
- { "source": "a", "target": "b", "sourceHandle": "output-0", "targetHandle": "input-0" }
37
- ],
38
- "ui": {
39
- "nodePositions": { "node_id": { "x": 320, "y": 180 } },
40
- "nodeSizes": { "node_id": { "width": 760, "height": 520 } }
41
- }
42
- }
14
+ 画布就是代码:改当前 Workspace 项目目录下的 **`workspace.flow.js`**。不要修改历史
15
+ `flow.yaml`,也不要写 `workspace.graph.json`——那是已经退役的格式,写了不会被读。
16
+
17
+ ```
18
+ workspace.flow.js ← 改这个
19
+ workspace.layout.json 坐标,平台维护,别碰
20
+ workspace.nodes.json 图片等机器属性,平台维护,别碰
21
+ workspace.state.json 运行产出,平台维护,别碰
22
+ ```
23
+
24
+ 坐标不用管:新节点平台会自动排布,写死坐标反而会覆盖用户调过的位置。
25
+
26
+ ## 写法
27
+
28
+ ```js
29
+ import { agent, control, display, flow } from "agentflow/flow";
30
+
31
+ const notes = display.markdown("项目结构分析", {
32
+ content: `# 项目结构分析
33
+
34
+ - src/ 业务代码
35
+ - bin/ CLI 入口`,
36
+ });
37
+ ```
38
+
39
+ | 位置 | 含义 |
40
+ |------|------|
41
+ | 第 1 个参数(字符串) | 节点显示名 |
42
+ | 第 2 个参数(对象) | 输入引脚,每个键都是引脚名 |
43
+ | 第 3 个参数(字符串) | body:agent 的 prompt、`tool.nodejs` 的命令 |
44
+ | `const 变量名` | 节点 id |
45
+ | `x.slotName` | 引用上游输出引脚 = 连一条数据线 |
46
+
47
+ 连线和控制流:
48
+
49
+ ```js
50
+ const summary = agent.subAgent("总结", { source: notes.content }, `把上面的结构讲清楚`);
51
+ const show = display.markdown("总结", { content: summary.result });
52
+ export const run = flow("Run", summary, show);
43
53
  ```
44
54
 
45
- ## 节点使用规则
55
+ 只放一个展示节点、不需要跑的,不用写 `flow(...)`,声明出来就行。
46
56
 
47
- - 用 `display_markdown` 展示 Markdown 正文、分析报告、会议纪要、代码结构说明。
48
- - 用 `display_mermaid` 展示 Mermaid 图源码。
49
- - 用 `display_ascii` 展示 ASCII 图。
50
- - 用 `display_html` 展示可交互 HTML 原型或富 UI 片段。
51
- - 用 `display_image` 展示图片 URL、data URL 或图片路径。
52
- - 用 `display_chart` 展示 ChartSpec JSON 图表。
53
- - 用 `display_table` 展示结构化表格数据。
54
- - 用普通 Workspace 节点作为上下文节点时,保持 `instances` 结构与节点定义一致;它只属于 workspace graph。
55
- - 每个新增 instance 必须有 `ui.nodePositions`。
56
- - 展示节点建议写 `ui.nodeSizes`,避免内容区域过小。
57
+ ## 铁律
57
58
 
58
- ## 连接语义
59
+ 1. 节点全部声明在**模块顶层**
60
+ 2. **禁一切控制流**:`if` / `for` / `while` / `?:` / `.map()` / `await` / 箭头函数 /
61
+ 动态属性。这个文件永不执行、只被静态解析,出现这些就还原不出图。要写逻辑就建代码
62
+ 节点 `nodes/<name>/index.mjs`
63
+ 3. 一个输出可接多个输入;**一个输入只能接一条边**;不能成环
64
+ 4. 改完跑 `agentflow flow dsl lint <flowDir>` 自查
59
65
 
60
- 展示节点的输入:
66
+ 完整语法和全部可用节点见 **agentflow-flow-dsl** skill。
61
67
 
62
- - `input[0]` / `targetHandle: "input-0"`:node prev,用于连接上游上下文。
63
- - `input[1]`:text content,展示内容。
68
+ ## 展示节点选型
64
69
 
65
- 展示节点的输出:
70
+ - `display.markdown` — Markdown 正文、分析报告、会议纪要、代码结构说明
71
+ - `display.mermaid` — Mermaid 图源码
72
+ - `display.ascii` — ASCII 图
73
+ - `display.html` — 可交互 HTML 原型或富 UI 片段
74
+ - `display.image` — 图片 URL、data URL 或图片路径
75
+ - `display.chart` — ChartSpec JSON 图表
76
+ - `display.table` — 结构化表格数据
66
77
 
67
- - `output[0]` / `sourceHandle: "output-0"`:text content,可作为后续 agent 的上下文输入。
78
+ 内容写在 `content` 引脚上;平台会同时把它当作节点正文。展示节点的 `content` 输出可以
79
+ 接给后续 agent 当上下文。
68
80
 
69
81
  ## 输出要求
70
82
 
71
- 当用户要求“生成/展示/放到 workspace 画布”时,直接编辑 `workspace.graph.json`。如果用户要求所见即所得的线上画布,随后使用 `agentflow-cli workspace-preview` 上传到服务器临时 Workspace;不要把临时项目当作正式源版本。完成后简要说明新增或修改了哪些 workspace 节点。
83
+ 用户要求「生成/展示/放到 workspace 画布」时,直接编辑 `workspace.flow.js`。需要所见即所得
84
+ 的线上画布,再用 `agentflow-cli workspace-preview --file <flowDir>` 上传到服务器临时
85
+ Workspace;不要把临时项目当作正式源版本。完成后简要说明新增或修改了哪些节点。
@@ -60,6 +60,11 @@ HTML 展示节点接收完整 HTML 文档或 HTML fragment:
60
60
 
61
61
  ## 节点写入
62
62
 
63
- 新增或更新 `workspace.graph.json` 中的 `display_html` instance 时,`body`、`input.content.value`、`output.content.value` 使用同一份 HTML。
63
+ `workspace.flow.js` 里写一个 `display.html` 节点,HTML 放 `content` 引脚:
64
64
 
65
- 建议默认尺寸:宽 430-760,高 640-860,按原型复杂度调整。
65
+ ```js
66
+ const proto = display.html("原型", { content: file("docs/proto.html") });
67
+ ```
68
+
69
+ 超过 3000 字符就像上面这样抽成 `docs/*.html`——整页 HTML 内联会把流程结构淹没。
70
+ 尺寸由平台维护,不要手写。
@@ -47,6 +47,10 @@ description: >-
47
47
 
48
48
  ## 节点写入
49
49
 
50
- 新增或更新 `workspace.graph.json` 中的 `display_image` instance 时,`body`、`input.src.value`、`output.src.value` 使用同一份图片 src。
50
+ `workspace.flow.js` 里写一个 `display.image` 节点,图片地址放 `src` 引脚:
51
51
 
52
- 建议默认尺寸:宽 520-760,高 420-680。
52
+ ```js
53
+ const shot = display.image("截图", { src: "outputs/image.png" });
54
+ ```
55
+
56
+ 尺寸由平台维护,不要手写。
@@ -2,7 +2,7 @@
2
2
  name: agentflow-workspace-markdown
3
3
  description: >-
4
4
  AgentFlow Workspace Markdown 展示技能。用于把分析、总结、文档、代码结构说明
5
- 生成 display_markdown 节点并写入 workspace.graph.json,作为后续 agent 上下文。
5
+ 生成 display.markdown 节点并写入 workspace.flow.js,作为后续 agent 上下文。
6
6
  ---
7
7
 
8
8
  # AgentFlow Workspace Markdown
@@ -11,24 +11,18 @@ description: >-
11
11
 
12
12
  ## 生成节点
13
13
 
14
- 新增或更新 `workspace.graph.json` 中的 `display_markdown` instance:
15
-
16
- ```json
17
- {
18
- "definitionId": "display_markdown",
19
- "label": "项目结构分析",
20
- "body": "# 项目结构分析\n\n...",
21
- "input": [
22
- { "type": "node", "name": "prev", "value": "" },
23
- { "type": "text", "name": "content", "value": "# 项目结构分析\n\n..." }
24
- ],
25
- "output": [
26
- { "type": "text", "name": "content", "value": "# 项目结构分析\n\n..." }
27
- ]
28
- }
14
+ `workspace.flow.js` 里新增或更新一个 `display.markdown` 节点:
15
+
16
+ ```js
17
+ const structure = display.markdown("项目结构分析", {
18
+ content: `# 项目结构分析
19
+
20
+ - src/ 业务代码`,
21
+ });
29
22
  ```
30
23
 
31
- `body`、`input.content.value`、`output.content.value` 使用同一份 Markdown 内容。
24
+ 超过 3000 字符的正文抽成文件,写 `file("docs/structure.md")`。画布语法见
25
+ **agentflow-workspace-graph** / **agentflow-flow-dsl**。
32
26
 
33
27
  ## 内容规范
34
28
 
@@ -37,8 +31,7 @@ description: >-
37
31
  - Mermaid 内容不要放进 Markdown 节点;用 `display_mermaid`。
38
32
  - ASCII 图不要放进 Markdown 节点;用 `display_ascii`。
39
33
 
40
- ## 布局建议
34
+ ## 布局
41
35
 
42
- - 默认宽度 760,高度 520。
43
- - 多个 Markdown 节点按从左到右、从上到下排布。
44
- - label 放短标题,正文放 body/content。
36
+ 坐标和尺寸由平台维护(`workspace.layout.json`),不要手写。label 放短标题,正文放
37
+ `content`。
@@ -2,7 +2,7 @@
2
2
  name: agentflow-workspace-mermaid
3
3
  description: >-
4
4
  AgentFlow Workspace Mermaid 展示技能。用于生成流程图、架构图、依赖图等
5
- Mermaid 源码,并写入 display_mermaid 节点的 workspace.graph.json。
5
+ Mermaid 源码,并写入 workspace.flow.js display.mermaid 节点。
6
6
  ---
7
7
 
8
8
  # AgentFlow Workspace Mermaid
@@ -11,21 +11,13 @@ description: >-
11
11
 
12
12
  ## 生成节点
13
13
 
14
- 新增或更新 `workspace.graph.json` 中的 `display_mermaid` instance:
15
-
16
- ```json
17
- {
18
- "definitionId": "display_mermaid",
19
- "label": "流程图",
20
- "body": "flowchart TD\n A[Start] --> B[Analyze]",
21
- "input": [
22
- { "type": "node", "name": "prev", "value": "" },
23
- { "type": "text", "name": "content", "value": "flowchart TD\n A[Start] --> B[Analyze]" }
24
- ],
25
- "output": [
26
- { "type": "text", "name": "content", "value": "flowchart TD\n A[Start] --> B[Analyze]" }
27
- ]
28
- }
14
+ `workspace.flow.js` 里新增或更新一个 `display.mermaid` 节点:
15
+
16
+ ```js
17
+ const chart = display.mermaid("流程图", {
18
+ content: `flowchart TD
19
+ A[Start] --> B[Analyze]`,
20
+ });
29
21
  ```
30
22
 
31
23
  `body`、`input.content.value`、`output.content.value` 使用同一份 Mermaid 源码。