qiaotong-agent-kit
qiaotong-agent-kit 是面向桥通软件的 Agent 工具层。当前源码版本为 0.22.0,提供模型读取、受控写入,以及集成的 qiaotong_agent_kit.cad 图纸解析和主梁编译能力。
0.22.0 将 CAD 实现、测试与文档并入本包。安装 qiaotong-agent-kit[cad] 即可使用 DXF 索引、自定义截面、跨度与具名图纸规则编译;DWG 可通过本机 ODA 转换。QPyIDE Agent 使用 create_bridge_from_cad 完成对话翻模,宿主负责批准、事务回读及保存。详见 CAD 翻模说明。
0.21.0 新增 create_custom_section、create_parameter_section、create_tapered_section 和 create_frame_mesh,共 69 个模型操作。网格导入最多 5000 个创建对象,在单个原生事务中排序、执行、回读和撤销;普通批次仍限制为 100 个操作。CAD 默认采用自定义线圈截面,保留外圈、孔洞和倒角;非闭合轮廓由 CAD 界面询问并核定正厚度后转为自定义线宽截面。可选参数截面创建支持矩形和无倒角的对称混凝土箱梁。
自定义线圈回读核对轮廓、孔洞、参考点、面积与惯性矩;自定义线宽核对每条中心线及厚度、参考点、面积,并要求原生抗扭、抗弯及剪切特性均为有限正值。线宽接头的本地条带算法与桥通原生算法不同,原生惯性矩用于模型,差异在 line_width_checks 中记录。质心参考点核验考虑原生属性接口保留 4 位小数的输出精度。CAD 编译只输出明确模型对象,不直接提交模型或执行模型生成的任意脚本。
环境要求
- Python 3.10 或更高版本(低于 Python 4)
qtmodel>=2.8.2,<2.10.0- 需要 MCP 服务时安装可选依赖
mcp
安装基础库:
python -m pip install qiaotong-agent-kit
安装 MCP 支持:
python -m pip install "qiaotong-agent-kit[mcp]"
功能范围
模型读取包括:
- 模型摘要、工程信息和规范配置;
- 节点、单元、截面、材料和板厚;
- 边界、节点局部坐标系和节点/单元荷载;
- 结构组、施工阶段、荷载工况和荷载组合;
- 服务端筛选、游标分页和可重绑定的冻结节点选择集。
模型写入采用统一 operation 注册表,覆盖节点、材料、板厚、参数截面、梁/杆/索/板 单元、边界、局部坐标系及荷载的创建、修改和删除。所有提交遵循:
- 查询 operation 的精确 Schema;
- 生成写入计划并绑定
model_revision;宿主通过ModelReviewSession.prepare发起有效的纯创建请求时,无工程首页会先自动新建空白工程并进入前处理;底层plan_bridge_model_batch仍保持只读; - 用户确认后提交计划;
- 整批作为一条桥通原生命令执行,失败自动 Undo;
- 成功后可使用返回的
undo_transaction撤回最新事务。
Python 调用
from qiaotong_agent_kit import QiaotongToolService
service = QiaotongToolService()
status = service.invoke("get_connection_status")
summary = service.invoke("get_bridge_model_summary")
nodes = service.invoke("query_bridge_nodes", {
"bbox": [0.0, -5.0, -5.0, 100.0, 5.0, 5.0],
"limit": 20,
})
模型写入示例:
operation = {
"operation": "create_node",
"node_id": 101,
"x": 10.0,
"y": 0.0,
"z": 0.0,
}
schema = service.invoke(
"get_bridge_model_write_operation_schema",
{"operation": operation["operation"]},
)
plan = service.invoke(
"plan_bridge_model_batch",
{"operations": [operation]},
)
receipt = service.invoke("commit_bridge_model_batch", {
"plan_id": plan["plan_id"],
"model_revision": plan["model_revision"],
"confirm_commit": True,
})
撤回最新事务:
service.invoke("undo_bridge_model_transaction", {
"transaction": receipt["undo_transaction"],
"confirm_undo": True,
})
MCP 服务
默认模型读写服务:
qiaotong-model-mcp
只读服务:
qiaotong-readonly-mcp
通用 MCP 宿主配置示例:
{
"command": "python",
"args": ["-m", "qiaotong_agent_kit.interfaces.mcp_server"]
}
当前模型模式和完整模式均只发布模型读写工具。只读模式不发布
commit_bridge_model_batch 和 undo_bridge_model_transaction。
包结构
qiaotong_agent_kit/
├─ application/
│ ├─ bridge_model.py # 模型查询、写入事务和桥通适配门面
│ └─ service.py # Agent 工具目录与调用服务
├─ contracts/
│ └─ tool_schema.py # 与 MCP 框架无关的工具元数据
├─ infrastructure/
│ └─ qiaotong_api/ # 外部桥通 API 连接与 qtmodel 版本兼容性
├─ interfaces/
│ ├─ cli.py # JSON-lines 命令行接口
│ └─ mcp_server.py # MCP stdio 服务
├─ model_write/
│ ├─ operations/ # 单项模型写 operation
│ ├─ registry.py # operation 注册、规划与排序
│ └─ references.py # 批内引用协议
└─ support/
└─ privacy.py # 输出和错误信息脱敏
infrastructure/qiaotong_api 是 Agent Kit 的基础设施边界,不是外部 qtmodel
包的副本。使用这个名称可以避免 qiaotong_agent_kit.infrastructure.qtmodel
与顶层 qtmodel 运行库产生导入和认知混淆。
依赖原则
基础安装只声明源码直接使用的 qtmodel。MCP 相关包仅在安装 [mcp] extra
时引入。包内不再携带规则资源、DXF 解析器或与某个特定宿主软件绑定的逻辑。
Metadata
Release files for qiaotong-agent-kit 0.22.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qiaotong_agent_kit-0.22.0.tar.gz | 180.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qiaotong_agent_kit-0.22.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 331.1 kB
Release files / qiaotong_agent_kit-0.22.0.tar.gz
| Download URL | qiaotong_agent_kit-0.22.0.tar.gz |
|---|---|
| Size | 180.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07eecca8079225e5e2d04a76b81bf5ea597609e9be12767e64bfbb0727cecd23
|
|
BLAKE2b-256 checksum How to use checksums |
05f5073d0b53a3afeebc6ddccdd55c8fd6a71540a4708c9afff8f946826b4704
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / qiaotong_agent_kit-0.22.0-py3-none-any.whl
| Download URL | qiaotong_agent_kit-0.22.0-py3-none-any.whl |
|---|---|
| Size | 150.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7170b768a597b6e48eb76281f2ffd94c781a0f3ca1ed6eef0498cc183495f68e
|
|
BLAKE2b-256 checksum How to use checksums |
fef81957546910ad5006107768ec2d153e270c61173df61b5d1a4247da24b427
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|