tangweijie 7b40485f60 feat: 初始化 Monorepo 项目结构
- 添加 pnpm workspace 和 Turborepo 配置
- 创建 packages/shared 共享类型和工具
- 创建 packages/core-sdk 核心 SDK
- 创建 packages/vscode-extension VSCode 插件
- 创建 packages/jetbrains-plugin JetBrains 插件基础结构
- 添加 README 文档
2026-01-05 18:08:18 +08:00

152 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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插件)
### 安装依赖
```bash
# 安装所有依赖
pnpm install
# 构建所有包
pnpm build
```
### 开发
```bash
# 启动开发模式
pnpm dev
# 运行测试
pnpm test
# 代码检查
pnpm lint
```
### 构建VSCode插件
```bash
cd packages/vscode-extension
pnpm build
pnpm package
```
### 构建JetBrains插件
```bash
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` | 聊天会话结束 |
## 数据格式
```json
{
"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-backend) - 数据采集后端服务
- [collector-dashboard](../collector-dashboard) - 数据分析看板
## 许可证
MIT License