项目简介

Houtini LM是一个基于Model Context Protocol (MCP) 构建的服务器端应用,旨在为大型语言模型(LLM)客户端(如Claude Desktop)提供本地AI能力。它通过与LM Studio等本地大模型推理引擎集成,提供无需API成本的上下文增强、代码分析、安全审计、内容生成等服务。该项目采用插件化架构,内置了全面的安全防护,并支持智能提示管理,是提升本地AI开发效率和能力的重要工具。

主要功能点

  • 本地大模型集成: 通过与LM Studio无缝集成,提供本地化的AI分析和生成服务,极大降低了对外部API的依赖和成本。
  • 上下文增强: 将代码分析、文档生成、测试用例生成等常规开发任务卸载到本地LLM执行,从而为LLM客户端(如Claude)保留宝贵的上下文窗口,用于更复杂的战略性思考和决策。
  • 丰富的工具集: 作为一个MCP服务器,Houtini LM提供多种工具(Plugins),包括:
    • 代码分析: 'analyze_single_file'(单文件分析)、'analyze_dependencies'(依赖分析)、'analyze_code_quality'(代码质量)、'security_audit'(安全审计)、'trace_execution_path'(执行路径追踪)等。
    • 内容生成: 'generate_unit_tests'(单元测试)、'generate_project_documentation'(项目文档)、'suggest_refactoring'(重构建议)、'generate_wordpress_plugin'(WordPress插件)等。
    • 趣味生成: 'css_art_generator'(CSS艺术)、'create_text_adventure'(文字冒险游戏)、'arcade_game'(街机游戏)等。
    • 系统工具: 'health_check'(健康检查)、'list_functions'(列出所有功能)、'resolve_path'(路径解析)等。
  • 全面的安全防护: 内置了强大的安全模块,能够有效防范提示注入、路径遍历、XSS、敏感信息泄露等各类安全威胁,确保本地AI操作的安全可靠。
  • 智能提示管理: 采用三阶段提示架构和动态上下文窗口管理,优化了长文本的处理能力,确保大模型在处理复杂任务时能够获得最佳的上下文信息。
  • 插件化架构: 核心功能通过插件实现,方便用户根据自身需求扩展或自定义AI功能,增加了系统的灵活性和可维护性。

安装步骤

由于该仓库是Node.js项目,且Readme中提到下载'lm.zip',实际使用时,此MCP服务器很可能作为某个桌面应用的一部分发布。以下是基于源代码的通用安装和启动方式,但如果作为已发布的桌面应用,则只需按照该应用的指引进行安装。

  1. 准备运行环境:

    • Node.js: 确保您的计算机上已安装Node.js(推荐LTS版本)。
    • LM Studio: 下载并运行LM Studio应用程序,并加载您希望使用的本地大模型。确保LM Studio在配置的URL(默认为'ws://localhost:1234')上正常运行。
  2. 获取项目代码:

    • 通过Git克隆仓库:'git clone https://github.com/vrund038/lm.git'
    • 进入项目目录:'cd lm'
  3. 安装依赖:

    • 运行'npm install'安装所有项目依赖。
  4. 编译项目:

    • 运行'npm run build'编译TypeScript源代码。编译后的JavaScript文件将在'dist'目录中生成。
  5. 配置环境变量:

    • 安全配置: MCP服务器需要明确指定允许访问的文件系统目录,以防止未授权的文件访问。在启动服务器的环境中,设置 'LLM_MCP_ALLOWED_DIRS' 环境变量。例如,在Windows上,您可以将其设置为: 'LLM_MCP_ALLOWED_DIRS="C:\\Users\\YourName\\Projects,D:\\Code"' 或者在Linux/macOS上: 'LLM_MCP_ALLOWED_DIRS="/home/yourname/projects,/mnt/data"' 请确保使用双反斜杠('\\')在Windows路径中转义,并用逗号分隔多个路径。

服务器配置(供MCP客户端参考)

MCP服务器通常由MCP客户端(如Claude Desktop)按需启动。以下是MCP客户端配置此Houtini LM服务器时可能需要的信息结构。您无需直接编辑或运行这些命令,通常由Claude Desktop或其他集成环境自动管理,或在高级设置中配置。

  • 服务器名称(name): 'houtini-lm' (服务器在MCP客户端中的显示名称)
  • 启动命令(command): 对应启动Houtini LM服务器的可执行文件或脚本。
    • 例如,如果系统环境中安装了'lm'命令行工具,它可能是'lm'。
    • 如果直接从源代码运行,它可能指向Node.js可执行文件,例如 'node'。
  • 启动参数(args): 传递给启动命令的参数。
    • 例如,如果'command'是'node',则'args'中将包含服务器主脚本的路径,如 '["dist/index.js"]'。
  • 环境变量(env):
    • 'LLM_MCP_ALLOWED_DIRS': 用于指定Houtini LM服务器可以安全访问的文件系统目录。这是重要的安全设置,必须正确配置。例如:
      {
        "LLM_MCP_ALLOWED_DIRS": "C:\\\\Users\\\\YourName\\\\Projects,D:\\\\Code"
      }
      (请根据您的实际需求和操作系统调整路径)
  • 传输协议(transport): 默认为 'stdio',通过标准输入输出与客户端通信。

基本使用方法

  1. 启动LM Studio并加载模型: 确保LM Studio应用已在您的计算机上运行,并且已加载一个或多个大模型,以便Houtini LM服务器可以与其通信。

  2. 配置MCP客户端: 在您使用的LLM客户端(如Claude Desktop)中,进入MCP服务器配置界面。

    • 添加一个新的MCP服务器。
    • 将服务器名称设置为 'houtini-lm'。
    • 根据您的安装方式和操作系统配置正确的 'command' 和 'args'(如上所述)。
    • 配置 'LLM_MCP_ALLOWED_DIRS' 环境变量以授权文件访问。
  3. 在LLM对话中调用工具: 在您的LLM客户端与大模型的对话中,通过 'houtini-lm:tool_name' 的格式调用Houtini LM提供的工具。

    • 示例1:检查LM Studio连接状态
      houtini-lm:health_check {"detailed": true}
    • 示例2:分析单个代码文件 假设您在'C:\MyProject\src\main.js'有一个JavaScript文件,内容为:
      // C:\MyProject\src\main.js
      function add(a, b) {
          return a + b;
      }
      console.log(add(1, 2));
      您可以在LLM对话中调用:
      houtini-lm:analyze_single_file {"filePath": "C:\\\\MyProject\\\\src\\\\main.js", "analysisType": "quality", "language": "javascript"}
    • 示例3:生成单元测试
      houtini-lm:generate_unit_tests {"filePath": "C:\\\\MyProject\\\\src\\\\utils.js", "language": "javascript", "testFramework": "jest", "coverageTarget": "comprehensive"}

通过这种方式,Houtini LM将充当Claude的本地智能助手,在本地LM Studio上执行复杂任务,并将结构化结果返回给Claude,极大地提升了AI辅助开发的效率和能力。

信息

分类

开发者工具