更新日志 (Change Log)

本页面记录了 GdiSDK 的版本更新历史和重要变更信息。

版本历史

v0.3.5

新功能

  • 新增CreateGdimProject模块,用于在当前登录空间按数字模型创建一个GDIM项目。项目名称必填;数字模型用模板ID或精确名称指定,名称重复时需改用模板ID。其它必填字段随该模型的项目信息表变化,通过fields按字段名或字段标题提供。

  • 新增ConcatenateTables模块,用于将多张表按行纵向连接成一张表。

  • 新增CompleteLayerTable模块,按指定参考列和钻孔孔口高程补全地层表的层厚、层顶/层底深度和高程。

  • 新增CreateRecFoundation模块,用于创建一个矩形基础对象。

  • 新增FoundationSettlement模块,用于按 GB 50007-2011《建筑地基基础设计规范》分层总和法计算矩形基础中心点沉降。

  • 新增BearingCapacityModify模块,用于按 GB 50007-2011《建筑地基基础设计规范》第 5.2.4 条,用基础宽度和埋深把持力层承载力特征值 fak 修正为 fa,并判断 fa 是否不小于基础底面应力。

  • 新增SoilUniformity模块,用于把各钻孔在基础底面至同一变形区底面之间的土层,按分层总和法的附加应力系数积分成压缩模量当量值,再用各孔当量值评价地基是否均匀。

  • 新增CalculateCorrectedBlowCount模块,支持按所选参考规范计算标准贯入表或动力触探表的修正击数。

功能优化

  • 未在脚本中指定 GDIM host 时,会读取项目根目录 .env 的 GDIM_HOST,仍未设置则使用 gdimConfig.yml 的 domain。脚本中的 host 优先于 .env。

  • 单项目的 GDIM 读写模块和 PipeLine.update_gdim_state 支持用 proj_name 定位项目。proj_id 优先于名称;模块上的名称会覆盖 Pipeline 的项目。personal_space 与 space_name 用来选择企业空间或个人空间。不搜索已归档项目;同一空间内同名时报错并列出 id。Token 端口仍为 (token, proj_id, host)。涉及 GetGdimToken、GdimTemplateReader、GdimTableReader、GdimAppDataReader、GdimAppProjectInfoReader、GdimTerrainDataReader、GdimCrossSectionReader、ReadGtbFile、DocPrinter、ExcelPrinter、TextWriter、ExportGdimTables、GdimTableWriter、MdbWriter、UpdateGdimAppProjectInfo、BorePlanDrawWriter、BoreLogDrawWriter、GeoSectionsWriter。

  • MergeGdimTables模块增加参数 table_name_map,用于定义需要合并表和被合并表的表名或表标题映射关系,不再需要提前修改需要合并表的表名或表标题。

  • MergeGdimTables模块的 InputGdimTables 入端口增加对 PortTypeHint.TableData 数据类型的支持。

  • GdimAppDataReader模块增加 missing_column_value_action 参数,用于设置 UI 界面中未设置 column_value 值时的行为,同时增加 missing_column_value_message 参数,用于自定义未设置 column_value 值时的警告或报错信息。

  • AddTables模块增加 all_ports_required 参数,当设置该参数值为 False 时,支持仅一个入端口有值时也会执行该模块。

  • 优化了 Pipeline 运行时有多个输入端口的模块的执行逻辑,仅当该模块上有模块执行完成后才会执行该模块,从而防止可能出现的多输入端口模块重复成功执行的情况。

  • MathematicalStatistics模块在计算标准值时,按岩土工程勘察规范,样品数量小于 6 时不再计算标准值,改用平均值代替。

  • NullValueChecker模块增加 none_input_action,可在输入端口被写入 None 时按 ignore / warning / gdi_warning / error 处理。模块初始化时尚未写入的 None 不会触发。

  • NullValueChecker模块增加 display_table_titles 和 display_column_title 参数。空值检查在表或列不存在时,报错优先使用用户指定的标题;未指定时仍使用查找键。表或列存在时继续使用其自身标题。

  • SphericalKMeans模块新增 geo_dips。为 True 时按倾向、倾角聚类:先转换为东-北-上单位极点,中心按球面平均换回角度。dip_direction_field 与 dip_field 可用字段名或字段标题,默认 dip_direction 与 dip_angle。

