跳到主要内容

架构与诊断

根据操作归属定位故障。模型回复成功、计算成功和产物核验成功是不同的观察结果,应收集发生故障那个阶段的证据。

架构与职责

flowchart LR
UI[桌面或浏览器界面] --> MAIN[应用主进程]
MAIN --> STORE[设置、数据库和托管文件]
MAIN --> AGENT[代理框架和模型提供方]
MAIN --> NB[Notebook 运行时]
MAIN --> SERVICES[Connectors 和 Compute Hosts]
AGENT --> EVENTS[消息和工具事件]
NB --> EVENTS
SERVICES --> EVENTS
EVENTS --> UI
MAIN --> ART[产物版本和来源证据]
ART --> UI
组件负责内容应检查的证据
界面和预览显示状态、控件、文件渲染页面、当前项目/会话、文件名、预览错误
主进程持久化操作、应用服务和访问边界操作错误及相关诊断
代理框架/提供方模型连接、执行协议和回复流框架/提供方/模型、连接测试、失败工具或轮次
Notebook解释器、代码执行、输出和实时变量运行时 ID/版本、失败单元、标准输出/错误和执行记录
Connector外部服务请求Connector/工具名、脱敏输入、服务状态或错误
远程 Compute HostSSH 和直接/调度作业主机/模式、探测结果、作业 ID、远程日志
产物存储托管版本、校验和及捕获证据文件/版本 ID、内容状态、Code/Environment/Review

桌面入口跨越 preload API 边界。浏览器入口使用受保护的本地服务传输,见无界面服务和浏览器访问。浏览器不是第二套独立研究数据库。

区分文件内容与证据

状态或消息含义下一步
产物内容可用所选版本的字节可读取,并通过适用的完整性检查检查科学结果是否正确
内容不可用:missing找不到预期内容保留版本身份,检查存储可用性
内容不可用:checksum mismatch内容与记录的完整性值不符保留诊断,不要替换字节后仍称为原版本
环境部分捕获环境记录不完整阅读警告,另行保留解释器和包信息
有界执行日志只保留了有大小范围限制的不可变执行证据查看缺口提示和可用的实时 Notebook
当前版本无审核没有适用 Reviewer 结果不要将该版本标为已审核

这些状态可能同时存在,应分别检查内容完整性、执行证据和审核状态。

查找错误信息

故障位置对应查询入口
模型/API、Connector 或代理的 HTTP 响应HTTP 状态码
应用无法打开数据库数据库启动错误码
Notebook 导入、路径或权限问题报错信息
SSH、远程路径和作业状态远程错误
提交缺陷与社区求助问题反馈

记录错误标识时保留来源。系统 errno、Python 异常、远程作业错误码和 Provider HTTP 状态不可混为一谈。复制附带消息及可用的底层原因;同一个标识可能对应多种失败路径。

保留有用的诊断记录

记录应用版本、操作系统、受影响项目/会话、执行操作、预期结果、准确错误,以及出错前发生的事情。计算问题应包含运行时和输入校验和;有产物版本或远程作业 ID 时也应记录。

使用可用的 DetailsDiagnostic details 或日志界面保留原因,不要只截取短标题。能用公开或最小输入复现时,优先保留这种复现。分享前检查账号令牌、请求头、私人路径和研究内容。

主进程日志使用结构化 JSON 行。默认单文件达到 5 MiB 时轮换,共保留三个文件;特殊致命错误写入可能多出一条记录。因此日志有保留窗口,不能当作永久审计档案。诊断字段也可能截断,故障后应及时保留相关记录。“没有找到”不等于“事件没有发生”。

源码:日志与保留诊断脱敏Notebook 错误长度限制产物内容状态

排查时,先区分操作失败与提交后的刷新/清理失败,以及后台作业完成与结果送达。重试写入前检查实际保存状态。恢复提示表涵盖队列恢复受阻、PDF 条目保留、集合过期编辑及 Windows 安装错误。后台任务说明执行状态,远程监控错误仍与作业最终结果分别处理。