使用说明:

项目简介

AIlice平台是一个开源的自主AI代理,它不仅作为一个独立的AI助手,还可以作为Model Context Protocol (MCP) 服务器。作为MCP服务器,AIlice 能够以标准化的方式向LLM客户端提供上下文信息和功能,主要包括资源管理、工具注册与执行以及Prompt模板定义与渲染等核心MCP功能。

主要功能点

  • 资源 (Resources) 管理: AIlice 通过模块化设计支持多种外部服务,如浏览器、搜索引擎、代码执行器和向量数据库等,这些模块可以被视为由MCP服务器托管和管理的资源,为LLM应用提供数据访问能力和环境交互能力。
  • 工具 (Tools) 注册和执行: AIlice 的模块 (modules) 实际上充当了 MCP 工具的角色。通过配置和加载不同的模块,AIlice 可以扩展其功能,并允许 LLM 客户端调用这些外部功能,例如网页浏览、代码执行、数据检索等。用户可以通过配置 'config.json' 文件来注册和启用这些工具模块。
  • Prompt 模板 (Prompts) 定义和渲染: AIlice 实现了基于 Prompt 模板的代理 (Agent) 机制。不同的 Agent 类型(如 main, researcher, coder)可以看作是预定义的 Prompt 模板,支持定制化的 LLM 交互模式。用户可以通过选择不同的 Prompt 或自定义 Prompt 来调整 AIlice 的行为模式。
  • JSON-RPC 通信: 虽然文档没有显式提及 JSON-RPC,但 AIlice 的模块化设计和模块间的通信机制(如使用 IPC 或 TCP 地址)暗示了其内部可能使用了类似于 JSON-RPC 的协议进行模块间或客户端与服务器的通信。
  • 会话管理和能力声明: AIlice 通过会话 (session) 机制来管理用户对话历史和状态。'config.json' 文件可以被视为一种能力声明,定义了服务器可用的模块和服务。
  • 多种传输协议支持: AIlice 支持通过 Web 界面 (HTTP/WebSocket) 与用户交互,同时也支持模块间的进程间通信 (IPC) 和 TCP 通信,体现了对多种传输协议的支持。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/myshell-ai/AIlice.git
    cd AIlice
  2. 安装 Python 包:
    pip install -e .
    如果需要 GPU 加速支持,可以运行 'ailice_turbo' 命令。如果需要 PDF 阅读、语音对话等功能,可以按需安装 'pip install -e .[pdf-reading]', 'pip install -e .[speech]' 等。

服务器配置

AIlice 的 MCP 服务器配置主要体现在 'config.json' 文件中,通过配置 "services" 字段来声明和启用扩展模块(即 MCP 工具)。以下是一个配置示例,展示了如何配置一个名为 "mcp_echo" 的 MCP 服务器模块,以及如何配置 Ailice 内置的 "scripter" 模块:

{
  "services": {
    "scripter": {
      "cmd": "python3 -m ailice.modules.AScripter --addr=tcp://127.0.0.1:59000",
      "addr": "tcp://127.0.0.1:59000"
    },
    "mcp_echo": {
      "cmd": "ailice_mcp_wrapper --addr tcp://127.0.0.1:59200 mcp_echo hello",
      "addr": "tcp://127.0.0.1:59000"
    },
    ...
  }
}

配置参数说明 (json格式):

  • 'services': 定义所有扩展模块(MCP 工具)的字典。
    • '模块名称 (例如: scripter, mcp_echo)': 每个模块的配置项。
      • 'cmd': [必填] 启动模块进程的命令行命令。对于 MCP 服务器模块,可以使用 'ailice_mcp_wrapper' 命令来包装标准的 MCP 服务器。
      • 'addr': [必填] 模块进程的地址 (IPC 或 TCP 地址),Ailice 通过此地址与模块通信。

基本使用方法

  1. 启动 AIlice Web UI:

    ailice_web --modelID=anthropic:claude-3-5-sonnet-20241022 --contextWindowRatio=0.2

    可以使用不同的命令行参数来配置模型、Prompt、会话等。 详细参数请参考仓库 README 文档。

  2. 通过 Web 界面与 AIlice 交互: 启动后,AIlice 会提供一个 Web 链接。打开浏览器访问该链接,即可进入对话界面,与 AIlice 进行交互。在对话中,你可以指示 AIlice 执行各种任务,例如让它使用 MCP 工具来完成特定操作。

  3. 配置和使用 MCP 工具: 通过修改 'config.json' 文件的 "services" 部分,可以添加和配置更多的 MCP 服务器模块,从而扩展 AIlice 的功能。配置完成后,重启 AIlice 即可加载新的 MCP 工具。

注意: 虽然 AIlice 具备 MCP 服务器的架构和功能雏形,但其文档和代码更侧重于作为一个 AI 代理平台的使用和开发。作为一个 MCP 服务器的具体使用方式和 API 文档可能需要进一步研究代码和开发者沟通以明确。

信息

分类

AI与计算