NAS、键盘、路由器······年轻就要多折腾。爱折腾的熊猫,今天又给大家分享最近折腾的内容了。关注是对我最大的支持,阿里嘎多~
怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!
引言
作为一个研究开源项目的博主,找轮子、追趋势、调研技术选型……GitHub 几乎是每天必开的网站。但在国内访问 GitHub,体验懂的都懂——搜索慢半拍、页面加载转圈、想看个 Trending 还得挂梯子,偶尔运气不好直接 404。对于刚入门的朋友来说,英文界面加上复杂的搜索语法,更是直接提高了"找好项目"的门槛。

为了解决这个问题,熊猫花了点时间用AI做了个Github的镜像搜索站GitMirror,项目完全开源,且功能性上也比原生github强非常多,加上加持了一些基于AI的服务,用起来是相当顺手。

项目介绍
项目熊猫已经开源了,开源地址为:https://github.com/Panda-995/github-search-mirror,感兴趣的记得给熊猫点个Star,这是对熊猫最大的支持,同时如果觉得不错,也可以关注下熊猫的媒体帐号哦!

首页其实很简单,一个大搜索框输入你想要搜索的内容就行,在顶部还有个常驻的搜索框,同时顶部右侧能看到搜索、趋势以及对比还有登录入口,这些后面我一一介绍。

首先来看趋势榜,其实就是抓取的Github原站点的信息,不过不同的是除了日榜、周榜以及月榜,熊猫给它还定义了按照语言分类和热度趋势、Stars以及更新排序,对比原站点的功能更多。

为了方便查看自己觉得不错的项目,熊猫还是搞了用户后台,这里能看到收藏和搜索记录,同时收藏夹支持创建,方便管理不同功能或者不同语言的项目。

重点在后台的设置界面,因为Github如果非登录情况下搜索有限流,所以为了让这个限制不影响使用,熊猫在后台添加了Github Token的填写,可以通过填入它来提升限流,获取方式这里也有指引。同时该界面也是AI功能的设置界面,支持各种LLM的设置。

解除限制之后进行搜索,搜索界面和Github原生差不多,只不过熊猫增加了一些功能,在左侧增加了搜索预设,能保存关键词和搜索条件方便下次直接使用,同时项目详情这里给了项目评分机制和对比选项,可以挑选2-5个项目进行对比。

添加对比列表之后点击右上角的对比就能看到对比情况,系统会根据项目的Stars、Forks、Lssues、语言、开放协议、最近更新以及风险和建议等等进行评估对比,当然这个只是作为参考。

来到项目详情,顶部有项目的作者,右侧能看到对比、收藏以及直接跳转Github。最重要的是右下侧,AI配置好之后就可以直接通过AI读取项目然后获得项目摘要,例如介绍这是干什么用的等等,同时也支持AI翻译和问答,问答例如可以问AI该项目如何Docker部署等等。

同时还提供了更详细的仓库健康指数,AI会从活跃度、社区规模、维护质量、文档完整性以及安全合规来评估分数,当然这也是参考。

最下方则是提供了项目代码浏览器,同时点击对应文件之后右侧也支持使用AI进行代码解释,不过该功能目前还不完善,后续熊猫会持续更新。
项目部署
GitMirror的部署也不难,因为涉及到了大量的项目数据,所以为了减轻Github API的搜索压力,熊猫提供了PostgreSQL+meilisearch+
redis的版本,通过redis和PostgreSQL能保存项目的缓存,减轻搜索压力,同时也提供了SQLite模式的轻量版本。
services:
app:
build: .
image: github-search-mirror:sqlite
restart: always
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATABASE_PROVIDER: sqlite
SQLITE_DATABASE_PATH: /app/data/github-search-mirror.sqlite
AUTH_SECRET: ${AUTH_SECRET:?AUTH_SECRET is required}
NEXTAUTH_URL: ${NEXTAUTH_URL:-http://localhost:3000}
ADMIN_EMAILS: ${ADMIN_EMAILS:-}
GITHUB_TOKEN: ${GITHUB_TOKEN:-}
volumes:
- ./data:/app/data
以上为轻量模式下的compose文件,其中AUTH_SECRET变量让AI生成即可,其他的项目构建会自动获取,如果想要完整模式版本,可以去项目地址瞅瞅,代码过长熊猫就不单独说明了。

如果你的NAS有对应的网络环境能拉取镜像,那么直接搜索镜像ghcr.io/panda-995/gitmirror下载镜像就行。
如果你的NAS环境不允许,也可以通过海康智存R1的Docker管理上传本地镜像,镜像并不大,不到300MB。

导入镜像之后在本地镜像找到刚刚导入的镜像,输入容器名来到容器详情设置这里,存储空间可以新建一个文件夹,命名为gitMirror,随后映射路径设置为/app/data,记得要读写模式。

端口容器端口为3000,本地端口随意,不冲突就行,端口类型选择TCP。

最后在环境变量这里,我们需要手动添加AUTH_SECRET变量,值让AI帮你生成一个就行。

最后启动项目,然后使用海康智存的快捷访问就能访问项目界面了,接下来就是无障碍使用Github了。
写在最后
项目的最终目的还是为了解决Github访问以及搜索功能不齐全的问题,配合AI助手能获得更好的体验,不过项目目前还处于初期阶段,可能会有些UI不协调、小Bug的存在,还请大家见谅,跑得起来就行。

最后项目因为自用,所以后续会持续更新,觉得不错可以关注一下哦!海康马上也有新品发布了,性价比超高,后续熊猫也会出相应的测评报告。
以上便是本次分享的全部内容了。如果你觉得还算有趣或对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!

panda