ide-data-collector/README.md
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

3.3 KiB
Raw Blame History

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
  }
}

相关仓库

许可证

MIT License