项目简介
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服务器很可能作为某个桌面应用的一部分发布。以下是基于源代码的通用安装和启动方式,但如果作为已发布的桌面应用,则只需按照该应用的指引进行安装。
-
准备运行环境:
- Node.js: 确保您的计算机上已安装Node.js(推荐LTS版本)。
- LM Studio: 下载并运行LM Studio应用程序,并加载您希望使用的本地大模型。确保LM Studio在配置的URL(默认为'ws://localhost:1234')上正常运行。
-
获取项目代码:
- 通过Git克隆仓库:'git clone https://github.com/vrund038/lm.git'
- 进入项目目录:'cd lm'
-
安装依赖:
- 运行'npm install'安装所有项目依赖。
-
编译项目:
- 运行'npm run build'编译TypeScript源代码。编译后的JavaScript文件将在'dist'目录中生成。
-
配置环境变量:
- 安全配置: 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" }
- 'LLM_MCP_ALLOWED_DIRS': 用于指定Houtini LM服务器可以安全访问的文件系统目录。这是重要的安全设置,必须正确配置。例如:
- 传输协议(transport): 默认为 'stdio',通过标准输入输出与客户端通信。
基本使用方法
-
启动LM Studio并加载模型: 确保LM Studio应用已在您的计算机上运行,并且已加载一个或多个大模型,以便Houtini LM服务器可以与其通信。
-
配置MCP客户端: 在您使用的LLM客户端(如Claude Desktop)中,进入MCP服务器配置界面。
- 添加一个新的MCP服务器。
- 将服务器名称设置为 'houtini-lm'。
- 根据您的安装方式和操作系统配置正确的 'command' 和 'args'(如上所述)。
- 配置 'LLM_MCP_ALLOWED_DIRS' 环境变量以授权文件访问。
-
在LLM对话中调用工具: 在您的LLM客户端与大模型的对话中,通过 'houtini-lm:tool_name' 的格式调用Houtini LM提供的工具。
- 示例1:检查LM Studio连接状态
houtini-lm:health_check {"detailed": true} - 示例2:分析单个代码文件
假设您在'C:\MyProject\src\main.js'有一个JavaScript文件,内容为:
您可以在LLM对话中调用:// C:\MyProject\src\main.js function add(a, b) { return a + b; } console.log(add(1, 2));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"}
- 示例1:检查LM Studio连接状态
通过这种方式,Houtini LM将充当Claude的本地智能助手,在本地LM Studio上执行复杂任务,并将结构化结果返回给Claude,极大地提升了AI辅助开发的效率和能力。
信息
分类
开发者工具