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

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

  •  
  •   yisen123 · 18 小时 48 分钟前 · 2158 次点击

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

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

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

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

    https://github.com/openclaw/openclaw

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