README.md

June 22, 2026 · View on GitHub

GitPulse

本地优先的 Git 工作报告生成器

Local-first Git work reports — turn scattered commits into daily, weekly, custom & monthly reports in one click.

把散落在多个仓库里的提交,一键变成可直接交付的日报、周报、自定义区间报告和绩效月报。数据全程不出本机。


Release Downloads License Stars

Windows macOS Linux Tauri React Rust

官网 · 下载 · 快速开始 · 功能 · AI 润色 · 开发


GitPulse 操作流程演示

▲ 操作流程演示 · 点此查看高清 MP4


🌟 为什么是 GitPulse

每到周五、月底,写日报和绩效月报都是一件麻烦事:要翻多个仓库的 git log、手动拼凑、再润色成人话。GitPulse 把这件事自动化——

  • 本地优先:所有扫描、提取、生成都在本机用 Rust 完成,提交记录与 API Key 不上传任何服务器。
  • 多仓库聚合:指向工作区目录,自动发现下面所有 Git 仓库,按作者和时间一次性汇总。
  • 直接能交付:输出按项目分组、结构清晰的报告,可一键复制进周报系统,或导出 Markdown、Word、PDF 文件。
  • 轻量:基于 Tauri,安装包小、启动快,不依赖 Python 或任何运行时。

✨ 功能特性

🔍 仓库扫描扫描工作区目录下的所有 Git 仓库,自动读取本机 git 作者
📅 灵活提取按作者、日期区间、当前分支或全部分支提取 commit
🏷️ 项目名映射把仓库名/分支映射成中文项目名,例如 api-service(*) -> 后端服务-
📰 日报 / 周报一键生成当天提交摘要,也可按本周生成项目分组周报
🗓️ 自定义区间任意起止日期生成报告
📊 绩效月报可选择任意月份生成月报,按项目拆分为「项目进度 / 实际完成情况 / 当月总结」
🤖 AI 润色(可选)接入 OpenAI 兼容或 Anthropic 原生接口,把流水账润色成绩效;失败自动回退本地模板
📋 预览 / 复制 / 导出实时预览、一键复制到剪贴板、按需导出 Markdown、Word 文档或 PDF
🌗 明暗主题跟随系统自动切换深色 / 浅色
⬆️ 在线更新支持 Windows x86_64 在应用内检查并安装更新

📦 下载与安装

直接下载(推荐)

前往 Releases 下载对应平台的安装包:

  • Windows.exe(NSIS 安装包),安装后可在应用内一键检查更新
  • macOS.dmg(通用包,同时支持 Apple Silicon 与 Intel)
  • Linux.AppImage(单文件,chmod +x 后直接运行)

macOS 首次打开:当前 macOS 包未做 Apple 签名,首次启动可能被 Gatekeeper 拦截。请右键点按 GitPulse.app 选「打开」,或在终端执行:

xattr -dr com.apple.quarantine /Applications/GitPulse.app

自动更新目前仅 Windows 支持;macOS / Linux 请到 Releases 页面手动下载新版本。

从源码构建

git clone https://github.com/GoldenZqqq/GitPulse.git
cd GitPulse
npm install
npm run tauri build      # 产物位于 src-tauri/target/release/bundle/

🚀 快速开始

首次启动会有引导流程,整体只需四步:

  1. 选择工作区目录 — 指向你存放代码的根目录,GitPulse 自动扫描其中的所有 Git 仓库。
  2. 确认作者与范围 — 自动读取本机 git 作者(也可手动填写),选择日期区间与分支范围。
  3. 一键生成 — 选择「日报 / 周报 / 自定义区间 / 绩效月报」,提交记录会按项目分组汇总成报告。
  4. 复制或保存 — 预览结果,一键复制到剪贴板,或按需保存为 Markdown、Word、PDF;需要的话开启 AI 润色。

项目名映射:在设置里维护映射规则,把仓库或分支变成可读的项目名。 支持 project(branch) -> 显示名-project(*) -> 显示名- 两种格式,例如 api-service(*) -> 后端服务-

🤖 AI 润色

在设置中开启 AI 润色后,按服务填写以下内容即可:

  • 协议OpenAI CompatibleAnthropic Native
  • Base URL:例如 https://api.openai.com/v1https://api.anthropic.com/v1
  • API Key:输入一次后自动保存到系统凭据库;也可填写 OPENAI_API_KEY / env:OPENAI_API_KEY 这类环境变量引用
  • 模型:可手动填写,或点「获取模型」从服务返回列表中选择

真实 API Key 和 ChatGPT 登录态不会写入普通设置文件,而是交给系统凭据库保存。清空输入框会删除已保存密钥。如果 AI 调用失败,应用会自动回退到本地月报模板,不影响出报告。

🛠️ 技术栈

Tauri 2  ·  React 19  ·  Vite  ·  Rust  ·  lucide-react
  • src/ — React 前端(状态、布局、预览、交互)
  • src-tauri/src/git_ops.rs — 本地 Git 仓库发现与提交提取(Rust)
  • src-tauri/src/report.rs — 报告渲染与文件输出
  • src-tauri/src/ai.rs — 可选的 OpenAI 兼容 / Anthropic 原生润色
  • src-tauri/src/lib.rs — Tauri 命令

旧版 Python/Tkinter 实现已归档在分支 codex/legacy-python-desktop

🧑‍💻 本地开发

环境要求:Node.jsRust 工具链

npm install            # 安装依赖
npm run tauri dev      # 启动桌面应用(开发模式)
npm run dev            # 仅启动前端(浏览器预览)
npm run verify:release # 发版前检查
npm run tauri build    # 构建安装包

官网本地预览:

cd site
npm install
npm run dev

官网使用 Astro 6,建议使用 Node.js 22.12+。site/.node-version 已声明当前验证版本,mise / asdf / nodenv 等工具可自动读取。官网采用路径型国际化:/GitPulse/ 会按浏览器语言或用户上次选择跳转到 /GitPulse/zh-CN//GitPulse/en/

提交前的校验:

npm run build
cd src-tauri && cargo check && cargo test

版本号同步、发版与在线更新的完整流程见 CONTRIBUTING.md

🤝 贡献

欢迎 Issue 与 PR!开发规范、验证步骤与发布流程请见 CONTRIBUTING.md

📄 许可证

基于 MIT 许可证开源。


如果 GitPulse 帮你省下了写日报的时间,点个 ⭐ Star 支持一下吧!