Skip to main content

st-diagnose

Token 占用诊断。当用户想了解 CodeBuddy Token 占用情况、诊断环境配置、查看 MCP/Skill/Plugin/Rules/CODEBUDDY.md 的 Token 消耗时使用。

来源信息

仓库
studyzy/save-token
最近来源活动
2026年7月9日 09:45
检测到的 SKILL.md 语言
中文
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
st-diagnose
description
Token 占用诊断。当用户想了解 CodeBuddy Token 占用情况、诊断环境配置、查看 MCP/Skill/Plugin/Rules/CODEBUDDY.md 的 Token 消耗时使用。
allowed-tools
Read, Write, Bash, AskUserQuestion
# st-diagnose: Token 占用诊断 调用 `st diagnose` CLI 命令诊断当前 CodeBuddy 环境的 Token 占用情况,向用户呈现结构化的诊断报告。 ## 工作流 ### 步骤 1: 检测 st 命令 执行以下命令检测 `st` 是否已安装: ```bash which st || echo "NOT_FOUND" ``` **如果输出 `NOT_FOUND`**:向用户报告: ``` st CLI 工具未安��。请执行以下命令安装: npm install -g save-token 安装后重新运行诊断。或访问 https://github.com/studyzy/save-token 获取更多信息。 ``` 停止执行。 ### 步骤 2: 执行诊断 执行诊断命令,使用 JSON 格式输出以便解析: ```bash st diagnose --format json ``` **参数说明**: - `--format json`: 输出结构化 JSON,供后续解析 - 如需跳过 headless 探针(仅文件扫描),追加 `--no-headless` ### 步骤 3: 解析诊断结果 解析 JSON 输出。关键字段: - `dataSource`: 数据来源(`proxy` 最精确, `headless` 次之, `fs-only` 保底) - `scanTimestamp`: 采集时间戳 - `contextOverview.totalEstimatedTokens`: 总 Token 估算 - `contextOverview.breakdown[]`: Token 分布明细(按类别) - `mcpList[]`: MCP 工具列表及 Token 估算 - `skillList[]`: Skill 列表 - `pluginList[]`: Plugin 列表 - `configFiles[]`: 配置文件摘要 - `toolDetection[]`: 已安装省 Token 工具检测 - `warnings[]`: 潜在问题警告 ### 步骤 4: 格式化呈现 向用户展示结构化的诊断报告: 1. **总览**: Token 总占用 + 数据来源 + 采集时间 2. **Token 分布**: 按类别展示占用情况(MCP / Skill / Plugin / Rules / CODEBUDDY.md / History),突出高占用项 3. **MCP 列表**: 每个 MCP 的名称、状态、工具数、Token 估算 4. **Skill 列表**: Skill 数量和来源(user/project/marketplace),标注重复 Skill 5. **Plugin 列表**: 已安装插件 6. **配置文件**: CODEBUDDY.md 大小、settings.json、历史文件大小 7. **工具检测**: 已安装的省 Token 工具状态(rtk/caveman/headroom/lean-ctx/graphify) 8. **警告**: 展示 `warnings[]` 中的潜在问题 ## 异常处理 ### st diagnose 执行失败 如果 `st diagnose` 返回非零退出码或 JSON 解析失败: 1. 展示原始错误输出 2. 说明可能的原因(如 headless 探针不可用) 3. 建议使用 `st diagnose --no-headless` 重试(仅文件扫描) 4. 如果 `--no-headless` 也失败,建议检查 st CLI 版本:`st --version` ### JSON 输出解析失败 如果 stdout 不是有效 JSON: 1. 展示原始输出 2. 说明解析失败 3. 建议检查 st CLI 版本 ## 输出示例 诊断完成后,使用以下结构向用户呈现: ``` ## Token 占用诊断报告 **数据来源**: proxy(最精确) **采集时间**: 2026-07-09 10:00:00 **总 Token 估算**: 31,200 tokens ### Token 分布 - MCP 工具定义: 15,000 tokens (48%) - Skill 定义: 5,000 tokens (16%) - Rules: 3,200 tokens (10%) - CODEBUDDY.md: 2,800 tokens (9%) - Plugin 定义: 2,000 tokens (6%) - 历史文件: 1,200 tokens (4%) - 其他: 2,000 tokens (7%) ### MCP 列表 | 名称 | 状态 | 工具数 | Token 估算 | |------|------|--------|------------| | headroom | enabled | 4 | ~800 | | cnb | enabled | 12 | ~2,400 | | tdesign | enabled | 8 | ~1,600 | ... ### 工具检测 - rtk: 未安装 - caveman: 未安装 - headroom: 已安装 ✓ ### 警告 - MCP 工具数量较多(5 个),建议检查是否有低频使用的工具 - CODEBUDDY.md 文件较大(350 行),建议精简 ```
在 GitHub 查看