161 lines
3.7 KiB
Markdown
161 lines
3.7 KiB
Markdown
---
|
|
name: serena-status
|
|
description: "查询 Serena 索引状态和健康度,提供详细的索引统计信息"
|
|
category: monitoring
|
|
complexity: simple
|
|
mcp-servers: [serena]
|
|
personas: [monitor]
|
|
---
|
|
|
|
# /serena-status - Serena 索引状态查询
|
|
|
|
## Triggers
|
|
- 需要检查索引是否最新
|
|
- 索引响应变慢时诊断
|
|
- 定期维护和监控
|
|
- 验证索引完整性
|
|
|
|
## Usage
|
|
```
|
|
/serena-status [options]
|
|
|
|
Options:
|
|
--detailed # 显示详细的统计信息
|
|
--health # 执行健康度检查
|
|
--performance # 显示性能指标
|
|
--format json|table|markdown # 输出格式
|
|
```
|
|
|
|
## Behavioral Flow
|
|
1. **索引检测**: 检查 .serena 目录和元数据文件
|
|
2. **统计分析**: 分析索引文件大小、符号数量、更新时间
|
|
3. **健康评估**: 评估索引完整性和性能状态
|
|
4. **建议输出**: 提供维护建议和优化选项
|
|
|
|
## Examples
|
|
|
|
### 基本状态查询
|
|
```
|
|
/serena-status
|
|
# 输出:
|
|
# 📊 Serena 索引状态
|
|
#
|
|
# 项目: /Users/zephyr/my-project
|
|
# 状态: ✅ 健康
|
|
# 上次索引: 2小时前 (2025-10-15 17:30:45)
|
|
# 索引文件: 94 个 Go 文件
|
|
# 提取符号: 1,248 个
|
|
# - 函数: 453 个
|
|
# - 类: 127 个
|
|
# - 变量: 668 个
|
|
# 索引大小: 12.3 MB
|
|
#
|
|
# 建议: 索引状态良好,无需更新
|
|
```
|
|
|
|
### 详细状态查询
|
|
```
|
|
/serena-status --detailed
|
|
# 输出:
|
|
# 📊 Serena 详细索引状态
|
|
#
|
|
# 🗂️ 索引文件信息:
|
|
# - project_index.json: 8.2 MB (主索引)
|
|
# - symbols_functions.json: 2.1 MB (函数符号)
|
|
# - symbols_classes.json: 1.8 MB (类符号)
|
|
# - symbols_variables.json: 3.2 MB (变量符号)
|
|
# - metadata.json: 15.6 KB (元数据)
|
|
#
|
|
# 📈 性能指标:
|
|
# - 平均查询时间: 45ms
|
|
# - 内存占用: 23.4 MB
|
|
# - 缓存命中率: 87%
|
|
# - 并发查询支持: ✅
|
|
#
|
|
# 🔄 更新历史:
|
|
# - 最后更新: 2025-10-15 17:30:45
|
|
# - 更新耗时: 4m 32s
|
|
# - 更新原因: 15 个文件变更
|
|
# - 更新策略: 增量更新
|
|
#
|
|
# 💡 优化建议:
|
|
# - 索引质量优秀,性能良好
|
|
# - 建议定期执行完整性检查
|
|
# - 可考虑启用智能缓存优化
|
|
```
|
|
|
|
### 健康检查
|
|
```
|
|
/serena-status --health
|
|
# 输出:
|
|
# 🔍 Serena 索引健康检查
|
|
#
|
|
# ✅ 索引完整性: 通过
|
|
# ✅ 符号可访问性: 通过
|
|
# ✅ 文件同步状态: 通过
|
|
# ✅ 缓存状态: 优秀
|
|
# ⚠️ 索引年龄: 2小时 (建议<6小时)
|
|
# ✅ 磁盘空间: 充足 (1.2GB 可用)
|
|
# ✅ 权限设置: 正常
|
|
#
|
|
# 🎯 总体健康度: 95/100 (优秀)
|
|
#
|
|
# 📋 维护建议:
|
|
# - 索引状态良好,建议保持当前配置
|
|
# - 可设置自动更新策略以保持索引新鲜度
|
|
```
|
|
|
|
### 性能分析
|
|
```
|
|
/serena-status --performance
|
|
# 输出:
|
|
# ⚡ Serena 性能分析
|
|
#
|
|
# 📊 响应时间统计:
|
|
# - 平均查询时间: 45ms
|
|
# - 95% 分位时间: 89ms
|
|
# - 最慢查询: 234ms (查找复杂符号)
|
|
# - 最快查询: 12ms (简单函数查找)
|
|
#
|
|
# 💾 内存使用分析:
|
|
# - 索引加载: 23.4 MB
|
|
# - 缓存占用: 8.7 MB
|
|
# - 查询缓存: 5.2 MB
|
|
# - 总内存占用: 37.3 MB
|
|
#
|
|
# 🚀 性能优化建议:
|
|
# - 索引性能优秀,无需优化
|
|
# - 可增加缓存大小以提升命中率
|
|
# - 考虑启用并行查询以提升复杂查询性能
|
|
```
|
|
|
|
## Output Format Options
|
|
|
|
### JSON 格式
|
|
```
|
|
/serena-status --format json
|
|
# 输出结构化的 JSON 数据,便于程序化处理
|
|
```
|
|
|
|
### Table 格式
|
|
```
|
|
/serena-status --format table
|
|
# 输出表格格式,便于快速浏览
|
|
```
|
|
|
|
### Markdown 格式
|
|
```
|
|
/serena-status --format markdown
|
|
# 输出 Markdown 格式,便于文档生成
|
|
```
|
|
|
|
## Integration with Other Commands
|
|
- 与 `/serena-index` 配合使用进行索引管理
|
|
- 与 `/serena-cleanup` 配合进行性能优化
|
|
- 支持 pipe 输出到其他工具
|
|
|
|
## Error Handling
|
|
- 索引不存在时提供清晰的指导
|
|
- 权限问题时提供解决方案
|
|
- 磁盘空间不足时发出警告
|
|
- 索引损坏时建议重建 |