mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-03-31 00:09:29 +02:00
160 lines
5.4 KiB
YAML
160 lines
5.4 KiB
YAML
name: "query_execution_result"
|
||
# 注意:这是一个内部工具,不执行外部命令
|
||
# command 字段设置为特殊值,实际功能需要在代码中实现
|
||
# 实现位置:internal/mcp/server.go 或 internal/handler/agent.go
|
||
command: "internal:query_execution_result"
|
||
enabled: true
|
||
# 简短描述(用于工具列表,减少token消耗)
|
||
short_description: "查询工具执行结果,支持分页、搜索和过滤大结果集"
|
||
# 工具详细描述
|
||
description: |
|
||
查询工具执行结果工具,用于查询已保存的工具执行结果。当工具返回的结果过大时,系统会自动保存完整结果,此工具用于按需查询这些结果。
|
||
|
||
**主要功能:**
|
||
- 分页查询:支持分页浏览大结果集,避免一次性加载过多数据
|
||
- 全文搜索:在结果中搜索特定关键词
|
||
- 条件过滤:根据条件过滤结果(如只显示包含"error"的行)
|
||
- 元信息查询:获取结果的基本信息(总行数、总页数等)
|
||
|
||
**使用场景:**
|
||
- 当工具返回的结果超过阈值(如50KB)时,系统会自动保存结果
|
||
- 需要查看完整结果时,使用此工具按需查询
|
||
- 需要搜索特定信息时,使用搜索功能
|
||
- 需要过滤特定类型的内容时,使用过滤功能
|
||
|
||
**工作流程:**
|
||
1. 工具执行完成后,如果结果过大,系统会保存完整结果并返回执行ID
|
||
2. 使用此工具,通过 execution_id 查询结果
|
||
3. 可以分页浏览、搜索关键词或过滤条件
|
||
|
||
**注意事项:**
|
||
- execution_id 是必需参数,从工具执行的返回消息中获取
|
||
- 默认每页返回100行,可以通过 limit 参数调整
|
||
- 搜索和过滤功能可以组合使用
|
||
- 结果会保留一段时间(默认7天),之后可能被清理
|
||
|
||
# 参数定义
|
||
parameters:
|
||
- name: "execution_id"
|
||
type: "string"
|
||
description: |
|
||
工具执行的ID。从工具执行完成后的返回消息中获取。
|
||
|
||
**格式要求:**
|
||
- 执行ID字符串,格式通常为 "exec_xxxxx" 或 UUID
|
||
- 必需参数,不能为空
|
||
|
||
**示例值:**
|
||
- "exec_12345"
|
||
- "550e8400-e29b-41d4-a716-446655440000"
|
||
|
||
**如何获取:**
|
||
- 当工具返回大结果时,系统会在消息中提供 execution_id
|
||
- 格式示例:`工具执行完成。结果已保存(ID: exec_12345)`
|
||
|
||
**注意事项:**
|
||
- 确保 execution_id 正确,否则查询会失败
|
||
- execution_id 区分大小写
|
||
required: true
|
||
format: "positional"
|
||
position: 0
|
||
|
||
- name: "page"
|
||
type: "integer"
|
||
description: |
|
||
要查询的页码。从1开始计数。
|
||
|
||
**格式要求:**
|
||
- 正整数,从1开始
|
||
- 如果不指定,默认为1(第一页)
|
||
|
||
**示例值:**
|
||
- 1 (第一页,默认)
|
||
- 2 (第二页)
|
||
- 10 (第十页)
|
||
|
||
**注意事项:**
|
||
- 页码不能小于1
|
||
- 如果指定的页码超过总页数,会返回空结果
|
||
- 建议先查询第一页了解结果结构,再决定是否需要查看其他页
|
||
required: false
|
||
default: 1
|
||
|
||
- name: "limit"
|
||
type: "integer"
|
||
description: |
|
||
每页返回的行数。控制单次查询返回的数据量。
|
||
|
||
**格式要求:**
|
||
- 正整数,建议范围:10-500
|
||
- 如果不指定,默认为100行
|
||
|
||
**示例值:**
|
||
- 50 (每页50行)
|
||
- 100 (每页100行,默认)
|
||
- 200 (每页200行)
|
||
|
||
**注意事项:**
|
||
- 较小的 limit 可以减少单次查询的token消耗
|
||
- 较大的 limit 可以减少查询次数,但会增加单次返回的数据量
|
||
- 建议根据实际需要调整,平衡查询次数和数据量
|
||
required: false
|
||
default: 100
|
||
|
||
- name: "search"
|
||
type: "string"
|
||
description: |
|
||
搜索关键词。在结果中搜索包含此关键词的行。
|
||
|
||
**格式要求:**
|
||
- 任意字符串
|
||
- 搜索是大小写敏感的
|
||
- 支持部分匹配
|
||
|
||
**示例值:**
|
||
- "open" (搜索包含"open"的行,如开放端口)
|
||
- "error" (搜索包含"error"的行)
|
||
- "CVE-2023" (搜索包含CVE编号的行)
|
||
- "80/tcp" (搜索特定端口)
|
||
|
||
**使用场景:**
|
||
- 快速定位关键信息
|
||
- 查找特定类型的条目
|
||
- 过滤感兴趣的内容
|
||
|
||
**注意事项:**
|
||
- 搜索会在所有行中进行,可能返回多页结果
|
||
- 搜索结果也会分页返回
|
||
- 可以结合 page 和 limit 参数控制返回结果
|
||
- 如果同时指定 search 和 filter,会先应用 filter,再在结果中搜索
|
||
required: false
|
||
|
||
- name: "filter"
|
||
type: "string"
|
||
description: |
|
||
过滤条件。只返回包含此关键词的行。
|
||
|
||
**格式要求:**
|
||
- 任意字符串
|
||
- 过滤是大小写敏感的
|
||
- 支持部分匹配
|
||
|
||
**示例值:**
|
||
- "error" (只返回包含"error"的行)
|
||
- "warning" (只返回包含"warning"的行)
|
||
- "open" (只返回包含"open"的行)
|
||
- "200" (只返回包含"200"的行,如HTTP状态码)
|
||
|
||
**使用场景:**
|
||
- 只查看错误信息
|
||
- 只查看特定状态的结果
|
||
- 过滤掉不感兴趣的内容
|
||
|
||
**注意事项:**
|
||
- 过滤会在所有行中进行,可能返回多页结果
|
||
- 过滤结果也会分页返回
|
||
- 可以结合 page 和 limit 参数控制返回结果
|
||
- 如果同时指定 search 和 filter,会先应用 filter,再在结果中搜索
|
||
required: false
|
||
|