LunarVagabond/Atlas-Insight

GitHub: LunarVagabond/Atlas-Insight

一个 GitHub 代码库深度分析平台,通过架构洞察、提交情报、依赖健康度和启发式评分帮助评估开源项目的可维护性与贡献友好度。

Stars: 0 | Forks: 0

# Atlas Insight [![Atlas Insight](https://atlas.dsyndicate.dev/api/v1/repositories/badge/LunarVagabond/Atlas-Insight.svg)](https://atlas.dsyndicate.dev/r/LunarVagabond/Atlas-Insight) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.12-blue.svg)](https://www.python.org/) [![Vue](https://img.shields.io/badge/Vue-3-42b883.svg)](https://vuejs.org/) [![Django](https://img.shields.io/badge/Django-5-092e20.svg)](https://www.djangoproject.com/) **代码库考古与静态分析平台。** 粘贴一个 GitHub 代码库 URL,即可获得深度的架构洞察、提交历史分析、依赖健康度报告、安全发现、OSS 就绪度评分以及贡献者指南。 Atlas Insight 完全在应用内部进行确定性的代码库分析,并可选择为外部 AI 工具生成结构化的上下文。 分析结果会被归档。重新运行代码库时,首先会检查是否有新的提交,如果没有变化,则重用现有结果。 - **项目 Wiki:** https://github.com/LunarVagabond/Atlas-Insight/wiki - **GitHub 讨论区:** https://github.com/LunarVagabond/Atlas-Insight/discussions - **项目政策与贡献规则:** [CONTRIBUTING.md](CONTRIBUTING.md)、[SECURITY.md](SECURITY.md)、[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 和 [LICENSE](LICENSE) 在本代码库中保持权威性。
Dashboard Architecture
Repo Health Heuristics
## 功能 | 功能 | 您将获得的内容 | | ------------------------- | -------------------------------------------------------------------------- | | **提交分析** | 速度趋势、贡献者流失率、倦怠信号、活跃度衰减 | | **架构分析** | 导入图、循环依赖、上帝模块、热点文件 | | **依赖健康度** | 依赖清单、lockfile 检查、Docker 镜像警告 | | **安全扫描** | 密钥检测、`.gitignore` 卫生、代码库安全信号 | | **启发式评分** | 代码库风险与维护指标,带有模式感知权重 | | **健康评分** | 从 0–10 的综合就绪度评估(OSS 与闭源模式) | | **贡献路径** | 从 Issue 和代码库结构中提取的可操作的贡献机会 | | **架构导览** | 穿越主要子系统的引导式探索路径 | | **聚焦与趋势** | 每周特色代码库与社区发现视图 | | **健康徽章** | 用于已分析代码库的可嵌入 SVG 徽章 | ## OSS 评分 该评分包含以下信号: * 文档质量 * 贡献者友好度 * 代码库活跃度 * CI/CD 成熟度 * 依赖健康度 * 安全卫生 * 项目结构 * 贡献者分布与巴士因子 * 维护指标 * 开放 Issue 管理 * 开发实践 OSS 评分旨在作为一个方向性指标,而不是软件质量的客观衡量标准。较低的分数可能突出维护或贡献方面的风险,而不是软件本身的缺陷。 ## 技术栈 | 层级 | 技术 | | ----------- | --------------------------------- | | 后端 API | Django 5 + Django Ninja | | 任务队列 | Celery + Redis | | 数据库 | PostgreSQL 17 | | 前端 | Vue 3 + TypeScript + Vite + Pinia | **默认端口** | 服务 | 端口 | | --------------- | ---- | | Django API | 4500 | | Vite 开发服务器 | 4501 | | Redis | 4502 | | PostgreSQL | 4503 | | Flower | 4504 | ## 快速开始 ``` cp backend/.env.example backend/.env # 可选但推荐: # 添加 GITHUB_TOKEN 以获得更高的 GitHub API rate limits make setup docker compose up -d make -C backend migrate make start ``` ### 本地服务 | 服务 | URL | | ------------ | ------------------------------ | | 前端 | http://localhost:4501 | | API | http://localhost:4500 | | OpenAPI 文档 | http://localhost:4500/api/docs | | Flower | http://localhost:4504 | ## 开发 ### 进程管理 ``` make start make stop make restart make status make logs ``` ### 后端 ``` cd backend # 运行管理命令 DJANGO_SETTINGS_MODULE=config.settings.development .venv/bin/python manage.py # 运行测试 DJANGO_SETTINGS_MODULE=config.settings.development .venv/bin/pytest # 运行特定的测试文件 DJANGO_SETTINGS_MODULE=config.settings.development .venv/bin/pytest apps/repositories/tests/test_models.py # Linting .venv/bin/ruff check . # Formatting .venv/bin/black . ``` ### 前端 ``` cd frontend # Type checking node_modules/.bin/vue-tsc --noEmit # Unit tests npm test # Production build make build ``` ### 多合一(从代码库根目录) ``` make test # backend pytest + frontend vitest make lint # ruff + vue-tsc make type-check # vue-tsc only ``` ## API 参考 交互式 OpenAPI 文档可在以下地址获取: ``` /api/docs ``` 在应用程序运行时。 ### 核心 Endpoint | 方法 | Endpoint | 描述 | | ------ | ----------------------------------------------- | ------------------------------------ | | POST | `/api/v1/repositories/analyze` | 提交代码库以进行分析 | | GET | `/api/v1/repositories/runs/{id}` | 获取分析状态和结果 | | GET | `/api/v1/repositories/badge/{owner}/{name}.svg` | 生成代码库健康徽章 | ### 即时 Endpoint 除非另有说明,这些 endpoint 会获取实时数据,并在 Redis 中缓存响应 15 分钟。 | 方法 | Endpoint | 描述 | | ------ | --------------------------------------------------------- | ----------------------------- | | GET | `/api/v1/repositories/runs/{id}/issues` | 实时 GitHub Issue | | GET | `/api/v1/repositories/runs/{id}/prs` | 开放的 Pull Request | | GET | `/api/v1/repositories/runs/{id}/diff` | 与上次分析的差异 | | GET | `/api/v1/repositories/runs/{id}/file-history?path=` | 近期文件历史 | | GET | `/api/v1/repositories/runs/{id}/similar` | 相似的代码库档案 | | GET | `/api/v1/repositories/runs/{id}/vulnerabilities` | 依赖漏洞数据 | | GET | `/api/v1/repositories/runs/{id}/constellation` | 代码库关系图 | | GET | `/api/v1/repositories/runs/{id}/ai-summary` | AI 生成的运行摘要 | | GET | `/api/v1/repositories/runs/{id}/pr-impact?pr=` | PR 影响分析 | ### 发现 Endpoint | 方法 | Endpoint | 描述 | | ------ | -------------------------------------- | ------------------------------ | | GET | `/api/v1/repositories/spotlight/current` | 本周代码库 | | GET | `/api/v1/repositories/spotlight/history` | 过往聚焦精选 | | GET | `/api/v1/repositories/trending` | 趋势公开代码库 | | GET | `/api/v1/repositories/featured` | 特色代码库列表 | | GET | `/api/v1/health` | 服务健康检查 | ## 部署 生产部署文档位于 GitHub Wiki: ``` https://github.com/LunarVagabond/Atlas-Insight/wiki ``` 部署指南包括: * Nginx 配置 * systemd 服务 * 环境变量 * PostgreSQL 设置 * Redis 配置 * 反向代理配置 * 运维指南 ## 路线图 请查看 [路线图](https://github.com/LunarVagabond/Atlas-Insight/wiki/Roadmap) 了解 FOSS(免费与开源软件)之后的发展路径,以及我们希望持续关注的长远产品构想。 ### 快速通道 | 我想… | 从这里开始 | | ---------- | ---------- | | 修复 Bug | [提交 Bug 报告](https://github.com/LunarVagabond/Atlas-Insight/issues/new?template=bug_report.md) → [CONTRIBUTING.md](CONTRIBUTING.md) | | 添加语言解析器 | [项目 Wiki](https://github.com/LunarVagabond/Atlas-Insight/wiki) → `make new-language` | | 添加基础设施工具检测器 | [项目 Wiki](https://github.com/LunarVagabond/Atlas-Insight/wiki) → `make new-tool` | | 改进文档 | [项目 Wiki](https://github.com/LunarVagabond/Atlas-Insight/wiki) | | 探索更大的构想 | [路线图 (Wiki)](https://github.com/LunarVagabond/Atlas-Insight/wiki/Roadmap) | ### 在您提交第一个 PR 之前 在提交 Pull Request 之前,请同时查阅 [SECURITY.md](SECURITY.md) 和 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)。 ## 许可证 在 MIT 许可证下发布。 详情请参阅 [LICENSE](LICENSE)。
标签:Django, Python, Vue, 云安全监控, 代码分析, 凭证管理, 搜索引擎查询, 文件系统扫描, 无后门, 请求拦截, 逆向工具, 静态分析