[teamai] Push 87 resource(s) from XingfenD

This commit is contained in:
2026-09-10 16:10:45 +08:00
parent 425c9c078a
commit 65c04def51
1314 changed files with 211681 additions and 0 deletions
@@ -0,0 +1,253 @@
# 流程图 / 决策图模板
> ⚠️ **本模板生成的是位图(PNG)**,不是 mermaid / draw.io 可编辑流程图。
> 需要可编辑请用 mermaid / draw.io / excalidraw / Figma。
本文件用于生成"工程感的业务流程图 / 决策图":
- 业务流程图(用户注册流程、支付流程、订单生命周期)
- 决策树式流程(含 Yes / No 分支)
- 算法 / 数据处理流程
- 内部审批 / 工单 / 申报流程
- 异常处理 / 错误恢复流程
特征:
- 标准 BPMN-like 形状语义:
- 圆 / 圆角矩形 = 开始 / 结束
- 矩形 = 过程步骤
- 菱形 = 决策点(含 Yes / No 分支)
- 平行四边形 = 输入 / 输出
- 自上而下 OR 从左到右
- 暗色 grid 背景 + 等宽字体(沿用 technical-diagrams 视觉系统)
- 决策分支颜色编码(Yes 绿、No 红 / 灰)
## 适用范围
- 业务流程图
- 决策树流程
- 算法 / 数据流程
- 错误处理 / 异常流程
- 文档 / blog 配图
## 何时使用
- 用户提到 "流程图 / flowchart / 决策图 / decision tree / 业务流程 / 算法流程"
- 用户希望「BPMN 标准形状语义、含 Yes/No 决策分支」
- 用户接受位图
不要使用:
- 用户要的是「步骤教程插画」(暖色、卡通感) → 用 `infographics/step-by-step-infographic.md`
- 用户要的是「时序图」(actor + 消息)→ 用 `technical-diagrams/sequence-diagram.md`
- 用户要的是「状态机」(state + transition)→ 用 `technical-diagrams/state-machine.md`
- 用户要的是「系统架构」(多组件部署)→ 用 `technical-diagrams/system-architecture.md`
- 用户要的是「漫画分镜流程」 → 用 `storyboards-and-sequences/recipe-process-flowchart.md`
## 缺失信息优先提问顺序
1. 流程名称("用户注册流程 / 退款流程 / XX 算法流程")
2. 起点 / 终点(什么触发?什么结束?)
3. 主要步骤(建议 5-12 个步骤,超过考虑分子流程)
4. 决策点(哪些地方需要分支?分支条件?)
5. 是否有异常分支 / 失败回路
6. 流向(top-down 自上而下 / left-right 从左到右)
7. 比例(top-down 用 3:4 或 9:16;left-right 用 16:9)
## 主模板:标准 BPMN 风流程图
📖 描述
整张图按"开始 → 过程 → 决策 → 结束"的 BPMN 形状语义流动,自上而下排布,决策点用菱形 + 双向分支,箭头标 Yes/No。整体在暗色 grid 背景上呈现工程感。
📝 提示词
```json
{
"type": "工程感流程图 / 决策图",
"goal": "生成一张用 BPMN 标准形状语义画的业务流程图,可作 README / blog / 文档配图",
"canvas": {
"aspect_ratio": "{argument name=\"aspect_ratio\" default=\"3:4 portrait\"}",
"background": "deep slate #0F172A with subtle 1px grid #1E293B at 32px spacing",
"outer_padding": "60px"
},
"title_strip": {
"title": "{argument name=\"title\" default=\"User Registration Flow\"}",
"subtitle": "{argument name=\"subtitle\" default=\"with email verification\"}",
"position": "top-left, JetBrains Mono / SF Mono, light gray"
},
"flow_direction": "{argument name=\"flow_direction\" default=\"top-to-bottom\"}",
"shape_legend": {
"start_end": {
"shape": "filled solid circle (start) and target / bullseye circle (end), or fully rounded pill rectangle with label 'Start' / 'End'",
"color": "cyan #22D3EE for start, rose #FB7185 for end"
},
"process": {
"shape": "rectangle with corner radius 8px",
"color": "emerald #34D399 border + 12% fill"
},
"decision": {
"shape": "diamond (rotated square)",
"color": "amber #FBBF24 border + 12% fill",
"labels": "Yes / No on outgoing arrows; arrow color: emerald for Yes, slate for No"
},
"io": {
"shape": "parallelogram (skewed rectangle)",
"color": "violet #A78BFA border + 12% fill",
"use_for": "用户输入、数据写入、外部 API 输入输出"
},
"subprocess": {
"shape": "rectangle with corner radius 8px and a smaller secondary rectangle inside (BPMN sub-process notation)",
"color": "blue #60A5FA border + 12% fill",
"use_for": "封装子流程,避免主图过大"
}
},
"nodes": {
"count": "{argument name=\"node_count\" default=\"9\"}",
"items": [
{ "id": "S", "type": "start_end", "label": "Start" },
{ "id": "N1", "type": "io", "label": "User submits email + password" },
{ "id": "N2", "type": "process", "label": "Validate input format" },
{ "id": "N3", "type": "decision", "label": "Email already exists?" },
{ "id": "N4a", "type": "process", "label": "Show error: account exists" },
{ "id": "N4b", "type": "process", "label": "Create user record" },
{ "id": "N5", "type": "process", "label": "Send verification email" },
{ "id": "N6", "type": "decision", "label": "User clicks link within 24h?" },
{ "id": "N7a", "type": "process", "label": "Mark account verified" },
{ "id": "N7b", "type": "process", "label": "Soft-delete record" },
{ "id": "E", "type": "start_end", "label": "End" }
]
},
"edges": {
"rule": "edges 沿主轴正交走线(自上而下时主轴 vertical),决策分支水平展开",
"items": [
{ "from": "S", "to": "N1" },
{ "from": "N1", "to": "N2" },
{ "from": "N2", "to": "N3" },
{ "from": "N3", "to": "N4a", "label": "Yes" },
{ "from": "N3", "to": "N4b", "label": "No" },
{ "from": "N4a", "to": "E" },
{ "from": "N4b", "to": "N5" },
{ "from": "N5", "to": "N6" },
{ "from": "N6", "to": "N7a", "label": "Yes" },
{ "from": "N6", "to": "N7b", "label": "No" },
{ "from": "N7a", "to": "E" },
{ "from": "N7b", "to": "E" }
],
"edge_style": {
"default": "solid line 1.5px slate #64748B with filled triangle arrowhead",
"yes_branch": "thin solid line in emerald #34D399 + label 'Yes' near origin in mono 9pt",
"no_branch": "thin solid line in slate #64748B + label 'No'",
"exception_branch": {
"enabled": "{argument name=\"exception_branch_enabled\" default=\"false\"}",
"style": "dashed rose #FB7185 line, label 'Exception' / 'Error'"
}
}
},
"swim_lanes": {
"enabled": "{argument name=\"swim_lanes_enabled\" default=\"false\"}",
"rule": "if true, divide canvas into vertical / horizontal lanes labeled by actor (e.g. 'User', 'Frontend', 'Backend', 'Email Service'); place each node in its actor's lane"
},
"legend": {
"enabled": true,
"position": "bottom-right",
"content": "shape → role mapping (start/end, process, decision, io, subprocess) and edge → meaning",
"style": "small panel, semi-transparent bg, mono 10pt"
},
"constraints": {
"must_keep": [
"BPMN 形状语义严格对应",
"决策节点必有 ≥ 2 条分支",
"每条决策分支必标 'Yes' / 'No' 或具体条件",
"edges 正交走线,标签不与边重叠",
"暗色背景 + 等宽字体",
"至少有 1 个 start 和 1 个 end",
"legend 必画"
],
"avoid": [
"用 emoji 节点",
"把决策点画成圆 / 方(必须菱形)",
"把过程画成菱形(混淆语义)",
"斜线乱飞 / 边穿过节点",
"节点 > 15 个(拆分子流程)",
"决策分支没有标签",
"用花哨字体 / 渐变填充",
"把流程图画成插画感(步骤教程请用 step-by-step-infographic)",
"声称这是可编辑 SVG(它是位图)"
]
}
}
```
### 参数策略
- **必问**:`title`、起点 + 终点、节点列表(含 type)、决策点的分支条件
- **可默认**:`flow_direction`(top-to-bottom)、`background`(暗色 grid)、`shape_legend`、`legend_enabled`(true)
- **可随机**:节点位置(基于 flow_direction 自动布局)
### 自动补全策略
- 用户给 5-7 个步骤但没说决策 → 默认无决策(纯线性流程)
- 用户说"含异常处理" → 启用 `exception_branch_enabled` + 加 dashed rose 线
- 用户说"多角色 / 跨部门 / 跨服务" → 启用 `swim_lanes_enabled`
- 用户说"流程很长,超过 12 步" → 反问是否拆分为多个子流程
- 用户说要 light 模式 → 用变体 1
## 变体 1:浅色 Light 流程图
```json
{
"modify": {
"background": "warm off-white #F8FAFC + faint grid #E2E8F0",
"node_fill": "shape role color × 8% opacity",
"node_border": "1.5px solid full opacity (use deeper shade for white bg)",
"label_color": "deep slate #0F172A",
"edge_color": "slate #475569",
"vibe": "适合白底文档站 / 印刷版"
}
}
```
## 变体 2:Swim Lanes 跨角色泳道流程图
```json
{
"modify": {
"swim_lanes_enabled": true,
"lane_layout": "vertical lanes (each actor a vertical column)",
"lane_labels": ["User", "Frontend", "Backend API", "Database", "Email Service"],
"rule": "每个 node 放进对应 actor 的 lane;edges 跨 lane 时用粗箭头",
"use_case": "跨部门审批、跨服务交互、用户与系统多次互动"
}
}
```
适用:跨部门审批流程、跨服务交互流程、需要明确"谁干什么"的流程。
## 变体 3:算法伪代码可视化流程
```json
{
"modify": {
"title": "Algorithm: <name>",
"node_label_format": "节点 label 用伪代码片段而非自然语言",
"rule_extra": "保留循环节点(向回的弧形箭头表示 loop),变量赋值用 ← 符号",
"vibe": "适合论文 algorithm box 的可视化版本"
}
}
```
适用:算法可视化、论文 algorithm 章节的视觉版、教学讲义。
## 避免事项
- 决策菱形画成方块或圆(语义混淆)
- 决策分支没有 Yes / No 标签
- 节点 > 15 个(视觉爆炸,建议拆分)
- 用 emoji 节点图标
- 边斜飞 / 穿过节点 / 标签碰撞
- 用插画感卡通图(请用 `step-by-step-infographic.md`)
- 用 3D / 渐变 / 玻璃质感
- 多个起点或多个终点未标记清楚
- swim lane 时把跨 lane 的箭头画得不显眼
- 把"系统架构"塞进流程图(节点是组件而非动作)