name: audit-lsp description: 审计Claude代码LSP服务器配置以确保质量和合规性。用于创建或验证插件LSP服务器时,或排除代码智能问题。 argument-hint: [–force | --skip-validation] allowed-tools: Read, Bash, Glob, Grep, Task
审计LSP服务器命令
审计Claude代码LSP(语言服务器协议)服务器配置以确保质量和合规性。
初始化
在审计之前,初始化环境:
- 获取当前UTC日期用于审计时间戳。
- 捕获项目根路径用于子代理通信。
- 确保临时目录(
.claude/temp/)存在。 - 如果用户确认,清理任何过时的审计文件。
plugin-development技能提供权威验证指导(运行此命令时自动加载)。
审计内容
.lsp.json文件结构和有效性- LSP服务器配置字段
- 语言/文件类型关联
- 服务器命令和参数
- 插件清单
lspServers引用
命令参数
| 参数 | 描述 |
|---|---|
| (无) | 审计所有可发现的LSP配置 |
--force |
无论修改状态如何都进行审计 |
--skip-validation |
跳过发现验证(更快,但可能包含误报) |
步骤1:发现LSP配置
在以下位置搜索.lsp.json文件:
- 项目根目录(
.lsp.json) - 插件目录(
plugins/*/.lsp.json) - 用户插件目录
同时检查plugin.json清单中的lspServers字段引用。
构建发现的LSP配置列表,包括其范围(项目、插件或用户)和完整路径。
如果未找到LSP配置,报告此情况并提供如何创建一个的指导。
步骤2:解析参数
检查命令参数中是否存在--force标志。基于发现的配置和强制标志构建审计队列。
步骤3:呈现审计计划
显示审计模式(SMART或FORCE)、发现的配置,并列出每个配置的范围和最后修改日期。
步骤4:执行审计
对于每个LSP配置,使用以下上下文启动plugin-component-auditor子代理:
- 范围(项目、插件或用户)
.lsp.json文件的完整路径- 关联的插件清单(如果适用)
- 最后审计日期或“从未审计过”
- 当前审计日期
- 项目根路径
当存在多个配置时,并行运行子代理。
子代理将发现结果写入.claude/temp/,包括JSON(用于恢复/聚合)和Markdown(用于人工审查)。主对话线程收集结果并使用其Write/Edit工具更新审计日志。
步骤4.5:验证发现
除非存在--skip-validation标志:
- 使用以下参数启动
audit-finding-validator代理:project_root:捕获的项目根路径audit_type:“lsp”audit_files:.claude/temp/audit-*-lsp-*.json文件路径列表
- 等待验证完成
- 读取带有验证结果的更新JSON文件
- 在聚合之前完全过滤掉FALSE_POSITIVE发现
- 注意:过滤后的发现记录到
.claude/temp/audit-filtered-findings.json
如果存在--skip-validation标志:
- 完全跳过验证阶段(保持当前速度)
- 呈现所有发现而不进行过滤
- 在摘要中注明:“验证:已跳过”
步骤5:最终摘要
报告审计的总配置数、按范围分类的结果和详细信息表。列出配置或服务器问题及修复步骤。
包括验证统计信息(如果执行了验证):
- 验证执行:是/否
- 验证发现数:X
- 过滤误报数:Y
- 已验证发现数:Z
- 未验证发现数:W
重要说明
LSP配置要求
LSP配置必须指定有效的服务器命令、正确的语言关联和初始化选项。
配置位置
| 位置 | 目的 |
|---|---|
.lsp.json(项目根目录) |
项目特定的LSP服务器 |
plugins/*/.lsp.json |
插件提供的LSP服务器 |
插件清单lspServers |
LSP配置的引用 |
常见LSP服务器类型
- TypeScript/JavaScript语言服务器
- Python语言服务器
- Go语言服务器
- 自定义领域特定服务器
审计日志位置
所有审计结果写入.claude/audit/lsp.md。
使用/audit-log lsp查看当前审计状态。
使用示例
示例1:审计所有LSP配置
用户:/audit-lsp
Claude:正在发现LSP配置...
## 审计计划
**模式**:SMART
**发现配置数**:2
1. [项目] .lsp.json
2. [插件] plugins/typescript/.lsp.json
[启动plugin-component-auditor子代理]
## 审计完成
| 范围 | 配置 | 结果 | 分数 |
| --- | --- | --- | --- |
| 项目 | .lsp.json | 通过 | 100/100 |
| 插件 | typescript/.lsp.json | 通过 | 95/100 |
示例2:强制审计
用户:/audit-lsp --force
Claude:正在审计所有LSP配置(强制模式)...