无头代码编辑器服务

一个基于语言服务器协议(LSP)和模型上下文协议(MCP)的无头代码编辑器,提供代码智能和AI辅助的代码操作功能。

  • by oakenai
  • TypeScript
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 oakenai/headless-editor-mcp

使用说明

无头代码编辑器MCP服务器

一个强大的、与语言无关的无头代码编辑器,利用语言服务器协议(LSP)进行代码智能,利用模型上下文协议(MCP)进行人工智能辅助代码操作。

特性

  • 语言智能的LSP集成
  • 通过严格的访问控制确保文件系统操作的安全
  • 基于会话的编辑与状态管理
  • Types/JavaScript语言支持,深入分析
  • React组件检测和操作
  • 保留格式的编辑操作
  • 全面的日志记录和错误跟踪

安装

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

用法

启动服务器

# Start with allowed directory
node build/index.js /path/to/workspace

# Start with multiple allowed directories
node build/index.js /path/to/workspace1 /path/to/workspace2

MCP工具

  1. start_session:创建新的编辑会话
  2. edit_code:将编辑应用于代码
  3. validate_code:验证当前代码状态
  4. close_session:清理并结束会议

集成示例

const client = new Client(
  { name: "example-client", version: "1.0.0" },
  { capabilities: {} }
);

// Connect to server
const transport = new StdioClientTransport({
  command: "node",
  args: ["./build/index.js", "/workspace"]
});

await client.connect(transport);

// Start session
const result = await client.request({
  method: "tools/call",
  params: {
    name: "start_session",
    arguments: {
      filePath: "/workspace/example.ts",
      languageId: "typescript"
    }
  }
});

建筑

  • LSP经理:协调语言服务器生命周期和通信
  • 文件管理员:处理文档状态和同步
  • 会话管理器:管理编辑会话和状态
  • 编辑运营经理:处理和验证代码编辑
  • 文件系统管理器:提供安全的文件系统访问

安全功能

  • 路径验证和规范化
  • 通过允许的目录进行访问控制
  • 输入净化
  • 文件系统操作边界
  • Symlink安全检查

未完成的任务

语言支持

  • []Python语言服务器集成
  • []Java语言服务器集成
  • []支持其他语言服务器

框架支持

  • []组件状态分析
  • []钩子依赖关系跟踪
  • []自动导入管理
  • []类型感知重构

编辑操作

  • []多文件编辑操作
  • []复杂的重构操作
  • []工作区范围内的更改
  • []冲突解决系统

演出

  • []操作批处理
  • []增量更新优化
  • []内存使用优化
  • []大文件处理改进

测试

  • []端到端测试套件
  • []性能基准
  • []负载测试
  • []跨平台测试

文档

  • []API文件
  • []集成指南
  • []部署指南
  • []故障排除指南

基础设施

  • []远程服务器支持
  • []配置系统
  • []插件架构
  • []工作区索引

监控

  • []性能指标
  • []运营分析
  • []健康监测
  • []资源使用情况跟踪

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

文档

建筑与设计

我们的文件包括:

  • 系统架构和设计原则
  • 组件交互和依赖关系
  • 框架集成模式
  • 语言服务器规格
  • 实施准则和最佳做法
  • 安全注意事项
  • 性能优化策略

有关其他文档需求,请参阅我们的“未完成任务”部分。

许可证

麻省理工学院

开发状态

目前处于alpha阶段(v0.0.10),具有基本的TypeScript/JavaScript支持和React组件分析。有关计划功能,请参阅“未完成任务”部分。