项目简介

Compliance-agent 是一个专注于利用AI工具提升合规性分析效率的项目。它通过集成大型语言模型 (LLM) 和模型上下文协议 (MCP) 服务器,旨在帮助用户识别代码仓库中的合规性风险,例如相关的法律法规、数据点、数据点的 CIA (保密性、完整性、可用性) 评级、潜在的威胁和漏洞以及缓解措施。

主要功能点

  • 交互式对话: 用户可以通过对话的方式与Agent互动,逐步完善合规性报告。
  • 仓库分析: Agent 可以分析用户指定的代码仓库,提取合规性相关的信息。
  • 法规识别: 自动识别与代码仓库相关的法律法规。
  • 数据点识别与CIA评估: 识别代码仓库中的数据点,并评估其保密性、完整性和可用性 (CIA)。
  • 威胁与漏洞分析: 识别潜在的威胁和漏洞。
  • 缓解措施建议: 为识别的威胁和漏洞提供缓解建议。
  • 结构化JSON输出: 以结构化的 JSON 格式输出分析结果,方便后续处理和集成。
  • Markdown 报告: 支持将分析结果保存为 Markdown 格式的报告。
  • 前端可视化: 提供前端界面,以可视化方式展示和交互 JSON 报告内容。

安装步骤

  1. 安装 uvx: 运行命令 'curl -LsSf https://astral.sh/uv/install.sh | sh' 安装 uvx。
  2. 复制 .env 文件: 复制 './backend/.env.example' 文件到 './backend/.env'。
    cp ./backend/.env.example ./backend/.env
  3. 配置 .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 功能。

基本使用方法

  1. 启动项目: 在项目根目录下运行 'pnpm dev' 命令,启动前端和后端服务。
    pnpm dev
  2. 访问应用: 在浏览器中打开 'http://localhost:5173' 访问 Compliance-agent 应用。
  3. 开始分析: 在应用界面中,输入代码仓库的 URL,开始与 Agent 对话,进行合规性分析。

信息

分类

开发者工具