GoWiki——基于语义检索的开源仓库智能文档生成平台产品系统Vibe Coding

我要开发同款
remindal2026年08月04日
7阅读

技术信息

语言技术
postgresDockerRabbitMQRedisGo
系统类型
Web
行业分类
开发工具项目任务

作品详情

行业场景

随着开源项目数量爆炸式增长,开发者理解陌生代码仓库的成本极高,README 质量参差不齐。本项目立项旨在解决"快速读懂一个陌生仓库"的产品问题,面向开源社区开发者与企业技术选型场景,对 GitHub 仓库进行自动摄取、语义切片与向量检索,并生成结构化 Wiki 文档,显著降低代码理解与上手的门槛。

功能介绍

1、仓库摄取:输入 GitHub 仓库地址,异步任务队列自动拉取源码并进行结构化解析;
2、向量切片:对代码与文档进行语义切片,嵌入向量存储至 PostgreSQL/pgvector;
3、语义检索:用户提问时先经向量检索召回相关代码片段,作为上下文注入 LLM;
4、Wiki 生成:基于检索结果自动生成架构说明、模块文档等结构化 Wiki 内容;
5、REST 接口:提供任务提交、进度查询、文档获取等标准 RESTful API;
6、任务队列:ingest 提交后立即返回任务 ID,后台异步执行,支持进度可视化查询。

项目实现

系统采用 Go 语言开发,整体分为摄取、检索、生成三层流水线架构。
1、摄取层:用户提交 GitHub 仓库地址后,任务立即进入异步队列并返回任务 ID,后台 worker 拉取仓库源码,按文件结构与语义边界进行切片(chunking),避免跨逻辑块切分破坏上下文。
2、向量层:调用 Embedding 模型将代码与文档切片转化为向量,与原文一并存储至 PostgreSQL + pgvector,利用其 HNSW 索引实现高效近似最近邻检索,避免引入独立向量数据库。
3、检索层:用户提问(ask)时,先将问题文本向量化,经 pgvector 召回 Top-K 相关代码片段,作为上下文注入 LLM 的 Prompt,有效缓解大模型幻觉并控制 Token 消耗。
4、生成层:基于检索结果调用 LLM 逐模块生成架构说明与文档,汇总为结构化 Wiki;支持流式输出与任务进度查询。
5、工程化:全流程异步任务调度(提交即返回、后台执行、状态可视),Redis 做任务状态与缓存,Docker Compose 一键部署,对外暴露 RESTful API(任务提交、进度查询、问答、文档获取)供前端集成。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论