项目简介

FLUX 是一款专为 Apple Silicon 设计的高性能文本处理引擎,通过 Model Context Protocol (MCP) 协议暴露其功能,使其能够被兼容的 LLM 客户端(如 Claude Desktop)调用。它旨在解决传统文本编辑工具在处理大文件时遇到的性能瓶颈、内存限制以及文件内容冲突(如哈希不匹配)等问题,提供原子操作、高效搜索、版本控制等高级能力。

主要功能点

  • 安全的文件读写: 提供事务支持和文件锁,确保在外部修改等情况下数据读写的一致性和安全性,避免哈希冲突。
  • 超大文件处理: 利用内存映射和分块处理技术,高效处理 GB 级别甚至更大的文件,显著降低内存占用。
  • 高性能搜索与替换: 针对 Apple Silicon 架构进行深度优化,利用多核心 CPU 和 GPU 加速文本搜索(支持正则)和批量替换,速度远超传统工具。
  • 文本编辑: 支持基于行或范围的文本插入、删除、复制、移动等操作。
  • 版本控制: 提供检查点功能,支持无限撤销/重做,并能生成差异报告。
  • 原子操作: 所有关键的文件修改操作都在事务中执行,保证操作的原子性,防止部分失败导致文件损坏。
  • Apple Silicon 优化: 充分利用 M 系列芯片的统一内存架构和多核心异构计算能力。

安装步骤

要将 FLUX 作为 MCP 服务器运行,您需要在 Apple Silicon Mac 上进行安装。

  1. 克隆仓库: 打开终端,使用 'git clone' 命令克隆 FLUX 仓库到本地。
  2. 创建并激活 Python 虚拟环境: 推荐使用虚拟环境隔离项目依赖,使用 Python 3.11 或更高版本。
  3. 安装依赖: 进入克隆的仓库目录,运行命令安装项目所需的依赖库。
  4. 安装 FLUX: 运行命令安装 FLUX 本身,以便作为 Python 模块运行。

服务器配置

FLUX MCP 服务器由 MCP 客户端(如 Claude Desktop)启动和管理。您需要配置客户端,告知它如何启动 FLUX 服务器。配置通常是一个 JSON 文件(例如 'claude_desktop_config.json'),其中包含服务器的启动命令和参数。

以下是配置示例的描述,您需要在客户端的配置文件中添加类似条目:

  • 'mcpServers': 这是一个对象,键是您为服务器起的名字(例如 '"flux"')。
  • 'flux': 这是您为 FLUX 服务器指定的名字,包含以下信息:
    • 'command': 启动 Python 解释器的路径(例如 '/opt/homebrew/bin/python3.11')。
    • 'args': 传递给 Python 解释器的参数列表。其中 '"-m"' 表示将一个模块作为脚本运行,'"flux_mcp.server"' 是 FLUX 服务器的主模块路径。
    • 'env': (可选)设置启动服务器时所需的环境变量,例如用于配置 GPU 是否启用、工作线程数等。

配置完成后,启动或重启您的 MCP 客户端,它应该能够发现并连接到 FLUX MCP 服务器。

基本使用方法

通过 MCP 客户端(例如兼容的 LLM 应用),大语言模型可以调用 FLUX 提供的工具来执行文件操作。您可以通过自然语言指令与 LLM 交互,让它使用 FLUX 工具完成任务:

  • 读取文件: “使用 flux 读取文件 '/path/to/your/document.txt'”
  • 搜索文本: “让 flux 搜索文件 '/path/to/code.py' 中所有 'TODO' 的位置”
  • 替换内容: “请 flux 将 '/path/to/config.ini' 中的 'enabled=false' 替换为 'enabled=true'”
  • 部分读取: “使用 flux 读取 '/path/to/large_log.txt' 文件的第 100 行到第 200 行”

这些自然语言指令会被 LLM 转换为 MCP 工具调用请求发送给 FLUX 服务器执行。

信息

分类

AI与计算