GDIM 开发模式 (Dev Mode)

本章介绍 GDIM 平台的 开发模式(Dev Mode):一组面向二次开发者的前端辅助能力,目前包括:

  • 在数据表页面查看数字模型内部的 表名 / 字段名

  • 在 Pipeline 应用页面生成并查看与本地 run_trace.html 相同的 工作流节点状态图

Note

开发模式是 GDIM Web 前端 的能力,不是 GdiSDK 的 Python API。 本章内容会随平台功能扩展持续补充。 平台界面称「数字模型」,SDK 中仍多写作 template / 「模板」,见 术语对照

为什么需要开发模式

在 GDIM 中,业务表同时存在两套标识:

  • 标题(title):界面上展示给业务用户的中文名称,例如「钻孔一览表」「钻孔编号」;同一业务含义在不同数字模型中标题可能不同。

  • 名称(name):数字模型在 存储与接口侧 使用的内部标识(即后端/数据库中的表名、字段名),例如 bore_tablebore_numberGdimTableReader 读出的 TableData 也以字段名作为 DataFrame 列名。跨数字模型时名称通常比标题更稳定。

GdimTableReaderGdimTableWriter 等模块通常 既接受 name 也接受 title。日常开发用标题更直观;若希望 Pipeline 在不同数字模型之间更通用,则应优先使用表名 / 字段名。

过去要查内部名,需要运行 GdimTemplateReader 并在代码里打印 GdimTemplate。开启开发模式后,可直接在 GDIM 页面上对照查看。

另外,Pipeline 在 GDIM 上的真实执行路径有时与本地不一致。开发模式可在平台侧留下与本地 verbose=True + run_trace_file 相同格式的运行追踪,便于对照模块是否执行、执行顺序与耗时。

如何开启

在当前 GDIM 页面网址末尾加上 ?dev 后回车即可进入开发模式。

例如:

https://example.kulunsoft.com/#/project/detail/<项目ID>/<页面ID>?dev
在网址后添加 ?dev 开启开发模式

Hint

  • 若 URL 已有其它查询参数,可用 &dev 追加(视前端路由实现而定);常见哈希路由下,将 ?dev 放在整段 URL 末尾即可。

  • 开发模式仅影响当前浏览器会话中的调试辅助能力,不会改写项目业务数据。

查看表名与字段名

开启开发模式后,数据表标签旁会出现 bug 图标。点击该图标即可弹出当前表的内部信息:

  • 弹层标题显示 表标题 (表名),例如 勘探孔参数表 (bore_table)

  • 列表对照 字段标题字段名称

  • 可使用 「复制完整表结构」 将结构信息复制到剪贴板,便于粘贴到代码或笔记中。

点击 bug 图标查看表名与字段名

查看 Pipeline 工作流节点状态图

运行 Pipeline 的应用页面,在 URL 加上 ?dev 后点击 运行,平台会按与本地调试相同的方式生成 run_trace.json / run_trace.html``(等价于 ``pipeline.run(verbose=True, run_trace_file=...))。你可以用它排查:模块是否执行、连线传播是否符合预期、哪个节点耗时异常等。

步骤如下:

  1. 打开要调试的 Pipeline 应用页面,在网址末尾加上 ?dev 并回车(见上文「如何开启」)。

  2. 按需配置参数后,点击页面上的 运行

    开发模式下运行 Pipeline
  3. 在浏览器中访问服务端日志目录,例如:

    https://gdim.kulunsoft.com/gdi/logs/
    

    不同部署环境的主机名可能不同,以你实际使用的 GDIM 服务地址为准。

  4. 在目录列表中打开 run_trace.html``(同目录通常还有 ``run_trace.json,适用于交给AI分析)。

    在 /gdi/logs/ 目录中打开 run_trace.html
  5. run_trace.html 即为工作流节点状态图与执行摘要,页面结构与本地生成的调试报告相同:

    平台侧 run_trace.html 工作流节点状态图

Note

  • 平台侧追踪文件通常写在服务端固定路径(如 logs/run_trace.html),后一次带开发模式的运行会覆盖前一次;请在需要时及时打开或另存。

  • 日志目录一般面向运维/二次开发访问;若打不开,请确认当前环境是否暴露了 /gdi/logs/,以及账号是否有权限。

  • 如何阅读 Graph、Module Execution Summary、Event Log,以及 ForEach 相关字段,见 运行调试 (Debug)

在 Pipeline 中如何选用 name / title

  • 单数字模型、快速原型:可直接使用界面上的表标题 / 字段标题,可读性更好。

  • 跨数字模型复用、长期维护:优先使用表名 / 字段名;用开发模式或 GdimTemplateReader 确认内部标识后再写入代码。

示例(表与字段均可写 name 或 title):

from gdisdk.modules.readers import GdimTableReader

reader = GdimTableReader(mname="ReadTables")
reader.InputToken = ("你的GDIM Token", "你的GDIM项目ID", None)

# 更通用:使用内部表名 / 字段名
reader.table_fields = {
    "bore_table": ["bore_number", "bore_depth"],
}

reader.execute()
table = reader.OutputTable.data

与其它文档的关系

  • 只想在页面上快速查一张表的 name / title:用本章「查看表名与字段名」。

  • 需要在代码中批量遍历数字模型、生成动态 UI、或分析主/子表树:使用 GdimTemplateReader,输出结构见 GdimTemplate

  • 本地调试 Pipeline(verbose / run_trace_file)以及如何解读 run_trace.html:见 运行调试 (Debug);平台侧生成方式见上文「查看 Pipeline 工作流节点状态图」。

  • 上传 .pipe 到 GDIM 前的兼容性检查:见 上传 GDIM 检查 (GDIM Upload Check)

后续计划

开发模式后续可能继续增加面向二次开发的辅助能力。新能力会优先补充到本章,其它文档仅保留简短交叉引用。