Chronicle 会话历史分析
从 Copilot 会话历史生成站会、使用建议并查找旧会话。
技能明确要求使用本地会话数据库查询,并提到可选云同步;查询被声明为只读且要求不得捏造结果,这是安全加分。但会话内容、文件路径和可能的云同步数据涉及敏感信息,未规定最小字段、脱敏、用户确认、权限边界或删除/重建失败后的回滚,因此扣分;reindex 还可能触发云同步外部效果。
前置设置、工具不可用时的反馈、本地 SQLite 与云端 DuckDB 方言、关键表结构和若干空结果处理均有说明,主路径较清晰。但依赖 copilot_sessionStoreSql、GitHub CLI/MCP 及其他未在技能内定义的能力,reindex 流程在所给材料中被截断,异常输入、SQL 错误、权限失败和同步失败的诊断与恢复不足;静态审查不支持超过10分,本项取7分。
触发词、standup、tips、cost-tips、improve、search 和 reindex 场景较明确,也说明了本地/云端差异及部分非适用范围。但能力边界、误触发抑制、版本兼容性和中文输出支持未充分声明;云端功能的网络可达性也未说明,不过核心本地功能不完全依赖海外服务,因此不作严重扣分。
文档按功能分层,包含前置设置、工具动作、查询规范、输出格式、空结果处理和若干限制;仓库 README、LICENSE、package 元数据提供 MIT、Microsoft 归属和仓库治理证据。但该技能自身没有版本、变更记录、维护责任人或明确更新路径,且引用的 agent-customization/init 技能及工具依赖未随技能安装说明交代完整,因此扣分。
技能覆盖会话汇总、搜索、使用分析、成本分析和索引维护,输出结构与禁止捏造规则使核心结果具有直接可用性。可是效果依赖会话索引、正确数据库方言、外部 GitHub 状态查询以及足够历史数据;tips/improve 的价值还依赖额外技能,且没有技能级代表性输出或执行证据。静态校准下不超过7分,取6分。
源文档给出了具体 SQL 谓词、表名、字段名、后端差异、输出模板和若干错误规避规则,具备一定可审计性。但没有该技能专属测试、固定样例数据、CI 覆盖或第三方执行结果,且部分依赖未提供实现证据;静态审查取3分。
- 执行前应明确告知用户会读取哪些会话字段,并对会话正文、文件路径和 PR 信息进行最小化展示或脱敏。
- reindex 可能重建本地索引并同步云端;应增加明确确认、失败反馈、同步范围说明和可恢复方案。
- tips、improve 和部分 PR 状态检查依赖未随本技能定义的工具或其他技能,部署时需验证这些依赖是否可用。
- 所给 SKILL.md 的 reindex 部分不完整,不能据此确认完整的维护、删除和异常处理行为。
它能做什么 & 适用场景
Chronicle 是 VS Code 仓库中用于分析 Copilot 会话历史的 Agent Skill。它通过 copilot_sessionStoreSql 工具查询会话、对话轮次、文件、引用和检查点,并支持本地 SQLite 及可选的云端同步数据。它可以生成站会报告、分析使用模式、搜索历史会话、重建会话索引,并指导用户删除会话同步数据。使用前必须启用 github.copilot.chat.localIndex.enabled;仓库整体采用 MIT 许可证。
调用 copilot_sessionStoreSql 执行只读 SQL 查询,读取 sessions、turns、session_files、session_refs 和 checkpoints 等会话数据;按最近 24 小时生成按分支或工作流分组的站会报告,并检查相关 PR 状态;分析最近会话中的提示、工具、文件和工作流模式,给出 3-5 条使用建议;在云端数据可用时分析模型和事件级令牌使用情况,在本地数据中使用会话长度、重复文件读取和工具调用等代理指标;跨会话摘要、对话内容、文件路径和 PR/问题/提交引用搜索历史;通过 reindex 操作重建本地索引并执行云同步;引导用户使用 Delete Session Sync Data 命令删除会话数据。
- 每天开始工作时,开发者希望根据过去 24 小时的 Copilot 活动生成一份站会报告。
- 开发者想按关键词、文件路径或 PR 编号查找过去处理过的 Copilot 会话。
- 希望改进 Copilot 工作流的用户,需要基于实际提示、工具调用和文件访问模式获得具体建议。
- 需要降低 VS Code Chat 使用成本的用户,希望分析令牌、模型、长会话或重复读取模式。
- 会话索引不完整或刚启用同步的用户,需要重建本地会话索引并刷新云端同步。
- 需要清理历史记录的用户,希望了解如何从本地和云端删除会话同步数据。
优缺点一览
- 覆盖站会、使用分析、历史搜索和索引维护等完整的会话管理流程。
- 站会不会只依赖 PR;没有 PR 的会话也会作为候选工作项分析。
- 搜索同时覆盖摘要、对话、文件路径以及 PR、问题和提交引用。
- 能够区分本地 SQLite 和云端 DuckDB,并针对可用数据采用不同的分析方法。
- 必须启用 github.copilot.chat.localIndex.enabled,并且运行环境必须提供 copilot_sessionStoreSql 工具。
- 本地 SQLite 不记录每个事件的令牌使用量;精确令牌级成本分析需要启用 chat.sessionSync.enabled。
- 云端同步包含跨设备访问能力,但资料没有说明其数据保留、隐私或权限细节。
- 资料未提供独立安装命令、测试套件或跨平台验证信息。
如何安装
Chronicle 位于 https://github.com/microsoft/vscode 的 extensions/copilot/assets/prompts/skills/chronicle/SKILL.md。提供的资料没有说明单独安装该 Skill 的命令或完整安装流程;它属于包含 61 个 Skill 的 VS Code 单仓库集合。采用前应确认运行环境能够提供 copilot_sessionStoreSql 工具,并在 VS Code 设置中将 github.copilot.chat.localIndex.enabled 设为 true。
如何使用
在支持该 Skill 的环境中直接提出请求,例如“/chronicle standup”“/chronicle search authentication”“/chronicle reindex”或“给我一些改进 Copilot 工作流的建议”。成本分析可使用“/chronicle cost-tips”,指令改进可使用“/chronicle improve”。如果 copilot_sessionStoreSql 不可用,应先启用 github.copilot.chat.localIndex.enabled;删除数据则运行命令面板中的 Delete Session Sync Data 命令。