项目简介
Compliance-agent 是一个专注于利用AI工具提升合规性分析效率的项目。它通过集成大型语言模型 (LLM) 和模型上下文协议 (MCP) 服务器,旨在帮助用户识别代码仓库中的合规性风险,例如相关的法律法规、数据点、数据点的 CIA (保密性、完整性、可用性) 评级、潜在的威胁和漏洞以及缓解措施。
主要功能点
- 交互式对话: 用户可以通过对话的方式与Agent互动,逐步完善合规性报告。
- 仓库分析: Agent 可以分析用户指定的代码仓库,提取合规性相关的信息。
- 法规识别: 自动识别与代码仓库相关的法律法规。
- 数据点识别与CIA评估: 识别代码仓库中的数据点,并评估其保密性、完整性和可用性 (CIA)。
- 威胁与漏洞分析: 识别潜在的威胁和漏洞。
- 缓解措施建议: 为识别的威胁和漏洞提供缓解建议。
- 结构化JSON输出: 以结构化的 JSON 格式输出分析结果,方便后续处理和集成。
- Markdown 报告: 支持将分析结果保存为 Markdown 格式的报告。
- 前端可视化: 提供前端界面,以可视化方式展示和交互 JSON 报告内容。
安装步骤
- 安装 uvx: 运行命令 'curl -LsSf https://astral.sh/uv/install.sh | sh' 安装 uvx。
- 复制 .env 文件: 复制 './backend/.env.example' 文件到 './backend/.env'。
cp ./backend/.env.example ./backend/.env - 配置 .env 文件: 根据需要编辑 './backend/.env' 文件,例如配置 OpenAI API 密钥或 Azure OpenAI API 密钥等。
服务器配置
Compliance-agent 本身作为一个应用后端,集成了对多种 MCP 服务器的调用能力,以扩展其功能。它通过 'backend/src/mcpServers.ts' 文件配置需要使用的 MCP 服务器。以下是 'mcpServers.ts' 文件中定义的 MCP 服务器配置信息,这些配置将被 Compliance-agent 后端使用,无需用户手动配置 MCP 客户端。
{ "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] }, "airbnb": { "command": "npx", "args": ["-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"] }, "braveSearch": { // Brave 搜索 MCP 服务器,用于网络搜索 "command": "npx", "args": ["-y", "@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY" // 需要在 .env 文件中配置 BRAVE_API_KEY 环境变量 } }, "github": { // GitHub MCP 服务器,用于访问 GitHub 仓库信息 "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_API_KEY": "YOUR_GITHUB_API_KEY" // 需要在 .env 文件中配置 GITHUB_API_KEY 环境变量 } } }
配置说明:
- server name: 配置项的键名(例如 "fetch", "airbnb", "braveSearch", "github")是 MCP 服务器的名称,用于在 Compliance-agent 代码中引用。
- command: 启动 MCP 服务器的命令。例如 '"uvx"' 或 '"npx"'。
- args: 启动 MCP 服务器命令的参数列表。
- '"mcp-server-fetch"': 'fetch' 服务器的参数,表示启动 'mcp-server-fetch' 服务。
- '"-y", "@openbnb/mcp-server-airbnb", "--ignore-robots-txt"': 'airbnb' 服务器的参数,表示使用 'npx' 运行 '@openbnb/mcp-server-airbnb' 包,并忽略 robots.txt 规则。
- '"-y", "@modelcontextprotocol/server-brave-search"': 'braveSearch' 服务器的参数,表示使用 'npx' 运行 '@modelcontextprotocol/server-brave-search' 包。
- '"-y", "@modelcontextprotocol/server-github"': 'github' 服务器的参数,表示使用 'npx' 运行 '@modelcontextprotocol/server-github' 包。
- env: 启动 MCP 服务器所需的环境变量。
- 'BRAVE_API_KEY': Brave 搜索 MCP 服务器需要的 API 密钥,需要用户在 '.env' 文件中设置 'BRAVE_API_KEY' 环境变量。
- 'GITHUB_API_KEY': GitHub MCP 服务器需要的 API 密钥,需要用户在 '.env' 文件中设置 'GITHUB_API_KEY' 环境变量。
注意: 用户无需直接修改此 JSON 配置,Compliance-agent 后端代码会读取并使用这些配置来启动和调用相应的 MCP 服务器。用户只需要关注配置 'BRAVE_API_KEY' 和 'GITHUB_API_KEY' 环境变量,以便启用 Brave 搜索和 GitHub 功能。
基本使用方法
- 启动项目: 在项目根目录下运行 'pnpm dev' 命令,启动前端和后端服务。
pnpm dev - 访问应用: 在浏览器中打开 'http://localhost:5173' 访问 Compliance-agent 应用。
- 开始分析: 在应用界面中,输入代码仓库的 URL,开始与 Agent 对话,进行合规性分析。
信息
分类
开发者工具