AI代码库问答引擎Folda-Scan
简介
什么是 Folda-Scan ?
Folda-Scan
是一款革命性的智能项目问答工具, 完全在浏览器中本地运行 。它使用高级语义矢量化将您的代码库转变为对话伙伴,使代码理解和AI
协作变得前所未有的简单和安全。其采用尖端的Web
技术和AI
算法构建,可为您提供流畅、高效和安全的本地代码交互体验。
主要亮点
- 🛡️ 绝对隐私,本地运行:所有数据处理均在浏览器本地完成,代码永不离开您的计算机。
- 💬 自然语言“聊”代码:像和同事聊天一样向代码库提问,精准获取答案。
- 🧠 深层语义理解:超越关键词,理解代码的真实意图和复杂逻辑。
- 🎯 信息秒级定位:模糊描述也能快速定位相关代码片段和文件。
- 🤖 LLM 协作加速器:一键生成上下文感知的
Markdown
,为AI
助手(ChatGPT
,Claude
等)提供完美“食粮”。 - 💰 Token 成本骤降:优化
LLM
交互,显著降低API
调用成本和等待时间。 - 🛠️ 智能配置生成:辅助生成
Dockerfile
等项目配置文件。 - 🚀 即时上手:清晰的项目运行指导,快速启动您的代码探索之旅。
工作原理
Folda-Scan
的魔法源于其创新的语义向量化引擎:
- 本地扫描与索引:安全扫描您选定的本地项目,通过语义分析将代码转化为高维向量,在浏览器本地构建知识索引。
- **智能自然语言处理 (NLP)**:理解您的自然语言提问,并将其同样向量化。
- 精准语义匹配:在向量空间中高效匹配问题与代码内容,提供最相关的答案。 这一切都在保障您数据隐私的前提下,在浏览器中高效完成。
应用场景
- 代码理解与学习:适用于新开发者快速了解复杂代码库,提升学习效果。
- 技术文档生成:便于开发者在与代码互动时,生成清晰的技术文档。
- 多项目管理:适合需要同时处理多个项目的开发者,快速查找所需信息。
- AI 辅助开发:为开发者提供强大的工具,优化与
AI
的协作,减少API
调用成本。
Folda-Scan
通过提供安全、高效的代码交互体验,帮助开发者更好地利用其代码资产。
如果不想自己安装,可以使用官方提供的演示站点( https://file.wen.bar )
构建镜像
如果你不想自己构建,可以跳过,直接阅读下一章节
Dockerfile
没有采用多阶段构建,所以编译出来的镜像有点大
1 | # 使用 Node.js 作为基础镜像 |
构建镜像和容器运行的基本命令如下👇
1 | # 下载代码 |
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 wbsu2003
,可能要翻到第二页才能找到 wbsu2003/web-code-agent
,版本选择 latest
。
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
3250 |
3000 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 运行容器 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 folda-scan 和 子目录 |
运行
如果在浏览器中输入 http://群晖IP:3250
,虽然能看到主界面,但是会有警告提示
其实原因主要是文件系统访问(File System Access API
)和 Service Worker
必须使用 https
协议,当然浏览器本身也很重要, Firefox
和 Safari
可能不支持或部分支持
反向代理
实际访问地址为: https://code.laosu.tech
域名 | 局域网地址 | 备注 |
---|---|---|
code.laosu.tech |
http://192.168.0.197:3250 |
Folda-Scan 的访问地址 |
在 npm
中的设置
在浏览器中输入 https://code.laosu.tech
,这次不会再有警告了
基本用法
- 选择文件夹:授权浏览器访问您的本地代码项目。
- 等待索引:
Folda-Scan
将在本地快速构建语义索引。 - 开始提问:用自然语言向您的代码库提问,探索其奥秘!
以本项目为例,输入用户名和仓库名之后,可以下载代码
当然前提是你能访问
https://api.github.com
在本机解压之后,点 选择文件夹
导入项目代码
下载的报告是 FS_Report_20250601_1146.txt
这样的文件,包含了项目文件、文件夹、函数、方法以及它们之间的调用关系、可用于 ChatGPT
、Claude
等
选择 与代码对话
现在可以直接跟代码库对话了
稍等一会儿,你就会看到答案了
软件本身不需要设置大模型,但是从答案看,会向后端/云端(https://text.pollinations.ai/openai)发送对话信息
你可以将代码库当做知识库,这样就好理解了,虽然不会上传完整的代码,但是代码片段还是会的,这也是为什么会减少 API
调用费用的根本原因
参考文档
oldjs/web-code-agent: Browser-local AI code Q&A engine. Chat with your codebase, ensure privacy, and optimize LLM collaboration.
地址:https://github.com/oldjs/web-code-agentFolda-Scan - 本地文件夹扫描工具
地址:https://file.wen.bar/