Copilot 会话故障诊断
基于会话日志解释 Copilot CLI 为何出现异常行为。
技能明确限定为当前 Copilot CLI 会话,并要求依据会话日志取证;数据来源和读取方式透明,且没有写入、删除或外部副作用。不过日志可能包含提示词、工具参数和敏感内容,未提供脱敏、最小化披露、用户确认、访问权限边界或恢复说明,因此扣分。
步骤、事件格式、日志定位和失败反馈较完整,涵盖普通会话日志与本地代理主机线日志;但未见针对关键路径的专门测试,部分定位依赖“最新修改”启发式,且跨平台命令、日志轮换和大型日志处理仍有未验证边界。按静态评估上限扣分,不能证明高于7分。
触发场景、Copilot CLI适用范围、非适用情况及普通问题与传输问题的区分较清楚;但能力依赖本机可访问的特定日志路径和终端工具,对远程主机、非标准配置及中文用户的输出适配说明不足,因此扣分。
文档结构良好,采用目的、日志定位、数据格式、工作流和响应规范的渐进式说明;仓库提供MIT许可证、Microsoft归属和版本信息。但技能自身没有版本、变更记录、维护责任或更新路径,也缺少安装说明、FAQ和示例输出,因此扣分。
对于解释工具调用、延迟、技能加载和代理连接问题,预期能产出基于日志的根因与修复建议,核心价值明确;但没有该技能专属的可复现输出或验证记录,结果完整性依赖日志存在、格式正确及模型正确解析,因此按静态上限保守扣分。
技能要求关键结论必须来自事件日志,并给出结构化事件字段和配对规则,具备一定审计性;但提供的CI和测试文件未覆盖该SKILL.md的关键路径,也没有第三方执行证据或样例日志复现,因此仅给有限静态可验证性。
- 日志内容可能包含用户提示、工具参数或其他敏感信息;技能未说明脱敏、保留期限或向用户展示前的最小化处理。
- “最新修改的events.jsonl或wire log”可能在多会话、日志轮换或并发写入时选错目标;应要求用户确认路径或会话标识。
- 功能依赖本机Copilot CLI会话日志和终端访问;远程代理主机、非标准用户数据目录及日志未启用时可直接失效。
- 未提供该技能专属测试、示例日志或版本变更记录,结论应视为辅助诊断并由用户复核。
它能做什么 & 适用场景
该技能用于调查当前 Copilot CLI agent 会话中的异常行为。它分析会话事件日志,解释响应变慢、工具调用异常、指令或技能未加载以及工具失败等问题。遇到连接、超时或协议错误时,它还可检查本地 VS Code agent host 的通信日志。它位于 microsoft/vscode 仓库的 61 个技能集合中,仓库采用 MIT 许可证。
技能会定位目标会话的 events.jsonl,检查文件大小,并通过终端使用流式 jq 或 Node.js 读取。它统计事件类型,列出用户消息,配对工具调用的开始与完成事件并计算耗时,检查失败结果,并根据需要分析 VS Code agent host 的 AHP JSONL 通信日志。输出应基于日志证据说明发生了什么、原因和修复建议。
- Copilot CLI 用户想知道某次请求为何耗时过长时,使用它分析回合或工具调用耗时。
- 用户想确认某个工具为何被调用或没有被调用时,使用它检查会话事件记录。
- 技能、指令或 agent 文件没有加载时,使用它根据会话日志查找原因。
- 工具执行失败时,使用它定位失败结果和相关调用。
- 本地 VS Code agent host 卡在连接、请求超时或协议通信异常时,使用它检查通信日志。
优缺点一览
- 要求结论必须有会话日志证据支持,减少猜测。
- 覆盖请求延迟、工具调用、加载失败和工具错误等常见诊断场景。
- 对大型日志采用流式处理,并提供工具耗时和事件统计思路。
- 核心范围限定为 Copilot CLI agent 会话,不能直接诊断任意应用日志。
- 需要访问会话日志所在的本地文件系统和终端。
- wire log 仅适用于本地 agent host,且 VS Code 默认可能未启用该日志。
- 提供的资料没有展示测试套件或独立安装流程。
如何安装
该技能属于 https://github.com/microsoft/vscode 中的技能集合,路径为 src/vs/sessions/skills/troubleshoot/SKILL.md。提供的资料没有说明集合或单个技能的独立安装命令;不要据此推断额外安装步骤。
如何使用
在 Copilot CLI 会话中提出具体问题,例如“为什么这次请求这么慢?”、“为什么没有调用某个工具?”或“为什么这个技能没有加载?”。如消息中提供 Session log 路径,使用该路径;否则按技能定义自动寻找最近修改的会话日志。只有症状涉及 agent host 或传输层时,才检查本地 VS Code wire log。