SuperAPI AI 工具集

speckle-syntax-automate

编程与开发

查看项目

更新于 10-15 22:18

技能介绍

用途:编写 Speckle Automate 函数、定义函数输入、使用 AutomationContext API 时的参考技能,防止输入 schema 定义错误、遗漏结果标记等问题。

主要能力:区分 Function(可复用代码模板,由开发者创建,全局列于 Function Library)与 Automation(绑定单一项目与模型的配置实例)。说明唯一触发机制为版本创建,无手动、定时或 webhook 触发。给出执行流程:发布新版本→服务器检测→查找绑定 Automation→启动 Docker 容器→执行函数→结果附加到版本。

使用方式:Python 使用 specklepy(含 speckle_automate,Python 3.10+),入口为 execute_automate_function(automate_function, FunctionInputs),输入类继承 AutomateBase(Pydantic),敏感值用 SecretStr。C# 使用 Speckle.Automate.Sdk(NuGet,.NET 8.0),通过 DI 容器与 IAutomationRunner.Main<FunctionInputs>() 调用,输入用 readonly struct 加 DataAnnotations,敏感值用 [Secret]。结果状态分 Success、Failed、Exception 三种,须显式调用 mark_run_success() 或 mark_run_failed()。

适用场景:Speckle 模型自动化校验、对象遍历与标注、文件结果上传等。

限制:输入须为简单标量类型,UI 以扁平表单渲染;C# 函数为异步,禁用 .Result/.Wait();attach_error_to_objects() 不可传空列表;发布须创建 GitHub Release,且不可修改自动生成的 SPECKLE_FUNCTION_ID 与 SPECKLE_FUNCTION_TOKEN 环境变量。