Add files via upload

This commit is contained in:
公明
2025-11-15 19:41:49 +08:00
committed by GitHub
parent 7fb3987309
commit 0455549c18
2 changed files with 183 additions and 0 deletions

24
tools/cat.yaml Normal file
View File

@@ -0,0 +1,24 @@
name: "cat"
enabled: true
command: "cat"
short_description: "读取并输出文件内容"
description: |
读取文件内容并输出到标准输出。用于查看文件内容。
**使用场景:**
- 查看文本文件内容
- 读取配置文件
- 查看日志文件
**注意事项:**
- 如果文件很大,结果可能会被保存到存储中
- 只能读取文本文件,二进制文件可能显示乱码
parameters:
- name: "file"
type: "string"
description: "要读取的文件路径"
required: true
format: "positional"
position: 0

View File

@@ -0,0 +1,159 @@
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