兼容性变更

  • MathematicalStatistics模块输出统计结果中,地层编号、钻孔编号列的 field_name 更改为 layer_number 和 bore_number,与 GDIM 保留字段标准一致。统计结果列按 float64 保存,不再按 object 保存;从数据库读回时直接还原为数字,不再还原为字符串。

  • BearingCapacityBySPT模块在无法计算时将 fak_str 置空。BearingCapacityByStrength模块去掉字符串结果列,并将 str_precision 改为 numeric_precision,用于数值结果的小数位。

v0.3.4

新功能

  • 新增LizhengKanChaProcess模块,用于将理正勘察中的表和字段映射为 GDIM 保留表和保留字段。

  • PipeLine的add_attribute方法增加ui_schema_function_name参数,支持通过本地脚本自定义ui schema。

  • 新增GdimTemplateReader模块,用于读取GDIM数字模型中包含的表和应用结构。

  • GDIM新增开发模式,支持在开发模式下查看表名和字段名,同时支持查看pipeline在线上运行时的工作流节点状态图,以提高开发和调试效率。

  • 模块添加动态出端口时支持自定义端口类型,从而支持在PythonCoder中显式定义返给GDIM前端的数据类型。

  • 新增Collapsibility模块,用于进行黄土湿陷性计算。

  • 新增GdimCrossSectionReader模块,用于读取 GDIM「地质剖面图」应用中的剖面信息表。

  • 新增BearingCapacityBySPT模块,用于依据规范JGJ340-2015 《建筑地基检测技术规范》,基于SPT数据计算地基承载力fak。

  • 新增BearingCapacityByStrength模块,用于依据规范GB50007-2011 《建筑地基基础设计规范》,基于地基土抗剪强度计算地基承载力fa。

  • 新增NailCohesionByTest模块,用于依据规范GB50739-2011 《复合土钉墙基坑支护技术规范》,基于液性指数和标贯击数计算土钉极限粘结强度。

  • 新增SkinCapacityByTest模块,用于依据规范JGJ94-2008 《建筑桩基技术规范》,基于液性指数、天然含水量、液限、孔隙率、标贯击数、动探击数、饱和单轴抗压强度、单轴抗压强度计算桩基侧摩阻力。

  • 新增BaseCapacityByTest模块,用于依据规范JGJ94-2008 《建筑桩基技术规范》,基于液性指数、孔隙率、标惯击数、动探击数、饱和单轴抗压强度、单轴抗压强度计算桩基端阻力。

  • 新增Liquefaction模块,用于液化计算。

  • 新增RecentlyDepositedLoess模块,用于新近黄土堆积计算。

  • 新增MathematicalStatistics模块,用于表格数据的数理统计。

功能优化

  • 重构 KCAD 出图文件 .gsc 文件的数据结构,以和 GDIM 保留表和保留字段名对齐。

  • 优化模块 BorePlanDrawWriter,BoreLogDrawWriter, ExportGeoSectionsByBores 和 AddBoreLogForGeoSections,当使用 GDIM 保留表和字段时,无需再进行手动字段映射。同时增加了对必须字段的检查和相关数据质量警告。

  • 优化模块 SeismicDesignParameters 对缺少地震动查询参数接口密钥时的报错提示。

  • 模块 BorePlanDrawWriter 新增入接口 InputSectionLines,支持生成钻孔平面图时绘制剖面线。

  • terminologies 中的部分术语和 GDIM 保留字段对齐。

  • 模块 MapBoreTypeToKCAD 对于无法映射成 KCAD 标准钻孔类型的值保留其原始值并给出数据质量警告。

  • 模块 GdimAppDataReader 增加 column_title 和 column_value 参数,支持读取有多个计算结果的 Pipeline 应用保存的数据;增加 app_name 参数,允许基于 app_name 而不是 app_title 定位应用;增加 column_value_filters 参数,支持在生成 column_value 下拉选项时,根据其他列的值进行过滤。

  • 模块ConvertToMaterialTable增加参数map_to_material_name_for_cal, unmapped_material_name_action, default_material_name_for_unmapped 用于将岩土名转为用于岩土参数计算的标准岩土名称。

  • 模块GdimTableWriter新增delete_tombstone_rows参数,支持人为控制是否删除墓碑行,同时优化了墓碑行删除逻辑。

  • 重构Pipeline开发相关的技能:按GDIM应用类型拆分为gdim-app-custom(自定义应用)、gdim-app-data-update(自定义数据更新配置)、gdim-app-map-poi(地图兴趣点弹窗)、gdim-app-data-exchange(数据对接)和gdim-app-report(自动报告)五个创建技能,替代原有的pipeline-creator和pipeline-gdim-data-update;同时优化了local-function-coder、pipeline-organizer和pipeline-gdim-review,其中pipeline-gdim-review新增按应用类型的检查规则。

  • 新增文档「Pipeline构建通用步骤」「GDIM应用类型」「GDIM地图兴趣点弹窗」「GDIM数据对接」「GDIM自动报告」,并同步生成对应的智能体知识库文件。

