SuperAPI AI 工具集

gitnexus-explorer

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

用途:把代码库索引成知识图谱,用网页界面可视化浏览符号、调用链、聚类和执行流程,并可通过 Cloudflare 隧道远程访问与分享。

前置条件:Node.js v18+;仓库需有 .git 目录;隧道需 cloudflared(缺失时自动安装到 ~/.local/bin)。

主要步骤:

  1. 一次性克隆并构建 GitNexus,目录默认 $HOME/.local/share/gitnexus。
  2. 修改 gitnexus-web/src/config/ui-constants.ts 中的 DEFAULT_BACKEND_URL 以支持同源访问,并在 vite.config.ts 的 server 块加 allowedHosts: true(仅开发模式需要),再执行 npx vite build。
  3. 在目标仓库索引:npx gitnexus analyze --skip-agents-md,然后 rm -rf .claude/;需要语义搜索时加 --embeddings(较慢)。索引保存在仓库内 .gitnexus/(自动 gitignore)。
  4. 编写 proxy.mjs 代理脚本,把生产版网页与 /api/* 代理到同一端口,避免 CORS 与 sudo。
  5. 启动:npx gitnexus serve 作为后端;node "$GITNEXUS_DIR/proxy.mjs" "$GITNEXUS_DIR/gitnexus-web/dist" 8888 启动代理。可用 curl -s http://localhost:8888/api/repos 验证。
  6. 可选隧道:cloudflared tunnel --config /dev/null --url http://localhost:8888 --no-autoupdate --protocol http2,URL 打印在 stderr,分享后任何人可访问。
  7. 清理:pkill -f "gitnexus serve"、pkill -f "proxy.mjs"、pkill -f cloudflared;在仓库执行 npx gitnexus clean 并 rm -rf .claude/。

限制与注意:网页 UI 在浏览器中渲染所有节点,约 5000 文件以内良好,大型仓库(3 万+ 节点)可能卡顿甚至导致标签页崩溃;命令行/MCP 工具不受此限制。隧道必须用生产构建,Vite 开发服务器默认阻止非 localhost 主机。若存在 ~/.cloudflared/config.yml,cloudflared 需加 --config /dev/null,否则快速隧道请求会 404。网页 UI 不会创建 .claude/ 或 CLAUDE.md,这些由 analyze 生成。gitnexus serve 会服务所有已索引仓库,可在界面中切换。