# PatchCraft **Repository Path**: dreamermist/patch-craft ## Basic Information - **Project Name**: PatchCraft - **Description**: AI Code Bridge (DiffForge) 是一款打通本地 Git 工程与大模型的协同工具,支持分类需求组装、Prompt 双通道分发、Diff 补丁可视化解析,以及安全的测试分支隔离与 Squash 压扁合并流。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-01 - **Last Updated**: 2026-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Code Bridge (ACB) > 面向本地 Git 工作流的高效 AI 协同编程桌面套件。无缝集成 Gemini / DeepSeek 网页端,实现代码上下文极速组装、物理级文件附件注入、补丁智能嗅探与零点击自动化分支落盘。 > > --- ## 核心特性 * **跨平台多模型预设**:内置 Gemini(默认)与 DeepSeek 等主流 Web 交互界面,支持自定义 URL 导航与会话缓存持久化。 * **物理级原生附件注入**:利用 Qt 底层 `QMimeData` 与 `WebAction.Paste` 原生通道,直接将选中的关联文件作为附件粘贴上传,彻底规避长代码塞入 Web 输入框导致的卡死与输入延迟。 * **零废话(Zero-Fluff)协议约束**:通过精细化 Prompt 约束协议与信标系统(`<<>>` / `<<>>`),强制大模型直接返回符合标准的 Git Unified Diff 补丁与 Commit 信息。 * **智能剪贴板免疫系统**:引入专属特征头 `<<>>` 与异步状态锁,严防构建的 Prompt 被自身监听器循环截获。 * **全自动测试分支落盘**: * 支持一键或**静默自动**将 AI 补丁应用在独立的 `ai_test_xxxxxxxx` 测试分支上。 * 内置防重复提交锁(`last_applied_patch`),杜绝同一回复被多次触发 Commit。 * **Squash 压扁合并**:支持将测试分支上的零散提交一键压扁合并(`git merge --squash`)至目标主分支(`main`/`master`),并支持交互式编辑归纳提交日志。 * **报错自愈机制**:当 Git 补丁出现行号冲突或合并失败时,一键生成自愈 Prompt 并自动回填至 AI 面板重试。 --- ## 快速上手 ### 1. 环境依赖 * Python 3.9+ * Git 2.20+ * PySide6 安装依赖: ```bash pip install PySide6 ``` ### 2. 启动应用 ```bash python main.py ``` > 程序启动后将默认以最大化窗口呈现。 > > --- ## 界面与功能分区 ``` +-------------------------------------------------------------+------------------------------------+ | 挂载工程目录 | 初始化Git | 关闭/展开AI面板 | 已挂载: xxx | 平台: [Gemini v] [重置] [导航] | +-------------------------------------------------------------+------------------------------------+ | [发版组装器] / [接收与版本流] | | | | | | 勾选源文件 (支持模糊检索 & @智能补全) | | | ----------------------------------------------------------- | 内置 QWebEngine 浏览器 | | 【新需求】 | (支持 Gemini / DeepSeek) | | 【BUG修复】 | | | 【代码重构】 | | | | | | [ 一键构建 Prompt 🚀 ] | | | ----------------------------------------------------------- | | | 补丁 Diff 实时高亮视窗 | | | [⚡应用到分支并提交] [🔀压扁合并] [💊报错自愈] [自动应用: 开/关]| | +-------------------------------------------------------------+------------------------------------+ ``` --- ## 典型工作流 ### 第一步:挂载项目与组装需求 1. 点击顶部 **“挂载工程目录”**,选择你的本地 Git 代码仓库。*(若目录未包含 Git,可直接点击弹出的“初始化 Git 仓库”按钮)* 2. 在左侧 **“发版组装器”** 标签页中: * 在文件树中勾选本次改动关联的源文件。 * 在需求输入框中填写任务要求(在输入框中输入 `@` 即可模糊检索并快速引用仓库文件路径)。 ### 第二步:一键构建并发送 Prompt 1. 点击 **“一键构建 Prompt 🚀”**。 2. 系统将在后台自动: * 提取本地尚未提交的 `git diff` 变动。 * 组装包含项目架构规范、任务要求、特征标签的提示词。 * 自动在右侧 Web 界面输入框填入精简指令,并通过系统底层剪贴板模拟真实 `Ctrl+V` 将选中的代码文件作为附件上传。 ### 第三步:接收补丁与版本流管理 1. **智能捕获**:AI 生成完毕后,内置嗅探引擎自动解析 `<<>>` 信标,提取 Commit 摘要与 Unified Diff 并在 Diff 视窗中进行着色渲染。 2. **打补丁与 Commit**: * **手动模式**:核对 Diff 差异无误后,点击 **“⚡ 应用到分支并提交 (Commit)”**,补丁将在独立的隔离分支上安全落盘。 * **自动模式**:打开右侧的 **“自动应用: 开”** 自锁开关,系统检测到有效补丁后将静默完成应用与提交,底部状态栏实时反馈。 3. **压扁合并 (Squash)**: * 完成多个轮次的修改并验证通过后,点击 **“🔀 压扁合并至主分支 (Squash)”**。 * 选择目标分支(如 `main`),在弹出的归纳窗口中确认或裁剪最终的 Commit Log,一键完成合并并自动清理测试分支。 --- ## 项目架构 ```text ai-code-bridge/ ├── main.py # 应用启动入口与全局窗口配置 ├── ui_components.py # Qt GUI 交互组件、富文本编辑器、WebEngine 容器与自动化调度 ├── core_engine.py # Prompt 协议组装器、Diff 清洗解析器、Git 执行引擎与测试沙盒 └── ARCHITECTURE.md # 项目架构规范文件(会被自动载入至 Prompt 上下文中) ``` --- ## 协议与免责声明 本项目仅用于个人及团队本地代码工程的高效辅助与学习交流。使用本工具时请确保遵守相关 AI 服务提供商(Google Gemini / DeepSeek 等)的使用条款与规范。