2.0 KiB
2.0 KiB
示例(基于 opencode Agent + tjwater-cli 工具调用链)
示例 1:简单查询 SCADA 数据
用户意图:查询设备 170490 在时间范围内的 monitored_value。
opencode agent 调用 tjwater_cli:
{
"reason": "查询设备170490在最近24小时的monitored_value数据",
"command": "data timeseries scada query --device-id 170490 --field monitored_value --start-time 2026-03-29T07:57:47+08:00 --end-time 2026-03-30T07:57:47+08:00"
}
示例 2:前端工具 — 地图定位
用户消息:"帮我找到管道 P-001 和 P-002"
opencode agent 直接调用前端工具 locate_features:
{
"reason": "在地图上定位用户请求的管道",
"ids": ["P-001", "P-002"],
"feature_type": "pipe"
}
示例 3:对话内图表
用户消息:"展示节点 J-001 最近一天的压力变化曲线"
典型链路:
tjwater_cli(command="data timeseries realtime nodes --start-time ... --end-time ... --node-ids J-001")- 处理返回的 pressure 数据为 x_data + series 格式
- 调用
show_chart渲染 ECharts 图表
示例 4:前端工具 — SCADA 监测面板
用户消息:"我想看看 J-001 的监测数据"
opencode agent 调用工具 view_scada:
{
"reason": "打开J-001的SCADA监测面板",
"device_ids": ["J-001"],
"start_time": "2026-03-29T00:00:00+08:00",
"end_time": "2026-03-30T00:00:00+08:00"
}
示例 5:命令发现
opencode agent 需要了解可用的 CLI 命令时:
tjwater_cli(command="help") → 获取一级命令清单
tjwater_cli(command="help analysis") → 获取 analysis 子命令详情
帮助输出 JSON 格式,含 commands 数组和 summary。
示例 6:记住用户偏好
用户消息:"以后回答尽量简洁,先给结论再解释。"
opencode agent 调用 memory_manager:
{
"action": "add",
"reason": "用户明确给出了长期有效的回答风格偏好",
"scope": "user",
"content": "用户偏好先给结论、再补必要解释,整体风格尽量简洁。"
}