diff --git a/config.yaml b/config.yaml index 62ccfe7f..eab6d48a 100644 --- a/config.yaml +++ b/config.yaml @@ -5,68 +5,113 @@ # 点击右上角"设置"按钮即可修改配置 # ============================================ +# ============================================ +# 系统设置 +# ============================================ + # 服务器配置 server: host: 0.0.0.0 # 监听地址,0.0.0.0 表示监听所有网络接口 - port: 8080 # HTTP 服务端口,可通过浏览器访问 http://localhost:8080 + port: 8080 # HTTP 服务端口,可通过浏览器访问 http://localhost:8080 + # 认证配置 auth: password: # Web 登录密码,请修改为强密码 - session_duration_hours: 12 # 登录有效期(小时),超时后需重新登录 + session_duration_hours: 12 # 登录有效期(小时),超时后需重新登录 + # 日志配置 log: - level: info # 日志级别: debug(调试), info(信息), warn(警告), error(错误) + level: info # 日志级别: debug(调试), info(信息), warn(警告), error(错误) output: stdout # 日志输出位置: stdout(标准输出), stderr(标准错误), 或文件路径 + +# ============================================ +# 对话相关配置 +# ============================================ + +# AI 模型配置(支持 OpenAI 兼容 API) +# 必填项:api_key, base_url, model 必须填写才能正常运行 +# 支持的 API 服务商: +# - OpenAI: https://api.openai.com/v1 +# - DeepSeek: https://api.deepseek.com/v1 +# - 其他兼容 OpenAI 协议的 API +# 常用模型: gpt-4, gpt-3.5-turbo, deepseek-chat, claude-3-opus 等 +openai: + base_url: https://api.deepseek.com/v1 # API 基础 URL(必填) + api_key: sk-xxxx # API 密钥(必填) + model: deepseek-chat # 模型名称(必填) + max_total_tokens: 120000 # LLM 相关上下文的最大 Token 数限制(内存压缩和攻击链构建会共用此配置) + +# Agent 配置 +# 达到最大迭代次数时,AI 会自动总结测试结果 +agent: + max_iterations: 120 # 最大迭代次数,AI 代理最多执行多少轮工具调用 + large_result_threshold: 102400 # 大结果阈值(字节),默认50KB,超过此大小会自动保存到存储 + result_storage_dir: tmp # 结果存储目录,大结果会保存在此目录下 + +# 数据库配置 +database: + path: data/conversations.db # SQLite 数据库文件路径,用于存储对话历史和消息 + knowledge_db_path: data/knowledge.db # 知识库数据库文件路径(可选,为空则使用会话数据库),用于存储知识库项和向量嵌入,可独立复制和复用 + +# ============================================ +# 任务管理相关配置 +# ============================================ +# (配置项已包含在对话相关配置中) + +# ============================================ +# 漏洞管理相关配置 +# ============================================ + +# 安全工具配置 +# 系统会从该目录加载所有 .yaml 格式的工具配置文件 +# 推荐方式:在 tools/ 目录下为每个工具创建独立的配置文件 +security: + tools_dir: tools # 工具配置文件目录(相对于配置文件所在目录) + +# ============================================ +# MCP 相关配置 +# ============================================ + # MCP 协议配置 # MCP (Model Context Protocol) 用于工具注册和调用 mcp: enabled: false # 是否启用 MCP 服务器(http模式) - host: 0.0.0.0 # MCP 服务器监听地址 - port: 8081 # MCP 服务器端口 -# AI 模型配置(支持 OpenAI 兼容 API) -# 必填项:api_key, base_url, model 必须填写才能正常运行 -openai: - base_url: https://api.deepseek.com/v1 # API 基础 URL(必填) - api_key: sk-xxxx # API 密钥(必填) - # 支持的 API 服务商: - # - OpenAI: https://api.openai.com/v1 - # - DeepSeek: https://api.deepseek.com/v1 - # - 其他兼容 OpenAI 协议的 API - model: deepseek-chat # 模型名称(必填) - max_total_tokens: 120000 # LLM 相关上下文的最大 Token 数限制(内存压缩和攻击链构建会共用此配置) - # 常用模型: gpt-4, gpt-3.5-turbo, deepseek-chat, claude-3-opus 等 -# Agent 配置 -agent: - max_iterations: 120 # 最大迭代次数,AI 代理最多执行多少轮工具调用 - # 达到最大迭代次数时,AI 会自动总结测试结果 - large_result_threshold: 102400 # 大结果阈值(字节),默认50KB,超过此大小会自动保存到存储 - result_storage_dir: tmp # 结果存储目录,大结果会保存在此目录下 -# 数据库配置 -database: - path: data/conversations.db # SQLite 数据库文件路径,用于存储对话历史和消息 - knowledge_db_path: data/knowledge.db # 知识库数据库文件路径(可选,为空则使用会话数据库),用于存储知识库项和向量嵌入,可独立复制和复用 -# 安全工具配置 -security: - tools_dir: tools # 工具配置文件目录(相对于配置文件所在目录) - # 系统会从该目录加载所有 .yaml 格式的工具配置文件 - # 推荐方式:在 tools/ 目录下为每个工具创建独立的配置文件 -# 外部MCP配置 + host: 0.0.0.0 # MCP 服务器监听地址 + port: 8081 # MCP 服务器端口 + +# 外部 MCP 配置 external_mcp: servers: {} -# 知识库配置 + +# ============================================ +# 知识库相关配置 +# ============================================ + knowledge: - enabled: false # 是否启用知识检索功能 - base_path: knowledge_base # 知识库目录路径(相对于配置文件所在目录) + enabled: false # 是否启用知识检索功能 + base_path: knowledge_base # 知识库目录路径(相对于配置文件所在目录) embedding: - provider: openai # 嵌入模型提供商(目前仅支持openai) - model: text-embedding-v4 # 嵌入模型名称 + provider: openai # 嵌入模型提供商(目前仅支持openai) + model: text-embedding-v4 # 嵌入模型名称 base_url: https://api.deepseek.com/v1 # 留空则使用OpenAI配置的base_url - api_key: sk-xxxxxx # 留空则使用OpenAI配置的api_key + api_key: sk-xxxxxx # 留空则使用OpenAI配置的api_key retrieval: - top_k: 5 # 检索返回的Top-K结果数量 - similarity_threshold: 0.7 # 相似度阈值(0-1),低于此值的结果将被过滤 - hybrid_weight: 0.7 # 混合检索权重(0-1),向量检索的权重,1.0表示纯向量检索,0.0表示纯关键词检索 -# 角色配置 -roles_dir: roles # 角色配置文件目录(相对于配置文件所在目录) + top_k: 5 # 检索返回的Top-K结果数量 + similarity_threshold: 0.7 # 相似度阈值(0-1),低于此值的结果将被过滤 + hybrid_weight: 0.7 # 混合检索权重(0-1),向量检索的权重,1.0表示纯向量检索,0.0表示纯关键词检索 + +# ============================================ +# Skills 相关配置 +# ============================================ + +# 系统会从该目录加载所有skills,每个skill应是一个目录,包含SKILL.md文件 +# 例如:skills/sql-injection-testing/SKILL.md +skills_dir: skills # Skills配置文件目录(相对于配置文件所在目录) + +# ============================================ +# 角色相关配置 +# ============================================ + # 系统会从该目录加载所有 .yaml 格式的角色配置文件 # 每个角色应创建独立的配置文件,例如:roles/CTF.yaml, roles/默认.yaml 等 +roles_dir: roles # 角色配置文件目录(相对于配置文件所在目录)