[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Ed1s0nZ--CyberStrikeAI":3,"tool-Ed1s0nZ--CyberStrikeAI":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",157379,2,"2026-04-15T23:32:42",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":106,"forks":107,"last_commit_at":108,"license":109,"difficulty_score":110,"env_os":111,"env_gpu":112,"env_ram":112,"env_deps":113,"category_tags":127,"github_topics":128,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":138,"updated_at":139,"faqs":140,"releases":176},8060,"Ed1s0nZ\u002FCyberStrikeAI","CyberStrikeAI","CyberStrikeAI is an AI-native security testing platform built in Go. It integrates 100+ security tools, an intelligent orchestration engine, role-based testing with predefined security roles, a skills system with specialized testing skills, and comprehensive lifecycle management capabilities.","CyberStrikeAI 是一款基于 Go 语言构建的原生 AI 安全测试平台，旨在为安全团队提供智能化、自动化的漏洞发现与分析环境。它有效解决了传统安全测试中工具分散、流程繁琐以及人工分析效率低下的痛点，通过对话式指令即可实现从任务下发到结果可视化的端到端自动化闭环。\n\n该平台特别适合网络安全工程师、渗透测试人员及安全研发开发者使用。其核心亮点在于深度集成了 100 多种主流安全工具，并拥有智能编排引擎，能够根据预设的安全角色和专项技能自动调度任务。CyberStrikeAI 原生支持 MCP（模型上下文协议），可灵活对接 GPT、Claude、DeepSeek 等多种大模型，让 AI 代理像专家一样自主决策。此外，它还提供了完整的生命周期管理能力，涵盖任务管理、漏洞追踪、知识库检索及攻击链分析，确保测试过程可审计、可追溯。无论是日常资产巡检还是复杂的红队演练，CyberStrikeAI 都能帮助团队大幅提升协作效率与测试覆盖率。","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_ebe9612851c5.png\" alt=\"CyberStrikeAI Logo\" width=\"200\">\n\u003C\u002Fdiv>\n\n# CyberStrikeAI\n\n\n[中文](README_CN.md) | [English](README.md)\n\n**Community**: [Join us on Discord](https:\u002F\u002Fdiscord.gg\u002F8PjVCMu8Zw)\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>WeChat group\u003C\u002Fstrong> (click to reveal QR code)\u003C\u002Fsummary>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_78d10ab6baa5.jpg\" alt=\"CyberStrikeAI WeChat group QR code\" width=\"280\">\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Sponsorship\u003C\u002Fstrong> (click to expand)\u003C\u002Fsummary>\n\nIf CyberStrikeAI helps you, you can support the project via **WeChat Pay** or **Alipay**:\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_097282cc0663.jpg\" alt=\"WeChat Pay and Alipay sponsorship QR codes\" width=\"480\">\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\nCyberStrikeAI is an **AI-native security testing platform** built in Go. It integrates 100+ security tools, an intelligent orchestration engine, role-based testing with predefined security roles, a skills system with specialized testing skills, and comprehensive lifecycle management capabilities. Through native MCP protocol and AI agents, it enables end-to-end automation from conversational commands to vulnerability discovery, attack-chain analysis, knowledge retrieval, and result visualization—delivering an auditable, traceable, and collaborative testing environment for security teams.\n\n\n## Interface & Integration Preview\n\n\u003Cdiv align=\"center\">\n\n### System Dashboard Overview\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_1c2548a720cb.png\" alt=\"System Dashboard\" width=\"100%\">\n\n*The dashboard provides a comprehensive overview of system runtime status, security vulnerabilities, tool usage, and knowledge base, helping users quickly understand the platform's core features and current state.*\n\n### Core Features Overview\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Web Console\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_35636733f372.png\" alt=\"Web Console\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Task Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_8e17b6ff9583.png\" alt=\"Task Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Vulnerability Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_2a94faaf64aa.png\" alt=\"Vulnerability Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>WebShell Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_acf9e3888f87.png\" alt=\"WebShell Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>MCP Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_f16583b7d510.png\" alt=\"MCP management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Knowledge Base\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_baf4b8c1c4ab.png\" alt=\"Knowledge Base\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Skills Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_655c809bf77d.png\" alt=\"Skills Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Agent Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_72cb5b09b614.png\" alt=\"Agent Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Role Management\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_3f11fb41019b.png\" alt=\"Role Management\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>System Settings\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_9a89ec1a8ceb.png\" alt=\"System settings\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>MCP stdio Mode\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_8869fcda3b9e.png\" alt=\"MCP stdio mode\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Burp Suite Plugin\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_dc83909e41f9.png\" alt=\"Burp Suite plugin\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n## Highlights\n\n- 🤖 AI decision engine with OpenAI-compatible models (GPT, Claude, DeepSeek, etc.)\n- 🔌 Native MCP implementation with HTTP\u002Fstdio\u002FSSE transports and external MCP federation\n- 🧰 100+ prebuilt tool recipes + YAML-based extension system\n- 📄 Large-result pagination, compression, and searchable archives\n- 🔗 Attack-chain graph, risk scoring, and step-by-step replay\n- 🔒 Password-protected web UI, audit logs, and SQLite persistence\n- 📚 Knowledge base with vector search and hybrid retrieval for security expertise\n- 📁 Conversation grouping with pinning, rename, and batch management\n- 🛡️ Vulnerability management with CRUD operations, severity tracking, status workflow, and statistics\n- 📋 Batch task management: create task queues, add multiple tasks, and execute them sequentially\n- 🎭 Role-based testing: predefined security testing roles (Penetration Testing, CTF, Web App Scanning, etc.) with custom prompts and tool restrictions\n- 🧩 **Multi-agent mode (Eino DeepAgent)**: optional orchestration where a coordinator delegates work to Markdown-defined sub-agents via the `task` tool; main agent in `agents\u002Forchestrator.md` (or `kind: orchestrator`), sub-agents under `agents\u002F*.md`; chat mode switch when `multi_agent.enabled` is true (see [Multi-agent doc](docs\u002FMULTI_AGENT_EINO.md))\n- 🎯 Skills system: 20+ predefined security testing skills (SQL injection, XSS, API security, etc.) that can be attached to roles or called on-demand by AI agents\n- 📱 **Chatbot**: DingTalk and Lark (Feishu) long-lived connections so you can talk to CyberStrikeAI from mobile (see [Robot \u002F Chatbot guide](docs\u002Frobot_en.md) for setup and commands)\n - 🐚 **WebShell management**: Add and manage WebShell connections (e.g. IceSword\u002FAntSword compatible), use a virtual terminal for command execution, a built-in file manager for file operations, and an AI assistant tab that orchestrates tests and keeps per-connection conversation history; supports PHP, ASP, ASPX, JSP and custom shell types with configurable request method and command parameter.\n\n## Plugins\n\nCyberStrikeAI includes optional integrations under `plugins\u002F`.\n\n- **Burp Suite extension**: `plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002F`  \n  Build output: `plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002Fdist\u002Fcyberstrikeai-burp-extension.jar`  \n  Docs: `plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002FREADME.md`\n\n## Tool Overview\n\nCyberStrikeAI ships with 100+ curated tools covering the whole kill chain:\n\n- **Network Scanners** – nmap, masscan, rustscan, arp-scan, nbtscan\n- **Web & App Scanners** – sqlmap, nikto, dirb, gobuster, feroxbuster, ffuf, httpx\n- **Vulnerability Scanners** – nuclei, wpscan, wafw00f, dalfox, xsser\n- **Subdomain Enumeration** – subfinder, amass, findomain, dnsenum, fierce\n- **Network Space Search Engines** – fofa_search, zoomeye_search\n- **API Security** – graphql-scanner, arjun, api-fuzzer, api-schema-analyzer\n- **Container Security** – trivy, clair, docker-bench-security, kube-bench, kube-hunter\n- **Cloud Security** – prowler, scout-suite, cloudmapper, pacu, terrascan, checkov\n- **Binary Analysis** – gdb, radare2, ghidra, objdump, strings, binwalk\n- **Exploitation** – metasploit, msfvenom, pwntools, ropper, ropgadget\n- **Password Cracking** – hashcat, john, hashpump\n- **Forensics** – volatility, volatility3, foremost, steghide, exiftool\n- **Post-Exploitation** – linpeas, winpeas, mimikatz, bloodhound, impacket, responder\n- **CTF Utilities** – stegsolve, zsteg, hash-identifier, fcrackzip, pdfcrack, cyberchef\n- **System Helpers** – exec, create-file, delete-file, list-files, modify-file\n\n## Basic Usage\n\n### Quick Start (One-Command Deployment)\n\n**Prerequisites:**\n- Go 1.21+ ([Install](https:\u002F\u002Fgo.dev\u002Fdl\u002F))\n- Python 3.10+ ([Install](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F))\n\n**One-Command Deployment:**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI.git\ncd CyberStrikeAI\nchmod +x run.sh && .\u002Frun.sh\n```\n\nThe `run.sh` script will automatically:\n- ✅ Check and validate Go & Python environments\n- ✅ Create Python virtual environment\n- ✅ Install Python dependencies\n- ✅ Download Go dependencies\n- ✅ Build the project\n- ✅ Start the server\n\n**First-Time Configuration:**\n1. **Configure OpenAI-compatible API** (required before first use)\n   - Open http:\u002F\u002Flocalhost:8080 after launch\n   - Go to `Settings` → Fill in your API credentials:\n     ```yaml\n     openai:\n       api_key: \"sk-your-key\"\n       base_url: \"https:\u002F\u002Fapi.openai.com\u002Fv1\"  # or https:\u002F\u002Fapi.deepseek.com\u002Fv1\n       model: \"gpt-4o\"  # or deepseek-chat, claude-3-opus, etc.\n     ```\n   - Or edit `config.yaml` directly before launching\n2. **Login** - Use the auto-generated password shown in the console (or set `auth.password` in `config.yaml`)\n3. **Install security tools (optional)** - Install tools as needed:\n   ```bash\n   # macOS\n   brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass\n   # Ubuntu\u002FDebian\n   sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster\n   ```\n   AI automatically falls back to alternatives when a tool is missing.\n\n**Alternative Launch Methods:**\n```bash\n# Direct Go run (requires manual setup)\ngo run cmd\u002Fserver\u002Fmain.go\n\n# Manual build\ngo build -o cyberstrike-ai cmd\u002Fserver\u002Fmain.go\n.\u002Fcyberstrike-ai\n```\n\n**Note:** The Python virtual environment (`venv\u002F`) is automatically created and managed by `run.sh`. Tools that require Python (like `api-fuzzer`, `http-framework-test`, etc.) will automatically use this environment.\n\n### Version Update (No Breaking Changes)\n\n**CyberStrikeAI one-click upgrade (recommended):**\n1. (First time) enable the script: `chmod +x upgrade.sh`\n2. Upgrade with: `.\u002Fupgrade.sh` (optional flags: `--tag vX.Y.Z`, `--no-venv`, `--preserve-custom`, `--yes`)\n3. The script will back up your `config.yaml` and `data\u002F`, upgrade the code from GitHub Release, update `config.yaml`'s `version`, then restart the server.\n\nRecommended one-liner:\n`chmod +x upgrade.sh && .\u002Fupgrade.sh --yes`\n\nIf something goes wrong, you can restore from `.upgrade-backup\u002F` (or manually copy `\u002Fdata` and `config.yaml` back) and run `.\u002Frun.sh` again.\n\nRequirements \u002F tips:\n* You need `curl` or `wget` for downloading Release packages.\n* `rsync` is recommended\u002Frequired for the safe code sync.\n* If GitHub API rate-limits you, set `export GITHUB_TOKEN=\"...\"` before running `.\u002Fupgrade.sh`.\n\n⚠️ **Note:** This procedure only applies to version updates without compatibility or breaking changes. If a release includes compatibility changes, this method may not apply.\n\n**Examples:** No breaking changes — e.g. v1.3.1 → v1.3.2; with breaking changes — e.g. v1.3.1 → v1.4.0. The project follows [Semantic Versioning](https:\u002F\u002Fsemver.org\u002F) (SemVer): when only the patch version (third number) changes, this upgrade path is usually safe; when the minor or major version changes, config, data, or APIs may have changed — check the release notes before using this method.\n\n### Core Workflows\n- **Conversation testing** – Natural-language prompts trigger toolchains with streaming SSE output.\n- **Single vs multi-agent** – With `multi_agent.enabled: true`, the chat UI can switch between **single** (classic ReAct loop) and **multi** (Eino DeepAgent + `task` sub-agents). Multi mode uses `\u002Fapi\u002Fmulti-agent\u002Fstream`; tools are bridged from the same MCP stack as single-agent.\n- **Role-based testing** – Select from predefined security testing roles (Penetration Testing, CTF, Web App Scanning, API Security Testing, etc.) to customize AI behavior and tool availability. Each role applies custom system prompts and can restrict available tools for focused testing scenarios.\n- **Tool monitor** – Inspect running jobs, execution logs, and large-result attachments.\n- **History & audit** – Every conversation and tool invocation is stored in SQLite with replay.\n- **Conversation groups** – Organize conversations into groups, pin important groups, rename or delete groups via context menu.\n- **Vulnerability management** – Create, update, and track vulnerabilities discovered during testing. Filter by severity (critical\u002Fhigh\u002Fmedium\u002Flow\u002Finfo), status (open\u002Fconfirmed\u002Ffixed\u002Ffalse_positive), and conversation. View statistics and export findings.\n- **Batch task management** – Create task queues with multiple tasks, add or edit tasks before execution, and run them sequentially. Each task executes as a separate conversation, with status tracking (pending\u002Frunning\u002Fcompleted\u002Ffailed\u002Fcancelled) and full execution history.\n- **WebShell management** – Add and manage WebShell connections (PHP\u002FASP\u002FASPX\u002FJSP or custom). Use the virtual terminal to run commands, the file manager to list, read, edit, upload, and delete files, and the AI assistant tab to drive scripted tests with per-connection conversation history. Connections are stored in SQLite; supports GET\u002FPOST and configurable command parameter (e.g. IceSword\u002FAntSword style).\n- **Settings** – Tweak provider keys, MCP enablement, tool toggles, and agent iteration limits.\n\n### Built-in Safeguards\n- Required-field validation prevents accidental blank API credentials.\n- Auto-generated strong passwords when `auth.password` is empty.\n- Unified auth middleware for every web\u002FAPI call (Bearer token flow).\n- Timeout and sandbox guards per tool, plus structured logging for triage.\n\n## Advanced Usage\n\n### Role-Based Testing\n- **Predefined roles** – System includes 12+ predefined security testing roles (Penetration Testing, CTF, Web App Scanning, API Security Testing, Binary Analysis, Cloud Security Audit, etc.) in the `roles\u002F` directory.\n- **Custom prompts** – Each role can define a `user_prompt` that prepends to user messages, guiding the AI to adopt specialized testing methodologies and focus areas.\n- **Tool restrictions** – Roles can specify a `tools` list to limit available tools, ensuring focused testing workflows (e.g., CTF role restricts to CTF-specific utilities).\n- **Skills integration** – Roles can attach security testing skills. Skill names are added to system prompts as hints, and AI agents can access skill content on-demand using the `read_skill` tool.\n- **Easy role creation** – Create custom roles by adding YAML files to the `roles\u002F` directory. Each role defines `name`, `description`, `user_prompt`, `icon`, `tools`, `skills`, and `enabled` fields.\n- **Web UI integration** – Select roles from a dropdown in the chat interface. Role selection affects both AI behavior and available tool suggestions.\n\n**Creating a custom role (example):**\n1. Create a YAML file in `roles\u002F` (e.g., `roles\u002Fcustom-role.yaml`):\n   ```yaml\n   name: Custom Role\n   description: Specialized testing scenario\n   user_prompt: You are a specialized security tester focusing on API security...\n   icon: \"\\U0001F4E1\"\n   tools:\n     - api-fuzzer\n     - arjun\n     - graphql-scanner\n   skills:\n     - api-security-testing\n     - sql-injection-testing\n   enabled: true\n   ```\n2. Restart the server or reload configuration; the role appears in the role selector dropdown.\n\n### Multi-Agent Mode (Eino DeepAgent)\n- **What it is** – An optional second execution path based on CloudWeGo **Eino** `adk\u002Fprebuilt\u002Fdeep`: a **coordinator** (main agent) calls a **`task`** tool to run ephemeral **sub-agents**, each with its own model loop and tool set derived from the current role.\n- **Markdown agents** – Under `agents_dir` (default `agents\u002F`, relative to `config.yaml`), define:\n  - **Orchestrator**: file name `orchestrator.md` *or* any `.md` with front matter `kind: orchestrator` (only **one** per directory). Sets Deep agent name\u002Fid, description, and optional full system prompt (body); if the body is empty, `multi_agent.orchestrator_instruction` and then Eino defaults apply.\n  - **Sub-agents**: other `*.md` files (YAML front matter + body as instruction). They are **not** used as `task` targets if classified as orchestrator.\n- **Management** – Web UI: **Agents → Agent management** for CRUD on Markdown agents; API prefix `\u002Fapi\u002Fmulti-agent\u002Fmarkdown-agents`.\n- **Config** – `multi_agent` block in `config.yaml`: `enabled`, `default_mode` (`single` | `multi`), `robot_use_multi_agent`, `batch_use_multi_agent`, `max_iteration`, `orchestrator_instruction`, optional YAML `sub_agents` merged with disk (same `id` → Markdown wins).\n- **Details** – Streaming events, robots, batch queue, and troubleshooting: **[docs\u002FMULTI_AGENT_EINO.md](docs\u002FMULTI_AGENT_EINO.md)**.\n\n### Skills System\n- **Predefined skills** – System includes 20+ predefined security testing skills (SQL injection, XSS, API security, cloud security, container security, etc.) in the `skills\u002F` directory.\n- **Skill hints in prompts** – When a role is selected, skill names attached to that role are added to the system prompt as recommendations. Skill content is not automatically injected; AI agents must use the `read_skill` tool to access skill details when needed.\n- **On-demand access** – AI agents can also access skills on-demand using built-in tools (`list_skills`, `read_skill`), allowing dynamic skill retrieval during task execution.\n- **Structured format** – Each skill is a directory containing a `SKILL.md` file with detailed testing methods, tool usage, best practices, and examples. Skills support YAML front matter for metadata.\n- **Custom skills** – Create custom skills by adding directories to the `skills\u002F` directory. Each skill directory should contain a `SKILL.md` file with the skill content.\n\n**Creating a custom skill:**\n1. Create a directory in `skills\u002F` (e.g., `skills\u002Fmy-skill\u002F`)\n2. Create a `SKILL.md` file in that directory with the skill content\n3. Attach the skill to a role by adding it to the role's `skills` field in the role YAML file\n\n### Tool Orchestration & Extensions\n- **YAML recipes** in `tools\u002F*.yaml` describe commands, arguments, prompts, and metadata.\n- **Directory hot-reload** – pointing `security.tools_dir` to a folder is usually enough; inline definitions in `config.yaml` remain supported for quick experiments.\n- **Large-result pagination** – outputs beyond 200 KB are stored as artifacts retrievable through the `query_execution_result` tool with paging, filters, and regex search.\n- **Result compression** – multi-megabyte logs can be summarized or losslessly compressed before persisting to keep SQLite lean.\n\n**Creating a custom tool (typical flow)**\n1. Copy an existing YAML file from `tools\u002F` (for example `tools\u002Fsample.yaml`).\n2. Update `name`, `command`, `args`, and `short_description`.\n3. Describe positional or flag parameters in `parameters[]` so the agent knows how to build CLI arguments.\n4. Provide a longer `description`\u002F`notes` block if the agent needs extra context or post-processing tips.\n5. Restart the server or reload configuration; the new tool becomes available immediately and can be enabled\u002Fdisabled from the Settings panel.\n\n### Attack-Chain Intelligence\n- AI parses each conversation to assemble targets, tools, vulnerabilities, and relationships.\n- The web UI renders the chain as an interactive graph with severity scoring and step replay.\n- Export the chain or raw findings to external reporting pipelines.\n\n### WebShell Management\n- **Connections** – From the Web UI, go to **WebShell Management** to add, edit, or delete WebShell connections. Each connection stores: Shell URL, password\u002Fkey, shell type (PHP, ASP, ASPX, JSP, Custom), request method (GET\u002FPOST), command parameter name (default `cmd`), and an optional remark; all records persist in SQLite and are compatible with common clients such as IceSword and AntSword.\n- **Virtual terminal** – After selecting a connection, use the **Virtual terminal** tab to run arbitrary commands with history and quick commands (whoami\u002Fid\u002Fls\u002Fpwd etc.). Output is streamed in the browser, and Ctrl+L clears the screen.\n- **File manager** – Use the **File manager** tab to list directories, read or edit files, delete files, create folders\u002Ffiles, upload files (including chunked uploads for large files), rename paths, and download selected files. Path navigation supports breadcrumbs, parent directory jumps, and name filtering.\n- **AI assistant** – Use the **AI assistant** tab to chat with an agent that understands the current WebShell connection, automatically runs tools and shell commands, and maintains per-connection conversation history with a sidebar of previous sessions.\n- **Connectivity test** – Use **Test connectivity** to verify that the shell URL, password, and command parameter are correct before running commands (sends a lightweight `echo 1` check).\n- **Persistence** – All WebShell connections and AI conversations are stored in SQLite (same database as conversations), so they persist across restarts.\n\n### MCP Everywhere\n- **Web mode** – ships with HTTP MCP server automatically consumed by the UI.\n- **MCP stdio mode** – `go run cmd\u002Fmcp-stdio\u002Fmain.go` exposes the agent to Cursor\u002FCLI.\n- **External MCP federation** – register third-party MCP servers (HTTP, stdio, or SSE) from the UI, toggle them per engagement, and monitor their health and call volume in real time.\n- **Optional MCP servers** – the [`mcp-servers\u002F`](mcp-servers\u002FREADME.md) directory provides standalone MCPs (e.g. reverse shell). They speak standard MCP over stdio and work with CyberStrikeAI (Settings → External MCP), Cursor, VS Code, and other MCP clients.\n\n#### MCP stdio quick start\n1. **Build the binary** (run from the project root):\n   ```bash\n   go build -o cyberstrike-ai-mcp cmd\u002Fmcp-stdio\u002Fmain.go\n   ```\n2. **Wire it up in Cursor**  \n   Open `Settings → Tools & MCP → Add Custom MCP`, pick **Command**, then point to the compiled binary and your config:\n   ```json\n   {\n     \"mcpServers\": {\n       \"cyberstrike-ai\": {\n         \"command\": \"\u002Fabsolute\u002Fpath\u002Fto\u002Fcyberstrike-ai-mcp\",\n         \"args\": [\n           \"--config\",\n           \"\u002Fabsolute\u002Fpath\u002Fto\u002Fconfig.yaml\"\n         ]\n       }\n     }\n   }\n   ```\n   Replace the paths with your local locations; Cursor will launch the stdio server automatically.\n\n#### MCP HTTP quick start (Cursor \u002F Claude Code)\nThe HTTP MCP server runs on a separate port (default `8081`) and supports **header-based authentication** so only clients that send the correct header can call tools.\n\n1. **Enable MCP in config** – In `config.yaml` set `mcp.enabled: true` and optionally `mcp.host` \u002F `mcp.port`. For auth (recommended if the port is reachable from the network), set:\n   - `mcp.auth_header` – header name (e.g. `X-MCP-Token`);\n   - `mcp.auth_header_value` – secret value. **Leave it empty** if you want the server to **auto-generate** a random token on first start and write it back to the config.\n2. **Start the service** – Run `.\u002Frun.sh` or `go run cmd\u002Fserver\u002Fmain.go`. The MCP endpoint is `http:\u002F\u002F\u003Chost>:\u003Cport>\u002Fmcp` (e.g. `http:\u002F\u002Flocalhost:8081\u002Fmcp`).\n3. **Copy the JSON from the terminal** – When MCP is enabled, the server prints a **ready-to-paste** JSON block. If `auth_header_value` was empty, it will have been generated and saved; the printed JSON includes the URL and headers.\n4. **Use in Cursor or Claude Code**:\n   - **Cursor**: Paste the block into `~\u002F.cursor\u002Fmcp.json` (or your project’s `.cursor\u002Fmcp.json`) under `mcpServers`, or merge it into your existing `mcpServers`.\n   - **Claude Code**: Paste into `.mcp.json` or `~\u002F.claude.json` under `mcpServers`.\n\nExample of what the terminal prints (with auth enabled):\n```json\n{\n  \"mcpServers\": {\n    \"cyberstrike-ai\": {\n      \"url\": \"http:\u002F\u002Flocalhost:8081\u002Fmcp\",\n      \"headers\": {\n        \"X-MCP-Token\": \"\u003Cauto-generated-or-your-value>\"\n      },\n      \"type\": \"http\"\n    }\n  }\n}\n```\nIf you do not set `auth_header` \u002F `auth_header_value`, the endpoint accepts requests without authentication (suitable only for localhost or trusted networks).\n\n#### External MCP federation (HTTP\u002Fstdio\u002FSSE)\nCyberStrikeAI supports connecting to external MCP servers via three transport modes:\n- **HTTP mode** – traditional request\u002Fresponse over HTTP POST\n- **stdio mode** – process-based communication via standard input\u002Foutput\n- **SSE mode** – Server-Sent Events for real-time streaming communication\n\nTo add an external MCP server:\n1. Open the Web UI and navigate to **Settings → External MCP**.\n2. Click **Add External MCP** and provide the configuration in JSON format:\n\n   **HTTP mode example:**\n   ```json\n   {\n     \"my-http-mcp\": {\n       \"transport\": \"http\",\n       \"url\": \"http:\u002F\u002F127.0.0.1:8081\u002Fmcp\",\n       \"description\": \"HTTP MCP server\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n   **stdio mode example:**\n   ```json\n   {\n     \"my-stdio-mcp\": {\n       \"command\": \"python3\",\n       \"args\": [\"\u002Fpath\u002Fto\u002Fmcp-server.py\"],\n       \"description\": \"stdio MCP server\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n   **SSE mode example:**\n   ```json\n   {\n     \"my-sse-mcp\": {\n       \"transport\": \"sse\",\n       \"url\": \"http:\u002F\u002F127.0.0.1:8082\u002Fsse\",\n       \"description\": \"SSE MCP server\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n3. Click **Save** and then **Start** to connect to the server.\n4. Monitor the connection status, tool count, and health in real time.\n\n**SSE mode benefits:**\n- Real-time bidirectional communication via Server-Sent Events\n- Suitable for scenarios requiring continuous data streaming\n- Lower latency for push-based notifications\n\nA test SSE MCP server is available at `cmd\u002Ftest-sse-mcp-server\u002F` for validation purposes.\n\n### Knowledge Base\n- **Vector search** – AI agent can automatically search the knowledge base for relevant security knowledge during conversations using the `search_knowledge_base` tool.\n- **Hybrid retrieval** – combines vector similarity search with keyword matching for better accuracy.\n- **Auto-indexing** – scans the `knowledge_base\u002F` directory for Markdown files and automatically indexes them with embeddings.\n- **Web management** – create, update, delete knowledge items through the web UI, with category-based organization.\n- **Retrieval logs** – tracks all knowledge retrieval operations for audit and debugging.\n\n**Quick Start (Using Pre-built Knowledge Base):**\n1. **Download the knowledge database** – Download the pre-built knowledge database file from [GitHub Releases](https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Freleases).\n2. **Extract and place** – Extract the downloaded knowledge database file (`knowledge.db`) and place it in the project's `data\u002F` directory.\n3. **Restart the service** – Restart the CyberStrikeAI service, and the knowledge base will be ready to use immediately without rebuilding the index.\n\n**Setting up the knowledge base:**\n1. **Enable in config** – set `knowledge.enabled: true` in `config.yaml`:\n   ```yaml\n   knowledge:\n     enabled: true\n     base_path: knowledge_base\n     embedding:\n       provider: openai\n       model: text-embedding-v4\n       base_url: \"https:\u002F\u002Fapi.openai.com\u002Fv1\"  # or your embedding API\n       api_key: \"sk-xxx\"\n     retrieval:\n       top_k: 5\n       similarity_threshold: 0.7\n       hybrid_weight: 0.7\n   ```\n2. **Add knowledge files** – place Markdown files in `knowledge_base\u002F` directory, organized by category (e.g., `knowledge_base\u002FSQL Injection\u002FREADME.md`).\n3. **Scan and index** – use the web UI to scan the knowledge base directory, which will automatically import files and build vector embeddings.\n4. **Use in conversations** – the AI agent will automatically use `search_knowledge_base` when it needs security knowledge. You can also explicitly ask: \"Search the knowledge base for SQL injection techniques\".\n\n**Knowledge base structure:**\n- Files are organized by category (directory name becomes the category).\n- Each Markdown file becomes a knowledge item with automatic chunking for vector search.\n- The system supports incremental updates – modified files are re-indexed automatically.\n\n\n### Automation Hooks\n- **REST APIs** – everything the UI uses (auth, conversations, tool runs, monitor, vulnerabilities, roles) is available over JSON.\n- **Multi-agent APIs** – `POST \u002Fapi\u002Fmulti-agent\u002Fstream` (SSE, when enabled), `POST \u002Fapi\u002Fmulti-agent` (non-streaming), Markdown agents under `\u002Fapi\u002Fmulti-agent\u002Fmarkdown-agents` (list\u002Fget\u002Fcreate\u002Fupdate\u002Fdelete).\n- **Role APIs** – manage security testing roles via `\u002Fapi\u002Froles` endpoints: `GET \u002Fapi\u002Froles` (list all roles), `GET \u002Fapi\u002Froles\u002F:name` (get role), `POST \u002Fapi\u002Froles` (create role), `PUT \u002Fapi\u002Froles\u002F:name` (update role), `DELETE \u002Fapi\u002Froles\u002F:name` (delete role). Roles are stored as YAML files in the `roles\u002F` directory and support hot-reload.\n- **Vulnerability APIs** – manage vulnerabilities via `\u002Fapi\u002Fvulnerabilities` endpoints: `GET \u002Fapi\u002Fvulnerabilities` (list with filters), `POST \u002Fapi\u002Fvulnerabilities` (create), `GET \u002Fapi\u002Fvulnerabilities\u002F:id` (get), `PUT \u002Fapi\u002Fvulnerabilities\u002F:id` (update), `DELETE \u002Fapi\u002Fvulnerabilities\u002F:id` (delete), `GET \u002Fapi\u002Fvulnerabilities\u002Fstats` (statistics).\n- **Batch Task APIs** – manage batch task queues via `\u002Fapi\u002Fbatch-tasks` endpoints: `POST \u002Fapi\u002Fbatch-tasks` (create queue), `GET \u002Fapi\u002Fbatch-tasks` (list queues), `GET \u002Fapi\u002Fbatch-tasks\u002F:queueId` (get queue), `POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Fstart` (start execution), `POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Fcancel` (cancel), `DELETE \u002Fapi\u002Fbatch-tasks\u002F:queueId` (delete), `POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks` (add task), `PUT \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks\u002F:taskId` (update task), `DELETE \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks\u002F:taskId` (delete task). Tasks execute sequentially, each creating a separate conversation with full status tracking.\n- **WebShell APIs** – manage WebShell connections and execute commands via `\u002Fapi\u002Fwebshell\u002Fconnections` (GET list, POST create, PUT update, DELETE delete) and `\u002Fapi\u002Fwebshell\u002Fexec` (command execution), `\u002Fapi\u002Fwebshell\u002Ffileop` (list\u002Fread\u002Fwrite\u002Fdelete files).\n- **Task control** – pause\u002Fresume\u002Fstop long scans, re-run steps with new params, or stream transcripts.\n- **Audit & security** – rotate passwords via `\u002Fapi\u002Fauth\u002Fchange-password`, enforce short-lived sessions, and restrict MCP ports at the network layer when exposing the service.\n\n## Configuration Reference\n\n```yaml\nauth:\n  password: \"change-me\"\n  session_duration_hours: 12\nserver:\n  host: \"0.0.0.0\"\n  port: 8080\nlog:\n  level: \"info\"\n  output: \"stdout\"\nmcp:\n  enabled: true\n  host: \"0.0.0.0\"\n  port: 8081\n  auth_header: \"X-MCP-Token\"       # optional; leave empty for no auth\n  auth_header_value: \"\"            # optional; leave empty to auto-generate on first start\nopenai:\n  api_key: \"sk-xxx\"\n  base_url: \"https:\u002F\u002Fapi.deepseek.com\u002Fv1\"\n  model: \"deepseek-chat\"\ndatabase:\n  path: \"data\u002Fconversations.db\"\n  knowledge_db_path: \"data\u002Fknowledge.db\"  # Optional: separate DB for knowledge base\nsecurity:\n  tools_dir: \"tools\"\nknowledge:\n  enabled: false  # Enable knowledge base feature\n  base_path: \"knowledge_base\"  # Path to knowledge base directory\n  embedding:\n    provider: \"openai\"  # Embedding provider (currently only \"openai\")\n    model: \"text-embedding-v4\"  # Embedding model name\n    base_url: \"\"  # Leave empty to use OpenAI base_url\n    api_key: \"\"  # Leave empty to use OpenAI api_key\n  retrieval:\n    top_k: 5  # Number of top results to return\n    similarity_threshold: 0.7  # Minimum similarity score (0-1)\n    hybrid_weight: 0.7  # Weight for vector search (1.0 = pure vector, 0.0 = pure keyword)\nroles_dir: \"roles\"  # Role configuration directory (relative to config file)\nskills_dir: \"skills\"  # Skills directory (relative to config file)\nagents_dir: \"agents\"  # Multi-agent Markdown definitions (orchestrator + sub-agents)\nmulti_agent:\n  enabled: false\n  default_mode: \"single\"   # single | multi (UI default when multi-agent is enabled)\n  robot_use_multi_agent: false\n  batch_use_multi_agent: false\n  orchestrator_instruction: \"\"  # Optional; used when orchestrator.md body is empty\n```\n\n### Tool Definition Example (`tools\u002Fnmap.yaml`)\n\n```yaml\nname: \"nmap\"\ncommand: \"nmap\"\nargs: [\"-sT\", \"-sV\", \"-sC\"]\nenabled: true\nshort_description: \"Network mapping & service fingerprinting\"\nparameters:\n  - name: \"target\"\n    type: \"string\"\n    description: \"IP or domain\"\n    required: true\n    position: 0\n  - name: \"ports\"\n    type: \"string\"\n    flag: \"-p\"\n    description: \"Range, e.g. 1-1000\"\n```\n\n### Role Definition Example (`roles\u002Fpenetration-testing.yaml`)\n\n```yaml\nname: Penetration Testing\ndescription: Professional penetration testing expert for comprehensive security testing\nuser_prompt: You are a professional cybersecurity penetration testing expert. Please use professional penetration testing methods and tools to conduct comprehensive security testing on targets, including but not limited to SQL injection, XSS, CSRF, file inclusion, command execution and other common vulnerabilities.\nicon: \"\\U0001F3AF\"\ntools:\n  - nmap\n  - sqlmap\n  - nuclei\n  - burpsuite\n  - metasploit\n  - httpx\n  - record_vulnerability\n  - list_knowledge_risk_types\n  - search_knowledge_base\nenabled: true\n```\n\n## Related documentation\n\n- [Multi-agent mode (Eino)](docs\u002FMULTI_AGENT_EINO.md): DeepAgent orchestration, `agents\u002F*.md`, APIs, and chat\u002Fstream behavior.\n- [Robot \u002F Chatbot guide (DingTalk & Lark)](docs\u002Frobot_en.md): Full setup, commands, and troubleshooting for using CyberStrikeAI from DingTalk or Lark on your phone. **Follow this doc to avoid common pitfalls.**\n\n## Project Layout\n\n```\nCyberStrikeAI\u002F\n├── cmd\u002F                 # Server, MCP stdio entrypoints, tooling\n├── internal\u002F            # Agent, MCP core, handlers, security executor\n├── web\u002F                 # Static SPA + templates\n├── tools\u002F               # YAML tool recipes (100+ examples provided)\n├── roles\u002F               # Role configurations (12+ predefined security testing roles)\n├── skills\u002F              # Skills directory (20+ predefined security testing skills)\n├── agents\u002F              # Multi-agent Markdown (orchestrator.md + sub-agent *.md)\n├── docs\u002F                # Documentation (e.g. robot\u002Fchatbot guide, MULTI_AGENT_EINO.md)\n├── images\u002F              # Docs screenshots & diagrams\n├── config.yaml          # Runtime configuration\n├── run.sh               # Convenience launcher\n└── README*.md\n```\n\n## Basic Usage Examples\n\n```\nScan open ports on 192.168.1.1\nPerform a comprehensive port scan on 192.168.1.1 focusing on 80,443,22\nCheck if https:\u002F\u002Fexample.com\u002Fpage?id=1 is vulnerable to SQL injection\nScan https:\u002F\u002Fexample.com for hidden directories and outdated software\nEnumerate subdomains for example.com, then run nuclei against the results\n```\n\n## Advanced Playbooks\n\n```\nLoad the recon-engagement template, run amass\u002Fsubfinder, then brute-force dirs on every live host.\nUse external Burp-based MCP server for authenticated traffic replay, then pass findings back for graphing.\nCompress the 5 MB nuclei report, summarize critical CVEs, and attach the artifact to the conversation.\nBuild an attack chain for the latest engagement and export the node list with severity >= high.\n```\n\n## 404Starlink \n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_6a854c4039e0.png\" width=\"30%\">\n\nCyberStrikeAI has joined [404Starlink](https:\u002F\u002Fgithub.com\u002Fknownsec\u002F404StarLink)\n\n## TCH Top-Ranked Intelligent Pentest Project  \n\u003Cdiv align=\"left\">\n  \u003Ca href=\"https:\u002F\u002Fzc.tencent.com\u002Fcompetition\u002FcompetitionHackathon?code=cha004\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_0941df2387dd.png\" alt=\"TCH Top-Ranked Intelligent Pentest Project\" width=\"30%\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## Stargazers over time\n![Stargazers over time](https:\u002F\u002Fstarchart.cc\u002FEd1s0nZ\u002FCyberStrikeAI.svg)\n\n\n---\n\n## License\n\nCyberStrikeAI is licensed under the Apache License 2.0.  \nSee the [LICENSE](LICENSE) file for details.\n\n---\n\n## ⚠️ Disclaimer\n\n**This tool is for educational and authorized testing purposes only!**\n\nCyberStrikeAI is a professional security testing platform designed to assist security researchers, penetration testers, and IT professionals in conducting security assessments and vulnerability research **with explicit authorization**.\n\n**By using this tool, you agree to:**\n- Use this tool only on systems where you have clear written authorization\n- Comply with all applicable laws, regulations, and ethical standards\n- Take full responsibility for any unauthorized use or misuse\n- Not use this tool for any illegal or malicious purposes\n\n**The developers are not responsible for any misuse!** Please ensure your usage complies with local laws and regulations, and that you have obtained explicit authorization from the target system owner.\n\n---\n\nNeed help or want to contribute? Open an issue or PR—community tooling additions are welcome!\n\n\n","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_ebe9612851c5.png\" alt=\"CyberStrikeAI Logo\" width=\"200\">\n\u003C\u002Fdiv>\n\n# CyberStrikeAI\n\n\n[中文](README_CN.md) | [English](README.md)\n\n**社区**: [加入我们的 Discord](https:\u002F\u002Fdiscord.gg\u002F8PjVCMu8Zw)\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>微信群\u003C\u002Fstrong>（点击展开二维码）\u003C\u002Fsummary>\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_78d10ab6baa5.jpg\" alt=\"CyberStrikeAI 微信群二维码\" width=\"280\">\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>赞助\u003C\u002Fstrong>（点击展开）\u003C\u002Fsummary>\n\n如果 CyberStrikeAI 对您有所帮助，您可以通过 **微信支付** 或 **支付宝** 支持本项目：\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_097282cc0663.jpg\" alt=\"微信支付和支付宝赞助二维码\" width=\"480\">\n\u003C\u002Fdiv>\n\n\u003C\u002Fdetails>\n\nCyberStrikeAI 是一个用 Go 语言构建的 **原生 AI 安全测试平台**。它集成了 100 多种安全工具、智能编排引擎、基于角色的预定义安全角色测试、具有专业测试技能的技能系统，以及全面的生命周期管理能力。通过原生 MCP 协议和 AI 代理，它实现了从对话式命令到漏洞发现、攻击链分析、知识检索和结果可视化的端到端自动化，为安全团队提供了一个可审计、可追溯且协作性强的测试环境。\n\n\n## 界面与集成预览\n\n\u003Cdiv align=\"center\">\n\n### 系统仪表盘概览\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_1c2548a720cb.png\" alt=\"系统仪表盘\" width=\"100%\">\n\n*仪表盘提供了系统运行状态、安全漏洞、工具使用情况和知识库的全面概览，帮助用户快速了解平台的核心功能和当前状态。*\n\n### 核心功能概览\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Web 控制台\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_35636733f372.png\" alt=\"Web 控制台\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>任务管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_8e17b6ff9583.png\" alt=\"任务管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>漏洞管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_2a94faaf64aa.png\" alt=\"漏洞管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>WebShell 管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_acf9e3888f87.png\" alt=\"WebShell 管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>MCP 管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_f16583b7d510.png\" alt=\"MCP 管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>知识库\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_baf4b8c1c4ab.png\" alt=\"知识库\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>技能管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_655c809bf77d.png\" alt=\"技能管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>代理管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_72cb5b09b614.png\" alt=\"代理管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>角色管理\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_3f11fb41019b.png\" alt=\"角色管理\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>系统设置\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_9a89ec1a8ceb.png\" alt=\"系统设置\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>MCP stdio 模式\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_8869fcda3b9e.png\" alt=\"MCP stdio 模式\" width=\"100%\">\n\u003C\u002Ftd>\n\u003Ctd width=\"33.33%\" align=\"center\">\n\u003Cstrong>Burp Suite 插件\u003C\u002Fstrong>\u003Cbr\u002F>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_dc83909e41f9.png\" alt=\"Burp Suite 插件\" width=\"100%\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003C\u002Fdiv>\n\n## 亮点\n\n- 🤖 兼容 OpenAI 模型（GPT、Claude、DeepSeek 等）的 AI 决策引擎\n- 🔌 原生 MCP 实现，支持 HTTP\u002Fstdio\u002FSSE 传输及外部 MCP 联邦\n- 🧰 100 多种预置工具配方 + 基于 YAML 的扩展系统\n- 📄 大结果分页、压缩及可搜索归档\n- 🔗 攻击链图、风险评分及步骤式回放\n- 🔒 密码保护的 Web UI、审计日志和 SQLite 持久化\n- 📚 具有向量搜索和混合检索功能的安全知识库\n- 📁 对话分组支持置顶、重命名和批量管理\n- 🛡️ 漏洞管理支持 CRUD 操作、严重性跟踪、状态工作流和统计\n- 📋 批量任务管理：创建任务队列、添加多个任务并按顺序执行\n- 🎭 基于角色的测试：预定义安全测试角色（渗透测试、CTF、Web 应用扫描等），配备自定义提示和工具限制\n- 🧩 **多代理模式（Eino DeepAgent）**：可选编排模式，协调器通过 `task` 工具将工作委派给由 Markdown 定义的子代理；主代理位于 `agents\u002Forchestrator.md`（或 `kind: orchestrator`），子代理位于 `agents\u002F*.md`；当 `multi_agent.enabled` 为真时切换至聊天模式（详见 [多代理文档](docs\u002FMULTI_AGENT_EINO.md)）\n- 🎯 技能系统：20 多种预定义安全测试技能（SQL 注入、XSS、API 安全等），可附加到角色或由 AI 代理按需调用\n- 📱 **聊天机器人**：支持钉钉和飞书的长连接，方便您通过手机与 CyberStrikeAI 对话（详见 [机器人\u002F聊天机器人指南](docs\u002Frobot_en.md)，了解设置和指令）\n- 🐚 **WebShell 管理**：可添加和管理 WebShell 连接（例如兼容 IceSword\u002FAntSword），使用虚拟终端执行命令，内置文件管理器进行文件操作，并配备 AI 助手标签页，用于编排测试并保存每条连接的对话历史；支持 PHP、ASP、ASPX、JSP 以及自定义 Shell 类型，请求方法和命令参数均可配置。\n\n## 插件\n\nCyberStrikeAI 在 `plugins\u002F` 目录下包含可选集成。\n\n- **Burp Suite 扩展**：`plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002F`  \n  构建输出：`plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002Fdist\u002Fcyberstrikeai-burp-extension.jar`  \n  文档：`plugins\u002Fburp-suite\u002Fcyberstrikeai-burp-extension\u002FREADME.md`\n\n## 工具概述\n\nCyberStrikeAI 预装了100多种精选工具，覆盖整个攻击链：\n\n- **网络扫描器** – nmap、masscan、rustscan、arp-scan、nbtscan\n- **Web与应用扫描器** – sqlmap、nikto、dirb、gobuster、feroxbuster、ffuf、httpx\n- **漏洞扫描器** – nuclei、wpscan、wafw00f、dalfox、xsser\n- **子域名枚举** – subfinder、amass、findomain、dnsenum、fierce\n- **网络空间搜索引擎** – fofa_search、zoomeye_search\n- **API安全** – graphql-scanner、arjun、api-fuzzer、api-schema-analyzer\n- **容器安全** – trivy、clair、docker-bench-security、kube-bench、kube-hunter\n- **云安全** – prowler、scout-suite、cloudmapper、pacu、terrascan、checkov\n- **二进制分析** – gdb、radare2、ghidra、objdump、strings、binwalk\n- **漏洞利用** – metasploit、msfvenom、pwntools、ropper、ropgadget\n- **密码破解** – hashcat、john、hashpump\n- **取证** – volatility、volatility3、foremost、steghide、exiftool\n- **后渗透** – linpeas、winpeas、mimikatz、bloodhound、impacket、responder\n- **CTF 工具** – stegsolve、zsteg、hash-identifier、fcrackzip、pdfcrack、cyberchef\n- **系统辅助工具** – exec、create-file、delete-file、list-files、modify-file\n\n## 基本使用\n\n### 快速入门（一键部署）\n\n**先决条件：**\n- Go 1.21+（[安装](https:\u002F\u002Fgo.dev\u002Fdl\u002F)）\n- Python 3.10+（[安装](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)）\n\n**一键部署：**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI.git\ncd CyberStrikeAI\nchmod +x run.sh && .\u002Frun.sh\n```\n\n`run.sh` 脚本将自动：\n- ✅ 检查并验证 Go 和 Python 环境\n- ✅ 创建 Python 虚拟环境\n- ✅ 安装 Python 依赖项\n- ✅ 下载 Go 依赖项\n- ✅ 构建项目\n- ✅ 启动服务器\n\n**首次配置：**\n1. **配置 OpenAI 兼容 API**（首次使用前必需）\n   - 启动后打开 http:\u002F\u002Flocalhost:8080\n   - 进入 `Settings` → 填写您的 API 凭证：\n     ```yaml\n     openai:\n       api_key: \"sk-your-key\"\n       base_url: \"https:\u002F\u002Fapi.openai.com\u002Fv1\"  # 或 https:\u002F\u002Fapi.deepseek.com\u002Fv1\n       model: \"gpt-4o\"  # 或 deepseek-chat、claude-3-opus 等。\n     ```\n   - 或在启动前直接编辑 `config.yaml`\n2. **登录** - 使用控制台中显示的自动生成密码（或在 `config.yaml` 中设置 `auth.password`）\n3. **安装安全工具（可选）** - 根据需要安装工具：\n   ```bash\n   # macOS\n   brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass\n   # Ubuntu\u002FDebian\n   sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster\n   ```\n   当缺少某些工具时，AI 会自动切换到替代方案。\n\n**其他启动方式：**\n```bash\n# 直接运行 Go 代码（需手动设置）\ngo run cmd\u002Fserver\u002Fmain.go\n\n# 手动构建\ngo build -o cyberstrike-ai cmd\u002Fserver\u002Fmain.go\n.\u002Fcyberstrike-ai\n```\n\n**注意：** Python 虚拟环境（`venv\u002F`）由 `run.sh` 自动创建和管理。需要 Python 的工具（如 `api-fuzzer`、`http-framework-test` 等）将自动使用此环境。\n\n### 版本更新（无破坏性变更）\n\n**推荐的 CyberStrikeAI 一键升级：**\n1. （首次）启用脚本：`chmod +x upgrade.sh`\n2. 升级命令：`.\u002Fupgrade.sh`（可选参数：`--tag vX.Y.Z`、`--no-venv`、`--preserve-custom`、`--yes`）\n3. 脚本将备份您的 `config.yaml` 和 `data\u002F`，从 GitHub Release 获取最新代码，更新 `config.yaml` 中的版本号，然后重启服务器。\n\n推荐的一行命令：\n`chmod +x upgrade.sh && .\u002Fupgrade.sh --yes`\n\n如果出现问题，您可以从 `.upgrade-backup\u002F` 恢复（或手动复制 `\u002Fdata` 和 `config.yaml`），然后再次运行 `.\u002Frun.sh`。\n\n要求与提示：\n* 需要 `curl` 或 `wget` 来下载 Release 包。\n* 推荐使用 `rsync` 来安全地同步代码。\n* 如果 GitHub API 对您进行了速率限制，请在运行 `.\u002Fupgrade.sh` 之前设置 `export GITHUB_TOKEN=\"...\"`。\n\n⚠️ **注意：** 此流程仅适用于没有兼容性或破坏性变更的版本更新。如果发布包含兼容性更改，则此方法可能不适用。\n\n**示例：** 无破坏性变更 — 例如 v1.3.1 → v1.3.2；有破坏性变更 — 例如 v1.3.1 → v1.4.0。该项目遵循 [语义化版本控制](https:\u002F\u002Fsemver.org\u002F)（SemVer）：当只有补丁版本（第三位数字）发生变化时，通常可以安全地进行升级；而当次版本或主版本发生变化时，配置、数据或 API 可能已经改变——请在使用此方法前查看发行说明。\n\n### 核心工作流程\n- **对话测试** – 自然语言提示触发工具链，并以 SSE 流式输出结果。\n- **单代理 vs 多代理** – 当 `multi_agent.enabled: true` 时，聊天界面可以在 **单代理**（经典 ReAct 循环）和 **多代理**（Eino DeepAgent + `task` 子代理）之间切换。多代理模式使用 `\u002Fapi\u002Fmulti-agent\u002Fstream`；工具来自与单代理相同的 MCP 堆栈。\n- **基于角色的测试** – 从预定义的安全测试角色中选择（渗透测试、CTF、Web 应用扫描、API 安全测试等），以定制 AI 行为和可用工具。每个角色应用自定义系统提示，并可限制可用工具，以实现专注的测试场景。\n- **工具监控器** – 检查正在运行的任务、执行日志以及大结果附件。\n- **历史与审计** – 每次对话和工具调用都会存储在 SQLite 中，并可回放。\n- **对话组** – 将对话组织成组，固定重要组，通过上下文菜单重命名或删除组。\n- **漏洞管理** – 创建、更新和跟踪测试过程中发现的漏洞。按严重程度（严重\u002F高\u002F中\u002F低\u002F信息）、状态（未处理\u002F已确认\u002F已修复\u002F误报）和对话筛选。查看统计信息并导出结果。\n- **批量任务管理** – 创建包含多个任务的队列，在执行前添加或编辑任务，并按顺序运行。每个任务作为一个独立的对话执行，具有状态跟踪（待处理\u002F运行中\u002F已完成\u002F失败\u002F已取消）和完整的执行历史。\n- **WebShell 管理** – 添加和管理 WebShell 连接（PHP\u002FASP\u002FASPX\u002FJSP 或自定义）。使用虚拟终端运行命令，使用文件管理器列出、读取、编辑、上传和删除文件，以及使用 AI 助手选项卡驱动脚本化测试，每个连接都有单独的对话历史记录。连接存储在 SQLite 中；支持 GET\u002FPOST 和可配置的命令参数（例如 IceSword\u002FAntSword 风格）。\n- **设置** – 调整提供商密钥、MCP 启用、工具开关和代理迭代限制。\n\n### 内置防护措施\n- 必填字段验证可防止意外留空 API 凭证。\n- 当 `auth.password` 为空时，自动生成强密码。\n- 统一的身份验证中间件用于所有 Web\u002FAPI 调用（Bearer 令牌流程）。\n- 每个工具都有超时和沙箱保护，并提供结构化日志以便排查问题。\n\n## 高级使用\n\n### 基于角色的测试\n- **预定义角色** – 系统在 `roles\u002F` 目录中包含 12 种以上的预定义安全测试角色（渗透测试、CTF、Web 应用扫描、API 安全测试、二进制分析、云安全审计等）。\n- **自定义提示** – 每个角色可以定义一个 `user_prompt`，该提示会前置到用户消息之前，引导 AI 采用专门的测试方法和关注点。\n- **工具限制** – 角色可以指定一个 `tools` 列表来限制可用工具，从而确保测试流程的专注性（例如，CTF 角色仅限于 CTF 特定的工具）。\n- **技能集成** – 角色可以附加安全测试技能。技能名称会被添加到系统提示中作为参考，AI 代理可以通过 `read_skill` 工具按需访问技能内容。\n- **轻松创建角色** – 通过在 `roles\u002F` 目录中添加 YAML 文件即可创建自定义角色。每个角色需要定义 `name`、`description`、`user_prompt`、`icon`、`tools`、`skills` 和 `enabled` 字段。\n- **Web UI 集成** – 在聊天界面的下拉菜单中选择角色。角色的选择会影响 AI 的行为以及可用的工具建议。\n\n**创建自定义角色示例：**\n1. 在 `roles\u002F` 目录中创建一个 YAML 文件（例如 `roles\u002Fcustom-role.yaml`）：\n   ```yaml\n   name: 自定义角色\n   description: 专注于特定测试场景\n   user_prompt: 你是一名专注于 API 安全的专业安全测试人员…\n   icon: \"\\U0001F4E1\"\n   tools:\n     - api-fuzzer\n     - arjun\n     - graphql-scanner\n   skills:\n     - api-security-testing\n     - sql-injection-testing\n   enabled: true\n   ```\n2. 重启服务器或重新加载配置；该角色将出现在角色选择下拉菜单中。\n\n### 多智能体模式（Eino DeepAgent）\n- **是什么** – 基于 CloudWeGo **Eino** `adk\u002Fprebuilt\u002Fdeep` 的可选第二条执行路径：一个 **协调器**（主代理）会调用 **`task`** 工具来运行临时的 **子代理**，每个子代理都有自己的模型循环和基于当前角色的工具集。\n- **Markdown 代理** – 在 `agents_dir` 目录下（默认为 `agents\u002F`，相对于 `config.yaml`），定义：\n  - **编排者**：文件名为 `orchestrator.md` *或* 任何带有 `kind: orchestrator` 前置元数据的 `.md` 文件（每个目录只能有一个）。设置 Deep 代理的名称\u002FID、描述以及可选的完整系统提示（正文）；如果正文为空，则应用 `multi_agent.orchestrator_instruction` 及 Eino 默认值。\n  - **子代理**：其他 `*.md` 文件（YAML 前置元数据 + 正文作为指令）。如果被归类为编排者，则不会被用作 `task` 的目标。\n- **管理** – Web UI：**Agents → Agent management**，用于对 Markdown 代理进行 CRUD 操作；API 前缀为 `\u002Fapi\u002Fmulti-agent\u002Fmarkdown-agents`。\n- **配置** – `config.yaml` 中的 `multi_agent` 块：包括 `enabled`、`default_mode`（`single` 或 `multi`）、`robot_use_multi_agent`、`batch_use_multi_agent`、`max_iteration`、`orchestrator_instruction`，以及可选的 YAML 格式的 `sub_agents`，与磁盘上的文件合并（相同 `id` 时以 Markdown 文件为准）。\n- **详情** – 流式事件、机器人、批处理队列及故障排除：**[docs\u002FMULTI_AGENT_EINO.md](docs\u002FMULTI_AGENT_EINO.md)**。\n\n### 技能系统\n- **预定义技能** – 系统在 `skills\u002F` 目录中包含 20 多种预定义的安全测试技能（SQL 注入、XSS、API 安全、云安全、容器安全等）。\n- **提示中的技能建议** – 当选择某个角色时，与该角色关联的技能名称会被添加到系统提示中作为推荐。技能内容不会自动注入；AI 代理必须使用 `read_skill` 工具才能在需要时访问技能细节。\n- **按需访问** – AI 代理还可以通过内置工具（`list_skills`、`read_skill`）按需访问技能，从而在任务执行过程中动态获取技能信息。\n- **结构化格式** – 每个技能都是一个目录，其中包含一个 `SKILL.md` 文件，详细介绍了测试方法、工具使用、最佳实践和示例。技能支持 YAML 前置元数据以存储元信息。\n- **自定义技能** – 通过在 `skills\u002F` 目录中添加新目录即可创建自定义技能。每个技能目录应包含一个 `SKILL.md` 文件，用于存放技能内容。\n\n**创建自定义技能：**\n1. 在 `skills\u002F` 目录中创建一个新目录（例如 `skills\u002Fmy-skill\u002F`）。\n2. 在该目录中创建一个 `SKILL.md` 文件，并填写技能内容。\n3. 将该技能添加到角色中，只需将其加入角色 YAML 文件的 `skills` 字段即可。\n\n### 工具编排与扩展\n- `tools\u002F*.yaml` 中的 YAML 配方描述了命令、参数、提示和元数据。\n- **目录热加载** – 通常只需将 `security.tools_dir` 指向一个文件夹即可；同时仍支持在 `config.yaml` 中直接定义，以便快速实验。\n- **大结果分页** – 超过 200 KB 的输出将以工件形式存储，可通过 `query_execution_result` 工具进行分页、筛选和正则表达式搜索来检索。\n- **结果压缩** – 对于数 MB 的日志，可以在持久化到 SQLite 数据库之前进行摘要或无损压缩，以保持数据库轻量化。\n\n**创建自定义工具的典型流程：**\n1. 从 `tools\u002F` 目录中复制一个现有的 YAML 文件（例如 `tools\u002Fsample.yaml`）。\n2. 更新 `name`、`command`、`args` 和 `short_description`。\n3. 在 `parameters[]` 中描述位置参数或标志参数，以便代理知道如何构建 CLI 参数。\n4. 如果代理需要额外的上下文或后处理提示，可提供更详细的 `description`\u002F`notes` 块。\n5. 重启服务器或重新加载配置；新工具将立即可用，并可在设置面板中启用或禁用。\n\n### 攻击链情报\n- AI 会解析每次对话，以整理出目标、工具、漏洞及其之间的关系。\n- Web UI 会将攻击链渲染为交互式图，附带严重性评分和步骤回放功能。\n- 攻击链或原始发现结果可以导出到外部报告管道中。\n\n### WebShell 管理\n- **连接** – 从 Web 界面进入 **WebShell 管理**，可以添加、编辑或删除 WebShell 连接。每个连接会保存以下信息：Shell URL、密码\u002F密钥、Shell 类型（PHP、ASP、ASPX、JSP、自定义）、请求方法（GET\u002FPOST）、命令参数名（默认为 `cmd`）以及可选备注；所有记录都会持久化到 SQLite 数据库中，并且兼容常见的客户端工具，如 IceSword 和 AntSword。\n- **虚拟终端** – 选择一个连接后，使用 **虚拟终端** 选项卡可以执行任意命令，支持命令历史和快捷命令（whoami\u002Fid\u002Fls\u002Fpwd 等）。输出会直接在浏览器中流式显示，按下 Ctrl+L 可以清屏。\n- **文件管理器** – 使用 **文件管理器** 选项卡可以列出目录、读取或编辑文件、删除文件、创建文件夹或文件、上传文件（支持大文件分块上传）、重命名路径以及下载选定的文件。路径导航支持面包屑式导航、返回上一级目录以及按名称过滤。\n- **AI 助手** – 使用 **AI 助手** 选项卡可以与一个理解当前 WebShell 连接的智能代理进行对话，自动运行工具和 Shell 命令，并为每个连接维护独立的对话历史，同时在侧边栏中显示之前的会话记录。\n- **连通性测试** – 使用 **测试连通性** 功能可以在执行命令前验证 Shell URL、密码和命令参数是否正确（发送一个轻量级的 `echo 1` 检查）。\n- **持久化** – 所有 WebShell 连接和 AI 对话都会存储在 SQLite 数据库中（与对话记录共用同一数据库），因此即使重启后仍能保持数据。\n\n### MCP 无处不在\n- **Web 模式** – 自带 HTTP MCP 服务器，可被 UI 自动调用。\n- **MCP 标准输入输出模式** – 运行 `go run cmd\u002Fmcp-stdio\u002Fmain.go` 即可将代理暴露给 Cursor\u002FCLI。\n- **外部 MCP 联邦** – 可以从 UI 注册第三方 MCP 服务器（HTTP、标准输入输出或 SSE），根据需要切换启用，并实时监控其健康状态和调用量。\n- **可选 MCP 服务器** – 在 [`mcp-servers\u002F`](mcp-servers\u002FREADME.md) 目录下提供了独立的 MCP 工具（例如反向 Shell）。它们通过标准输入输出协议与 CyberStrikeAI（设置 → 外部 MCP）、Cursor、VS Code 等其他 MCP 客户端通信。\n\n#### MCP 标准输入输出快速入门\n1. **编译二进制文件**（在项目根目录下执行）：\n   ```bash\n   go build -o cyberstrike-ai-mcp cmd\u002Fmcp-stdio\u002Fmain.go\n   ```\n2. **在 Cursor 中配置**  \n   打开 `设置 → 工具与 MCP → 添加自定义 MCP`，选择 **命令**，然后指向编译好的二进制文件及你的配置文件：\n   ```json\n   {\n     \"mcpServers\": {\n       \"cyberstrike-ai\": {\n         \"command\": \"\u002F绝对路径\u002Fto\u002Fcyberstrike-ai-mcp\",\n         \"args\": [\n           \"--config\",\n           \"\u002F绝对路径\u002Fto\u002Fconfig.yaml\"\n         ]\n       }\n     }\n   }\n   ```\n   将路径替换为你本地的实际路径；Cursor 会自动启动该标准输入输出服务器。\n\n#### MCP HTTP 快速入门（Cursor \u002F Claude Code）\nHTTP MCP 服务器运行在独立的端口上（默认为 `8081`），并支持 **基于头部的身份验证**，只有携带正确头部的客户端才能调用工具。\n\n1. **在配置中启用 MCP** – 在 `config.yaml` 中设置 `mcp.enabled: true`，并可选地指定 `mcp.host` 或 `mcp.port`。若要启用身份验证（建议在网络可访问的情况下使用），需设置：\n   - `mcp.auth_header` – 头部名称（如 `X-MCP-Token`）；\n   - `mcp.auth_header_value` – 密钥值。如果希望服务器在首次启动时自动生成随机令牌并将其写回配置文件，则可将其留空。\n2. **启动服务** – 运行 `.\u002Frun.sh` 或 `go run cmd\u002Fserver\u002Fmain.go`。MCP 端点为 `http:\u002F\u002F\u003Chost>:\u003Cport>\u002Fmcp`（例如 `http:\u002F\u002Flocalhost:8081\u002Fmcp`）。\n3. **复制终端中的 JSON** – 当 MCP 启用后，服务器会打印出一段可以直接粘贴的 JSON 块。如果 `auth_header_value` 为空，系统会自动生成并保存密钥；打印的 JSON 包含 URL 和头部信息。\n4. **在 Cursor 或 Claude Code 中使用**：\n   - **Cursor**：将该段 JSON 粘贴到 `~\u002F.cursor\u002Fmcp.json`（或项目的 `.cursor\u002Fmcp.json`）中的 `mcpServers` 部分，或者将其合并到现有的 `mcpServers` 配置中。\n   - **Claude Code**：将其粘贴到 `.mcp.json` 或 `~\u002F.claude.json` 的 `mcpServers` 部分。\n\n终端打印示例（已启用身份验证）：\n```json\n{\n  \"mcpServers\": {\n    \"cyberstrike-ai\": {\n      \"url\": \"http:\u002F\u002Flocalhost:8081\u002Fmcp\",\n      \"headers\": {\n        \"X-MCP-Token\": \"\u003C自动生成或您提供的值>\"\n      },\n      \"type\": \"http\"\n    }\n  }\n}\n```\n\n如果不设置 `auth_header` 或 `auth_header_value`，该端点将接受未认证的请求（仅适用于本地主机或受信任的网络）。\n\n#### 外部 MCP 联邦（HTTP\u002F标准输入输出\u002FSSE）\nCyberStrikeAI 支持通过三种传输模式连接外部 MCP 服务器：\n- **HTTP 模式** – 传统的 HTTP POST 请求\u002F响应模式；\n- **标准输入输出模式** – 基于进程的标准输入输出通信；\n- **SSE 模式** – 服务器推送事件，用于实时流式通信。\n\n添加外部 MCP 服务器的步骤如下：\n1. 打开 Web 界面，导航至 **设置 → 外部 MCP**。\n2. 点击 **添加外部 MCP**，并以 JSON 格式提供配置：\n\n   **HTTP 模式示例：**\n   ```json\n   {\n     \"my-http-mcp\": {\n       \"transport\": \"http\",\n       \"url\": \"http:\u002F\u002F127.0.0.1:8081\u002Fmcp\",\n       \"description\": \"HTTP MCP 服务器\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n   **标准输入输出模式示例：**\n   ```json\n   {\n     \"my-stdio-mcp\": {\n       \"command\": \"python3\",\n       \"args\": [\"\u002F路径\u002Fto\u002Fmcp-server.py\"],\n       \"description\": \"标准输入输出 MCP 服务器\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n   **SSE 模式示例：**\n   ```json\n   {\n     \"my-sse-mcp\": {\n       \"transport\": \"sse\",\n       \"url\": \"http:\u002F\u002F127.0.0.1:8082\u002Fsse\",\n       \"description\": \"SSE MCP 服务器\",\n       \"timeout\": 30\n     }\n   }\n   ```\n\n3. 点击 **保存**，然后点击 **启动** 以连接到该服务器。\n4. 实时监控连接状态、工具数量及健康状况。\n\n**SSE 模式的优势：**\n- 通过服务器推送事件实现双向实时通信；\n- 适合需要持续数据流的场景；\n- 推送通知的延迟更低。\n\n为了便于验证，可在 `cmd\u002Ftest-sse-mcp-server\u002F` 目录下找到一个测试用的 SSE MCP 服务器。\n\n### 知识库\n- **向量搜索** – AI 代理在对话过程中可使用 `search_knowledge_base` 工具自动从知识库中检索相关的安全知识。\n- **混合检索** – 结合向量相似度搜索与关键词匹配，以提高准确性。\n- **自动索引** – 扫描 `knowledge_base\u002F` 目录中的 Markdown 文件，并自动生成嵌入索引。\n- **Web 管理界面** – 通过 Web UI 创建、更新、删除知识条目，并按类别进行组织。\n- **检索日志** – 记录所有知识检索操作，便于审计和调试。\n\n**快速入门（使用预构建知识库）：**\n1. **下载知识数据库** – 从 [GitHub Releases](https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Freleases) 下载预构建的知识数据库文件。\n2. **解压并放置** – 解压下载的知识数据库文件 (`knowledge.db`)，将其放入项目的 `data\u002F` 目录中。\n3. **重启服务** – 重启 CyberStrikeAI 服务，知识库将立即可用，无需重新构建索引。\n\n**设置知识库：**\n1. **在配置中启用** – 在 `config.yaml` 中设置 `knowledge.enabled: true`：\n   ```yaml\n   knowledge:\n     enabled: true\n     base_path: knowledge_base\n     embedding:\n       provider: openai\n       model: text-embedding-v4\n       base_url: \"https:\u002F\u002Fapi.openai.com\u002Fv1\"  # 或您的嵌入 API\n       api_key: \"sk-xxx\"\n     retrieval:\n       top_k: 5\n       similarity_threshold: 0.7\n       hybrid_weight: 0.7\n   ```\n2. **添加知识文件** – 将 Markdown 文件放入 `knowledge_base\u002F` 目录中，并按类别组织（例如：`knowledge_base\u002FSQL Injection\u002FREADME.md`）。\n3. **扫描并索引** – 使用 Web UI 扫描知识库目录，系统将自动导入文件并构建向量嵌入。\n4. **在对话中使用** – 当 AI 代理需要安全知识时，会自动调用 `search_knowledge_base`。您也可以明确请求：“搜索知识库中的 SQL 注入技术”。\n\n**知识库结构：**\n- 文件按类别组织（目录名称即为类别）。\n- 每个 Markdown 文件都会成为一条知识条目，并自动分块以供向量搜索。\n- 系统支持增量更新——修改后的文件会自动重新索引。\n\n\n### 自动化钩子\n- **REST API** – UI 使用的所有功能（认证、对话、工具运行、监控、漏洞、角色）均可通过 JSON 接口访问。\n- **多智能体 API** – `POST \u002Fapi\u002Fmulti-agent\u002Fstream`（启用时为 SSE）、`POST \u002Fapi\u002Fmulti-agent`（非流式）、Markdown 智能体位于 `\u002Fapi\u002Fmulti-agent\u002Fmarkdown-agents`（列出\u002F获取\u002F创建\u002F更新\u002F删除）。\n- **角色 API** – 通过 `\u002Fapi\u002Froles` 端点管理安全测试角色：`GET \u002Fapi\u002Froles`（列出所有角色）、`GET \u002Fapi\u002Froles\u002F:name`（获取角色）、`POST \u002Fapi\u002Froles`（创建角色）、`PUT \u002Fapi\u002Froles\u002F:name`（更新角色）、`DELETE \u002Fapi\u002Froles\u002F:name`（删除角色）。角色以 YAML 文件形式存储在 `roles\u002F` 目录中，并支持热加载。\n- **漏洞 API** – 通过 `\u002Fapi\u002Fvulnerabilities` 端点管理漏洞：`GET \u002Fapi\u002Fvulnerabilities`（带筛选条件的列表）、`POST \u002Fapi\u002Fvulnerabilities`（创建）、`GET \u002Fapi\u002Fvulnerabilities\u002F:id`（获取）、`PUT \u002Fapi\u002Fvulnerabilities\u002F:id`（更新）、`DELETE \u002Fapi\u002Fvulnerabilities\u002F:id`（删除）、`GET \u002Fapi\u002Fvulnerabilities\u002Fstats`（统计信息）。\n- **批量任务 API** – 通过 `\u002Fapi\u002Fbatch-tasks` 端点管理批量任务队列：`POST \u002Fapi\u002Fbatch-tasks`（创建队列）、`GET \u002Fapi\u002Fbatch-tasks`（列出队列）、`GET \u002Fapi\u002Fbatch-tasks\u002F:queueId`（获取队列）、`POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Fstart`（开始执行）、`POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Fcancel`（取消）、`DELETE \u002Fapi\u002Fbatch-tasks\u002F:queueId`（删除）、`POST \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks`（添加任务）、`PUT \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks\u002F:taskId`（更新任务）、`DELETE \u002Fapi\u002Fbatch-tasks\u002F:queueId\u002Ftasks\u002F:taskId`（删除任务）。任务按顺序执行，每项任务都会创建一个独立的对话，并全程跟踪状态。\n- **WebShell API** – 通过 `\u002Fapi\u002Fwebshell\u002Fconnections`（获取列表、创建、更新、删除）以及 `\u002Fapi\u002Fwebshell\u002Fexec`（执行命令）、`\u002Fapi\u002Fwebshell\u002Ffileop`（列出\u002F读取\u002F写入\u002F删除文件）管理 WebShell 连接并执行命令。\n- **任务控制** – 可暂停\u002F恢复\u002F停止长时间扫描，使用新参数重新运行步骤，或流式传输对话记录。\n- **审计与安全** – 通过 `\u002Fapi\u002Fauth\u002Fchange-password` 轮换密码，强制实施短生命周期会话，并在对外暴露服务时在网络层限制 MCP 端口。\n\n## 配置参考\n\n```yaml\nauth:\n  password: \"change-me\"\n  session_duration_hours: 12\nserver:\n  host: \"0.0.0.0\"\n  port: 8080\nlog:\n  level: \"info\"\n  output: \"stdout\"\nmcp:\n  enabled: true\n  host: \"0.0.0.0\"\n  port: 8081\n  auth_header: \"X-MCP-Token\"       # 可选；留空则不启用认证\n  auth_header_value: \"\"            # 可选；留空则首次启动时自动生成\nopenai:\n  api_key: \"sk-xxx\"\n  base_url: \"https:\u002F\u002Fapi.deepseek.com\u002Fv1\"\n  model: \"deepseek-chat\"\ndatabase:\n  path: \"data\u002Fconversations.db\"\n  knowledge_db_path: \"data\u002Fknowledge.db\"  # 可选：单独用于知识库的数据库\nsecurity:\n  tools_dir: \"tools\"\nknowledge:\n  enabled: false  # 启用知识库功能\n  base_path: \"knowledge_base\"  # 知识库目录路径\n  embedding:\n    provider: \"openai\"  # 嵌入提供商（目前仅支持 \"openai\"）\n    model: \"text-embedding-v4\"  # 嵌入模型名称\n    base_url: \"\"  # 留空则使用 OpenAI 的基础 URL\n    api_key: \"\"  # 留空则使用 OpenAI 的 API 密钥\n  retrieval:\n    top_k: 5  # 返回的前几名结果数量\n    similarity_threshold: 0.7  # 最小相似度分数（0-1）\n    hybrid_weight: 0.7  # 向量搜索的权重（1.0 = 纯向量，0.0 = 纯关键词）\nroles_dir: \"roles\"  # 角色配置目录（相对于配置文件）\nskills_dir: \"skills\"  # 技能目录（相对于配置文件）\nagents_dir: \"agents\"  # 多智能体 Markdown 定义（协调器 + 子智能体）\nmulti_agent:\n  enabled: false\n  default_mode: \"single\"   # single | multi（启用多智能体时的 UI 默认模式）\n  robot_use_multi_agent: false\n  batch_use_multi_agent: false\n  orchestrator_instruction: \"\"  # 可选；当 orchestrator.md 正文为空时使用\n```\n\n### 工具定义示例（`tools\u002Fnmap.yaml`）\n\n```yaml\nname: \"nmap\"\ncommand: \"nmap\"\nargs: [\"-sT\", \"-sV\", \"-sC\"]\nenabled: true\nshort_description: \"网络映射与服务指纹识别\"\nparameters:\n  - name: \"target\"\n    type: \"string\"\n    description: \"IP 地址或域名\"\n    required: true\n    position: 0\n  - name: \"ports\"\n    type: \"string\"\n    flag: \"-p\"\n    description: \"端口范围，例如 1-1000\"\n```\n\n### 角色定义示例（`roles\u002Fpenetration-testing.yaml`）\n\n```yaml\nname: 渗透测试\ndescription: 专业的渗透测试专家，用于进行全面的安全测试\nuser_prompt: 您是一位专业的网络安全渗透测试专家。请使用专业的渗透测试方法和工具，对目标进行全方位的安全测试，包括但不限于 SQL 注入、XSS、CSRF、文件包含、命令执行等常见漏洞。\nicon: \"\\U0001F3AF\"\ntools:\n  - nmap\n  - sqlmap\n  - nuclei\n  - burpsuite\n  - metasploit\n  - httpx\n  - record_vulnerability\n  - list_knowledge_risk_types\n  - search_knowledge_base\nenabled: true\n```\n\n## 相关文档\n\n- [多智能体模式（Eino）](docs\u002FMULTI_AGENT_EINO.md)：DeepAgent 编排、`agents\u002F*.md`、API 以及聊天\u002F流媒体行为。\n- [机器人\u002F聊天机器人指南（钉钉 & 飞书）](docs\u002Frobot_en.md)：完整设置、命令及故障排除，介绍如何在手机上通过钉钉或飞书使用 CyberStrikeAI。**请遵循此文档以避免常见问题。**\n\n## 项目结构\n\n```\nCyberStrikeAI\u002F\n├── cmd\u002F                 # 服务器、MCP 标准输入输出入口点、工具集\n├── internal\u002F            # 智能体、MCP 核心、处理器、安全执行器\n├── web\u002F                 # 静态单页应用 + 模板\n├── tools\u002F               # YAML 工具配方（提供 100 多个示例）\n├── roles\u002F               # 角色配置（12+ 种预定义的安全测试角色）\n├── skills\u002F              # 技能目录（20+ 种预定义的安全测试技能）\n├── agents\u002F              # 多智能体 Markdown 文件（orchestrator.md + 子智能体 *.md）\n├── docs\u002F                # 文档（例如机器人\u002F聊天机器人指南、MULTI_AGENT_EINO.md）\n├── images\u002F              # 文档截图与图表\n├── config.yaml          # 运行时配置\n├── run.sh               # 方便的启动脚本\n└── README*.md\n```\n\n## 基本使用示例\n\n```\n扫描 192.168.1.1 的开放端口\n对 192.168.1.1 执行全面端口扫描，重点关注 80、443 和 22 端口\n检查 https:\u002F\u002Fexample.com\u002Fpage?id=1 是否存在 SQL 注入漏洞\n扫描 https:\u002F\u002Fexample.com 上的隐藏目录和过时软件\n枚举 example.com 的子域名，然后对结果运行 nuclei 工具\n```\n\n## 高级剧本\n\n```\n加载侦察与渗透模板，先运行 amass\u002Fsubfinder，再对每个存活主机进行目录爆破。\n使用外部基于 Burp 的 MCP 服务器进行认证流量回放，然后将发现的结果返回以生成图表。\n压缩 5 MB 的 nuclei 报告，总结关键 CVE，并将该报告附加到对话中。\n为最新一次渗透测试构建攻击链，并导出严重性等级为高或以上的节点列表。\n```\n\n## 404Starlink \n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_6a854c4039e0.png\" width=\"30%\">\n\nCyberStrikeAI 已加入 [404Starlink](https:\u002F\u002Fgithub.com\u002Fknownsec\u002F404StarLink)\n\n## TCH 排名第一的智能渗透测试项目  \n\u003Cdiv align=\"left\">\n  \u003Ca href=\"https:\u002F\u002Fzc.tencent.com\u002Fcompetition\u002FcompetitionHackathon?code=cha004\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_readme_0941df2387dd.png\" alt=\"TCH 排名第一的智能渗透测试项目\" width=\"30%\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n## 星标数量随时间变化\n![星标数量随时间变化](https:\u002F\u002Fstarchart.cc\u002FEd1s0nZ\u002FCyberStrikeAI.svg)\n\n\n---\n\n## 许可证\n\nCyberStrikeAI 采用 Apache License 2.0 许可证授权。  \n详细信息请参阅 [LICENSE](LICENSE) 文件。\n\n---\n\n## ⚠️ 免责声明\n\n**本工具仅用于教育及授权测试目的！**\n\nCyberStrikeAI 是一款专业的安全测试平台，旨在协助安全研究人员、渗透测试人员及 IT 专业人员在**明确授权**的情况下开展安全评估和漏洞研究。\n\n**使用本工具即表示您同意：**\n- 仅在您拥有明确书面授权的系统上使用本工具\n- 遵守所有适用的法律、法规及道德标准\n- 对任何未经授权或滥用行为承担全部责任\n- 不得将本工具用于任何非法或恶意目的\n\n**开发者对任何滥用行为不承担任何责任！** 请确保您的使用符合当地法律法规，并已获得目标系统所有者的明确授权。\n\n---\n\n需要帮助或想贡献代码？请提交问题或拉取请求——欢迎社区参与工具的扩展与改进！","# CyberStrikeAI 快速上手指南\n\nCyberStrikeAI 是一个基于 Go 语言构建的 AI 原生安全测试平台。它集成了 100+ 安全工具、智能编排引擎、基于角色的测试模式以及技能系统，支持通过自然对话驱动漏洞发现、攻击链分析和结果可视化。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**：Linux \u002F macOS \u002F Windows (WSL 推荐)\n*   **Go 语言**：版本 1.21 或更高 ([下载地址](https:\u002F\u002Fgo.dev\u002Fdl\u002F))\n*   **Python**：版本 3.10 或更高 ([下载地址](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F))\n*   **网络工具**：`curl` 或 `wget`（用于下载依赖和升级），推荐安装 `rsync` 以支持平滑升级。\n*   **安全工具（可选）**：平台会自动检测并降级处理缺失工具，但建议预先安装常用工具以获得最佳体验：\n    *   **macOS**: `brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass`\n    *   **Ubuntu\u002FDebian**: `sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster`\n\n## 安装步骤\n\n推荐使用官方提供的一键部署脚本，该脚本会自动处理虚拟环境创建、依赖安装及服务启动。\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI.git\n    cd CyberStrikeAI\n    ```\n\n2.  **执行一键启动**\n    ```bash\n    chmod +x run.sh && .\u002Frun.sh\n    ```\n\n    > **脚本自动执行内容**：\n    > *   校验 Go 和 Python 环境\n    > *   创建 Python 虚拟环境 (`venv\u002F`)\n    > *   安装 Python 和 Go 依赖\n    > *   编译项目并启动服务器\n\n## 基本使用\n\n### 1. 配置 AI 模型\n启动成功后，首次使用前必须配置兼容 OpenAI 协议的 API 密钥。\n\n*   **访问界面**：打开浏览器访问 `http:\u002F\u002Flocalhost:8080`\n*   **配置方式**：\n    *   **方式 A (推荐)**：在网页端点击 `Settings`，填入以下信息：\n        ```yaml\n        openai:\n          api_key: \"sk-your-key\"           # 替换为您的 API Key\n          base_url: \"https:\u002F\u002Fapi.openai.com\u002Fv1\" # 或国内镜像如 https:\u002F\u002Fapi.deepseek.com\u002Fv1\n          model: \"gpt-4o\"                  # 或 deepseek-chat, claude-3-opus 等\n        ```\n    *   **方式 B**：直接编辑根目录下的 `config.yaml` 文件，修改上述字段后重启服务。\n\n### 2. 登录系统\n*   查看终端启动日志，找到自动生成的临时密码。\n*   或者在 `config.yaml` 中预设 `auth.password` 字段。\n*   使用账号和密码登录 Web 控制台。\n\n### 3. 开始安全测试\n登录后可通过以下核心流程开展工作：\n\n*   **对话式测试**：在聊天窗口输入自然语言指令（例如：“扫描目标域名的子域名并检测 SQL 注入”），AI 将自动编排工具链并流式输出结果。\n*   **角色模式**：选择预设角色（如“渗透测试”、\"CTF\"、\"Web 应用扫描”），系统将自动加载对应的系统提示词和工具限制，专注于特定场景。\n*   **多智能体协作**：若需复杂任务，可在设置中开启 `multi_agent.enabled: true`，系统将启用协调器（Orchestrator）分发任务给子智能体并行处理。\n*   **漏洞管理**：测试发现的漏洞会自动记录，您可在“漏洞管理”模块查看风险评分、状态流转及攻击链图谱。\n*   **WebShell 管理**：在\"WebShell 管理”模块添加冰蝎\u002F蚁剑兼容的 Shell，利用内置虚拟终端和 AI 助手进行后渗透操作。\n\n### 4. 版本升级\n当有新版本发布且无破坏性变更时，可使用一键升级脚本：\n\n```bash\nchmod +x upgrade.sh && .\u002Fupgrade.sh --yes\n```\n> 该脚本会自动备份配置文件和数据目录，从 GitHub 拉取最新代码并重启服务。如遇网络问题，可设置 `export GITHUB_TOKEN=\"...\"` 后再执行。","某金融科技公司安全团队正在对即将上线的核心交易系统进行上线前的深度渗透测试与漏洞排查。\n\n### 没有 CyberStrikeAI 时\n- **工具碎片化严重**：测试人员需手动切换 Nmap、Burp Suite、SQLMap 等十余种独立工具，环境配置繁琐且数据无法互通。\n- **协作效率低下**：不同角色的测试成果分散在本地文档或聊天软件中，缺乏统一的生命周期管理，导致漏洞复现和验证困难。\n- **分析依赖人工经验**：面对海量扫描日志，资深专家需耗费大量时间人工梳理攻击链，新手难以快速上手复杂场景。\n- **流程不可追溯**：测试过程缺乏自动化审计记录，难以满足合规性要求，出现误报时无法快速回溯操作路径。\n\n### 使用 CyberStrikeAI 后\n- **一站式智能编排**：通过内置的 100+ 安全工具库和智能引擎，仅需一条自然语言指令即可自动调度多款工具完成从侦察到利用的全流程。\n- **角色化协同作业**：利用预定义的“红队”、“审计员”等角色权限与技能系统，团队成员可在统一平台协作，漏洞发现、验证到修复闭环清晰可见。\n- **AI 辅助决策分析**：基于大模型的决策引擎自动关联碎片化线索，生成可视化的攻击链分析报告，大幅降低了对个人经验的依赖。\n- **全链路可审计**：原生支持 MCP 协议与完整的生命周期管理，所有操作步骤、中间结果及最终报告均自动留痕，轻松应对合规审计。\n\nCyberStrikeAI 将原本分散、高门槛的安全测试转变为可对话、可追溯且高度自动化的智能工作流，显著提升了漏洞发现的深度与响应速度。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FEd1s0nZ_CyberStrikeAI_1c2548a7.png","Ed1s0nZ","公明","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FEd1s0nZ_0907a040.jpg",null,"https:\u002F\u002Fgithub.com\u002FEd1s0nZ",[78,82,86,90,94,98,102],{"name":79,"color":80,"percentage":81},"Go","#00ADD8",40.7,{"name":83,"color":84,"percentage":85},"JavaScript","#f1e05a",37.6,{"name":87,"color":88,"percentage":89},"CSS","#663399",10.4,{"name":91,"color":92,"percentage":93},"HTML","#e34c26",8,{"name":95,"color":96,"percentage":97},"Java","#b07219",1.8,{"name":99,"color":100,"percentage":101},"Shell","#89e051",0.8,{"name":103,"color":104,"percentage":105},"Python","#3572A5",0.6,3311,557,"2026-04-16T02:14:06","Apache-2.0",4,"Linux, macOS","未说明",{"notes":114,"python":115,"dependencies":116},"该工具主要基于 Go 语言开发，通过 run.sh 脚本自动创建 Python 虚拟环境并安装依赖。核心功能依赖外部安全工具（如 nmap, sqlmap 等），需手动通过包管理器（brew\u002Fapt）安装，若缺失 AI 会自动尝试替代方案。首次使用需配置兼容 OpenAI 协议的 API Key。支持通过 Docker 或源码直接运行，升级脚本需依赖 curl\u002Fwget 和 rsync。","3.10+",[117,118,119,120,121,122,123,124,125,126],"Go 1.21+","Python venv (自动管理)","nmap","sqlmap","nuclei","httpx","gobuster","feroxbuster","subfinder","amass",[13,14,15],[129,130,131,132,133,134,135,136,137],"ai","ai-agents","ai-cybersecurity","ai-penetration-testing","ai-security-tool","ctf-tools","mcp","ai-hacking","pentesting-tools","2026-03-27T02:49:30.150509","2026-04-16T15:51:16.827650",[141,146,151,156,161,166,171],{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},36088,"如何调用项目自身的 MCP，而不是外部 MCP？","该问题已修复。请重新克隆最新代码并重新编译项目即可解决。维护者已定位问题并更新了代码。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F7",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},36089,"是否支持 Ollama、LM Studio 等本地 AI 模型调用？","支持。但请注意，您使用的本地模型必须原生支持 Tools（工具调用）功能。如果报错，通常是因为所选模型不支持该功能。请在 Ollama 等平台搜索支持 tools 的模型（如 mirothinker 等），具体支持的模型列表需参考模型官方文档。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F5",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},36090,"如何一键升级项目到最新版本并迁移数据？","项目已支持一键更新功能。在终端执行以下命令即可自动升级并处理数据迁移：\nchmod +x upgrade.sh && .\u002Fupgrade.sh --yes","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F80",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},36091,"使用 Qwen3.5 系列模型时报错 \"No user query found in messages\" 怎么办？","此问题通常与特定部署环境或模型版本有关。建议尝试重新部署云端大模型，或检查本地部署配置。维护者测试表明 qwen3.5-plus 和 qwen3.5-flash 在正常配置下可正常工作。如果问题持续，请提供完整的复现场景截图和日志以便进一步分析。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F48",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},36092,"为什么会话中扫描出的漏洞与漏洞管理页面查询的结果不一致？","这是因为渗透测试是边测试边记录的，可能存在时间差。只要不是误报，最终结论可以通过提示词约束 AI 回复所有被记录的漏洞。请查看“渗透测试详情”以获取完整过程记录。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F77",{"id":167,"question_zh":168,"answer_zh":169,"source_url":170},36093,"工具调用失败或任务执行卡住不动如何解决？","如果是特定工具（如 enum4linux, nmap）调用失败，通常是由于参数错误或目标环境限制。如果是 API 调用报错导致任务重置而非断点续做，可能是模型本身的问题。遇到此类问题，请提供完整的脱敏请求参数和响应结果日志，以便维护者分析具体原因。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F19",{"id":172,"question_zh":173,"answer_zh":174,"source_url":175},36094,"如何管理上传的文件？","项目已更新支持文件管理功能。请拉取最新代码，现在可以在界面中管理之前上传的文件。","https:\u002F\u002Fgithub.com\u002FEd1s0nZ\u002FCyberStrikeAI\u002Fissues\u002F79",[177,182,187,192,197,202,206,210,215,220,225,230,235,240,245,250,255,260,265,270],{"id":178,"version":179,"summary_zh":180,"released_at":181},288889,"v1.4.16","更新sum和mod文件","2026-04-14T02:38:36",{"id":183,"version":184,"summary_zh":185,"released_at":186},288890,"v1.4.15","** 批量任务队列在原有「多条指令顺序执行」基础上，已支持 **Cron 定时** 与 **按队列开关的自动调度**；创建后默认待执行，需在界面或通过 **MCP\u002FAPI 启动** 才会开跑。在对话智能体已接入批量任务相关 MCP 工具时，可用自然语言描述周期与任务内容，由模型解析并调用创建、启动等步骤（例如「创建并开启、每分钟 \u002F 每天九点执行某条指令」），减少手工填表；**仅用于合法授权环境。**\r\n\r\n---\r\n\r\n** 批量任务队列仍按顺序执行子任务，现新增 Cron 定时调度功能，并提供每个队列独立的自动调度开关。新建的队列默认处于待执行状态，需从界面或通过 MCP\u002FAPI 手动启动后才会开始运行。当聊天智能体已启用批量任务相关的 MCP 工具时，用户可使用自然语言描述任务的执行频率和具体指令，模型将自动完成队列创建及启动流程——**仅限于经授权的测试环境使用**。\r\n\r\n\u003Cimg width=\"3584\" height=\"1946\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb2671b23-c4e9-4780-8e43-26eb009e0c0c\" \u002F>\r\n","2026-04-13T15:55:05",{"id":188,"version":189,"summary_zh":190,"released_at":191},288891,"v1.4.14","修复部分bug，优化用户体验。","2026-04-13T13:34:22",{"id":193,"version":194,"summary_zh":195,"released_at":196},288892,"v1.4.13","本次主要优化了 Burp 插件的发送前可控性与后端过程展示一致性。插件侧将原先写死的测试指令改为“默认文案 + 发送前可编辑”，并保持原有右键发送入口不变；后端侧定位并修复了思考内容重复入库问题，避免同一 thinking stream 在过程详情中被稳定写入两次，从而消除“同样内容思考两遍”的展示现象。整体上用户操作路径不变，但可定制性和结果准确性都更好。\n\n---\n\n本次更新重点提升了 Burp 插件的发送前提示控制能力，并修复了后端存在的重复推理记录问题。在插件端，我们将此前硬编码的指令调整为发送前可编辑的默认文案，同时保留原有的右键菜单发送流程。在后端，我们定位并解决了同一推理流被重复存储的问题，从而避免 UI 中出现重复显示相同推理内容的情况。总体而言，用户操作流程保持不变，但自定义灵活性和输出结果的一致性均得到了显著提升。","2026-04-09T13:47:20",{"id":198,"version":199,"summary_zh":200,"released_at":201},288893,"v1.4.12","## 性能优化总结\n\n消除了对话页面的 N+1 请求问题。分组映射改为单次批量接口获取；工具名称从逐个请求改为一次批量获取；页面初始化三个独立请求改为 `Promise.all` 并行；切换对话不再触发冗余的侧边栏全量刷新；消息渲染改为 `requestAnimationFrame` 分批执行，避免阻塞主线程；后端搜索从 `LEFT JOIN + DISTINCT` 改为 `EXISTS` 子查询。\n","2026-04-09T12:19:22",{"id":203,"version":204,"summary_zh":75,"released_at":205},288894,"v1.4.11","2026-04-08T13:47:15",{"id":207,"version":208,"summary_zh":75,"released_at":209},288895,"v1.4.10","2026-04-08T08:59:00",{"id":211,"version":212,"summary_zh":213,"released_at":214},288896,"v1.4.9","新增「删除本轮对话」：在聊天中可删除任意一轮的用户消息与助手回复（含该轮关联的过程详情），用于去掉无效或错误内容、减轻上下文干扰。删除后会同步清空该会话保存的 ReAct 上下文快照（last_react_input \u002F last_react_output），保证下一轮模型输入仅基于剩余消息记录，与上下文压缩逻辑一致。流式对话下在用户\u002F助手消息落库后会通过 SSE 下发消息 ID，删除入口可即时显示而无需刷新页面。\n\n---\n\n删除当前对话回合（新功能）：移除一个完整的对话回合——包括用户消息、助手回复以及相关联的流程详情——以清除噪声或错误内容，减少上下文冗余。执行删除操作后，会话中保存的 ReAct 快照（last_react_input \u002F last_react_output）将被清空，从而确保下一次模型调用仅基于剩余的消息记录构建历史，与上下文压缩逻辑保持一致。在流式对话场景中，消息持久化完成后，系统会通过 SSE 推送消息 ID，因此删除控件可立即显示，无需完整刷新页面。","2026-04-04T07:03:28",{"id":216,"version":217,"summary_zh":218,"released_at":219},288897,"v1.4.8","在多代理模式下，攻击链此前仅依赖助手消息中的 mcp_execution_ids 来判断是否使用了工具，因此当缺少 execution id 时，会被误判为“无工具”而无法生成。现改为同时依据 process_details 中的 tool_call 和 tool_result 来判定；并在 ReAct 保存不完整时，用最后一轮助手的过程详情补全输入，并按主编排器视角进行过滤——保留主代理的工具调用与子任务调度（task），子代理则仅保留最终回复，去掉 thinking、planning 以及子代理的工具调用细节，从而使攻击链的生成与“主代理整轮迭代”保持一致。\r\n\r\n---\r\n\r\n在多代理模式下，攻击链生成此前要求助手消息中必须包含 MCP 执行 ID，因此缺少执行 ID 的运行会被视为未使用工具而生成空链。此次修复将持久化的 tool_call 和 tool_result 事件也视为工具使用的证据；同时，当保存的 ReAct 输入不完整时，会追加经过过滤的上一轮助手过程详情：保留编排器的工具调用和任务调度，子代理仅提供最终回复，而去除思考\u002F规划内容及子代理的工具调用轨迹，从而使提示词与一次完整的编排器迭代保持一致。","2026-04-03T14:21:56",{"id":221,"version":222,"summary_zh":223,"released_at":224},288898,"v1.4.7","多智能体（Eino DeepAgent）侧增强：未知工具调用不再直接崩溃，统一返回提示文案且不自动映射工具名；若上游因 function.arguments 非合法 JSON 而报错，则自动追加系统提示并进行有限次数的重试，同时通过新事件 eino_recovery 将恢复过程写入流程时间线并落库，前端可展示“第 n\u002F最大次数”轮恢复说明；einomcp 中抽离 MCP 调用路径，并保留未知工具提醒逻辑。\r\n\r\n---\r\n\r\n多智能体（Eino DeepAgent）：未知工具调用将以友好的文本响应处理（不尝试猜测工具名）；API 返回的 JSON 格式不合法的工具参数将触发有限次数的自动重试，并附加系统提示；新增 SSE\u002F详情事件 eino_recovery 用于在流程时间线和数据库中记录恢复信息；einomcp 保留共享的 MCP 调用逻辑及未知工具提醒机制。","2026-04-01T16:43:16",{"id":226,"version":227,"summary_zh":228,"released_at":229},288899,"v1.4.6","本次优化将历史会话的“渗透测试详情\u002F过程事件”从一次性全量加载改为按需渐进式加载：切换历史会话时仅加载消息列表与基础信息，只有在用户点击“展开详情”或展开某条记录时才向后端请求对应的过程详情数据并渲染，从而显著降低首屏 JSON 体积与 DOM 渲染压力，解决历史会话切换卡顿；下载报告仍保持一次性拉取全量数据，不影响页面交互性能。\n\n---\n\n本次优化将会话历史的加载方式由一次性全量加载调整为按需渐进式加载：切换至历史对话时，界面仅加载消息和元数据，只有当用户明确展开特定的“详情”部分时，才会向后端请求并渲染相应的过程详情数据。这样可以有效降低初始 JSON 数据量和 DOM 渲染开销，从而消除打开历史记录时的卡顿现象；而报表下载仍采用一次性拉取全部数据的方式，不会影响页面交互性能。","2026-03-31T14:40:10",{"id":231,"version":232,"summary_zh":233,"released_at":234},288900,"v1.4.5","更新用户体验","2026-03-28T19:27:06",{"id":236,"version":237,"summary_zh":238,"released_at":239},288901,"v1.4.4","多代理\u002F单代理长 SSE 在长时间无数据时易被掐断，已在流式接口增加定时 SSE 注释保活，并优化前端断线提示与任务栏刷新。多代理时间线增加主编排「第几轮」、子代理「第几步」展示，并为事件标注主\u002F子角色与配色区分；以上仅作用于 SSE 与界面（及可选过程详情存储），不改变发给大模型的对话上下文。\r\n\r\n---\r\n\r\nLong-running SSE streams for single- and multi-agent chat could be dropped when idle; we added periodic SSE comment keepalives on the stream endpoints and improved the client message plus task-bar refresh on disconnect. The multi-agent timeline now shows orchestrator round and sub-agent step counts, with role labels and distinct styling; these changes affect the event stream and UI (and optional process-detail persistence) only, not the model’s chat context.","2026-03-28T17:30:00",{"id":241,"version":242,"summary_zh":243,"released_at":244},288902,"v1.4.3","新增 CyberStrikeAI Burp Suite 插件，支持在 Burp 中右键将 HTTP 流量发送到 CyberStrikeAI 进行流式 Web 渗透测试。\r\n插件提供连接验证（Host\u002FPort\u002FPassword）、单\u002F多 Agent 切换、测试历史侧边栏（可搜索）及 Request\u002FResponse 回看。\r\n优化输出体验：Progress（可折叠）与 Final Response 分区、Markdown 渲染、Stop 取消任务，以及多项 UI\u002F渲染细节修复。\r\n\r\n---\r\n\r\nAdded a new CyberStrikeAI Burp Suite extension to send selected HTTP traffic from Burp to CyberStrikeAI for streaming web pentest workflows.\r\nThe extension includes connection validation (Host\u002FPort\u002FPassword), single\u002Fmulti-agent mode, searchable run history, and per-run Request\u002FResponse review.\r\nImproved output UX with collapsible Progress + Final Response split, Markdown rendering, stop\u002Fcancel support, and multiple UI\u002Frendering fixes.","2026-03-27T16:26:04",{"id":246,"version":247,"summary_zh":248,"released_at":249},288903,"v1.4.2","Optimized the WebShell management UX with a focus on clarity, consistency, and workflow efficiency:\r\n\r\nUpgraded the database schema tree to support hierarchical expansion (database -> table -> columns) with smarter auto-loading and reduced redundant requests.\r\nImproved long-name handling in schema navigation (ellipsis + hover tooltip) and removed disruptive horizontal scrolling.\r\nFixed schema\u002Fcolumn rendering edge cases, including refresh-state inconsistencies and error\u002Fhistory display mismatches.\r\nAdded a persistent Memo feature as a dedicated tab in WebShell, with local SQLite-backed state saving and improved editor styling.\r\nRefined UI polish across AI\u002FDB\u002FMemo areas (better layout behavior, status feedback, and multilingual text updates) for a smoother day-to-day operation experience.","2026-03-24T19:32:12",{"id":251,"version":252,"summary_zh":253,"released_at":254},288904,"v1.4.1","优化用户体验","2026-03-24T02:29:44",{"id":256,"version":257,"summary_zh":258,"released_at":259},288905,"v1.4.0","CyberStrikeAI 之前以 单 Agent（ReAct）+ MCP 工具 为主。复杂任务里，一个 Agent 要同时承担理解需求、选工具、看结果、再规划下一步，上下文容易被工具输出占满，职责也容易混在一起。\r\n\r\n现在增加 多 Agent 模式（可选）：由 主代理 拆分任务，通过调度把子任务交给 子代理 执行。单 Agent 路径保留，可按配置和前端开关切换。","2026-03-22T19:05:07",{"id":261,"version":262,"summary_zh":263,"released_at":264},288906,"v1.3.30","新增文件管理功能","2026-03-21T13:54:40",{"id":266,"version":267,"summary_zh":268,"released_at":269},288907,"v1.3.29","### CyberStrikeAI 新增一键升级功能（无兼容性问题）\r\n\r\n1. （首次使用）启用脚本：`chmod +x upgrade.sh`\r\n2. 一键升级：`.\u002Fupgrade.sh`（可选参数：`--tag vX.Y.Z`、`--no-venv`、`--preserve-custom`、`--yes`）\r\n3. 脚本会备份你的 `config.yaml` 和 `data\u002F`，从 GitHub Release 升级代码，更新 `config.yaml` 的 `version` 字段后重启服务。\r\n\r\n推荐的一键指令：\r\n`chmod +x upgrade.sh && .\u002Fupgrade.sh --yes`\r\n\r\n如果升级失败，可以从 `.upgrade-backup\u002F` 恢复，或按旧方式手动拷贝 `\u002Fdata` 和 `config.yaml` 后再运行 `.\u002Frun.sh`。\r\n\r\n依赖\u002F提示：\r\n* 需要 `curl` 或 `wget` 用于下载 GitHub Release 包。\r\n* 建议\u002F需要 `rsync` 用于安全同步代码。\r\n* 如果遇到 GitHub API 限流，运行前设置 `export GITHUB_TOKEN=\"...\"` 再执行 `.\u002Fupgrade.sh`。","2026-03-19T18:06:44",{"id":271,"version":272,"summary_zh":253,"released_at":273},288908,"v1.3.28","2026-03-19T17:44:30"]