使用说明
项目简介
Skewed Emacs 是一个全面的 Emacs 配置方案,专注于为 Gnu Emacs 和 Linux/Unix bash 环境提供优化的开发体验。其内建的 MCP (Model Context Protocol) 服务器允许 AI 助手(如 Claude 等)与运行中的 Emacs 实例进行交互,扩展了 AI 在代码开发和文本处理方面的能力。该 MCP 后端允许 AI 助手发送 Emacs Lisp 表达式到 Emacs 执行,从而实现对 Emacs 内部资源和功能的访问与控制。
主要功能点
- Emacs Lisp 代码执行: 允许 AI 助手在 Emacs 环境中执行任意 Emacs Lisp 代码。
- 文件和缓冲区管理: AI 助手可以导航、管理 Emacs 中的文件和缓冲区,并进行编辑操作。
- 扩展 Emacs 功能: 为 AI 助手提供访问 Emacs 丰富功能的能力,例如代码补全、重构、版本控制等(取决于具体实现和扩展)。
- 作为 MCP 服务器: 遵循 Model Context Protocol,提供标准化的接口与 MCP 客户端通信。
安装步骤
- 克隆仓库:
git clone https://github.com/gornskew/skewed-emacs cd skewed-emacs - 运行安装脚本:
安装脚本会将配置文件链接到你的 home 目录。注意:安装脚本会备份并覆盖你现有的 Emacs 配置文件,请务必仔细阅读 'README.md' 中的警告信息,并考虑先使用 '--dry-run' 参数预览更改。./setup
服务器配置
要将 MCP 客户端连接到 Skewed Emacs 提供的 MCP 服务器,你需要配置客户端以连接到 Emacs 进程。由于 MCP 服务器集成在 Emacs 内部,因此客户端需要通过 Emacs 提供的接口进行通信。
以下是一个 MCP 客户端(例如 'lisply-mcp' 客户端)的配置示例,用于连接到 Skewed Emacs 的 MCP 服务器。你需要将 Emacs 的启动命令配置到 MCP 客户端中。
{ "serverName": "skewed-emacs-mcp", "command": "emacs", "args": [ "-q", # 禁用 Emacs 初始化文件 (可选,如果你的 Emacs 初始化配置与 MCP 服务器运行冲突,可以尝试启用) "--load", # 加载指定的 Emacs Lisp 文件 "~/.emacs.d/init.el", # 指向 Skewed Emacs 配置的 init.el 文件,确保加载 MCP 后端 "--eval", # 执行 Emacs Lisp 代码 "(lisply-backend-start)" # 启动 lisply-backend MCP 服务器 (假设启动函数为 lisply-backend-start,请参考实际文档) ], "transport": "stdio", # 假设 MCP 服务器使用 Stdio 进行通信,根据实际情况配置 "protocol": "json-rpc" # MCP 协议通常使用 JSON-RPC // ... 其他 MCP 客户端配置 ... }
配置参数注释:
- '"serverName"': MCP 服务器的名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里是 'emacs',表示启动 Emacs 编辑器。
- '"args"': 传递给 'emacs' 命令的参数列表。
- '"-q"': 可选参数,禁用用户 Emacs 初始化文件,用于隔离环境,避免配置冲突。
- '"--load"': 加载 Emacs Lisp 文件的参数。
- '"~/.emacs.d/init.el"': 指向 Skewed Emacs 配置的 'init.el' 文件,确保加载 Skewed Emacs 的完整配置,包括 MCP 后端。 请根据实际安装路径调整。
- '"--eval"': 执行 Emacs Lisp 代码的参数。
- '"(lisply-backend-start)"': 关键参数,用于在 Emacs 启动后立即执行 'lisply-backend-start' 函数,该函数应该负责启动 Skewed Emacs 内置的 MCP 服务器。 请务必查阅 Skewed Emacs 的文档或源代码,确认实际的 MCP 服务器启动函数名称,并替换此处示例的 'lisply-backend-start'。
- '"transport"': MCP 服务器使用的传输协议,示例中假设为 '"stdio"' (标准输入输出),根据 Skewed Emacs MCP 后端的实际实现配置。
- '"protocol"': MCP 服务器使用的协议,通常为 '"json-rpc"'。
重要提示:
- MCP 服务器启动函数: 上述配置中的 '"(lisply-backend-start)"' 仅为示例,实际启动函数名称可能不同。你需要查阅 'skewed-emacs' 仓库中 'dot-files/emacs.d/sideloaded/lisply-backend' 目录下的文档或代码,找到正确的 MCP 服务器启动函数,并替换配置中的示例。
- 传输协议: '"transport": "stdio"' 仅为常见配置,Skwewed Emacs 的 MCP 后端可能支持其他传输协议(如 WebSocket 或 SSE),请根据实际情况调整。
- Emacs 配置: 确保你的 Emacs 环境已正确安装 Skewed Emacs 配置,并且 MCP 后端已正确集成并启用。
基本使用方法
- 启动 Emacs: 确保使用配置了 Skewed Emacs 的 Emacs 环境。
- 启动 MCP 客户端: 根据 MCP 客户端的文档,配置连接信息,指向上述配置中定义的 Emacs 启动命令和参数。
- 建立连接: 启动 MCP 客户端,客户端会根据配置连接到 Emacs 实例中运行的 MCP 服务器。
- 使用 AI 助手: 连接成功后,你可以使用支持 MCP 协议的 AI 助手与 Emacs 进行交互,例如让 AI 助手执行 Emacs Lisp 命令,操作文件和缓冲区等。 具体功能取决于 Skewed Emacs MCP 后端实现的工具和资源。
请参考 'skewed-emacs' 仓库中 'dot-files/emacs.d/sideloaded/lisply-backend' 目录下的 'README.md' 文件,获取更详细的 MCP 后端使用说明和配置信息。
信息
分类
开发者工具