别让你的 AI 助手在代码海里“裸奔”了。
最近高强度使用 Claude Code、Cursor 这些 AI 编程工具,不知道大家有没有同感:它们写代码很强,但“找代码”真的很弱。
更离谱的是,虽然 Claude Code 早期宣称支持 LSP,但实际体验 BUG 满天飞。细心的朋友可能发现了,在最近的版本更新中,官方甚至悄悄删除了 LSP 相关的 System Prompt。
这意味着什么?意味着官方短期内可能根本搞不定这玩意儿,你的 Agent 只能继续用 grep 在代码堆里“盲人摸象”。
当你问它“这个 UserService 在哪被调用过?”或者“帮我重构一下这个接口”,它通常的操作是:
grep -r "UserService" .- 面对几百个搜索结果发呆。
- 随机打开几个文件看看。
- 运气好猜对了,运气不好就胡编乱造,或者干脆把上下文窗口撑爆。
这就像让一个资深程序员用 记事本 写 Java 项目 —— 空有一身武艺,奈何工具太烂。
市面上的其他方案(比如 Serena)大多只是简单粗暴地把 LSP 原始 JSON 扔给 LLM。这种做法不仅费 Token,而且慢得要死——Agent 往往需要往返交互十几次才能搞懂一个函数的上下文。
实在受不了这个效率,我决定自己动手,给 AI Agent 造一套真正的 IntelliSense(智能感知)系统 —— lsp-skill。
🚀 为什么 grep 不够用?
人类程序员写代码离不开 IDE 的跳转、引用查找和自动补全。AI 其实也一样。
传统的 Agent 代码搜索流程(基于文本匹配):
- ❌ 无法区分语义:搜
User把注释里的 User 也搜出来了。 - ❌ 没有类型信息:不知道这个变量是
string还是object。 - ❌ 缺乏全局视野:不敢轻易重构,怕改了一个文件挂了整个项目。
lsp-skill 的方案(基于语义分析): 它不只是一个 LSP 客户端,它中间加了一层 LSAP (Language Server Agent Protocol),专门把 LSP 的复杂协议翻译成 LLM 能秒懂的 Markdown。
✨ 核心能力:不仅是“读”,更是“写”
市面上绝大多数类似工具都停留在“只读”阶段(查定义、找引用),但 lsp-skill 做了两件不一样的事:
1. ⚡️ One-Shot Context(一发入魂)
别让 Agent 来回折腾了。
- 以前:Agent 发请求 -> 拿到文件列表 -> 读文件 -> 提取代码 -> 只有片段。
- 现在:Agent 发送
lsp reference-> 直接返回格式化好的 Markdown(包含定义、文档、所有引用处的代码片段)。
1 轮对话,搞定上下文。
2. 🛡️ Safe Refactoring(安全重构)
这是我最喜欢的功能:Rename Preview(重命名预览)。
当 Agent 想要重构代码时,它不再是盲目地 sed 替换。
lsp-skill 会先生成一个 跨文件的 Diff 预览。
Agent(或者你)可以先审查这个 Diff,确认没问题了,再执行。
这意味着:AI 终于可以安全地处理大型遗留代码的重构任务了,不用担心把隔壁模块搞挂。
🛠️ 架构设计:为什么是 "Skill" 而不是 "Tool"?
我们在设计时做了一个关键决策:不直接做成简单的 MCP Tool,而是做成 Skill。
| 层级 | 类比 | 职责 |
|---|---|---|
| Tool | 一把锤子 | 执行单个原子操作 |
| Skill | 专业技师的手册 | 定义工作流 + 最佳实践 |
通过 Skill 架构,我们实现了 渐进式知识注入:
- 你的项目是 React?自动加载前端最佳实践。
- 你的项目是 Django?自动加载后端模式。
Agent 不是在一开始就被塞满所有文档,而是按需加载。这极大地节省了 Token,也提高了 Agent 的专注度。
🌍 极强的扩展性
不仅支持 Python, TypeScript, Go, Rust, Deno 这些主流语言,我们还设计了一套 社区驱动的扩展机制。
你不需要懂复杂的 Rust/Go 代码,只需要写 Markdown 就能扩展它!
想教 Agent 怎么写 React 组件?
写一个 bp_frontend_react.md 放到配置里,Agent 就能学会你的团队规范。
Fork -> 添加你的 Markdown -> 提 PR。就是这么简单。
📦 怎么用?
项目完全开源(MIT 协议),支持所有兼容 MCP (Model Context Protocol) 的工具,包括 Claude Code, Cursor 等。
- 安装:参考文档配置 MCP server。
- 使用:在你的 Agent 对话中直接让它 "使用 lsp skill 分析一下这个函数"。
传送门:
- 🔗 GitHub: github.com/lsp-client/…
- 📄 文档: lsp-client.github.io/
写在最后
AI 编程的未来不仅仅是更强的模型,更是更好的工具链。 JetBrains 靠 PSI 引擎统治了 IDE 时代,而在这个 AI Agent 爆发的时代,我们需要一套更轻量、更语义化、更适合 LLM 的协议。
lsp-skill 就是在这个方向上的一次尝试。如果你也受够了 Agent 像无头苍蝇一样乱翻代码,不妨试试这个项目。
觉得不错的话,GitHub 点个 Star 🌟 支持一下!
#AI编程 #开源项目 #ClaudeCode #LSP #效率工具