Files
CyberStrikeAI/config.yaml
2026-03-25 03:29:53 +08:00

182 lines
9.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================
# CyberStrikeAI 配置文件
# ============================================
# 本配置文件支持通过 Web 界面进行可视化配置
# 点击右上角"设置"按钮即可修改配置
# ============================================
# ============================================
# 系统设置
# ============================================
# 前端显示的版本号(可选,不填则显示默认版本)
version: "v1.4.2"
# 服务器配置
server:
host: 0.0.0.0 # 监听地址0.0.0.0 表示监听所有网络接口
port: 8080 # HTTP 服务端口,可通过浏览器访问 http://localhost:8080
# 认证配置
auth:
password: # Web 登录密码,请修改为强密码
session_duration_hours: 12 # 登录有效期(小时),超时后需重新登录
# 日志配置
log:
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://dashscope.aliyuncs.com/compatible-mode/v1 # API 基础 URL必填
api_key: sk-xxxxxx # API 密钥(必填)
model: qwen3-max # 模型名称(必填)
max_total_tokens: 120000 # LLM 相关上下文的最大 Token 数限制(内存压缩和攻击链构建会共用此配置)
# ============================================
# 信息收集FOFA配置可选
# ============================================
# 用于「信息收集」页面调用 FOFA API后端代理避免前端暴露 key
# 也可通过环境变量配置FOFA_EMAIL / FOFA_API_KEY优先级更高
fofa:
base_url: https://fofa.info/api/v1/search/all # 可选,留空则使用默认
email: "" # FOFA 账号邮箱(可选,建议在系统设置中填写)
api_key: "" # FOFA API Key可选建议在系统设置中填写
# Agent 配置
# 达到最大迭代次数时AI 会自动总结测试结果
agent:
max_iterations: 120 # 最大迭代次数AI 代理最多执行多少轮工具调用
large_result_threshold: 102400 # 大结果阈值字节默认50KB超过此大小会自动保存到存储
result_storage_dir: tmp # 结果存储目录,大结果会保存在此目录下
tool_timeout_minutes: 30 # 单次工具执行最大时长分钟超时自动终止0 表示不限制(不推荐,易出现长时间挂起)
# 多代理CloudWeGo Eino DeepAgent与上方单 Agent /api/agent-loop 并存)
# 依赖在 go.mod 中拉取;若下载失败可设置: go env -w GOPROXY=https://goproxy.cn,direct
# 启用后需重启服务才会注册 /api/multi-agent 与 /api/multi-agent/stream前端可选「多代理」模式走 stream 接口
multi_agent:
enabled: true
default_mode: multi # single | multi前端默认仍可用界面切换
robot_use_multi_agent: true # true 时企业微信/钉钉/飞书机器人也走 Eino 多代理(成本更高)
batch_use_multi_agent: true # true 时「批量任务」队列中每个子任务也走 Eino 多代理(成本更高)
max_iteration: 0 # Deep 主代理最大轮次0 表示沿用 agent.max_iterations
sub_agent_max_iterations: 120
without_general_sub_agent: false # false 时保留 Deep 内置 general-purpose 子代理
without_write_todos: false
orchestrator_instruction: "" # 非空且未使用 agents/orchestrator.md 正文时作为 Deep 主代理系统提示;若存在 orchestrator.md或某 .md 含 kind: orchestrator正文非空则优先用文件否则仍用此处留空且无文件正文时用 Eino 默认
# 数据库配置
database:
path: data/conversations.db # SQLite 数据库文件路径,用于存储对话历史和消息
knowledge_db_path: data/knowledge.db # 知识库数据库文件路径(可选,为空则使用会话数据库),用于存储知识库项和向量嵌入,可独立复制和复用
# ============================================
# 任务管理相关配置
# ============================================
# (配置项已包含在对话相关配置中)
# ============================================
# 漏洞管理相关配置
# ============================================
# 安全工具配置
# 系统会从该目录加载所有 .yaml 格式的工具配置文件
# 推荐方式:在 tools/ 目录下为每个工具创建独立的配置文件
security:
tools_dir: tools # 工具配置文件目录(相对于配置文件所在目录)
# 工具描述模式:加载 tools 下工具时,暴露给 AI/API 使用的描述来源
# short - 优先使用 short_description简短描述省 token为空时用 description
# full - 使用 description详细描述
tool_description_mode: full
# ============================================
# MCP 相关配置
# ============================================
# MCP 协议配置
# MCP (Model Context Protocol) 用于工具注册和调用
mcp:
enabled: false # 是否启用 MCP 服务器http模式
host: 0.0.0.0 # MCP 服务器监听地址
port: 8081 # MCP 服务器端口
auth_header: "X-MCP-Token" # 鉴权:请求需携带该 header 且值与 auth_header_value 一致方可调用。留空表示不鉴权
auth_header_value: "" # 鉴权密钥值(与 auth_header 配合使用,建议使用随机字符串)
# 外部 MCP 配置
external_mcp:
servers: {}
# ============================================
# 知识库相关配置
# ============================================
knowledge:
enabled: false # 是否启用知识检索功能
base_path: knowledge_base # 知识库目录路径(相对于配置文件所在目录)
embedding:
provider: openai # 嵌入模型提供商目前仅支持openai
model: text-embedding-v4 # 嵌入模型名称
base_url: https://api.deepseek.com/v1 # 留空则使用OpenAI配置的base_url
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表示纯关键词检索
# ============================================
# 索引配置(用于解决 API 限制问题)
# ============================================
indexing:
# 分块配置
chunk_size: 512 # 每个块的最大 token 数(默认 512长文本会被分割成多个块
chunk_overlap: 50 # 块之间的重叠 token 数(默认 50保持上下文连贯性
max_chunks_per_item: 0 # 单个知识项的最大块数量0 表示不限制),防止单个文件消耗过多 API 配额
# 速率限制配置(解决 429 错误)
max_rpm: 0 # 每分钟最大请求数(默认 0 表示不限制),如 OpenAI 默认 200 RPM
rate_limit_delay_ms: 300 # 请求间隔毫秒数(默认 300用于避免 API 速率限制,设为 0 不限制
# 建议值200 次/分钟≈300ms, 100 次/分钟≈600ms
# 重试配置
max_retries: 3 # 最大重试次数(默认 3遇到速率限制或服务器错误时自动重试
retry_delay_ms: 1000 # 重试间隔毫秒数(默认 1000每次重试会递增延迟
# ============================================
# 机器人配置(企业微信、钉钉、飞书)
# ============================================
# 用于在手机端通过企业微信/钉钉/飞书与 CyberStrikeAI 对话,无需部署在服务器上也可使用
# 在系统设置 -> 机器人设置 中可配置
robots:
wecom: # 企业微信
enabled: false
token: ""
encoding_aes_key: ""
corp_id: ""
secret: ""
agent_id: 0
dingtalk: # 钉钉
enabled: false
client_id: ""
client_secret: ""
lark: # 飞书
enabled: false
app_id: ""
app_secret: ""
verify_token: ""
# ============================================
# Skills 相关配置
# ============================================
# 系统会从该目录加载所有skills每个skill应是一个目录包含SKILL.md文件
# 例如skills/sql-injection-testing/SKILL.md
skills_dir: skills # Skills配置文件目录相对于配置文件所在目录
# ============================================
# 多代理子 AgentMarkdown唯一维护处
# ============================================
# 每个 .mdYAML front mattername / id / description / tools / bind_role / max_iterations / 可选 kind: orchestrator+ 正文为系统提示词
# 主代理:固定文件名 orchestrator.md或任意文件名 + front matter kind: orchestrator全目录仅允许一个主代理不参与 task 子代理列表
# 高级用法:仍可在 multi_agent 块内写 sub_agents会与本文目录合并且同 id 时 YAML 可被 .md 覆盖
agents_dir: agents
# ============================================
# 角色相关配置
# ============================================
# 系统会从该目录加载所有 .yaml 格式的角色配置文件
# 每个角色应创建独立的配置文件例如roles/CTF.yaml, roles/默认.yaml 等
roles_dir: roles # 角色配置文件目录(相对于配置文件所在目录)