AI Engineer Coach架构揭秘:从日志解析到可视化仪表盘的完整数据流指南

发布时间:2026/9/25 2:07:38
AI Engineer Coach架构揭秘:从日志解析到可视化仪表盘的完整数据流指南 AI Engineer Coach架构揭秘从日志解析到可视化仪表盘的完整数据流指南【免费下载链接】AI-Engineering-Coachbetter agentic engineering项目地址: https://gitcode.com/gh_mirrors/ai/AI-Engineering-CoachAI Engineer Coach是一款本地优先的 AI 编码助手使用日志分析工具它读取你机器上 VS Code、Xcode 以及 Copilot、Claude、Codex 等各类 AI 编码代理harness的会话日志将其转化为可视化分析仪表盘与反模式检测报告全程数据不出本机。本文将带你拆解它日志解析 → 分析计算 → 仪表盘渲染的完整架构帮助你理解一个生产级 VS Code 扩展是如何高效处理海量本地日志的。整体架构四级本地数据流水线 AI Engineer Coach 的数据流是一条清晰的单向流水线四个阶段各司其职阶段核心模块职责① 日志发现src/core/parser.ts扫描本机各 AI 工具的日志目录② 离进程解析src/core/parse-worker.ts在隔离进程中解析日志带缓存加速③ 分析计算src/core/analyzer.ts11 个专业分析器产出统计指标④ 可视化渲染src/webview/panel.tsWebview 仪表盘通过 RPC 按需取数这种主进程轻、计算重活外包给 Worker的设计是它能流畅处理数 GB 日志的关键。下面逐级拆解。第一级多 harness 日志发现 入口 src/extension.ts 在激活时注册命令并异步加载规则层而日志目录的发现由findLogsDirs()完成——它合并了 VS Code 系列目录与 Xcode 目录随后按路径特征分拣。不同 AI 工具的日志格式千差万别项目为每个 harness 编写了专用解析器统一汇聚到 src/core/parser.ts 的编排层VS Code / Copilot App / Copilot CLIsrc/core/parser-vscode.tsCodexsrc/core/parser-codex.tsClaude Codesrc/core/parser-claude.tsXcodesrc/core/parser-xcode.ts其他外部 harness 统一收集src/core/parser-harnesses.ts解析结果最终归一化为 src/core/types/session-types.ts 中定义的Session/SessionRequest结构——包含消息、工具调用、Token 用量、编辑文件、推理强度等几十个字段为后续所有分析提供统一的数据底座。第二级离进程解析与缓存加速 ⚡日志解析是 CPU 和内存密集型操作项目把整个解析过程放进独立 Worker 进程src/core/parse-worker.ts让它拥有独立的堆内存上限即使解析大文件也不会拖垮 VS Code 主进程。几个值得一提的工程细节预取字节预算解析前批量预读日志文件但用COLD_PARSE_MAX_PREFETCH_BYTES冷解析时 64MB限制总字节数防止 I/O 管道化时内存尖峰导致 OOM流式分块 确认窗口解析结果按会话分块流式回传主进程src/core/parse-chunking.ts最多允许 4 个未确认块在途避免 IPC 缓冲区积压实时遥测Worker 持续上报内存、CPU 等指标src/core/worker-telemetry.ts加载界面直接展示资源压力双层缓存内存缓存 磁盘缓存src/core/cache.ts通过目录元信息mtime/大小判断是否失效热启动近乎秒开解析进度被细分为 6 个阶段发现目录 → 检查缓存 → 解析日志 → 扫描外部 harness → 准备分析 → 就绪加载界面甚至有一个工作区网格逐格点亮让用户清楚知道进度卡在哪。第三级Analyzer 门面与 11 个专业分析器 src/core/analyzer.ts 采用门面Facade模式对外暴露统一的分析方法内部则委托给 11 个单一职责的分析器且各自结果带缓存避免重复计算分析器服务页面产出示例DashboardAnalyzerDashboard练习评分、周环比趋势TimelineAnalyzerTimeline甘特式会话时间线、重叠检测ProductionAnalyzerOutput按语言/模型/工作区的 AI 代码量PatternsAnalyzerPatterns7×24 活跃热力图、工作生活平衡ContextAnalyzerContext Health上下文健康评分、agentic 就绪检查InsightsAnalyzerInsights个性化洞察与建议面板打开时warmUp()会优先在 src/core/warm-up-worker.ts 里预热最耗时的反模式与配置健康计算失败则优雅回退到主线程同步计算——这正是用户永远看不到卡死界面的底层保障。第四级Webview RPC 与仪表盘渲染 ️可视化层是单例的DashboardPanelsrc/webview/panel.ts创建 Webview 后先发起日志解析解析与预热期间渲染带进度、遥测的加载页数据就绪后前端 src/webview/app.ts 的各页面如 src/webview/page-dashboard.ts、src/webview/page-timeline.ts通过消息协议向后端发起 RPCsrc/webview/panel-rpc.ts 做参数校验与方法分发把请求路由到 Analyzer 对应方法结果序列化为 JSON 返回这套前端页面 RPC 路由 分析门面的三层分离让每个仪表盘页面保持轻薄重计算全部集中在可缓存的分析器上。规则引擎45 条 Markdown 规则与内置 DSL 反模式检测Anti-Patterns是 AI Engineer Coach 最有特色的能力45 条规则全部以 Markdown 编写存放在 src/core/rules/例如 vibe-coding.md、yolo-mode.md。规则体系有三个亮点三层存储内置规则、个人规则~/.ai-engineer-coach/rules/、项目规则工作区.ai-engineer-coach/rules/可叠加覆盖由 src/core/rule-engine.ts 统一管理信任门Trust Gate本地自定义规则会执行 DSL 表达式因此 src/core/rule-trust.ts 用 sha256 哈希记录审批状态文件被篡改后会要求重新审批——安全设计直接内建在数据流里自研 DSLsrc/core/dsl/index.ts 实现了完整的词法分析器 → 解析器 → 解释器lexer/parser/interpreter把messageLength 2000 toolCount 0这类表达式编译成可执行谓词配合 src/core/metric-engine.ts 支持指标聚合与校准Rule Editor 页面甚至允许你用自然语言让 AI 生成规则再对真实数据做live 测试——规则即数据改规则无需重启扩展。隐私设计Local-First 原则 ️只读扩展从不修改任何会话日志文件本地分析解析与统计全部在本机完成无遥测回传AI 功能可选规则编译、技能查找等仅在用户显式调用时使用 VS Code 内置语言模型 API同源复用同一套 Webview 包也能作为 Canvas 在 GitHub Copilot App 内运行src/canvas/host.ts解析逻辑完全复用源码速览 想继续深挖建议按数据流顺序阅读扩展入口与激活流程src/extension.ts解析编排与缓存策略src/core/parser.ts、src/core/cache.ts解析 Worker 与流式传输src/core/parse-worker.ts分析器门面与预热src/core/analyzer.ts、src/core/warm-up-worker.tsRPC 分发与仪表盘src/webview/panel-rpc.ts、src/webview/page-dashboard.ts规则与 DSLsrc/core/rules/、src/core/dsl/官方文档站点内容docs/content/从日志发现到仪表盘渲染AI Engineer Coach 用Worker 隔离 分块流式传输 双层缓存 分析器门面四板斧把数 GB 的 AI 会话日志变成了流畅可用的可视化洞察。如果你正在做数据密集型 VS Code 扩展这套架构值得逐行借鉴。【免费下载链接】AI-Engineering-Coachbetter agentic engineering项目地址: https://gitcode.com/gh_mirrors/ai/AI-Engineering-Coach创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考