aurumz-rgb/RikaiCode
GitHub: aurumz-rgb/RikaiCode
RikaiCode 是一个AI驱动的代码库分析工具,通过扁平化、评级、安全扫描和可视化帮助用户高效评估和理解代码项目。
Stars: 1 | Forks: 1

*为AI而扁平化,为理解提供上下文,为质量进行评级。*
RikaiCode 是一款复杂的、基于浏览器的工具,旨在将复杂的代码库转化为结构化的、可操作的数据。无论你是需要将代码输入到 LLM 中,审计项目的质量,还是仅仅理解一个新的架构,RikaiCode 都能在一个漂亮的深色主题界面中为你提供所需的见解。



[](https://github.com/ellerbrock/open-source-badges/)
[](https://doi.org/10.5281/zenodo.20059448)
[](https://github.com/aurumz-rgb/RikaiCode/actions/workflows/ci.yml)
## ✨ 主要功能
### 1. 多源输入
无缝分析公开的 **GitHub** 或 **GitLab** 仓库,或上传本地文件和 **ZIP** 文件夹。它通过自动跳过二进制文件和非文本资源来处理大型仓库,以确保最佳性能。
### 2. 智能评级系统
RikaiCode 为每个项目分配一个统一的评级(**A++ 到 C**)。这不只是一个随机分数;它是使用基于软件健康行业标准的加权算法计算得出的。
### 3. AI 驱动的分析 (Rikai AI)
集成了 **GLM-4.7-Flash** 模型,RikaiCode 就像你的个人代码架构师。它可以总结整个项目、解释复杂的函数,并生成入门指南。
### 4. 安全启发式扫描
自动扫描代码以发现潜在漏洞,包括:
- 硬编码的 AWS 访问密钥。
- 通用 API 密钥/密码。
- 私有 SSH 密钥(RSA、DSA、EC、OpenSSH)。
### 5. 可视化洞察
将原始的 git 数据转化为交互式可视化图表:
- **树状图:** 文件扩展名分布。
- **饼图:** 代码组成。
- **热图:** 按星期几和每小时划分的提交活动。
### 6. 一键导出
将你的整个扁平化代码库导出为单个文件,用于 LLM 上下文。支持的格式:**TXT, JSON, PDF, DOCX, HTML, Markdown, LaTeX**。
## 📖 如何使用
1. **选择来源:** 在 GitHub URL、GitLab URL 或上传文件之间选择。
2. **分析:**
- 如果使用 URL,点击“获取仓库”。
- 如果上传,拖放你的文件。
3. **探索:** 查看仓库评级、架构图、安全警报和代码统计信息。
4. **AI 洞察:** 展开“Rikai AI 分析”部分以生成架构摘要。
5. **导出:** 使用底部的导出按钮下载扁平化的上下文。
## 📸 截图
*以下预览截图展示了所有可用的功能。*





*AI 生成的架构摘要 / 代码审查和仓库代码扁平化工具。*


## 工作原理:评级逻辑
RikaiCode 使用 **100 分评分系统**。评级是通过在五个关键类别中累加分数来确定的。系统会在 **远程分析**(针对 GitHub/GitLab)和 **静态分析**(针对本地文件)之间切换。
### 🌐 远程仓库评分 (GitHub/GitLab)
| 类别 | 权重 | 标准与计算 |
| :--- | :---: | :--- |
| **受欢迎度** | **30 分** | 基于 Stars (0-20 分) 和 Fork 比率 (0-10 分)。高星数表示信任;健康的 Fork 比率意味着实用性。 |
| **活跃度** | **25 分** | 衡量近期活动 (0-15 分) 和提交频率 (0-10 分)。近期提交得分更高。 |
| **维护度** | **20 分** | 分析未关闭问题比率和 PR/MR 合并率。未关闭问题少且合并率高表示维护活跃。 |
| **社区** | **15 分** | 基于 Watchers 的数量。Watchers 越多意味着社区关注度越高。 |
| **稳定性** | **10 分** | 对已归档的仓库进行扣分。活跃项目得满分。 |
### 📁 静态代码评分(本地文件/上传)
| 类别 | 权重 | 标准与计算 |
| :--- | :---: | :--- |
| **文档** | **30 分** | 检查 README 文件 (10 分) 和注释密度 (20 分)。注释与代码的比率越高得分越高。 |
| **结构** | **30 分** | 模块化(每文件平均行数)和组织性(是否存在像 `main.py` 或 `index.js` 这样的入口点)。 |
| **最佳实践** | **20 分** | 是否存在依赖文件 (15 分) 和 `.gitignore` (5 分)。 |
| **规模** | **10 分** | 代码总行数。更大、更成熟的项目得分略高。 |
| **稳定性** | **10 分** | 基于文件数量。文件越多通常意味着是一个结构化的、多模块的项目。 |
### 评级细分
- **A++ (95+):** 卓越质量,高度活跃,拥有巨大的社区信任。
- **A+ (90-94):** 优秀项目,指标强劲。
- **A (80-89):** 出色的项目,可靠。
- **B+ (70-79):** 良好,但可能在活动或受欢迎度方面有所欠缺。
- **B (60-69):** 一般质量。
- **C+ (50-59):** 中等,可能存在维护问题。
- **C (<50):** 分数低,谨慎使用。
## 🤖 AI 功能深入解析
RikaiCode 利用 **GLM-4.7-Flash** 模型提供超越简单统计的智能洞察。
| AI 功能 | 描述 |
| :--- | :--- |
| **架构概述** | 分析文件树和 README 以识别架构模式(例如 MVC、微服务)并总结项目的目的。 |
| **项目摘要** | 生成一份“执行摘要”,包括问题陈述、目标受众和关键功能。非常适合快速理解一个新的代码库。 |
| **交互式代码审查** | 选择任何文件以接收详细的审查,涵盖优势、改进、安全检查和风格提示。 |
| **函数解释器** | 专门针对 Python 代码。选择一个函数,Rikai 将解释其输入、输出、逻辑和潜在的边界情况。 |
| **复杂性分析** | 根据文件大小和结构估算技术债务和复杂度级别(从低到严重)。 |
| **重构建议** | 建议设计模式(工厂、单例)和现代框架来改进代码库。 |
| **开发者入门指南** | 根据检测到的基础设施,创建一份包含安装步骤、配置和运行命令的“快速开始”指南。 |
| **依赖项洞察** | 分析 `requirements.txt` 或 `package.json` 以标记潜在的过时包或安全风险。 |
## 💡 使用场景
RikaiCode 功能多样,专为开发人员、安全研究人员和数据科学家构建。
1. **LLM 上下文准备:**
将整个仓库扁平化为单个文本文件(TXT/JSON),用作 ChatGPT、Claude 或 Gemini 等大型语言模型的上下文。它剥离了不必要的二进制文件,并将代码格式化为适合 AI 消费的完美格式。
2. **代码质量与评级:**
即时获取任何公开仓库的“健康分数”。在使用开源依赖项之前分析提交频率、问题比率和维护活动。
3. **安全审计:**
在将代码推送到公共平台之前,运行快速启发式扫描以检测硬编码的 API 密钥、AWS 密钥或私有密钥。
4. **架构入门:**
新团队成员可以可视化文件结构、检测依赖项并阅读 AI 生成的摘要,在几分钟而非几小时内了解项目的架构。
## 🌐 在线与离线使用
RikaiCode 提供灵活的部署选项以适应你的工作流程。
### ☁️ 在线运行 (Streamlit Cloud)
你可以直接在以下地址运行已托管的 Streamlit **在线版**:https://rikaicode.streamlit.app
* **注意:** 在线部署可能对非常大的仓库有超时限制。
### 💻 本地运行(离线)
对于高级用户和大规模分析,建议在你的机器上本地托管 RikaiCode。
* **最适合:** 巨大的仓库(10,000+ 行代码)、私有代码库和重度 AI 分析任务。
* **隐私:** 你的代码保留在你的机器上。没有数据上传到第三方服务器(除非你明确使用 AI 分析功能)。
* **性能:** 无执行时间限制;可处理海量 ZIP 文件和深度扫描而不会中断。
## 🛠️ 安装与设置
按照以下步骤在你的机器上本地运行 RikaiCode。
### 前置条件
- Python 3.11 或更高版本
- pip(Python 包安装器)
### 步骤 1:克隆仓库
```
git clone https://github.com/aurumz-rgb/RikaiCode.git
cd RikaiCode
```
### 步骤 2:创建虚拟环境(推荐)
这可以隔离你的项目依赖项。
**macOS / Linux:**
```
python3 -m venv venv
source venv/bin/activate
```
**Windows:**
```
python -m venv venv
.\venv\Scripts\activate
```
### 步骤 3:安装依赖项
使用 `requirements.txt` 文件安装所有必需的库。
```
pip install -r requirements.txt
```
### 步骤 4:配置 API 密钥(可选)
要启用 AI 功能,你需要一个 ZhipuAI API 密钥。
1. 在项目根文件夹中创建一个名为 `.env` 的文件。
2. 将你的 API 密钥添加到文件中:
ZHIPUAI_API_KEY=你的实际API密钥
3. 保存文件。
设置完成后,使用 Streamlit 命令启动应用程序:
```
streamlit run app.py
```
应用程序将自动在你的默认 Web 浏览器中打开,地址为 `http://localhost:8501`。
## 项目架构
RikaiCode 基于模块化架构构建,旨在提高可维护性和可扩展性。该应用程序分为 5 个核心组件:
- **`app.py`**:主入口点。处理 Streamlit UI 渲染、会话状态管理和用户交互。
- **`config.py`**:集中化配置。管理 CSS 样式、页面设置、常量(如要跳过的文件扩展名)和辅助工具。
- **`processing.py`**:数据层。负责从 GitHub/GitLab API 获取数据、处理 ZIP 解压以及处理上传的文件。
- **`analysis.py`**:逻辑层。包含评级算法、安全扫描器、依赖检测器和 AI 集成功能。
- **`export.py`**:输出层。生成各种格式(PDF、DOCX、JSON 等)的可下载报告。
## 🔗 致谢

Z.ai GitHub: [zai-org](https://github.com/zai-org)
我衷心感谢 **GLM (Z.ai)** 的开发者提供了 RikaiCode 中使用的开源 AI 模型。
更多信息,请参见 [GLM-4.7-Flash Hugging Face](https://huggingface.co/zai-org/GLM-4.7-Flash)。
## 许可证
本项目采用 AGPL 3.0 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 📨 联系方式
有问题、反馈或合作想法?请通过 [pteroisvolitans12@gmail.com](mailto:pteroisvolitans12@gmail.com) 联系我,或在 GitHub 上提交 issue。
欢迎贡献!
1. **选择来源:** 在 GitHub URL、GitLab URL 或上传文件之间选择。
2. **分析:**
- 如果使用 URL,点击“获取仓库”。
- 如果上传,拖放你的文件。
3. **探索:** 查看仓库评级、架构图、安全警报和代码统计信息。
4. **AI 洞察:** 展开“Rikai AI 分析”部分以生成架构摘要。
5. **导出:** 使用底部的导出按钮下载扁平化的上下文。
## 📸 截图
*以下预览截图展示了所有可用的功能。*





*AI 生成的架构摘要 / 代码审查和仓库代码扁平化工具。*


## 工作原理:评级逻辑
RikaiCode 使用 **100 分评分系统**。评级是通过在五个关键类别中累加分数来确定的。系统会在 **远程分析**(针对 GitHub/GitLab)和 **静态分析**(针对本地文件)之间切换。
### 🌐 远程仓库评分 (GitHub/GitLab)
| 类别 | 权重 | 标准与计算 |
| :--- | :---: | :--- |
| **受欢迎度** | **30 分** | 基于 Stars (0-20 分) 和 Fork 比率 (0-10 分)。高星数表示信任;健康的 Fork 比率意味着实用性。 |
| **活跃度** | **25 分** | 衡量近期活动 (0-15 分) 和提交频率 (0-10 分)。近期提交得分更高。 |
| **维护度** | **20 分** | 分析未关闭问题比率和 PR/MR 合并率。未关闭问题少且合并率高表示维护活跃。 |
| **社区** | **15 分** | 基于 Watchers 的数量。Watchers 越多意味着社区关注度越高。 |
| **稳定性** | **10 分** | 对已归档的仓库进行扣分。活跃项目得满分。 |
### 📁 静态代码评分(本地文件/上传)
| 类别 | 权重 | 标准与计算 |
| :--- | :---: | :--- |
| **文档** | **30 分** | 检查 README 文件 (10 分) 和注释密度 (20 分)。注释与代码的比率越高得分越高。 |
| **结构** | **30 分** | 模块化(每文件平均行数)和组织性(是否存在像 `main.py` 或 `index.js` 这样的入口点)。 |
| **最佳实践** | **20 分** | 是否存在依赖文件 (15 分) 和 `.gitignore` (5 分)。 |
| **规模** | **10 分** | 代码总行数。更大、更成熟的项目得分略高。 |
| **稳定性** | **10 分** | 基于文件数量。文件越多通常意味着是一个结构化的、多模块的项目。 |
### 评级细分
- **A++ (95+):** 卓越质量,高度活跃,拥有巨大的社区信任。
- **A+ (90-94):** 优秀项目,指标强劲。
- **A (80-89):** 出色的项目,可靠。
- **B+ (70-79):** 良好,但可能在活动或受欢迎度方面有所欠缺。
- **B (60-69):** 一般质量。
- **C+ (50-59):** 中等,可能存在维护问题。
- **C (<50):** 分数低,谨慎使用。
## 🤖 AI 功能深入解析
RikaiCode 利用 **GLM-4.7-Flash** 模型提供超越简单统计的智能洞察。
| AI 功能 | 描述 |
| :--- | :--- |
| **架构概述** | 分析文件树和 README 以识别架构模式(例如 MVC、微服务)并总结项目的目的。 |
| **项目摘要** | 生成一份“执行摘要”,包括问题陈述、目标受众和关键功能。非常适合快速理解一个新的代码库。 |
| **交互式代码审查** | 选择任何文件以接收详细的审查,涵盖优势、改进、安全检查和风格提示。 |
| **函数解释器** | 专门针对 Python 代码。选择一个函数,Rikai 将解释其输入、输出、逻辑和潜在的边界情况。 |
| **复杂性分析** | 根据文件大小和结构估算技术债务和复杂度级别(从低到严重)。 |
| **重构建议** | 建议设计模式(工厂、单例)和现代框架来改进代码库。 |
| **开发者入门指南** | 根据检测到的基础设施,创建一份包含安装步骤、配置和运行命令的“快速开始”指南。 |
| **依赖项洞察** | 分析 `requirements.txt` 或 `package.json` 以标记潜在的过时包或安全风险。 |
## 💡 使用场景
RikaiCode 功能多样,专为开发人员、安全研究人员和数据科学家构建。
1. **LLM 上下文准备:**
将整个仓库扁平化为单个文本文件(TXT/JSON),用作 ChatGPT、Claude 或 Gemini 等大型语言模型的上下文。它剥离了不必要的二进制文件,并将代码格式化为适合 AI 消费的完美格式。
2. **代码质量与评级:**
即时获取任何公开仓库的“健康分数”。在使用开源依赖项之前分析提交频率、问题比率和维护活动。
3. **安全审计:**
在将代码推送到公共平台之前,运行快速启发式扫描以检测硬编码的 API 密钥、AWS 密钥或私有密钥。
4. **架构入门:**
新团队成员可以可视化文件结构、检测依赖项并阅读 AI 生成的摘要,在几分钟而非几小时内了解项目的架构。
## 🌐 在线与离线使用
RikaiCode 提供灵活的部署选项以适应你的工作流程。
### ☁️ 在线运行 (Streamlit Cloud)
你可以直接在以下地址运行已托管的 Streamlit **在线版**:https://rikaicode.streamlit.app
* **注意:** 在线部署可能对非常大的仓库有超时限制。
### 💻 本地运行(离线)
对于高级用户和大规模分析,建议在你的机器上本地托管 RikaiCode。
* **最适合:** 巨大的仓库(10,000+ 行代码)、私有代码库和重度 AI 分析任务。
* **隐私:** 你的代码保留在你的机器上。没有数据上传到第三方服务器(除非你明确使用 AI 分析功能)。
* **性能:** 无执行时间限制;可处理海量 ZIP 文件和深度扫描而不会中断。
## 🛠️ 安装与设置
按照以下步骤在你的机器上本地运行 RikaiCode。
### 前置条件
- Python 3.11 或更高版本
- pip(Python 包安装器)
### 步骤 1:克隆仓库
```
git clone https://github.com/aurumz-rgb/RikaiCode.git
cd RikaiCode
```
### 步骤 2:创建虚拟环境(推荐)
这可以隔离你的项目依赖项。
**macOS / Linux:**
```
python3 -m venv venv
source venv/bin/activate
```
**Windows:**
```
python -m venv venv
.\venv\Scripts\activate
```
### 步骤 3:安装依赖项
使用 `requirements.txt` 文件安装所有必需的库。
```
pip install -r requirements.txt
```
### 步骤 4:配置 API 密钥(可选)
要启用 AI 功能,你需要一个 ZhipuAI API 密钥。
1. 在项目根文件夹中创建一个名为 `.env` 的文件。
2. 将你的 API 密钥添加到文件中:
ZHIPUAI_API_KEY=你的实际API密钥
3. 保存文件。
设置完成后,使用 Streamlit 命令启动应用程序:
```
streamlit run app.py
```
应用程序将自动在你的默认 Web 浏览器中打开,地址为 `http://localhost:8501`。
## 项目架构
RikaiCode 基于模块化架构构建,旨在提高可维护性和可扩展性。该应用程序分为 5 个核心组件:
- **`app.py`**:主入口点。处理 Streamlit UI 渲染、会话状态管理和用户交互。
- **`config.py`**:集中化配置。管理 CSS 样式、页面设置、常量(如要跳过的文件扩展名)和辅助工具。
- **`processing.py`**:数据层。负责从 GitHub/GitLab API 获取数据、处理 ZIP 解压以及处理上传的文件。
- **`analysis.py`**:逻辑层。包含评级算法、安全扫描器、依赖检测器和 AI 集成功能。
- **`export.py`**:输出层。生成各种格式(PDF、DOCX、JSON 等)的可下载报告。
## 🔗 致谢

Z.ai GitHub: [zai-org](https://github.com/zai-org)
我衷心感谢 **GLM (Z.ai)** 的开发者提供了 RikaiCode 中使用的开源 AI 模型。
更多信息,请参见 [GLM-4.7-Flash Hugging Face](https://huggingface.co/zai-org/GLM-4.7-Flash)。
## 许可证
由 Aurumz 用 🤍 制作
标签:AI驱动分析, GitHub集成, GitLab集成, Kubernetes, Linux 内核安全, LLM集成, Python, Streamlit, ZIP处理, 人工智能, 代码分析, 代码审查, 代码扁平化, 代码质量评估, 凭证管理, 威胁情报, 安全扫描, 开发者工具, 数据管道, 文件上传, 无后门, 时序注入, 架构可视化, 浏览器工具, 用户模式Hook绕过, 自动化分析, 访问控制, 跨站脚本, 软件工程, 逆向工具, 项目管理