GDIM 开发模式 (Dev Mode)
本章介绍 GDIM 平台的 开发模式(Dev Mode):一组面向二次开发者的前端辅助能力,目前包括:
在数据表页面查看数字模型内部的 表名 / 字段名;
在 Pipeline 应用页面生成并查看与本地
run_trace.html相同的 工作流节点状态图。
Note
开发模式是 GDIM Web 前端 的能力,不是 GdiSDK 的 Python API。
本章内容会随平台功能扩展持续补充。
平台界面称「数字模型」,SDK 中仍多写作 template / 「模板」,见
术语对照。
为什么需要开发模式
在 GDIM 中,业务表同时存在两套标识:
标题(title):界面上展示给业务用户的中文名称,例如「钻孔一览表」「钻孔编号」;同一业务含义在不同数字模型中标题可能不同。
名称(name):数字模型在 存储与接口侧 使用的内部标识(即后端/数据库中的表名、字段名),例如
bore_table、bore_number。GdimTableReader读出的TableData也以字段名作为 DataFrame 列名。跨数字模型时名称通常比标题更稳定。
GdimTableReader、GdimTableWriter 等模块通常 既接受 name 也接受 title。日常开发用标题更直观;若希望 Pipeline 在不同数字模型之间更通用,则应优先使用表名 / 字段名。
过去要查内部名,需要运行 GdimTemplateReader 并在代码里打印 GdimTemplate。开启开发模式后,可直接在 GDIM 页面上对照查看。
另外,Pipeline 在 GDIM 上的真实执行路径有时与本地不一致。开发模式可在平台侧留下与本地 verbose=True + run_trace_file 相同格式的运行追踪,便于对照模块是否执行、执行顺序与耗时。
如何开启
在当前 GDIM 页面网址末尾加上 ?dev 后回车即可进入开发模式。
例如:
https://example.kulunsoft.com/#/project/detail/<项目ID>/<页面ID>?dev
Hint
若 URL 已有其它查询参数,可用
&dev追加(视前端路由实现而定);常见哈希路由下,将?dev放在整段 URL 末尾即可。开发模式仅影响当前浏览器会话中的调试辅助能力,不会改写项目业务数据。
查看表名与字段名
开启开发模式后,数据表标签旁会出现 bug 图标。点击该图标即可弹出当前表的内部信息:
弹层标题显示 表标题 (表名),例如
勘探孔参数表 (bore_table);列表对照 字段标题 与 字段名称;
可使用 「复制完整表结构」 将结构信息复制到剪贴板,便于粘贴到代码或笔记中。
查看 Pipeline 工作流节点状态图
对 运行 Pipeline 的应用页面,在 URL 加上 ?dev 后点击 运行,平台会按与本地调试相同的方式生成 run_trace.json / run_trace.html``(等价于 ``pipeline.run(verbose=True, run_trace_file=...))。你可以用它排查:模块是否执行、连线传播是否符合预期、哪个节点耗时异常等。
步骤如下:
打开要调试的 Pipeline 应用页面,在网址末尾加上
?dev并回车(见上文「如何开启」)。按需配置参数后,点击页面上的 运行。
在浏览器中访问服务端日志目录,例如:
https://gdim.kulunsoft.com/gdi/logs/
不同部署环境的主机名可能不同,以你实际使用的 GDIM 服务地址为准。
在目录列表中打开
run_trace.html``(同目录通常还有 ``run_trace.json,适用于交给AI分析)。
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)。
后续计划
开发模式后续可能继续增加面向二次开发的辅助能力。新能力会优先补充到本章,其它文档仅保留简短交叉引用。