兼容性变更

  • 模块 SeismicDesignParameters 和 ConvexHullCenter 原有的 SingleResult 接口类型均改为ResultModel。

bug修复

  • 修复 PipeLine.add_attribute 的 ui_schema_overrides 无法覆盖 widget 的问题(widget 为 computed field,重建 schema 时会被丢弃)。

v0.3.3

新功能

  • 新增UpdateGdimAppProjectInfo模块,用于更新项目信息应用的数据和项目坐标系。

  • 新增UI Schema类型CustomAttributeSchema,用于需要前端定制适配的复杂属性数据结构。

  • 新增流程控制器ForEachController,用于支持pipeline的局部循环执行。

  • 新增ContaDataToNumeric模块,用于将字符串类型的污染物浓度值统一处理为数值类型,核心是处理nd、小于检出限、小于符号、nm等特殊字符串。

  • 新增CreatePolyLines模块,用于基于坐标点或钻孔编号创建多条多段线数据表。

  • 新增MdbReader模块,用于读取.mdb文件中的表格数据或表格结构。

  • 新增ExcelReader模块,用于读取Excel文件表格数据或表格结构。

  • 新增GdimTerrainDataReader模块,用于读取 GDIM 中地形数据管理应用中存储的地形数据。

  • 新增SliceTerrain模块,基于给定剖切线和三维地形点切割地形,并输出三维和二维地形线。

  • 新增AddTables模块,用于将多个TableData或TableCollection合并为一个TableCollection,并支持定义主子表关系。

  • 新增TableFieldsSelector模块,用于从TableData或TableCollection中选择特定的列或者删除特定的列。

  • 新增UpdateGdimAppProjectInfo模块,用于更新GDIM「项目信息」应用的数据(项目信息与坐标系)。

  • 新增BorePlanDrawWriter模块,用于生成KCAD绘制钻孔平面图所需的.gsc文件。

  • 新增BoreLogDrawWriter模块,用于生成KCAD绘制钻孔柱状图所需的.gsc文件。

  • 新增ExportGeoSectionsByBores模块,用于基于剖面线、钻孔、地形线等自动生成二维和三维地质剖面数据。

  • 新增AddBoreLogForGeoSections模块,用于给ExportGeoSectionsByBores模块输出的剖面数据增加更详细的钻孔信息,例如取样位置、标贯动探数据、静探数据等。

  • 新增GeoSectionsWriter模块,用于将模块ExportGeoSectionsByBores生成的剖面数据输出到gsc文件中,从而在KCAD中绘制地质剖面。

  • 新增ConvertToMaterialTable模块,将普通TableData表转为专属岩土材料表MaterialTable对象。

  • 新增ConvertToMultiProfile1D模块,用于将TableCollection中的钻孔一览表和地层表转为用于勘察出图和岩土计算的MultiProfile1D对象。

  • 新增ResultModelToTable模块,用于将ResultModel转为单行TableData。

  • 新增AddLayerNumberByStdLayerTable模块,在地层表缺少地层编号时,依据标准地层表回填该列。

  • 新增SortByLayerNumber模块,支持按地层编号对TableData或TableCollection中的地层表排序,使用sort_layer_numbers自然排序规则(如1-3排在10-1前),可容忍部分非标准编号值。

  • Pipeline 属性支持 auto_bind="poi_field" 与 bind_field:面向 GDIM 地图类应用中兴趣点弹窗二次开发,由前端按字段名/标题(或默认 POI 标签)自动注入属性值,且不渲染对应控件;适用于 add_attribute / add_dict_attribute / add_multi_binding_attribute。

  • 新增 requirements-pythoncoder.txt:列出 gdi 本身不使用、但 GDIM 生产镜像会安装的 PythonCoder 扩展包,供本地函数 import。

