- 添加 pnpm workspace 和 Turborepo 配置 - 创建 packages/shared 共享类型和工具 - 创建 packages/core-sdk 核心 SDK - 创建 packages/vscode-extension VSCode 插件 - 创建 packages/jetbrains-plugin JetBrains 插件基础结构 - 添加 README 文档
3.3 KiB
3.3 KiB
IDE Data Collector
多IDE数据采集插件 Monorepo - 核心SDK与各IDE插件统一管理
项目介绍
IDE Data Collector 是一个用于采集AI编程工具使用数据的插件系统,支持多种主流IDE。通过采集代码补全、聊天会话等AI交互数据,帮助评估AI编程助手的效率和效果。
架构概览
ide-data-collector/
├── packages/
│ ├── shared/ # 共享类型和工具函数
│ ├── core-sdk/ # 核心SDK(数据采集、上报、隐私处理)
│ ├── vscode-extension/ # VSCode/Cursor 插件
│ └── jetbrains-plugin/ # JetBrains IDE 插件
├── docs/ # 文档
└── scripts/ # 构建脚本
功能特性
数据采集
- 🔍 代码补全采纳/拒绝事件
- 💬 AI聊天会话记录
- 📊 开发者行为分析
- ⏱️ 响应时间和效率指标
隐私保护
- 🔒 用户ID匿名化
- 🔐 代码内容脱敏
- 🚫 敏感信息过滤
- 📁 路径排除规则
多IDE支持
- ✅ Visual Studio Code
- ✅ Cursor
- ✅ IntelliJ IDEA
- ✅ PyCharm
- ✅ WebStorm
- ✅ GoLand
- ✅ 其他 JetBrains IDE
快速开始
环境要求
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- JDK 17+ (JetBrains插件)
安装依赖
# 安装所有依赖
pnpm install
# 构建所有包
pnpm build
开发
# 启动开发模式
pnpm dev
# 运行测试
pnpm test
# 代码检查
pnpm lint
构建VSCode插件
cd packages/vscode-extension
pnpm build
pnpm package
构建JetBrains插件
cd packages/jetbrains-plugin
./gradlew buildPlugin
配置说明
VSCode 配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
ideCollector.enabled |
boolean | true | 启用/禁用数据采集 |
ideCollector.apiEndpoint |
string | localhost:8000 | API端点地址 |
ideCollector.samplingRate |
number | 1.0 | 采样率 (0-1) |
ideCollector.batchSize |
number | 50 | 批量上报大小 |
ideCollector.flushInterval |
number | 60 | 刷新间隔(秒) |
ideCollector.anonymizeUser |
boolean | true | 匿名化用户ID |
ideCollector.obfuscateCode |
boolean | true | 混淆代码内容 |
事件类型
| 事件类型 | 说明 |
|---|---|
code_completion_shown |
代码补全建议展示 |
code_completion_accepted |
代码补全被接受 |
code_completion_rejected |
代码补全被拒绝 |
chat_session_start |
聊天会话开始 |
chat_message_sent |
用户发送消息 |
chat_response_received |
收到AI响应 |
chat_session_end |
聊天会话结束 |
数据格式
{
"eventId": "uuid",
"eventType": "code_completion_accepted",
"timestamp": "2024-01-05T10:30:00Z",
"userInfo": {
"userId": "anonymous-hash",
"ideType": "vscode",
"ideVersion": "1.85.0"
},
"context": {
"filePath": ".../src/controller.js",
"language": "javascript"
},
"aiInteraction": {
"provider": "github-copilot",
"latencyMs": 1200
},
"codeData": {
"suggestedCode": "...",
"accepted": true
}
}
相关仓库
- collector-backend - 数据采集后端服务
- collector-dashboard - 数据分析看板
许可证
MIT License