0xgetz/GitVibe
GitHub: 0xgetz/GitVibe
一款开源自托管工具,将任意 Git 仓库自动转化为优化的 AI 编程提示词,支持多平台、多层级上下文分析与多种 LLM 集成。
Stars: 0 | Forks: 0

# ⚡ GitVibe
**将任何 Git 仓库转化为最佳的 AI 编程提示词。**
粘贴 GitHub / GitLab / Bitbucket / 自托管 Git URL → 获取经过实战检验的提示词
让 Claude、Cursor、Grok 等工具*重建、扩展或分叉*该项目。
100% 开源 · 支持自托管 · 零追踪 · MIT
## 为什么选择 GitVibe
[GitReverse](https://www.gitreverse.com) 只做一件事:将仓库转化为“氛围编程 (vibe coding)”提示词。
GitVibe 功能更多,可在您自己的机器上运行,且绝不回传数据:
| | GitReverse | **GitVibe** |
|---|:---:|:---:|
| GitHub | ✅ | ✅ |
| GitLab / Bitbucket / Gitea (自托管) | ❌ | ✅ |
| 子文件夹 / monorepo 路径逆向 | ❌ | ✅ |
| 分层上下文 (Quick → Ultra) | ❌ | ✅ |
| 多种提示词变体 | ❌ | ✅ (4) |
| 技术栈与架构检测 | 基础 | ✅ 深度 |
| Token 估算器 | ❌ | ✅ |
| 自带 LLM (Ollama/Groq/OpenRouter/Anthropic/OpenAI) | ❌ | ✅ |
| 提示词库 | ❌ | ✅ |
| 导出 (MD/JSON/TXT/CLAUDE.md/.cursorrules) | ❌ | ✅ |
| 自托管 / 开源 | ❌ | ✅ |
| 追踪 / 遥测 | 部分 | **无** |
## 功能
- **多平台** — GitHub、GitLab、Bitbucket,以及任何通过 host + token 访问的自托管 Gitea/GitLab。
- **上下文智能** — 自动检测语言、框架、架构 (MVC / Clean / monorepo / Next.js App vs Pages Router)、数据层、测试、CI/CD、基础设施。优先处理高价值文件 (`README`、`package.json`、`tsconfig`、Dockerfiles、migrations、入口点) 并按排名顺序读取它们。
- **分层上下文模式** — `Quick` (README + tree + metadata)、`Standard`、`Deep` (关键文件内容 + 架构摘要)、`Ultra` (完整的模块化拆解)。
- **4 种提示词变体** — Vibe Coding · System Prompt + Agent Instructions · Step-by-step Rebuild · Fork & Improve。
- **Token 估算器** — 针对每种模式提供预算,确保您不会超出 context window。
- **子文件夹逆向** — 仅分析庞大 monorepo 中的 `apps/web`。
- **自带 LLM** — Deep/Ultra 可以通过 Ollama (本地且免费)、Groq、OpenRouter、Anthropic 或 OpenAI 丰富真实的架构摘要。Quick/Standard 完全**不需要** LLM。
- **提示词库** — 保存、复制、删除逆向工程的提示词 (本地 SQLite)。
- **导出** — Markdown、JSON、纯文本、`CLAUDE.md`、`.cursorrules`。
- **现代 UI** — Next.js 15、Tailwind、shadcn 风格的组件、暗黑模式、完全响应式。
## 快速开始 (Docker)
```
git clone
gitvibe && cd gitvibe
cp .env.example .env # optional: add tokens / LLM keys
docker compose up --build # → http://localhost:3000
```
还想捆绑一个本地 LLM?
```
docker compose --profile ollama up --build
docker exec -it gitvibe-ollama ollama pull qwen2.5-coder:7b
```
## 快速开始 (本地开发)
```
npm install
cp .env.example .env
npm run dev # → http://localhost:3000
```
需要 Node.js 20+ (better-sqlite3 会编译原生绑定,因此必须安装构建工具)。
## 配置
所有配置均为可选 — 应用程序可以在零配置下启动。完整列表请参阅 [`.env.example`](./.env.example)。重点说明:
- `GITHUB_TOKEN` / `GITLAB_TOKEN` / `BITBUCKET_TOKEN` — 提高速率限制并读取私有仓库。(您也可以在 UI 中为每次请求粘贴 token;该 token 绝不会被存储。)
- `OLLAMA_BASE_URL`、`GROQ_API_KEY`、`OPENROUTER_API_KEY`、`ANTHROPIC_API_KEY`、`OPENAI_API_KEY` — 启用 AI 架构摘要。UI 中只会显示您配置的提供商。
- `RATE_LIMIT_MAX`、`RATE_LIMIT_WINDOW_MS` — 内置的基于 IP 的速率限制。
- `MAX_DEEP_FILES` — 限制 Deep/Ultra 模式读取的文件数量。
## 工作原理
```
URL ─▶ providers.ts ─▶ orchestrator ─▶ analyzer (stack/arch/ranking)
└▶ token estimator
└▶ prompt builders ─▶ [+ LLM summary] ─▶ 4 variants
```
1. `parseRepoUrl` 将任何 URL (包括 `/tree//`) 规范化为 `RepoRef`。
2. 匹配的提供商客户端获取 metadata、完整的文件树和 README。
3. 分析器检测 stack/architecture 并按实用性对文件进行排名;Deep/Ultra 会读取前 N 个文件。
4. 提示词构建器组装一个上下文块,并将其包装在每个变体的指令中。Deep/Ultra 可选地在前面加上 LLM 生成的架构摘要。
## API
所有路由都是位于 `/api` 下的普通 JSON:
- `POST /api/analyze` — `{ url, mode, provider?, host?, token?, ref?, subpath? }` → 分析结果
- `POST /api/generate` — `{ analysis, mode, variants?, useLlm?, llmProvider? }` → 提示词
- `GET/POST/DELETE /api/library` — 提示词库 CRUD
- `POST /api/export` — `{ format, repoFullName, prompts }` → 文件下载
## 隐私
没有分析,没有遥测,除了您选择的 Git 主机和 LLM 提供商之外,不会进行任何第三方调用。每次请求的 token 仅在内存中使用,绝不写入磁盘。匿名公共仓库分析会在内存中缓存 10 分钟;除此之外,不会有任何数据离开您的服务器。
## 部署
有关 Docker、裸机、Vercel 和反向代理的说明,请参阅 [`DEPLOY.md`](./DEPLOY.md)。
## 许可证
[MIT](./LICENSE)。随您所欲。欢迎贡献。标签:AI编程, Git工具, MITM代理, 代码分析, 凭证管理, 开发辅助工具, 提示词工程, 策略决策点, 自动化攻击, 自托管, 请求拦截