GitHits beta 0.9 GitHits 为 AI 编程代理提供开源代码访问和依赖索引,帮助代理获取真实示例,减少猜测和循环,提升编码效率。 热门评论 PH 用户Hi Product Hunt! 👋我是Olli-Pekka,GitHits的联合创始人之一。我在开源社区混了15年。我搞过opencv-python,当副业维护时下载量超过1亿。冷知识:我跟Linus Torvalds一样来自🇫🇮芬兰。🙂我发现当文档缺东西时,我老是给同事和朋友同样的建议。我的惯用技巧很简单:用GitHub搜索找已经解决问题的代码。这招很强大,但它只返回原始结果,而不是带上下文的答案。于是我开始开发GitHits,把这个工作流带给编码智能体。GitHits跟Claude Code、Codex、Cursor还有别的AI编码智能体是互补的。这些智能体很擅长在你的本地代码库里导航。它们能grep、搜索、读文件,搞清楚你的应用是怎么工作的。问题是现代软件不止于仓库边界。系统里很大一部分活在框架、库、SDK和其他开源依赖里。智能体通常能看到你的代码在哪儿调用这些依赖,但往往没法像那样导航和检查它们。而且就算智能体读了文档,文档也只告诉它调什么,不告诉它实际怎么运作的。要搞清楚得看源码。GitHits让智能体可以访问:基于仓库、issue、讨论和PR里的真实实现代码示例,并链接回实现代码;跨包和仓库的代码导航:搜索、grep、文件列表、精确读取行,无需clone;包依赖检查、漏洞、变更日志和升级变化;托管文档和仓库文档的访问。GitHits按需构建开源代码的版本感知索引,通常对一个普通仓库只需10-20秒。当智能体在本地仓库里碰壁时,GitHits就派上用场了。这可能在规划和调研阶段发生——需要理解依赖怎么工作、版本间有什么变化、或者别处怎么实现某东西。也可能在实现阶段发生——智能体开始重试各种变体、探索死胡同,因为答案不在本地仓库里。对我们开发者来说,通常这时候我们就会离开自己的仓库,去读别人的代码。用户怎么说GitHits:Onni:帮Claude Code从代码里找到未文档化的API;Rob:我openusage v2应用出了个问题——boom,直接完美修复不用猜。永久免费层可用。没有试用期。直接创建账号,把你的智能体连上GitHits就行。发布日特惠。今天注册的用户都能获得6个月的3倍积分。没附加条件,就是更多GitHits。设置只需一条命令:npx githits@latest init它会安装CLI,并将GitHits连接到Claude Code、Codex、Cursor或任何兼容MCP的智能体。或者用这个链接注册。如果你已经在用GitHits,告诉我你用它干嘛、我们怎么做得更好。我们期待你的刺耳反馈,真心感谢支持!PH 用户Hi Product Hunt! 👋我是Juha,GitHits的联合创始人和首席架构师。我负责底层的索引引擎,所以想聊聊你看不见的那部分。我被问得最多的问题大概是这个:我的编码智能体已经能clone仓库、grep、搜GitHub了,GitHits到底多了什么?好问题,老实说,扒GitHub只能给你的智能体原始结果,不是理解。它clone默认分支的顶部,一个个仓库grep,把代码当文本处理,根本不知道什么值得信任。而且有个让很多人意外的事:GitHub自己的代码搜索只覆盖仓库的默认分支,所以你实际依赖的老版本通常根本搜不了。临时查查还行,但问题一具体就崩了。GitHits做的是建立一个真正的、版本感知的索引。我们抓取实际源码、解析它、变成结构,并按版本保留这种结构,这样你的智能体读的是我们已经建好的东西,而不是临时扒和猜。大家通常很惊讶这工作量有多大。一个小例子:光确定版本号1.2.3对应哪个commit——没有标准规定项目怎么给release打tag,所以我们的索引器里专门干这部分的代码就超过700行,而且我们已经重写了六次,因为不断遇到新的命名惯例。这还没开始解析一行实际代码呢。而且不只是代码。我们同样按版本索引文档,跟其他内容整合在一起,让智能体基于代码、测试、示例和文档的均衡混合来接地气,而不是凭一个碎片去猜。我把完整的技术内幕写在这里了,想了解详情可以看:https://githits.com/blog/what-it-actually-takes-to-index-open-source/最好办法就是直接试试。设置只需一条命令:npx githits@latest init它把GitHits连接到Claude Code、Codex、Cursor或任何兼容MCP的智能体。或者在这里注册:https://app.githits.com/signup索引引擎是我建的,所以真心想知道它在哪好用、在哪翻车。刺耳的反馈最有用。PH 用户这个应用真的超有用,能把你编码智能体变成顶级资深工程师。当我引入新模式或新库时,我总想先从GitHits找真实经过实战检验的实现。最终你会意识到,让编码智能体瞎搞那种重要又高杠杆的代码,简直又蠢又不负责任。PH 用户后端工作很厉害。你们是在自己的基础设施上完全做解析/索引并通过API提供,还是通过MCP连到Claude Code时会有本地缓存层?乐意支持 🙌PH 用户按每个release建版本感知索引,而不是扒GitHub的默认分支,这个做法是对的。不能检查实际依赖版本的智能体只会瞎编API签名。我们就遇到过智能体生成的代码坏了,因为文档描述的是错误版本。GitHits怎么处理那种独立版本管理的monorepo?PH 用户效果很好,我一直在用 Githits 探索不同库的实现细节,用真实世界的例子来给编码智能体提供依据。把编码智能体指向一个你知道已经实现你想要的功能的开源参考实现,这很酷。 热门产品Olli-Pekka Heinisuo2026-06-16原文 打开互动版
我是Olli-Pekka,GitHits的联合创始人之一。
我在开源社区混了15年。我搞过opencv-python,当副业维护时下载量超过1亿。冷知识:我跟Linus Torvalds一样来自🇫🇮芬兰。🙂
我发现当文档缺东西时,我老是给同事和朋友同样的建议。我的惯用技巧很简单:用GitHub搜索找已经解决问题的代码。这招很强大,但它只返回原始结果,而不是带上下文的答案。
于是我开始开发GitHits,把这个工作流带给编码智能体。
GitHits跟Claude Code、Codex、Cursor还有别的AI编码智能体是互补的。
这些智能体很擅长在你的本地代码库里导航。它们能grep、搜索、读文件,搞清楚你的应用是怎么工作的。
问题是现代软件不止于仓库边界。
系统里很大一部分活在框架、库、SDK和其他开源依赖里。智能体通常能看到你的代码在哪儿调用这些依赖,但往往没法像那样导航和检查它们。而且就算智能体读了文档,文档也只告诉它调什么,不告诉它实际怎么运作的。要搞清楚得看源码。
GitHits让智能体可以访问:基于仓库、issue、讨论和PR里的真实实现代码示例,并链接回实现代码;跨包和仓库的代码导航:搜索、grep、文件列表、精确读取行,无需clone;包依赖检查、漏洞、变更日志和升级变化;托管文档和仓库文档的访问。
GitHits按需构建开源代码的版本感知索引,通常对一个普通仓库只需10-20秒。
当智能体在本地仓库里碰壁时,GitHits就派上用场了。
这可能在规划和调研阶段发生——需要理解依赖怎么工作、版本间有什么变化、或者别处怎么实现某东西。也可能在实现阶段发生——智能体开始重试各种变体、探索死胡同,因为答案不在本地仓库里。
对我们开发者来说,通常这时候我们就会离开自己的仓库,去读别人的代码。
用户怎么说GitHits:Onni:帮Claude Code从代码里找到未文档化的API;Rob:我openusage v2应用出了个问题——boom,直接完美修复不用猜。
永久免费层可用。
没有试用期。直接创建账号,把你的智能体连上GitHits就行。
发布日特惠。
今天注册的用户都能获得6个月的3倍积分。没附加条件,就是更多GitHits。
设置只需一条命令:
npx githits@latest init
它会安装CLI,并将GitHits连接到Claude Code、Codex、Cursor或任何兼容MCP的智能体。或者用这个链接注册。
如果你已经在用GitHits,告诉我你用它干嘛、我们怎么做得更好。
我们期待你的刺耳反馈,真心感谢支持!
我是Juha,GitHits的联合创始人和首席架构师。我负责底层的索引引擎,所以想聊聊你看不见的那部分。
我被问得最多的问题大概是这个:我的编码智能体已经能clone仓库、grep、搜GitHub了,GitHits到底多了什么?
好问题,老实说,扒GitHub只能给你的智能体原始结果,不是理解。它clone默认分支的顶部,一个个仓库grep,把代码当文本处理,根本不知道什么值得信任。而且有个让很多人意外的事:GitHub自己的代码搜索只覆盖仓库的默认分支,所以你实际依赖的老版本通常根本搜不了。临时查查还行,但问题一具体就崩了。
GitHits做的是建立一个真正的、版本感知的索引。我们抓取实际源码、解析它、变成结构,并按版本保留这种结构,这样你的智能体读的是我们已经建好的东西,而不是临时扒和猜。
大家通常很惊讶这工作量有多大。一个小例子:光确定版本号1.2.3对应哪个commit——没有标准规定项目怎么给release打tag,所以我们的索引器里专门干这部分的代码就超过700行,而且我们已经重写了六次,因为不断遇到新的命名惯例。这还没开始解析一行实际代码呢。
而且不只是代码。我们同样按版本索引文档,跟其他内容整合在一起,让智能体基于代码、测试、示例和文档的均衡混合来接地气,而不是凭一个碎片去猜。
我把完整的技术内幕写在这里了,想了解详情可以看:https://githits.com/blog/what-it-actually-takes-to-index-open-source/
最好办法就是直接试试。设置只需一条命令:
npx githits@latest init
它把GitHits连接到Claude Code、Codex、Cursor或任何兼容MCP的智能体。或者在这里注册:https://app.githits.com/signup
索引引擎是我建的,所以真心想知道它在哪好用、在哪翻车。刺耳的反馈最有用。