功能优化

  • 优化pipeline运行调试文件trace html对ForEachController的支持。

  • ExportGdimTables模块支持导出单位,支持导出坐标系信息,支持导出带字段描述信息的表格数据。

  • ReadGtbFile模块支持读入坐标系信息并输出到新增端口OutputCoordinateSystem,支持读入带字段描述信息的表格数据。

  • GdimTableWrite模块新增empty_warning_type参数,用于控制空表写入时抛出警告的方式。新增auto_convert参数,设置为True时,模块会根据GDIM数据类型和格式要求尝试自动转换不符合要求的数据值。

  • WaterSoilCorrosion模块同时支持水化学分析和土化学分析在一张表和不同表的情况。

  • GdimTableReader模块新增参数all_empty_output,用于控制所有表都为空时输出空TableCollection还是返回None。新增过滤参数table_filters、primary_key_value_filter、nrows,用于在服务端完成数据过滤。

  • LLMNode模块增加OutputText输出端口,支持直接输出Text类型数据。

  • DocDataWriter模块的files_path参数增加支持list[dict]类型,用于获取从GDIM平台上传后的文件对象。

v0.3.2

新功能

  • 新增WaterSoilCorrosion模块,支持根据岩土勘察规范计算水土腐蚀性。

  • Pipeline增加save_data_to_db方法,支持pipeline在GDIM上运行时将指定的出端口数据、Pipeline属性值或模块属性值存储GDIM数据库,从而实现跨Pipeline访问数据。

  • 新增GdimAppDataReader模块,用于从GDIM中读取其他Pipeline应用通过save_data_to_db方法存储的数据。

  • 新增GdimAppDataSelector模块,用于从GdimAppDataReader模块的输出结果中选择需要的数据。

  • 新增SphericalKMeans模块,用于对方向向量或高维特征做球面 K 均值(Spherical K-Means)聚类分析,按余弦相似度划分簇,例如岩石节理聚类分析。

  • 新增TableDescribe模块,使用DataFrame的describe方法对表格数据进行描述性统计分析,并支持选择需要统计的列和统计指标。

功能优化

  • TextWriter模块支持直接接入ResultModel数据结构并打印数据。

  • TableToMarkdown和TablesToMarkdown模块增加支持设置数字字段输出精度的参数precision。

  • TablesToMarkdown支持主子表合并时,对合并以后的表表标题,支持选择 “combined”, “main”, “sub” 三种模式,分别对应合并后的表标题为 “主表标题 - 子表标题”,”主表标题”,”子表标题”。

  • TableToMarkdown和TablesToMarkdown模块增加用于支持LaTex公式前端渲染的参数latex_math。

  • CsvReader模块增加check_units参数,允许读取表结构时不检查单位表示合法性。

  • DocxToMarkdown模块新增参数images_dir_relative_to_input和relative_image_link,用于控制提取图片的位置和markdown中图片链接是绝对路径还是相对路径。

bug修复

  • GdimTableWriter模块写入数据时,只自动匹配了name能否和GDIM字段的name或title吻合,但是没有在匹配不成功时匹配title能否和GDIM字段title是否吻合。

  • 修复PromptTemplate模块在某些情况下会重复执行的bug。

兼容性变更

  • MarkdownSectionFilter模块删除用于输出markdown文件的端口,输出文件必须链接到TextWriter模块。

  • 模块MarkdownSectionFilter的OutputSingleResult端口改为OutputResultModel端口。

v0.3.1

新功能

  • 丰富Pipeline调试功能,增加verbose和run_trace_file参数,支持输出丰富的运行时报告。

  • 新增TableToResultModel模块,支持将TableData的某一行转为ResultModel。

  • 新增ReadGtbFile模块,用于读取通过模块ExportGdimTables导出的xlsx或gtb文件。

  • 新增TableToMarkdown模块,支持将TableData转为markdown。

  • 新增TablesToMarkdown模块,支持将TableCollection转为markdown。

  • 新增TextWriter模块,支持将任意Text或JsonObject数据类型写出到纯文本文件中。

  • AddTableColumns模块新增diff模板语法,支持计算行间差值,或分组计算插值,适合表格层厚计算。

功能优化

  • 模块ExportGdimTables增加帮助文档,该模块用于批量导出GDIM中的表格数据为xlsx或gtb(csv zip压缩包)格式。

  • RestulModel增加from_dict方法,简化了其动态定义的方式。

  • 优化了GdimTableReader模块,当empty_error_type设置为create_empty_table时,输出带字段的空表,而不是没有任何字段的空表。

