TraceStudio-dev/docs/server1.2/worker.md
2026-01-09 21:37:02 +08:00

79 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

当然可以,以下是 TraceStudio v2.0 当前前后端设计框架与核心功能的总结,便于后续 AI 或开发者继续设计和扩展:
------
## 一、前端设计框架与核心功能
### 1. 节点编辑与可视化
- **节点主输入/主输出**:所有主数据流通过连线传递,节点左侧为 InputSpec右侧为 OutputSpec前端不再显示输入映射选择。
- **参数面板Inspector**:仅显示 ParamSpec 控制参数支持静态赋值、上下文引用、暴露端口Expose Pin
- **上下文变量引用**:参数可绑定全局或上游节点的 Context 变量,支持 $Global.xxx 和 $NodeID.xxx 格式。
- **节点形态**主流水线1进1出为主聚合/分支节点支持多输入/多输出,线条粗细自动根据数据维度渲染。
- 交互逻辑
- 连线即输入,参数赋值支持静态/上下文/暴露端口三种模式。
- 支持节点暴露参数为端口,自动升级为输入端口。
- 支持节点上下文广播与全局变量提升。
### 2. 工作流与运行
- **节点运行状态**:支持 pending、running、success、error 状态,前端可实时展示进度。
- **工作流递归执行**:点击运行节点时,自动逆向递归依赖链,聚合节点自动收集多输入,数组节点自动批量执行。
- **缓存命中**:节点执行前自动检查缓存,命中则直接返回缓存值。
------
## 二、后端设计框架与核心功能
### 1. 节点系统核心
- **TraceNode 基类**:明确 InputSpec、OutputSpec、ParamSpec、ContextSpec 四大属性,所有节点继承此基类。
- **节点注册与发现**:通过 register_node 装饰器自动注册,支持动态加载与反射。
- **节点执行接口**process(inputs, context) 方法,所有主输入通过 inputs 传递,参数通过 self.get_param 获取,上下文通过 context 传递。
- **参数与上下文分离**:参数仅面板赋值,主输入仅连线传递,上下文自动广播。
- **缓存机制**:支持内存/磁盘缓存,缓存 key 由节点类型、参数、输入、上下文共同决定。
### 2. 典型节点实现
- **示例节点**:如 AddNode加法、InputNode/OutputNodeIO、ConcatNode聚合
- **聚合/复合节点**:支持多输入、批量处理、上下文聚合。
- **节点元数据与校验**:支持节点元数据自动提取与校验(如 node_validator.py
### 3. 工作流执行器
- **WorkflowExecutor**:自动递归执行节点,处理依赖、聚合输入、缓存、状态管理。
- **支持批量与聚合**:聚合节点自动收集多输入,数组节点自动批量执行下游节点。
### 4. 安全与扩展
- **节点代码安全校验**:支持节点代码静态分析,禁止危险模块/函数,强制继承 TraceNode。
- **沙箱执行**:预留沙箱接口,支持资源限制与超时控制。
------
## 三、交互与协议
- **节点元数据协议**:前后端通过 InputSpec/OutputSpec/ParamSpec/ContextSpec 四大属性进行节点描述与渲染。
- **上下文命名空间协议**:支持 $Global.xxx 和 $NodeID.xxx 两级上下文变量引用。
- **节点运行与状态协议**:支持节点运行状态回调与进度上报,便于前端实时展示。
------
## 四、可扩展性与后续建议
- 支持自定义节点动态加载与热插拔。
- 支持节点类型扩展(如复合节点、条件节点、循环节点等)。
- 支持更细粒度的权限与安全控制。
- 支持分布式/异步执行与大规模数据流处理。
- 支持更丰富的前端交互(如节点模板、批量编辑、可视化调试等)。
------
如需详细代码结构、接口示例或具体扩展建议,可进一步补充。此总结可直接交付给下一个 AI 或开发者,作为 TraceStudio v2.0 节点系统的权威设计蓝本。