V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yisen123
V2EX  ›  程序员

开源了一个在线工具:一键看懂任意 GitHub 仓库的代码全貌

  •  
  •   yisen123 · 17 小时 55 分钟前 · 2146 次点击

    做了一个小工具,贴上任意 GitHub 仓库地址,直接在浏览器里渲染出整个代码库的平面图( Floor Plan )。

    在线体验(无需安装): https://scan.sentrux.dev

    每个文件是一个方块,大小按代码行数比例,文件夹自动嵌套分组,依赖关系用线连接。点击任意文件可以高亮它的所有依赖。

    直接点开看效果 — 今天的热门仓库:

    说到最近的热点 — OpenClaw 最近大改了 Plugin SDK ,从 openclaw/extension-api 迁移到 openclaw/plugin-sdk/*,老插件全部 break ,社区一片哀嚎。用这个工具看看它的代码结构就知道为什么了:

    你可以直观地看到哪些模块之间有依赖,哪些文件是 god file ,为什么一改 SDK 整个插件生态都碎了。

    一些经典大项目对比:

    或者直接贴你自己的仓库地址试试,看看你的项目长什么样。

    支持 52 种语言,不同语言用不同颜色标注(右下角可以切换单色/语言模式)。

    技术上:纯 Rust 实现,网页版用 egui + WebGL 渲染,和桌面版共享同一套渲染代码。MIT 开源。

    GitHub: https://github.com/sentrux/sentrux

    欢迎试用,随便贴你的仓库看看长什么样。

    21 条回复    2026-03-25 19:45:45 +08:00
    wsliwh
        1
    wsliwh  
       17 小时 30 分钟前
    很不错的项目,给大佬点赞
    zhady009
        2
    zhady009  
       16 小时 52 分钟前
    https://scan.sentrux.dev/scan/shoaky009/source-downloader
    不清楚为什么没有分析出依赖关系连线,预期 SourceProcessor.kt 应该有依赖才对
    yisen123
        3
    yisen123  
    OP
       16 小时 45 分钟前   ❤️ 1
    @zhady009 你好,可以先用桌面版测试一下, 桌面版测出来是好的,这可能是 rust 以及 webassembly 的一个 bug ,我们正在修复网页版中,桌面版是好的
    xxlsize
        4
    xxlsize  
       16 小时 26 分钟前   ❤️ 2
    这个图看着酷炫,但是实际上有啥价值没看出来。
    yisen123
        5
    yisen123  
    OP
       16 小时 23 分钟前
    @xxlsize 主要的价值是给出代码质量分数,ai agent 有了这个分数以后从 mcp 获取,可以改进代码质量
    xxlsize
        6
    xxlsize  
       16 小时 13 分钟前
    @yisen123 但是那个图没看出来有啥用,从图上能看出啥?点击图上的块也只显示个文件名,没有任何该文件的具体指标
    HeyHudy
        7
    HeyHudy  
       16 小时 6 分钟前
    abc1310054026
        8
    abc1310054026  
       16 小时 4 分钟前
    看的眼睛痛,你用错图了,treemap 用来可视化占比很好,但是表示关系的话用关系图比较好。

    你可以增加一个 tabs ,切换不同图类型。
    yisen123
        9
    yisen123  
    OP
       15 小时 53 分钟前
    @HeyHudy 很酷!!
    HeyWeGo
        10
    HeyWeGo  
       15 小时 52 分钟前
    关联关系多了竖立起来确实会有个比较直观的概念,不过表现形式可以改改。对于关联关系特别复杂的可以考虑用那种极细的线,用户关注某个具体文件的时候,将关联的线突出显示比较好,甚至有个 solo 模式。更多是产品层的调整。
    yisen123
        11
    yisen123  
    OP
       14 小时 19 分钟前
    @HeyWeGo 你好,刚刚网页已加入了极细的线帮助阅读,谢谢反馈!
    mlogclub
        12
    mlogclub  
       13 小时 54 分钟前
    和 github 提供的这个功能有啥区别?

    ![]( https://picui.ogmua.cn/s1/2026/03/25/69c37c1c5966a.webp)
    gotOwt
        13
    gotOwt  
       13 小时 39 分钟前
    默认是查看的哪个分支呢?

    还有 分数 为什么不是百分 z 制?
    endoffight
        14
    endoffight  
       13 小时 37 分钟前
    一直报错 Failed to fetch
    rekadowney9876
        15
    rekadowney9876  
       13 小时 18 分钟前
    cpu 在哀嚎
    NotFoundEgg
        16
    NotFoundEgg  
       13 小时 15 分钟前
    提个 bug ,我的项目默认分支是 master ,但双击图中的文件跳转的 github 链接是 main 分支
    Geon97
        17
    Geon97  
       11 小时 13 分钟前
    报错 ⚠ Cannot read properties of null (reading 'set_snapshot_json')
    maocat
        18
    maocat  
       11 小时 7 分钟前
    哈哈哈哈,我提交了

    https://github.com/openclaw/openclaw

    3000 多分,AI 还是牛
    fireeeebot
        19
    fireeeebot  
       10 小时 48 分钟前
    这线条好丰富
    Saniter
        20
    Saniter  
       8 小时 47 分钟前
    试了下超大型 repo linux ,一直 failed to fetch ,不过估计成功了也得卡死,上面那个 openclaw 的 cpu 占用就已经炸了
    234235
        21
    234235  
       8 小时 21 分钟前 via Android
    下载了可执行程序用,发现字体太小了,UI 还有优化空间
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:06 · PVG 04:06 · LAX 13:06 · JFK 16:06
    ♥ Do have faith in what you're doing.