项目简介
Open Edison 旨在为与公司数据和软件交互的AI代理提供可观察性、控制和策略执行能力。它作为一个MCP服务器代理,允许LLM客户端(如ChatGPT)通过标准的JSON-RPC协议连接,同时通过精细的安全控制(包括对资源、工具和提示的权限管理)来减轻数据泄露和代理劫持的风险。
主要功能点
- 数据泄露监控与阻断: 实时检测并根据可配置的安全策略阻止潜在的数据泄露。
- 受控执行: 提供结构化的执行控制,以降低数据外泄风险,包括对“致命三元组”风险的监控(私有数据访问、不可信内容暴露、外部通信)。
- AI代理交互可视化: 跟踪和监控AI代理与连接软件/数据的交互,提供日志和审计能力。
- MCP服务器管理: 轻松配置和管理您连接的MCP服务器,包括启动、停止和重新初始化。
- 简单API: 提供REST API用于管理Open Edison服务器和代理请求。
- Docker支持: 便于容器化部署。
- LangGraph集成: 通过简单的 '@edison.track()' 装饰器,即可快速与LangGraph、LangChain等代理框架集成,实现即时可观测性和策略执行。
安装步骤
最快的方式是使用 'curl' 命令自动安装 'uv' 并启动 Open Edison:
curl -fsSL https://raw.githubusercontent.com/Edison-Watch/open-edison/main/curl_pipe_bash.sh | bash
或者,如果您已经安装了 'uvx' 或 'pipx',可以通过以下命令安装并运行:
# 使用 uvx uvx open-edison # 使用 pipx pipx install open-edison open-edison
通过 Docker 运行:
git clone https://github.com/Edison-Watch/open-edison.git cd open-edison make docker_run
服务器启动后,Open Edison的MCP服务器通常在 'http://localhost:3000' 提供服务,而管理API和前端界面则在 'http://localhost:3001'。
服务器配置
Open Edison 的核心配置通过 'config.json' 文件进行管理。此文件通常位于应用程序数据目录中(例如,macOS上是 '~/Library/Application Support/Open Edison',Linux上是 '~/.config/open-edison'),您可以配置其监听端口、API密钥以及管理其他MCP服务器。
以下是 'config.json' 的一个示例,展示了如何配置Open Edison服务器本身,以及如何定义它应该作为代理或控制面板的其他MCP服务器:
{ "server": { "host": "0.0.0.0", // Open Edison 监听的主机地址 "port": 3000, // Open Edison 监听的 MCP 协议端口 "api_key": "YOUR_API_KEY_HERE" // 用于认证的 API 密钥,请替换为强密码 }, "logging": { "level": "INFO" // 日志级别(如 INFO, DEBUG, WARNING, ERROR) }, "mcp_servers": [ // Open Edison 管理的其他 MCP 服务器列表 { "name": "filesystem", // 该 MCP 服务器的唯一名称 "command": "uvx", // 启动该 MCP 服务器的命令行指令 "args": ["mcp-server-filesystem", "/tmp"], // 传递给命令的参数列表 "enabled": true // 是否自动启动并管理该服务器 }, { "name": "github", "enabled": false, "env": { // (可选)启动该服务器时设置的环境变量 "GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-token" } } ] }
配置说明:
- 'server': 配置 Open Edison 自身的网络监听设置和认证密钥。
- 'logging': 配置 Open Edison 的日志输出级别。
- 'mcp_servers': 这是一个列表,您可以在其中定义 Open Edison 将代理或管理的其他 MCP 服务器。Open Edison 会将这些服务器的工具、资源和提示注册到自身,并对其进行安全控制。
基本使用方法
- 启动 Open Edison 服务器: 按照上述安装步骤启动 Open Edison。
- 连接 MCP 客户端: 您可以使用任何支持 MCP 协议的客户端连接到运行中的 Open Edison。例如,使用 'mcp-remote' 客户端连接到 Open Edison 的 MCP 端点:
请将 'your-api-key' 替换为 'config.json' 中配置的 'server.api_key'。npx -y mcp-remote http://localhost:3000/mcp/ --http-only --header "Authorization: Bearer your-api-key" - 连接 ChatGPT (或其他LLM): 如果您希望让ChatGPT或其他LLM通过Open Edison访问工具,可以配置LLM连接器。例如,对于ChatGPT,您可以通过 ngrok 将 Open Edison 公开到互联网(具体步骤请参考Open Edison文档),然后在ChatGPT的“连接器”设置中,将 Open Edison 的 ngrok URL 配置为 MCP Server URL,并提供相应的API密钥。
- 配置权限: 编辑应用程序数据目录中的 'tool_permissions.json'、'resource_permissions.json' 和 'prompt_permissions.json' 文件。这些文件允许您定义和调整每个工具、资源和提示的访问权限和安全分类,以实施精细的安全策略。
信息
分类
开发者工具