用途:排查 Speckle 传输(send/receive)过程中的常见故障,覆盖认证过期、流 ID 错误、超时、服务器不可用、网络错误、SQLite 锁与磁盘问题、内存耗尽、传输配置与调用错误、多传输部分失败、取消与进度回调异常等场景。
主要能力:提供一份诊断决策树,按 HTTP 状态码(401/403、404、408、502/503/504)、SQLite 报错、内存错误、SpeckleException 消息分类定位问题,并给出对应修复建议;同时汇总重试策略表(哪些错误可重试、最大次数与退避方式)、默认缓存路径(Windows %APPDATA%\Speckle\Data.db、macOS ~/.config/Speckle/Data.db、Linux $XDG_DATA_HOME/Speckle/Data.db 或 ~/.local/share/Speckle/Data.db)与关键规则清单。
使用方式:在调试 Speckle 传输故障时按决策树逐项比对症状;涉及传输对象的代码建议在每次操作前新建 ServerTransport,例如 transport = ServerTransport(stream_id="abc123", client=client)。大模型场景可设置超时,如 C# 中 var transport = new ServerTransport(account, "streamId", timeoutSeconds: 300);。并发 SQLite 访问使用不同 scope,如 transport_a = SQLiteTransport(scope="ProjectA");自定义路径时先建立目录再传入 base_path。Python 中读取对象应使用 operations.receive(obj_id, remote_transport=server_transport),不要直接调用 ServerTransport.get_object()。
适用场景:Speckle 发送/接收失败、传输超时、SQLite 数据库锁、磁盘与权限报错、内存不足、认证失效等排障,以及自托管/CI 环境的缓存路径与重试配置。
限制:资料未提供该技能包的安装命令、运行环境与版本要求;本身为诊断参考,不替代实际代码修复;缓存文件的删除与重试策略须遵循资料中的警告条件(如连接器运行时不得删除缓存)。