兼容性变更

  • GdimAppProjectInfoReader模块的OutputProjectInfo端口类型从SingleResult改为ResultModel

  • DocxToMarkdown、TableToString和TableToJson模块的OutpuSingleResult端口改为OutputResultModel,同时修改了输出端口的数据类型。

  • DocxToMarkdown模块不再支持直接输出markdown文件,输出文件需要配合TextWriter模块使用。

v0.3.0

新功能

  • 新增Pipeline的gdim_state属性,用于管理GDIM平台连接状态,包括token、proj_id、tpl_id、host、template、proj_list等。

  • 新增Pipeline的update_gdim_state方法,用于更新GDIM平台连接状态。

  • 新增 AgentRunResult 接口类型,用于存储大模型运行结果及其元数据信息。

  • 新增基于Pydantic BaseModel的ResultModel接口类型,用于存储结构化计算结果及其元数据信息,将来将逐步替换并淘汰SingleResult接口类型。

  • 新增模块MergeResultModels,用于合并多个ResultModel和SingleResult结果。

  • 新增ConditionalLink,用于在模块间进行条件流转。

  • 模块CsvReader新增output_mode参数,用于控制输出模式,支持table、schema、both三种模式。增加OutputSchema端口,用于输出CSV文件的数据结构schema。

  • 增加语音转录文字相关功能,暂未封装为Module。

功能优化

  • 重构pipeline模块文件结构。

  • 重构LLM Provider,采用ModelClientFactory作为LLM Provider的工厂类,支持多种LLM Provider的注册和使用,增加对OpenRouter和VolcEngine的支持。

  • 新增Pipeline开发相关的技能,包括pipeline-creator、local-function-coder、pipeline-gdim-review。

兼容性变更

  • 使用Pipelined的update_gdim_state方法更新GDIM平台连接状态,不再使用Pipeline的gdim_token、gdim_proj_id、gdim_host、gdim_template、gdim_proj_list属性。

  • PipeLine的add_link方法改为内部方法,无法再直接调用,请使用PipeLine的add_links方法代替。

  • 所有读取GDIM数据相关模块中的proj_id参数类型提示均不再支持int,因此建议proj_id均以str类型传入。

v0.2.8

新功能

  • filters包中新增MarkdownSectionFilter模块,支持根据章节编号或标题模式过滤Markdown文档。

  • AddTableColumns模块新增特殊模板变量_row_number,用于获取每行的行号。

  • 更新获取地震设计参数的接口,适配GDIM。

  • 适配geoSurvey包中SeismicDesignParameters模块至新的module_decorator装饰器。

  • 适配gisOperators包中ConvexHullCenter模块至新的module_decorator装饰器。

  • mergers包中新增MergeSingleResult模块,用于合并多个SingleResult结果

功能优化

  • AddTableColumns模块模板语法优化为更友好的Python表达式形式。

v0.2.7

新功能

  • converters包中新增DocxToMarkdown模块,支持将Word文档(.docx)或RTF文档(.rtf)转换为Markdown格式。

  • SingleResult支持直接传入字典数据进行初始化,对于不需要元数据的字典数据,简化了初始化SingleResult的流程。

  • 简化 Pipeline 的 add_multi_binding_attribute 方法中的参数 bindings,删除对 list[dict]` 类型属性的支持。

更新说明

版本命名规范

GdiSDK 采用语义化版本控制 (Semantic Versioning):

  • 主版本号 (Major): 重大功能更新和升级,不向下兼容。

  • 次版本号 (Minor): 较大的功能更新和改进,但可能包含不向下兼容的变更。

  • 修订版本号 (Patch): 小的功能更新和改进,向下兼容。

升级指南

从旧版本升级

当前为初始版本,暂无升级指南。后续版本发布时,将在此处提供详细的升级说明。

注意事项

  • 升级前请备份您的数据和配置

  • 查看版本间的兼容性说明

  • 测试您的应用程序以确保正常运行

贡献指南

如何报告问题

如果您发现了bug或有功能建议,请:

  1. 检查是否已有相关的issue(仓库地址:https://gitee.com/jimmy_kl/gdisdk/issues )

  2. 提供详细的问题描述和复现步骤

  3. 包含您的环境信息(Python版本、操作系统等)

联系我们

—

最后更新: 2026年11月5日