使用说明
项目简介
Meru Alfred 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于简化 Nix 配置管理。它允许用户通过 Claude Desktop 等支持 MCP 协议的 LLM 客户端,以自然语言的方式查看和修改 Nix Darwin 或 Home Manager 的配置文件。Alfred 充当 LLM 和本地 Nix 配置之间的桥梁,将用户的自然语言指令转化为对 Nix 配置文件的操作。
主要功能点
- Nix 配置管理: 支持 Nix Darwin 和 Home Manager 的配置管理,允许用户通过 LLM 客户端查看和修改 Nix 配置文件。
- 资源管理: 将 Nix 配置文件作为资源暴露给 LLM 客户端,客户端可以读取这些文件的内容。
- 工具集成: 提供 'update_nix_config' 和 'get_nix_config' 工具,允许 LLM 客户端调用以更新或读取 Nix 配置文件。
- Prompt 模板: 内置 'nix_config_manager' Prompt 模板,引导 LLM 以 Plan+Apply 循环的方式与用户交互,确保配置变更的可控性和可审查性。
- 本地文件系统访问: 通过 'file://' URI 访问本地 Nix 配置文件,实现对本地配置文件的读取和修改。
安装步骤
-
安装 uv: 按照 uv 官方文档 指示安装 uv 包管理器。uv 被用于运行 Alfred 服务器。
-
克隆仓库: 将 'meru' 仓库克隆到本地。
git clone https://github.com/valkyrie-sh/meru.git cd meru -
配置 Claude Desktop: 打开 Claude Desktop 的配置文件 'claude_desktop_config.json' (通常位于 '/Users/<username>/Library/Application Support/Claude/claude_desktop_config.json'),添加以下 MCP 服务器配置。如果文件不存在,则创建它。
{ "mcpServers": { "alfred": { "command": "uv", "args": [ "--directory", "<path_to_repo>/meru/alfred", // 将 <path_to_repo> 替换为 meru 仓库在您本地的路径,例如 "/Users/yourusername/meru" "run", "alfred" ] } } }配置参数说明:
- 'server name': 'alfred' - MCP 服务器的名称,在 Claude Desktop 中用于标识和选择该服务器。
- 'command': 'uv' - 启动 MCP 服务器的命令,这里使用 uv 包管理器。
- 'args': 启动命令的参数列表,包括:
- '--directory': '<path_to_repo>/meru/alfred' - 指定 Alfred 服务器代码所在的目录。请务必替换为您的实际仓库路径。
- 'run': uv 命令的子命令,用于运行 Python 脚本。
- 'alfred': 要运行的 Python 脚本名称,对应 'alfred/src/alfred/init.py' 中的 'main' 函数。
基本使用方法
-
启动 Claude Desktop: 确保 Claude Desktop 应用程序已启动。
-
在 Claude Desktop 中包含 Nix 配置文件: 在 Claude Desktop 的对话上下文中,包含您想要管理的 Nix 配置文件。例如,您可以复制粘贴 'flake.nix' 文件的内容到对话框中,或者使用 Claude Desktop 的文件上传功能。
-
在 Claude Desktop 中包含 Nix 配置管理 Prompt: 在 Claude Desktop 的 Prompt 设置中,选择或添加名为 'nix_config_manager' 的 Prompt。这将指示 Claude 使用 Alfred 服务器提供的 Nix 配置管理 Prompt 模板。
-
与 Claude 对话: 现在您可以开始与 Claude 进行对话,使用自然语言指令来查看和修改 Nix 配置。例如:
- "我想添加一个名为 'tmux' 的包到我的 Nix 配置中。"
- "请查看我的 'flake.nix' 文件,确认 'nixpkgs.url' 的版本。"
- "将 'home-manager' 的输入源更新到最新的 release-24.11 分支。"
Alfred 服务器会接收来自 Claude 的请求,并根据您的指令,通过提供的工具和 Prompt 模板,与 Nix 配置文件进行交互,并将结果返回给 Claude。Claude 会根据 Alfred 的响应,以 Plan+Apply 的方式与您进行交互,确保配置变更符合您的预期。
注意:
- 目前 Alfred 服务器仅支持 MacOS 系统。
- Alfred 服务器默认配置为管理 '~/.config/nix-darwin' 或 '~/.config/home-manager' 目录下的 Nix 配置文件。
信息
分类
开发者工具