Deprecate Workflow Node
当用户需要弃用一个工作流节点(保留向后兼容、隐藏出模板面板)时触发该 skill。FastGPT 工作流节点的弃用流程标准化封装,覆盖模板、Dispatcher、UI...
Install
npx skills add labring/FastGPT --skill deprecate-workflow-node -g -a claude-code -y- Repository
- labring/FastGPT30k
- Category
- Design
- Updated
- 3d ago
- License
- See repository
- Context cost
- Mediumabout 1,500 tokens
- Runs scripts
- No, instructions only
What it does
当用户需要弃用一个工作流节点(保留向后兼容、隐藏出模板面板)时触发该 skill。FastGPT 工作流节点的弃用流程标准化封装,覆盖模板、Dispatcher、UI 引用等所有需要改动的位置。
When to Use This Skill
当用户需要"弃用 / 废弃 / 下线 / 不再推荐使用"某个工作流节点(例如 LoopNode、RunAppModule 等)时触发。
弃用的目标:
- 已存在的工作流仍能正常加载和运行(保持运行时兼容)。
- 新建工作流时,模板面板不再展示该节点。
- 节点的类型枚举值(FlowNodeTypeEnum)必须保留,否则旧工作流会找不到节点定义。
核心理念
弃用 ≠ 删除。只断"新增入口",不断"运行通路"。
| 维度 | 处理方式 |
|---|---|
| 类型枚举值 | 保留(旧工作流引用) |
| 模板定义 | 移到 abandoned/ 目录,从模板面板列表中移除 |
| Dispatcher | 移到 abandoned/ 目录,添加 @deprecated 注释 |
| moduleTemplatesFlat | 必须保留,否则节点无法在画布上渲染 |
| 节点级 UI 徽章 | 模板加 status: PluginStatusEnum.SoonOffline,节点头部出现黄色"即将下线"标签 + tooltip"请尽快替换" |
| 子节点 / 关联节点 | 仅当确认无其他节点共享时才一并弃用 |
| i18n key | 不动(旧工作流仍会读取 name/intro 文案) |
ℹ️ 字段级
deprecated: true(FlowNodeInputItemType.deprecated/FlowNodeOutputItemType.deprecated)是独立机制,用于在保留节点的前提下淘汰单个字段(旧字段保留兼容、新字段替代)。整节点弃用时不要用它, , 节点级徽章已经足够指示,再加字段级会让信号过度冗余。
参考案例
仓库内已有一个完整的弃用案例可参考:FlowNodeTypeEnum.runApp。可通过对比 git log --diff-filter=R -- "**/abandoned/runApp/**" 找到当时的迁移 commit。
TODO 模板(执行前先复制并填写)
操作目标:弃用
<NodeTemplateName>(FlowNodeTypeEnum.<enumKey>)
- 1. 确认影响面
- 2. 移动模板定义到 abandoned 目录
- 3. 移动 Dispatcher到 abandoned 目录
- 4. 更新
template/constants.ts:从systemNodes移除,确保留在moduleTemplatesFlat - 5. 更新
dispatch/constants.ts:加@deprecated注释,移到 callbackMap 末尾 - 6. 节点级徽章:模板加
status: PluginStatusEnum.SoonOffline(节点头部显示"即将下线"黄色标签) - 7. 检查 UI / Hook 引用(不一定需要改)
- 8. 运行 lint + typecheck + 局部测试
详细步骤
1. 确认影响面(必做)
在动手之前,先用 grep/Explore 全局搜索节点的所有引用,确认改动范围。需要查的关键字:
# 类型枚举使用点
grep -rn "FlowNodeTypeEnum\.<enumKey>\b" packages/ projects/ --include="*.ts" --include="*.tsx"
# 模板对象(如 LoopNode)
grep -rn "<TemplateExport>\b" packages/ projects/ --include="*.ts"
# 子节点是否被其他容器复用(重要!)
grep -rn "FlowNodeTypeEnum\.<childEnum>" packages/ projects/


