lsp-client

一个生产就绪、异步优先的Python语言服务器协议客户端。

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:lsp-client。
它的用途是:一个生产就绪、异步优先的Python语言服务器协议客户端。
完整的 Skill 内容见:https://321skill.com/skills/lsp-client/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

“我正在开发一个内部的代码审查工具,需要能分析Python代码的引用关系。帮我在项目中集成lsp-client,连接到本地的pylsp服务器,并写一个函数来查找指定文件中某个符号的所有引用位置。” 它会引导你安装lsp-client,创建自定义客户端类,并编写类似`client.request_references`的异步调用代码,最终返回一个包含所有引用位置信息的结构化列表。

介绍

lsp-client 解决了开发者在构建集成语言智能(如代码补全、定义跳转、引用查找)的工具时,需要精细控制和扩展性的难题。它提供了一个底层、强大且类型安全的Python SDK,让开发者能够直接与任何遵循LSP协议的语言服务器(如Pyright、Rust-Analyzer)进行通信,而无需依赖特定编辑器的插件体系。

使用起来非常直观。通过uv或pip安装后,你可以直接使用内置的客户端(如PyreflyClient)快速开始,或者通过组合能力混入(mixin)系统轻松定义自己的客户端类,仅包含你需要的功能(如代码悬停、定义跳转)。初始化时,它会自动与服务器协商能力并进行严格的兼容性检查,确保运行时稳定。

这个Skill非常适合那些正在开发IDE插件、代码分析工具、自定义编辑器或需要将语言智能嵌入到其产品中的开发者。它提供了对LSP协议最底层的控制权,让你可以定制通信的每一个环节。

建议在需要与多种语言服务器交互或构建生产级开发工具时使用。请注意,它本身不包含语言服务器,你需要自行安装和配置目标语言服务器(如pylsp、rust-analyzer)。

核心特点

与许多封装了特定编辑器API的LSP库不同,lsp-client是一个纯粹、独立的协议客户端,提供对LSP 3.17规范的完整、细粒度控制。其独特的“能力混入”系统实现了零开销的智能能力管理,确保客户端只暴露已向服务器注册并确认可用的方法,从设计上避免了运行时能力不匹配的错误。

注意事项

不适合只想在现有编辑器(如VSCode)中使用LSP功能而无需二次开发的普通开发者。

常见问题

lsp-client和VSCode的LSP插件有什么区别?

lsp-client是一个独立的Python库,用于在你自己开发的工具中集成LSP,而VSCode插件是在VSCode环境中运行的。前者给你完全的编程控制权。

我需要自己安装语言服务器吗?

是的,lsp-client只负责通信,你需要单独安装并配置如pylsp、rust-analyzer等具体的语言服务器程序。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/lsp-client/raw/index.md 读取 lsp-client 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。