摘要:大家好,我是徐小夕。架构师,曾任职多家上市公司,多年架构经验,打造过上亿用户规模的产品,目前全职创业,主要聚集于“Dooring AI零代码搭建平台”和“flowmixAI多模态办公软件”
大家好,我是徐小夕。
架构师,曾任职多家上市公司,多年架构经验,打造过上亿用户规模的产品,目前全职创业,主要聚集于“Dooring AI零代码搭建平台”和“flowmixAI多模态办公软件”
之前和大家分享了我实现的 pxcharts 多维表格编辑器和协同文档编辑器:
px-doc,一款开箱即用的协同文档编辑器
pxcharts多维表格ultra版:AI + 多维表,工作效率飙升!
今天和大家分享一下我在 github 上研究的一款非常有价值的AI项目——CodeBoarding。
CodeBoarding 是一个开源代码库分析工具,核心功能是通过静态分析和 LLM 智能解析,自动生成代码库的高层级结构图。目前它在 GitHub 上获得了很多程序员的关注,支持 TypeScript 和 Python 项目(后续会扩展更多语言),采用 MIT 许可协议,完全免费可用。
开源地址:https://github.com/CodeBoarding/CodeBoarding
简单说,它解决的是 "代码库太大,新人看不懂、老人记不清" 的痛点。无论是团队新成员入职、技术文档编写,还是开源项目贡献者快速上手,都能派上大用场。
用了一周后,我总结出 CodeBoarding 最打动我的 3 个核心能力:
1. 多层级抽象,按需 "缩放" 代码结构
它能像地图一样,从 "国家"(整个项目)到 "城市"(模块)再到 "街道"(核心函数),生成不同粒度的结构图。比如分析 PyTorch 时,既能看到 "张量操作核心" 这样的顶层模块,也能钻取到具体的 API 依赖。
2. 静态分析保证准确性,LLM 提升可读性
区别于纯 AI 生成的文档(容易 "瞎编"),它先用静态分析提取真实的代码依赖关系,再让 LLM 给模块起人类易懂的名字、描述功能,兼顾准确性和可读性。
3. 输出交互式 Mermaid 图表,无缝集成到工作流
生成的图表支持点击跳转详情,能直接嵌入文档、IDE(有 VS Code 插件)、CI/CD 流程(有 GitHub Action),甚至能对接 AI 助手(如 Claude、Cursor)。
为了搞懂它的原理,我扒了下项目的架构设计。整个系统由 7 大模块组成,我用四色分类法画了张思维导图(蓝色:核心服务;绿色:数据处理;橙色:分析引擎;紫色:输出层), 感兴趣的朋友可以参考研究一下:
工作流程简单说就是:
1. API 服务接收分析请求,记录到任务数据库;
2. 编排引擎协调仓库管理器拉取代码,再调用静态分析引擎提取模块关系;
3. AI 解析层基于分析结果生成自然语言描述;
4. 输出引擎将结构化数据转为交互式 Mermaid 图表,通过 API 返回。
核心语言Python 3.11(主要逻辑实现)包管理uv(比 pip 更快的现代 Python 包管理器)静态分析语言识别:github-linguist(识别项目编程语言)代码解析:pyright(Python)、typescript-language-server(TS)AI 集成支持 OpenAI、Anthropic、Google、AWS Bedrock、Ollama 等多平台 LLM图表生成Mermaid.js(轻量且强大的图表库)部署工具提供 GitHub Action、VS Code 插件等集成方案如果大家也想实现一款非常有价值的AI工具,也可以参考上面的技术栈,站在“巨人的肩膀上”总没错。
应用场景分析根据我的实测,CodeBoarding 在这几个场景特别适用:
所以大家可以综合评估一下,我觉得单纯在项目分析方面,它还是非常有用的。
本地开发教程
1. 环境准备
# 安装Python 3.11和uvcurl -LsSf https://astral.sh/uv/install.sh | shuv venv --python 3.11source .venv/bin/activate# 安装系统依赖sudo apt-get install build-essential cmake pkg-config libicu-dev zlib1g-dev libcurl4-openssl-dev libssl-dev ruby-devgem install github-linguist2. 安装语言服务器
# Python语言支持uv pip install pyright# TypeScript语言支持npm install --save typescript-language-server typescript3. 配置和运行
# 克隆项目git clone https://github.com/CodeBoarding/CodeBoarding.gitcd CodeBoarding# 安装依赖uv pip sync requirements.txt# 配置环境变量(复制下面内容到.env文件)echo 'OPENAI_API_KEY="你的密钥"REPO_ROOT=./reposROOT_RESULT=./resultsPROJECT_ROOT=$(pwd)DIAGRAM_DEPTH_LEVEL=1' > .env# 分析一个开源项目(以FastAPI为例)python demo.py https://github.com/tiangolo/fastapi --output-dir ./fastapi-result运行完成后,在 fastapi-result 目录就能看到生成的 Mermaid 图表了。
如果大家经常跟复杂项目打交道,或者团队总在为 "新人上手慢" 头疼,不妨试试这个项目。目前它还在快速迭代,也欢迎大家参与贡献 —— 毕竟让代码世界更清晰,是每个开发者的共同心愿。
来源:趣谈前端一点号