字节笔记本

2026年2月23日

CodeArk:全自动 Git + GitHub 托管系统

本文介绍 CodeArk(图图的代码方舟),一款专为 AI 编程时代设计的全自动 Git + GitHub 托管系统。该项目解决了新手开发者代码备份的痛点,提供零操作自动备份功能,让开发者专注于创造本身。

项目简介

CodeArk(图图的代码方舟)是一个开源的桌面端应用,由 zhaotututu 开发维护。截至目前,该项目在 GitHub 上已获得 19 stars,6 个 fork。项目采用 MIT 许可证,主要使用 Vue 3 + TypeScript + Tauri + Python 技术栈开发。

随着 ChatGPT、Claude、Gemini、Copilot 等 AI 工具的普及,编程门槛正在快速降低。越来越多的新人通过 AI 辅助快速上手编程,几天内就能写出功能完整的项目。但随之而来的是代码备份问题:新手专注于实现功能,对代码备份没有概念,一次意外就可能前功尽弃。

CodeArk 的使命是:"你只管专注写代码,备份的事交给我"

核心特性

  • 真·全自动备份:写完代码就忘了它,工具会自动帮你推送到 GitHub
  • 3分钟极速配置:填个 Token 就搞定
  • 托盘静默运行:最小化到系统托盘,眼不见心不烦
  • 超轻量级:内存占用 < 100MB,CPU 占用几乎为 0
  • 精致太空风 UI:inspira-ui 加持,赏心悦目的前端页面

技术栈

前端

  • 框架:Vue 3 + TypeScript
  • 桌面端:Tauri 2.0
  • 状态管理:Pinia
  • UI 框架:TailwindCSS
  • 构建工具:Vite

后端

  • 框架:FastAPI (Python 3.9+)
  • 数据库:SQLite
  • Git 操作:GitPython
  • 实时通信:WebSocket
  • 进程管理:Watchdog

安装指南

环境要求

  • Node.js: 18.0+
  • Python: 3.9+
  • Rust: 1.70+ (Tauri 开发需要)
  • Git: 2.30+

安装步骤

1. 克隆项目

bash
git clone https://github.com/zhaotututu/CodeArk.git
cd CodeArk

2. 安装前端依赖

bash
npm install

3. 安装后端依赖

bash
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
pip install -r requirements.txt

快速开始

启动后端服务

bash
cd backend
venv\Scripts\activate
python main.py

后端默认运行在 http://127.0.0.1:8000

启动前端开发服务器

bash
npm run dev

前端开发服务器运行在 http://localhost:5173

启动 Tauri 开发模式

bash
npm run tauri dev

核心功能详解

1. 一键式项目托管

自动托管模式(零配置上手) 从空白文件夹到 GitHub 仓库,一个向导全搞定:

  • 本地 Git 初始化:自动创建 .git 仓库和 .gitignore 配置
  • GitHub 仓库创建:使用你的 Token 自动在 GitHub 创建远程仓库(支持 Public/Private)
  • 远程关联推送:自动关联 origin 并完成首次推送
  • 启动实时监控:立即开启文件变化监控

手动连接模式(接管现有项目) 已有 Git 项目?直接导入监控:

  • 自动识别现有 Git 配置(分支、远程仓库)
  • 兼容 clone 下来的项目

2. 智能文件扫描系统

推送前安全检查 每次自动同步前,智能扫描变更文件:

  • 大文件警告:检测超过 10MB 的文件(可自定义阈值)
  • 扩展名黑名单:阻止 .exe.zip.db 等二进制文件
  • 隐藏文件过滤:自动忽略系统临时文件(.DS_Store__pycache__

.gitignore 可视化编辑 内置 .gitignore 编辑器:

  • 常用模板一键添加:Python、Node.js、Go 等语言的常见忽略规则
  • 实时预览:编辑后立即生效
  • 智能补全:提供常见忽略模式建议

3. 灵活的同步策略

间隔同步(推荐) 设置时间间隔(如每 5 分钟),自动检测变更并推送:

  • 智能去重:短时间内多次保存只推送一次
  • 无变化跳过:没有文件修改时自动跳过,不会产生空提交
  • 自定义间隔:最低 1 分钟,最高任意时长

定时同步 每天固定时间执行一次备份(如凌晨 2:00):

  • 避免打扰:白天专注编码,夜间自动备份
  • 节省资源:不需要持续监控,适合大型项目
  • 批量提交:将一天的修改合并为一次提交

4. 实时文件监控引擎

基于 Python Watchdog 的高性能文件监控:

  • 递归监控:自动监控所有子目录
  • 事件过滤:智能忽略 .gitnode_modules、日志文件
  • 防抖机制:避免频繁保存导致的重复推送
  • 资源友好:低 CPU 和内存占用

5. 实时日志系统

前后端通过 WebSocket 实时同步日志:

  • 零延迟:操作日志实时推送到界面
  • 多级别分类:INFO(蓝色)/ SUCCESS(绿色)/ ERROR(红色)
  • 项目隔离:每个项目独立显示日志
  • 历史记录:支持查看近期操作历史

6. 仓库可见性管理

创建项目时选择可见性,后续可随时切换:

  • 一键切换:在设置中一键修改仓库可见性
  • 自动同步:前端设置同步到 GitHub,无需手动操作
  • 状态验证:支持从 GitHub 同步真实状态到本地

GitHub Token 配置

CodeArk 需要 GitHub Personal Access Token 来自动创建远程仓库。

获取步骤

  1. 访问 GitHub Settings → Personal Access Tokens
  2. 点击 "Generate new token (classic)"
  3. 选择权限:
    • repo - 完整仓库控制权限
    • workflow - GitHub Actions 权限
  4. 复制生成的 Token(以 ghp_ 开头)
  5. 在 CodeArk 设置中粘贴并保存

安全说明:Token 使用 AES 加密存储在本地 SQLite 数据库中,不会上传到任何服务器。

适合谁用

  • ✅ 经常忘记 git push 的懒癌患者
  • ✅ 担心忽然停电硬盘突然坏掉的焦虑症患者
  • ✅ 需要多设备同步代码的游牧工作者
  • ✅ 想要版本回退保险的谨慎派
  • ✅ 毕业设计/重要项目的安全保障需求者

项目链接

分享: