我按 package.json 结构顺序 给你逐个解释,全部用 # 注释,一句话说明核心作用,尽量压缩到技术本质级描述。
{
"name": "gitnexus", # 项目名称
"private": true, # 不允许发布到 npm
"version": "0.0.0", # 当前项目版本
"type": "module", # 使用 ES Module 语法 (import/export)
"scripts": {
"dev": "vite", # 启动 Vite 开发服务器
"build": "tsc -b && vite build", # 先用 TypeScript 编译,再用 Vite 打包
"preview": "vite preview" # 本地预览生产构建
},
"dependencies": {
"@huggingface/transformers": "^3.0.0", # 在浏览器/Node 中运行 Transformer 模型(embedding、推理)
"@isomorphic-git/lightning-fs": "^4.6.2", # 浏览器内存/IndexedDB 文件系统,用于让 git 在浏览器运行
"@langchain/anthropic": "^1.3.10", # LangChain 对 Anthropic Claude API 的封装
"@langchain/core": "^1.1.15", # LangChain 核心抽象(LLM、Chain、Prompt、Runnable)
"@langchain/google-genai": "^2.1.10", # LangChain 对 Google Gemini API 的封装
"@langchain/langgraph": "^1.1.0", # 构建 AI Agent 状态机 / 工作流图
"@langchain/ollama": "^1.2.0", # 调用本地 Ollama LLM
"@langchain/openai": "^1.2.2", # 调用 OpenAI API
"@sigma/edge-curve": "^3.1.0", # Sigma 图可视化中的曲线边渲染
"@tailwindcss/vite": "^4.1.18", # 在 Vite 中集成 TailwindCSS
"axios": "^1.13.2", # HTTP 请求客户端
"buffer": "^6.0.3", # Node Buffer API 浏览器兼容实现
"comlink": "^4.4.2", # WebWorker RPC 通信封装(像调用函数一样调用 worker)
"d3": "^7.9.0", # 数据驱动可视化库(图形布局、数据操作)
"graphology": "^0.26.0", # JavaScript 图数据结构库(Graph/Node/Edge)
"graphology-indices": "^0.17.0", # graphology 的索引结构(加速图查询)
"graphology-utils": "^2.3.0", # graphology 的常用工具函数
"mnemonist": "^0.39.0", # 高性能数据结构集合(heap、LRU、queue等)
"pandemonium": "^2.4.0", # 随机算法工具库(随机采样、shuffle等)
"graphology-layout-force": "^0.2.4", # 力导向图布局算法
"graphology-layout-forceatlas2": "^0.10.1", # ForceAtlas2 图布局算法(常用于知识图谱)
"graphology-layout-noverlap": "^0.4.2", # 防止图节点重叠的布局算法
"isomorphic-git": "^1.36.1", # 纯 JS 实现的 Git(可在浏览器操作 git repo)
"jszip": "^3.10.1", # 浏览器/Node 中读取和生成 zip 文件
"kuzu-wasm": "^0.11.1", # Kuzu 图数据库 WebAssembly 版本
"langchain": "^1.2.10", # LangChain 主库(统一 AI 应用开发框架)
"lru-cache": "^11.2.4", # LRU 缓存实现
"lucide-react": "^0.562.0", # React 图标库
"mermaid": "^11.12.2", # 文本生成图表(流程图/架构图)
"minisearch": "^7.2.0", # 轻量全文搜索引擎
"react": "^18.3.1", # React 前端框架
"react-dom": "^18.3.1", # React DOM 渲染
"react-markdown": "^10.1.0", # Markdown 渲染为 React 组件
"react-syntax-highlighter": "^16.1.0", # 代码高亮组件
"react-zoom-pan-pinch": "^3.7.0", # 画布缩放/拖动交互
"remark-gfm": "^4.0.1", # Markdown GitHub 扩展语法支持
"sigma": "^3.0.2", # WebGL 图可视化引擎(渲染 graphology 图)
"tailwindcss": "^4.1.18", # 原子化 CSS 框架
"uuid": "^13.0.0", # UUID 生成
"vite-plugin-top-level-await": "^1.6.0", # 支持 ES module 顶层 await
"vite-plugin-wasm": "^3.5.0", # 让 Vite 支持 WebAssembly
"web-tree-sitter": "^0.20.8", # Tree-sitter 的 WebAssembly 版本(代码 AST 解析)
"zod": "^3.25.76" # TypeScript 运行时 schema 校验
},
"devDependencies": {
"@babel/types": "^7.28.5", # Babel AST 类型定义
"@types/jszip": "^3.4.0", # jszip TypeScript 类型
"@types/node": "^24.10.1", # Node 类型定义
"@types/react": "^18.3.5", # React 类型定义
"@types/react-dom": "^18.3.0", # ReactDOM 类型定义
"@types/react-syntax-highlighter": "^15.5.13", # 代码高亮组件类型
"@vercel/node": "^5.5.16", # Vercel Node serverless runtime
"@vitejs/plugin-react": "^5.1.0", # Vite 的 React 编译插件
"tree-sitter-wasms": "^0.1.13", # 多语言 Tree-sitter WASM parser 集合
"typescript": "^5.4.5", # TypeScript 编译器
"vite": "^5.2.0", # 前端构建工具
"vite-plugin-static-copy": "^3.1.4" # 构建时复制静态资源
}
}
如果从 架构视角 总结一下,这个 gitnexus 前端其实由 5 个核心技术模块组成:
| 模块 | 关键库 | 作用 |
|---|---|---|
| Git 引擎 | isomorphic-git + lightning-fs | 浏览器直接解析 Git repo |
| 代码解析 | web-tree-sitter | AST 级代码分析 |
| 图数据库 | kuzu-wasm | 浏览器内运行图数据库 |
| 图可视化 | graphology + sigma + d3 | 渲染代码知识图谱 |
| AI Agent | langchain + transformers | LLM 查询代码图谱 |
本质上就是一个 浏览器内的 Code Knowledge Graph + AI 查询系统。
