filiksyos/gitreverse

GitHub: filiksyos/gitreverse

将公开 GitHub 仓库反向工程为一段可粘贴到 AI 编程工具中的合成提示词,帮助用户通过自然语言从零重建项目。

Stars: 870 | Forks: 164

# GitReverse https://github.com/user-attachments/assets/f0cdb7b2-c6f0-4483-8a01-153170479f2e 将一个 **公开的 GitHub 仓库** 转换为一个 **合成的单一用户提示词**,用户可以将其粘贴到 Cursor、Claude Code、Codex 等工具中,通过“氛围编程”(vibe code) 从零开始构建项目。 该应用会拉取 **仓库元数据**、**根目录文件树**(深度为 1)以及 **README**,然后使用 LLM 生成一段简短且口语化的提示词,且内容完全基于上述上下文。 在主页粘贴 GitHub URL 或 `owner/repo`。你也可以直接访问 **`/owner/repo`**(例如 `/vercel/next.js`),这是一个可分享的链接,会执行相同的流程。 本网站上类似 GitHub 风格的 **`/owner/repo/tree/...`** URL 会 **重定向到 `/owner/repo`**,从而避免出现 404 错误。目前反向流程仍然使用整个仓库;支持 **特定子文件夹** 的上下文(仅限于该路径)计划在后续版本中实现。 ## 技术栈 Next.js 16 (App Router)、React 19、TypeScript、Tailwind CSS 4、GitHub API、Supabase(可选)、Stripe(可选)。 ## 配置 将 `.env.example` 复制为 `.env.local`,并至少填写一个 LLM API 密钥。 ### 快速 LLM(必需) 快速反向端点支持四个提供商。设置 **`GITREVERSE_QUICK_LLM`** 来固定其中一个,或者保持不设置(`auto`),让应用自动使用它找到的第一个密钥: | 提供商 | 密钥环境变量 | 模型环境变量 | 默认模型 | |---|---|---|---| | Grok (xAI) | `XAI_API_KEY` | `XAI_MODEL` | `grok-3` | | OpenRouter | `OPENROUTER_API_KEY` | `OPENROUTER_MODEL` | `google/gemini-2.5-pro` | | OpenAI | `OPENAI_API_KEY` | `OPENAI_MODEL` | `gpt-4.1` | | Google AI Studio | `GOOGLE_GENERATIVE_AI_API_KEY` | `GOOGLE_AI_STUDIO_MODEL` | `gemini-2.5-pro` | 在 `auto` 模式下,优先级顺序为:Grok → OpenRouter → OpenAI → Google。 ### 其他环境变量 - **`GITHUB_TOKEN`** — 可选;提高 GitHub API 的速率限制。 - **`SUPABASE_URL`** + **`SUPABASE_PUBLISHABLE_KEY`** — 可选;启用 `prompt_cache` 中快速提示词的服务端缓存,并开放 `/library` 页面。 - **`VIEWS_IP_SALT`** — **在生产环境中必需**。使用 `openssl rand -hex 32` 生成一个。如果在生产环境中没有设置非默认值,应用将拒绝启动。 ### 自定义反向(可选) 对于 **深度 / 聚焦** 提示词,可将应用指向一个后端服务: ``` CUSTOM_REVERSE_SERVICE_URL=http://localhost:3001 ``` ## 路由 | 路径 | 描述 | |---|---| | `/` | 首页 — 快速和自定义反向 | | `/library` | 浏览缓存的快速提示词(需要 Supabase) | | `/history` | 来自 localStorage 的最近仓库 | | `/[owner]/[repo]` | 可分享的快速反向链接 | | `/[owner]/[repo]/deep` | 可分享的深度反向链接 | | `/[owner]/[repo]/[focus]` | 可分享的手动聚焦反向链接 | | `/[owner]/[repo]/tree/...` | 重定向到 `/[owner]/[repo]` | ## 开发 ``` pnpm install pnpm dev ``` 打开 [http://localhost:3000](http://localhost:3000)。 ``` pnpm build pnpm start pnpm lint ```
标签:AI编程, Claude Code, Codex, Cursor, DLL 劫持, GitHub API, GitHub仓库分析, LLM, Prompt生成, React, SEO, Stripe, Supabase, Syscalls, Tailwind CSS, TypeScript, Unmanaged PE, Vibe Coding, 二进制发布, 云资产清单, 代码克隆, 代码解析, 大语言模型, 安全插件, 开源工具, 提示词工程, 策略决策点, 网络调试, 自动化, 自动化攻击, 逆向工程