| 工具 | 作用 |
|---|---|
| prepare_main_fan_task | 绑定任务身份、导出原始数据与规则,不做解析或分析 |
| fetch_main_fan_data | 按任务身份取得网关原件、设备和时序 |
| query_fan_sensor_realtime | 按部门、可选类型及页码查询安全监控实时传感器目录 |
| query_fan_timeseries | 按 node_id、dept_id 与起止时间重复查询原始曲线,返回完整数据文件 |
| query_fan_equipment_realtime | 查询重大设备主通风机系统(devOfSystem=30)实时数据,保留设备与测点字段 |
| query_fan_equipment_timeseries | 按重大设备node_id、dept_id与时间范围取得/zdsb/历史曲线 |
| run_python | 执行你自己编写的脚本,保存真实输出、代码快照与执行记录 |
| submit_main_fan_report | 核验交付文件与执行记录并归档,不重跑业务算法 |
文档解析、图像处理、参数比较、图表和报告生成由你在沙箱中编写代码完成。本地批次的开停、切换和风量已由宿主整理,直接读取prepared_data.agent_data_path,不调用以上取数工具或重新计算;批次流程见batch.md。文件读写和看图片使用框架内置的 read_file、write_file、edit_file 等通用工具。
prepare_main_fan_task 返回实际 workflow_id 和 /workspace/exploration/<workflow_id>/ 下的路径:
| 文件 | 内容 |
|---|---|
| input.json | 完整 MainFanInput,包含 materials 和全部原始输入 |
| data.json | ScreeningInput 原始业务数据,没有自动 OCR、合并或计算结果 |
| identities.json | 本轮矿井、fan_pair、服务端 fan_id→fan_name 对应 |
| rules.json | 本轮冻结的规则与版本 |
| submission.schema.json | AgentAssessment 最终研判 JSON schema |
| operations.json | 实际发生的准备、取数和代码执行操作 |
上述可信输入不要修改。需要清洗、归一化或合并事实时另写派生文件。网关取数会更新可信输入;取数后重新读文件,重新运行受影响的分析。
query_fan_timeseries 每次另存 queries/<query_id>/request.json、response.json(上游原始业务响应)、samples.json(metadata 和规范化 samples),均在本轮 exploration 目录。返回 python_paths.data 等相对路径可直接供 Python 使用;preview 仅为预览,分析须读取完整文件。每次查询保留独立文件和来源指纹,准备工具返回的 timeseries_queries 可找回查询记录。不会自动生成整机状态、切换事件或风量单位,仍由你核对来源并分析。
两个实时列表工具及重大设备历史工具也按次保存request.json、response.json与完整data_path;后者JSON的payload是未经字段改写的上游业务响应。准备工具的sensor_queries、equipment_queries分别保存相关查询记录,全部受来源指纹保护并可引用。实时工具一次一页,row_count/total/has_more/next_page只描述本页及分页状态;未知结构返回list_recognized=false、row_count=null,需自行读取payload。重大设备曲线未预设采样字段或单位,data_item_count只是上游data数组项数。两个系统部门和测点编码须各自核对。
input.json 的 materials[] 含原件 path、sha256,以及可选 filename、file_id、version。原始 PDF 和图片已在本会话 /workspace/uploads/,可直接用自己的脚本读取,无需固定文档检查工具。解析事实、中间结果和图表自由设计,不需要单独登记。
主要原始字段:
rules.json 的curve是报告核心性能比较阈值:minimum_points、minimum_common_flow_coverage、mean_pressure_deviation_percent、maximum_pressure_deviation_percent、maximum_power_deviation_percent、efficiency_difference_points。计算与逐工况交付见性能表格比较方法。switch保留切换间隔和监测风量等规则,severity是额外配置的严重线,空值不是零;本地批次直接使用整理JSON的切换和风量结果,不因旧规则中仍有窗口或CV字段而重新处理监测数据。
准备工具和执行反馈中的 python_paths 直接给出代码可用路径。代码当前目录是本会话 workspace,因此工具中的 /workspace/exploration/ID/data.json 在代码内用 Path('exploration/ID/data.json')。可以定义辅助函数把虚拟路径移除 /workspace/ 前缀;不要把虚拟路径当作宿主绝对路径。
{
"script_path": "/workspace/analyze.py",
"workflow_id": "准备工具返回的实际ID",
"output_paths": ["/workspace/report.md", "/workspace/assessment.json", "/workspace/facts.json"],
"timeout_seconds": 60
}
环境支持标准库、numpy、pypdfium2、Pillow、cv2;不能联网或安装依赖。返回 ok 明确表示是否成功;outputs 只记录本次实际新建或改写的文件,未改写的预存文件列在 unchanged_outputs,不能冒充本次生成。输出 stdout/stderr 各最多64KiB,大数据写文件。单次默认最长120秒,单会话默认最多40次;实际限制由部署配置决定。仅将 exit_code=0 且 timed_out=false 的执行作为成功凭据。保留相关 run_id;receipt_path 是可回读的执行记录副本。
每次实际执行都应关联 workflow_id。提交的 Markdown、研判 JSON 和附件必须在所提供成功执行的声明输出中,文件哈希仍须一致。若先生成事实、后生成最终报告,可提供分别对应这些交付文件的多个 run_id;不用把所有临时执行都作为提交凭据。
顶层允许字段为:
| 字段 | 内容 |
|---|---|
| status | completed 或 needs_materials,默认 completed;执行状态与业务结论分开 |
| result_code | NORMAL / WARNING / ABNORMAL / UNDETERMINED,必填 |
| summary | 本次业务结论的简短摘要,必填、非空,最多4000字符 |
| data_detail | 实际资料、监测时段、计算范围的简述 |
| missing_materials | 缺少关键材料时的简短说明数组 |
| evidence | 引用数组;确定结论至少有一条实际来源引用 |
| details | 任意结构的分析对象,可保存提取事实、冲突、窗口、指标、计算公式等 |
示例仅展示格式,不代表实际结论:
{
"status": "completed",
"result_code": "UNDETERMINED",
"summary": "已提取所选页参数,尚未形成三项有效对照。",
"data_detail": "本轮原件所选页面及明确提供的整机记录。",
"evidence": [
{"source": "/workspace/uploads/实际原件.pdf", "page": 3, "excerpt": "实际读取的原文"},
{"source": "/workspace/exploration/实际ID/input.json", "pointer": "/fan_state_records", "excerpt": "实际使用的数据说明"}
],
"details": {}
}
source 必须是准备工具列出的本轮原件、本轮 input.json/data.json、本轮prepared_data.agent_data_path及宿主导出的可信档案,或本轮实时/时序查询工具返回的 data_path/raw_path/request_path;page 是正整数物理页码,JSON 引用可用 pointer。来源指纹由宿主绑定,不能填写别的任务路径。details 不强制旧七阶段结构;所有数字必须是有效有限 JSON 数值,不能写 NaN/Infinity。
宿主不会重新计算 result_code、窗口或公式,也不会重新 OCR。你负责正确解释事实、遵守冻结规则,核对 summary、正文和 details 一致。
{
"workflow_id": "实际ID",
"report_path": "/workspace/report.md",
"calculations_path": "/workspace/assessment.json",
"python_run_ids": ["对应成功执行的实际run_id"],
"artifacts": ["/workspace/facts.json"]
}
Markdown 不超过1MB,研判 JSON 不超过4MB,附件最多20个。若任务要求网关,须先完成实际取数。宿主核验身份、原件与输入指纹、来源引用、交付格式和执行输出后保存正文、摘要、结论与附件,产生 analysis_id 和标准平台报文。核验不判断自然语言或算法正确性。
成功后 structured_response 已由宿主设置并结束调用;失败返回 ok=false,可修改代码重跑和重提。不要自行复制平台身份、生成 analysis_id 或追加另一份报告。