目录
目录README.md

LicenseAiHelper - 基于大模型的开源软件合规性分析工具

项目简介

LicenseAiHelper是面向开源平台打造的智能化开源许可证合规性分析与推荐工具。项目由北京大学开源分析实验室成员研发,融合传统规则引擎与大模型的能力,为开源项目提供全方位的许可证智能服务。

核心功能

🔍 智能合规性分析

为平台的开源项目提供专业的合规性检测:

依赖解析与检测

  • 完整依赖识别:支持直接与间接依赖解析(精确到版本)
  • 多语言支持:覆盖Python、Java、JavaScript等主流开发语言
  • 自动冲突检测:识别项目许可证与依赖许可证的不兼容问题
  • 组件级分析:检测项目内部组件之间的许可证冲突

AI增强分析能力

  • 利用大模型深度理解许可证条款语义
  • 智能识别复杂的许可证兼容性关系
  • 自动生成通俗易懂的合规性分析报告
  • 提供法律条款的智能解读和风险提示

💡 AI智能许可证推荐(基于大模型)

结合项目特征与大模型(GPT-4.1)的决策能力:

  • 多维度分析:综合考虑商业模式、社区发展、技术栈等因素
  • 个性化推荐:基于项目实际需求生成定制化推荐方案
  • 智能对话引导:通过交互式对话深入了解项目需求
  • 详细推荐理由:AI自动生成清晰的推荐依据和使用建议

⚙️ 智能冲突消解

基于约束求解技术与AI推理,提供最优消解方案:

  • SMT-Solver求解:使用约束求解器生成合规的依赖树
  • 最小代价方案:给出依赖迁移、升降级、删除等最优操作建议

技术架构

AI模型

  • 大模型(GPT-4.1):提供许可证语义理解、智能推荐、报告生成能力

后端服务

  • Python 3.10+ & Flask框架
  • Z3 SMT-Solver:依赖约束求解
  • Scancode-toolkit:许可证扫描
  • Libraries.io:依赖数据源

数据资源

  • PyPI生态依赖数据(截止2024.6.19)
  • 完整开源许可证知识库
  • SPDX许可证兼容性矩阵

应用价值

对开源平台的价值

  1. 提升平台专业度:为平台提供业界领先的许可证合规服务
  2. 降低法律风险:帮助平台项目规避许可证合规风险
  3. 优化用户体验:通过AI技术简化许可证选择和理解流程
  4. 促进生态发展:推动平台开源项目的规范化发展

对开发者的价值

  1. 降低学习成本:AI生成的分析报告帮助开发者快速理解许可证
  2. 减少决策困难:智能推荐帮助开发者选择合适的许可证
  3. 避免合规陷阱:自动化检测防止无意中违反许可证条款
  4. 节省时间成本:智能消解方案快速解决依赖冲突

创新亮点

1. 大模型 + 规则引擎混合架构

  • 传统规则引擎保证合规检测的准确性和可靠性
  • 大模型提供灵活的语义理解和智能推理能力
  • AI增强的分析报告让复杂的法律条款变得易懂
  • 两者优势互补,实现精确检测与智能分析的完美结合

2. 端到端的许可证管理方案

  • 从理解、选择到检测、消解的完整闭环
  • 覆盖许可证生命周期的各个阶段
  • 一站式解决开源项目的许可证问题

3. 精确到版本的依赖分析

  • 业界首创的包版本级合规检测
  • 基于SMT-Solver的精确约束求解
  • 识别隐藏的间接依赖风险

4. AI增强的智能化体验

  • 自动生成通俗易懂的合规性分析报告
  • 智能推荐系统理解项目需求并给出最优建议
  • 法律条款的智能解读降低理解门槛

快速开始

环境要求

  • Python 3.10+
  • CUDA 12.1+

安装部署

详细部署说明请参见 DEPLOY.md

在线体验

项目结构

LicenseAiHelper/
├── backend/                 # 后端服务
│   ├── app/                # Flask应用
│   │   ├── ai/            # AI模块(推荐、报告生成)
│   │   ├── routes.py      # 路由定义
│   │   └── __init__.py
│   ├── requirements.txt    # 依赖列表
│   └── run.py             # 启动文件
├── frontend/               # 前端界面
├── knowledge_base/         # 许可证知识库
│   ├── compatibility/     # 兼容性矩阵
│   ├── features/          # 特征矩阵
│   └── licenses/          # 许可证文本
├── DEPLOY.md              # 部署文档
├── README.md              # 本文件
└── LICENSE                # 许可证文件

演示视频

📺 完整功能演示视频可于b站在线观看LicenseAiHelper-bilibili

演示内容包括:

  • 项目依赖合规性分析(含AI增强分析)
  • AI个性化许可证推荐流程
  • 冲突检测与智能消解

学术成果

本项目相关核心技术已发表于软件工程领域国际顶级会议:

  1. ICSE’23 DEMO Track
    LicenseRec: Knowledge based Open Source License Recommendation for OSS Projects

  2. ASE’23
    Understanding and Remediating Open-Source License Incompatibilities in the PyPI Ecosystem

  3. ICSE’26 Small Changes, Big Trouble: Demystifying and Parsing License Variants for Incompatibility Detection in the PyPI Ecosystem

开源许可

本项目采用 木兰公共许可证 v2 授权。详见 LICENSE 文件。

致谢

依赖的开源项目

联系我们

关于
98.7 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号