AI Code Acceptance Tracker

智能追踪 AI 代码补全的接受率、保留率和质量指标
实时统计 Tab 补全和 Agent 代码块的接受情况,支持 Prometheus + Grafana 团队级监控
⚡ 核心能力
📊 智能追踪
- Tab 补全追踪 - 精确捕获 GitHub Copilot、Tabnine 等工具的补全接受/拒绝
- Agent 代码块追踪 - 监控 Claude、ChatGPT、Cursor AI 生成的多行代码
- 撤销检测 - 实时检测 Cmd+Z 撤销操作,支持多步撤销和延迟撤销
- 保留率分析 - 追踪代码是否被保留在项目中,评估长期价值
📈 多维度统计
- 接受率统计 - 按语言、时间、作者、IDE 多维度分析
- 代码质量分析 - 修改率、存活时长、错误率等质量指标
- 生产力评估 - 节省时间、输入减少率、字符统计
- 团队对比 - Git 作者 × IDE 交叉统计,识别最佳实践
🔍 可视化监控
- 侧边栏视图 - 实时显示统计概览
- Webview 面板 - 详细图表和趋势分析
- Prometheus + Grafana - 生产级团队监控仪表板
- 数据导出 - JSON 格式导出,支持自定义分析
💻 多 IDE 支持
自动检测并统计:VSCode、Cursor、CodeBuddy、Qoder、Kiro、Trae 等
🚀 快速开始
安装插件
code --install-extension ai-code-acceptance-tracker-1.3.13.vsix
查看统计
- 点击左侧边栏 "AI Code Acceptance" 图标
- 或执行命令:
AI Acceptance: Show Statistics
配置监控(可选)
# 启动 Prometheus + Grafana
./scripts/quick-start.sh
# 访问 Grafana: http://localhost:3000 (admin/admin)
📊 核心指标
Tab 补全统计
- 接受率 - 触发次数 vs 接受次数比例
- 拒绝率 - 撤销/忽略的补全占比
- 保留率 - 代码长期保留在项目中的比例
Agent 代码块统计
- 接受率 - 多行代码块的接受情况
- 修改率 - 代码被修改的程度(轻微/中度/大幅)
- 存活时长 - 代码在项目中的生命周期
团队协作指标
- 按成员统计 - 自动识别 Git 作者,分别统计
- 按 IDE 统计 - 对比不同工具的使用效果
- 语言分析 - 各编程语言的 AI 辅助效果
🔥 最新更新
v1.3.13 - 项目结构优化
v1.3.12 - 扩展 Recording Rules 时间窗口
v1.3.11 - 修复重启 IDE 重复上报数据
- 实现启动基线值记录机制
- 修复 Grafana 时间筛选显示历史数据问题
v1.3.0 - Grafana 时间筛选 + 数据架构升级
- 支持任意时间范围查询(1小时、24小时、7天等)
- Counter 指标迁移到
_v2 后缀
- Dashboard 动态计算接受率和渗透率
查看完整更新日志
⚙️ 配置说明
主要配置项
| 配置项 |
默认值 |
说明 |
enableCompletionTracking |
true |
启用 Tab 补全追踪 |
enableAgentTracking |
true |
启用 Agent 代码块追踪 |
undoGracePeriodSeconds |
60 |
Tab 补全冷静期(秒) |
revokableWindowSeconds |
300 |
可撤销窗口期(秒) |
retentionCheckDays |
7 |
保留率检查延迟天数 |
prometheusEnabled |
true |
启用 Prometheus 指标上报 |
prometheusReportUrl |
- |
Pushgateway 地址 |
配置示例
开发环境 (VSCode settings.json)
{
"aiAcceptanceTracker.retentionCheckDays": 0,
"aiAcceptanceTracker.prometheusEnabled": true,
"aiAcceptanceTracker.prometheusReportUrl": "http://localhost:9091"
}
生产环境
{
"aiAcceptanceTracker.retentionCheckDays": 7,
"aiAcceptanceTracker.prometheusEnabled": true,
"aiAcceptanceTracker.prometheusReportUrl": "http://your-server:9091"
}
📊 Prometheus 指标
全局指标
# Tab 补全
ai_code_completion_total # 总数
ai_code_completion_acceptance_rate # 接受率
ai_code_completion_retention_rate # 保留率
# Agent 代码块
ai_code_agent_blocks_total # 总数
ai_code_agent_acceptance_rate # 接受率
# 质量指标
ai_code_avg_modification_rate # 平均修改率
ai_code_total_time_saved_hours # 总节省时间
分组指标
# 按用户
ai_code_completion_by_author{author="alice"}
ai_code_acceptance_rate_by_author{author="bob"}
# 按 IDE
ai_code_completion_by_ide{ide="Cursor"}
ai_code_acceptance_rate_by_ide{ide="VSCode"}
# 按语言
ai_code_completion_by_language{language="typescript"}
示例查询
# 团队平均接受率
avg(ai_code_completion_acceptance_rate)
# 团队总补全数
sum(ai_code_completion_total)
# 接受率最高的 5 个用户
topk(5, ai_code_acceptance_rate_by_author)
🏗️ 技术架构
graph LR
VSCode[VSCode API] -->|监听变化| Monitor[监控模块]
Monitor -->|存储| DB[(JSON 数据库)]
DB -->|查询| Stats[统计引擎]
Stats -->|展示| UI[侧边栏/面板]
Stats -->|上报| Prometheus[Prometheus]
Prometheus -->|查询| Grafana[Grafana]
核心模块
- 监控模块 - CompletionMonitor (Tab补全) + AgentMonitor (代码块)
- 存储模块 - DatabaseManager (JSON文件存储)
- 分析模块 - StatsCalculator (统计计算引擎)
- 视图模块 - TreeView (侧边栏) + Webview (详细面板)
- 监控模块 - PrometheusExporter (指标导出)
工作原理
1. 补全检测
- 监听文档变化,检测补全特征
- 进入 60 秒冷静期
- 冷静期内撤销 → 拒绝,否则 → 接受
2. 撤销检测
- 检测删除操作,匹配补全内容
- 支持多步撤销和延迟撤销
- 识别并跳过 IDE 自动操作
3. 保留率检查
- 定期检查代码是否保留在文件中
- 开发模式:每 30 秒,生产模式:每 1 小时
- 追踪代码删除时间和修改率
💻 开发指南
构建
npm install # 安装依赖
npm run watch # 开发模式
npm run package # 生产构建
vsce package # 打包插件
调试
- 按
F5 启动调试
- 查看输出面板:
AI Code Acceptance Tracker
- 手动触发检查:
AI Acceptance: Check Retention Now
数据存储
# macOS/Linux
~/.ai-code-acceptance-tracker/ai-acceptance-tracker.json
# Windows
%USERPROFILE%\.ai-code-acceptance-tracker\ai-acceptance-tracker.json
❓ 常见问题
Q: 如何区分 Tab 补全和 Agent 代码块?
A: Tab 补全通常是单行或少量行(<3行),Agent 代码块是多行(>=3行)
Q: 冷静期是什么?
A: 代码插入后的等待时间,期间撤销视为拒绝。Tab 补全默认 60 秒,Agent 默认 3 秒
Q: 如何重置统计数据?
A: 执行命令 AI Acceptance: Reset Statistics
Q: 扩展对性能有影响吗?
A: 轻量级设计,异步处理,内存占用小,几乎无感知
Q: 如何部署团队监控?
A: 使用 docker-compose up -d 启动监控栈,配置 VSCode 的 prometheusReportUrl 指向服务器
📚 详细文档
📄 许可证
本项目采用 MIT License 许可证。
📞 联系方式
如果这个项目对你有帮助,请给我们一个 ⭐️
Made with ❤️ by AI Code Acceptance Tracker Team