# git-desk **Repository Path**: phodit/git-desk ## Basic Information - **Project Name**: git-desk - **Description**: 在同时开发多个项目时,辅助git操作:多仓库管理、AI 写提交说明、一键提交推送;AI 代码图谱(完整结构 / 提交修改记录,可下钻);SFTP 服务器备份对比与上传发布;本机目录同步; - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-07-22 - **Last Updated**: 2026-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git图谱工作台 · 5x开发者助手 本地 Git 图谱与提交工作台(目录 `tauri_git_desk`)。 **Windows 本地 Git 可视化客户端**:多仓库管理、AI 写提交说明、一键提交推送;AI 代码图谱(完整结构 / 提交修改记录,可下钻);SFTP 服务器备份对比与上传发布;本机目录同步;可选代码审查与 MCP Agent 操控。 开源仓库:[Gitee · phodit/git_desk](https://gitee.com/phodit/git_desk) 相关搜索词:Git GUI · Git 客户端 · 可视化提交 · AI commit message · 代码图谱 · Mermaid · SFTP 部署 · 多仓自动提交 · Beyond Compare · MCP Git --- ## 一句话能做什么 把「改代码 → 看 Diff → 写说明 → 提交推送 → 看架构图谱 → 备份服务器 → 对比上传 → 同步到另一目录」收进一个桌面窗口,少在命令行、资源管理器和 FTP 工具之间来回切换。 --- ## 实用功能清单(按场景) ### 多仓库日常开发 | 能力 | 你能少做的事 | |------|----------------| | **多项目卡片墙** | 不用每个仓单独开窗口;分支、未提交 / 未推送一目了然 | | **工作区实时监听** | 改文件后列表自动刷新,减少反复点「刷新」 | | **三栏开发工作台** | 文件树 + 变更列表 + Diff/预览,比例可拖、会记住 | | **AI 生成提交说明** | 根据 Diff 自动写 commit message(5xAI 或 OpenAI 兼容接口) | | **一键暂存并提交** | `add -A` + commit,少敲命令 | | **推送 / 拉取** | 有 upstream 时显示未推 / 未拉数量,带确认 | | **滚动加载提交历史** | 已推送 / 未推送标记清晰;可跳转 TortoiseGit 日志 | | **定时自动提交** | 间隔 1–1440 分钟;「无新变化再提交」或「到点强制」;可选「仅 AI 总结后才提交」;可选「进入项目内也继续提交」 | ### AI 代码图谱 | 能力 | 你能少做的事 | |------|----------------| | **完整代码图谱** | 基于当前 HEAD,用 AI 画出模块 / 目录 / 依赖关系,不用自己画架构图 | | **修改记录图谱** | 按最近提交(可指定起点)画出「改了什么、模块怎么动」,适合回顾一段迭代 | | **双击下钻子图谱** | 点进某个节点继续生成更细一层(最多 8 层);面包屑可回上层 | | **独立历史时间轴** | 完整代码 / 修改记录、以及每一层子图谱各自记历史;标注相对上一版差异 | | **浏览与导出** | 滚轮缩放、拖拽平移、小地图定位、全屏;导出 SVG 或 Mermaid(`.mmd`) | ### 发布到服务器(SFTP) | 能力 | 你能少做的事 | |------|----------------| | **SFTP/SSH 直连** | 密码或私钥;敏感口令只存当前会话,关软件即丢 | | **发布前先备份** | 服务器文件落到 `{日期}_{短hash}/` 本地快照,上传前可回看 | | **三栏对比** | 本地仓库 · 备份 · 服务器:名称 / 大小 / 修改时间一眼找差异 | | **Beyond Compare 打开** | 右键/双击对比备份或服务器(服务器侧先下到临时目录) | | **一键上传 / 从备份还原** | 覆盖服务器前有确认;误传可用备份快照还原 | ### 同步到本机另一目录 | 能力 | 你能少做的事 | |------|----------------| | **目标文件夹对齐** | 按仓库相对路径对照拷贝目录(测试站、发布镜像、同事共享盘等) | | **含未提交变更** | 起点提交之后的变更 + 工作区未提交 / 未跟踪一并列出 | | **双栏对比 + BC** | 本地 vs 目标;一键同步覆盖,带确认 | ### 代码审查与 AI 扩展 | 能力 | 你能少做的事 | |------|----------------| | **审查 Tab(OpenCodeReview)** | 分支 Diff / 单提交 / 全仓扫描;可开 WebUI 查看结果 | | **双 AI 通道** | 5xAI 集成平台,或自建 OpenAI 兼容 API(Base URL + Key + 模型) | | **MCP 反向操控** | 5xAI「软件嵌入」连上后,Agent 可替你列状态、总结提交、跑发布流水线 | --- ## AI 服务下载 自动总结、代码图谱、MCP 嵌入建议配合 **5xAI 集成平台**(也可只用 OpenAI 兼容通道做总结 / 图谱): **https://work.5x10.cn** 安装并启动 AI 服务、选好模型后,在本软件右上角确认连接(默认 `http://localhost:14220`,可开「启动后自动连接」)。 --- ## 界面预览 **项目列表**(多仓监听、自动提交倒计时): ![项目列表](./docs/screenshots/projects.png) **提交 Tab**(工作区变更、AI 总结提交、历史与 Diff): ![提交 Tab](./docs/screenshots/develop.png) **图谱 Tab**(AI 生成完整代码 / 修改记录图谱,可缩放、下钻、导出): ![图谱 Tab](./docs/screenshots/map.png) **发布 Tab**(SFTP 连接、备份服务器、三栏对比与上传/还原): ![发布 Tab](./docs/screenshots/publish.png) --- ## 产品结构 ``` 项目列表(添加文件夹 · 多仓监听 · 可选自动提交) └─ 进入项目 ├─ 图谱:完整代码图谱 / 修改记录图谱 → 下钻子图 → 历史与导出(默认) ├─ 提交:历史 / 未提交 / AI 总结 / 提交 / 推送拉取 ├─ 审查:OpenCodeReview(分支 Diff / 提交 / 扫描) ├─ 发布:SFTP → 备份服务器 → 三栏对比 → 上传或还原 └─ 同步:起点变更 → 目标文件夹双栏对比 → 一键同步 ``` 默认进入项目内页会**暂停**列表自动提交;若在自动提交设置中勾选「进入项目内也自动提交」,内页仍继续监听列表各仓并按间隔总结、提交。 --- ## 快速上手 ### 1. 添加项目 1. 打开 Git图谱工作台 → **「添加项目」** → 选本地文件夹 2. 自动检测 Git;非 Git 标「无 Git」,不能进入 3. 卡片显示分支、未提交 / 未推送、变更样例、今日自动提交次数 4. ← → 调顺序;移除只删列表,不删磁盘文件 ### 2. 自动提交(可选) 列表页顶部 **「自动提交」**: 1. 开启;**「仅在 AI 总结后提交」**默认开(未连 AI 或总结失败则跳过) 2. 关掉「仅 AI」时:有 AI 尽量总结;无 AI 用 `auto: 日期时间` 标题 3. 间隔默认 **5** 分钟(预设 1 / 5 / 10,可自定义 1–1440) 4. 策略:**无新变化才提交**(默认)或 **按时强制提交** 5. 可选勾选 **「进入项目内也自动提交」**:进入内页仍继续监听列表中各项目并自动总结、提交;不勾选则进入内页暂停,返回列表后恢复 ### 3. 开发 · 手动提交与推送 进入项目 → **开发**(三栏可拖拽): 1. 左:按提交或 HEAD 浏览文件 2. 中:未提交列表、单文件/全部 Diff、监听开关;填说明或点 **「AI 总结」** 后 **「提交」** 3. 历史可滚动加载;有 upstream 时可 **推送 / 拉取** 4. 点「提交历史」标题可开本机 **TortoiseGit** 日志(需已安装) 5. 右上角状态点连接 AI;齿轮设置 AI 地址、Beyond Compare、OpenCodeReview 路径 ### 4. 图谱 · AI 画架构与变更 进入项目 → **图谱**(需已连接 5xAI 或配置好 OpenAI 兼容通道): 1. 选类型:**完整代码图谱**(当前 HEAD 的模块结构)或 **修改记录图谱**(一段提交里改了什么) 2. 修改记录可设条数(3–80)和可选**起点提交**(生成「该提交之后 → HEAD」,不含起点本身) 3. 点 **「AI 生成」**,等待收集仓库上下文并调用 AI;生成结果用 Mermaid 渲染 4. **浏览**:滚轮缩放、拖拽平移、左下角 `−` / 百分比 / `+`(点百分比适配屏幕)、右下角小地图点击或拖动定位;右上角可全屏(Esc 关闭) 5. **下钻**:双击节点进入该模块的子图谱(蓝角标表示已有下级);顶部面包屑或「← 上层」返回;最多 8 层 6. 左侧时间轴保存每次生成;完整代码 / 修改记录、以及每一层子图谱的历史互相独立,可回看、删除或清空 7. **导出**:SVG 图或 Mermaid 源文件(`.mmd` / `.mermaid`) 适合:新人上手仓库结构、评审前看改动全貌、把架构图贴进文档。 ### 5. 审查 · OpenCodeReview 进入项目 → **审查**(需在设置中配置 `OpenCodeReview.exe`): - 审查两分支之间 Diff、审查单个提交、扫描仓库(可指定子路径) - 可启动 OCR WebUI 查看器;审查前会同步当前 AI 通道到 OCR ### 6. 发布 · SFTP 对比与上传 进入项目 → **发布**: 1. 填主机 / 端口(默认 22)/ 账号;密码或私钥(+ 可选口令) 2. **密码与私钥口令不落盘**;主机、用户、私钥路径、备份根等会记住 3. 设远程根与本地备份根 → 测试连接 → 选起点提交 → **备份服务器到本地** 4. 三栏对比:本地 · 备份 · 服务器;BC 对比、上传覆盖、从备份还原 建议:**先备份快照 → 再上传覆盖**。 ### 7. 同步 · 目标文件夹 进入项目 → **同步**: 1. 选路径基准与本机**目标文件夹** 2. 选起点提交 → 刷新对比(含工作区未提交) 3. 双栏对比;右键/双击开 Beyond Compare;**一键同步**覆盖到目标 ### 8. 与 AI 双向对接 | 方向 | 怎么用 | |------|--------| | 工作台 → AI | 跑 5xAI 或配 OpenAI 兼容 → **「AI 总结」** / 自动提交 / **图谱生成** | | AI → 工作台 | 5xAI「设置 → 软件嵌入」连 MCP → Agent 用 `integration.{id}.*` 操作 | MCP 工具说明见 [`mcp/README.md`](./mcp/README.md)。 --- ## 适合谁 - 想要 **轻量 Windows Git GUI**,又不想只靠命令行的开发者 - 希望 **AI 画出代码结构 / 一段提交的修改全貌**,而不是自己维护架构图的人 - 经常 **SFTP 发布**到测试/生产机,需要「上传前备份 + 三栏对比」的人 - 需要把构建产物或源码 **同步到另一本机目录** 的场景 - 希望 **AI 写 commit message**、或用 Agent(MCP)代操 Git/发布流程的团队 --- ## 数据与重装 | 内容 | 存储位置 | 说明 | |------|----------|------| | 项目列表、发布/同步非敏感配置 | WebView `localStorage` | 卸载勾选「删除应用数据」会清空 | | 自动提交、分栏比例、AI 地址、图谱历史等 | 同上 | 图谱按项目 / 类型 / 下钻层级分别保存 | | SFTP 密码 / 私钥口令 | `sessionStorage` | 关闭软件即丢失 | | 窗口大小位置 | 应用数据目录 | 随应用数据保留或清除 | | 各仓库 Git 历史 | 项目目录 `.git` | **不受本软件重装影响** | 开发版与正式版 **identifier 不同**,数据互不共享,可同时运行: | | 正式版 | 开发版 | |--|--------|--------| | 产品名 | Git图谱工作台 | Git图谱工作台-Dev | | identifier | `com.pyauto.gitdesk` | `com.pyauto.gitdesk.debug` | --- ## 技术栈与开发 - **桌面**:Tauri 2 + Rust(Git / SFTP / 文件监听 / 外部工具启动 / AI 图谱) - **界面**:Vue 3 + Vite + TypeScript + Tailwind;图谱用 Mermaid 渲染 - **集成**:Host Bridge(5xAI)、OpenAI 兼容 HTTP、Python MCP Server | 脚本 | 说明 | |------|------| | `run_dev.bat` / `pnpm tauri:dev` | 开发(独立 WebView 配置,不与正式版抢数据) | | `run_build.bat` / `pnpm tauri:build` | 打包 NSIS 到 `release\`(**默认不升版本**) | | `pnpm version:bump` | 版本号 +1 后再打包 | | `pnpm sync-version` | 将 `package.json` 版本同步到 Cargo / tauri 配置 | ```bash pnpm install pnpm tauri:dev ```