Skip to content

实现统一 LSP 工具及多语言适配接口 #12

Open

Description

@rojim666

背景

工具系统设计文档已经描述 LSP 能力,但核心运行时尚未实现对应工具。缺少统一语言服务接口会迫使 Agent 依赖文本搜索,也无法充分利用不同语言的类型、诊断和引用信息。

工作范围

  • 定义与具体语言服务器无关的 LSP 工具协议。
  • 首期接入 Pyright 和 TypeScript Language Server。
  • 管理语言服务器启动、复用、超时和退出。
  • 标准化位置、诊断及错误结果。

验收标准

  • 支持 definition、references、hover、symbols 和 diagnostics 操作。
  • Python 与 TypeScript 使用同一工具输入输出模型。
  • 工具结果不泄漏语言服务器私有数据结构。
  • 语言服务器不可用或超时时回退到文本搜索。
  • 工作区切换时正确释放或复用服务器进程。
  • 添加跨文件定义跳转、引用查询和诊断测试。

依赖

  • 可与项目符号索引融合,但不阻塞索引的独立实现。
  • 后续框架识别和 Multi-SWE-bench 评测使用本能力。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions