11# GitBoost 最终 MVP 产品方案
22
3- 版本:V1.0(最终收敛版 )
4- 日期:2026-08-11
3+ 版本:V1.1(系统节点目录版 )
4+ 日期:2026-08-13
55
66## 1. 最终结论
77
88GitBoost MVP 可行。它的准确定位是:
99
10- > 一个面向 GitHub 公开 HTTPS 仓库的跨平台桌面加速工具。用户继续使用原始 ` https://github.com/... ` 地址,应用把 Git 的读取地址临时重写到用户导入并选中的外部加速节点 。
10+ > 一个面向 GitHub 公开 HTTPS 仓库的跨平台桌面加速工具。用户继续使用原始 ` https://github.com/... ` 地址,应用把 Git 的读取地址临时重写到本机检测并选中的外部加速节点 。
1111
12- MVP 只做本地客户端,不建设服务器端系统 :
12+ MVP 使用“静态系统节点目录 + 本地数据面” :
1313
14- - 不建设官方节点中心 、爬虫、社区提交或管理后台。
14+ - 官方只发布一个由代理 URL 字符串组成的静态 JSON,不建设数据库、在线 API 、爬虫、社区提交或管理后台。
1515- 不使用 SQLite 或其他数据库。
1616- 不运行本地 HTTP 转发服务,不代理 Git 数据流。
17- - 外部节点由用户批量粘贴或从本地 JSON 文件导入 。
17+ - 客户端缓存系统节点目录,并与用户手工添加或从本地 JSON 导入的自定义节点合并 。
1818- 应用负责节点校验、测速、选择以及 Git 配置的安全写入与恢复。
1919- 开发按可验收交付批次执行,不采用传统团队的周数排期。
2020
2121这一版本验证的是最核心假设:
2222
23- > 用户是否愿意安装一个桌面工具,通过导入现有 GitHub 加速地址 ,在不改变日常 clone 命令的前提下获得更稳定的公开仓库下载体验。
23+ > 用户是否愿意安装一个不需要手工维护系统线路的桌面工具 ,在不改变日常 clone 命令的前提下获得更稳定的公开仓库下载体验。
2424
2525## 2. 已验证的底层机制
2626
@@ -70,6 +70,7 @@ git push
7070- 检测系统 Git 是否可用。
7171- 批量粘贴外部节点。
7272- 导入本地节点 JSON 文件。
73+ - 从官方静态 URL 数组更新系统节点,并在本地保留最后一次有效缓存。
7374- 节点增删、启用、禁用和重新命名。
7475- 使用真实 ` git ls-remote ` 校验 Git Smart HTTP 能力。
7576- 对可用节点进行多次测试,按成功率和耗时排序。
@@ -83,8 +84,8 @@ git push
8384
8485### 3.2 明确不实现
8586
86- - 官方节点目录、远程订阅、 自动抓取公开节点网站。
87- - 节点清单签名、CDN、服务端健康检查 。
87+ - 动态节点 API、 自动抓取公开节点网站、社区提交和管理后台 。
88+ - 节点清单签名、服务端测速与排名 。
8889- SQLite、ORM、数据库迁移。
8990- 本地 HTTP/SOCKS 代理或常驻转发端口。
9091- 私有仓库加速。
@@ -101,7 +102,7 @@ git push
101102
102103- GitHub 公开仓库 clone、fetch、pull 较慢或不稳定的开发者。
103104- 使用终端、VS Code 或 JetBrains,并调用系统 Git 的用户。
104- - 已经有一批外部 GitHub 加速节点,但不想每次手动拼接代理前缀的用户 。
105+ - 希望开箱即用,同时允许补充自有 GitHub 加速节点的用户 。
105106
106107### 4.2 使用前提
107108
@@ -243,8 +244,8 @@ anthropics/skills.git
243244### 7.1 托盘菜单
244245
245246- 加速开关。
246- - 当前模式:自动、固定节点或直连 。
247- - 当前节点及最近检测结果 。
247+ - 当前模式:自动加速或直连 。
248+ - 连接质量及最近检测结果 。
248249- 重新测速并切换。
249250- 打开主界面。
250251
@@ -254,27 +255,27 @@ anthropics/skills.git
254255GitHub 加速 已开启
255256路由范围 仅加速清单
256257线路模式 自动选择
257- 当前节点 节点 A
258- 最近检测 可用 · 286 ms
258+ 连接质量 可用 · 286 ms
259+ 最近检测 3 分钟前
259260
260- [重新测速] [切换节点] [ 切到直连]
261+ [重新测速] [切到直连]
261262```
262263
263264首页必须显示:
264265
265266- 加速是否实际生效。
266- - 当前节点和最后检测时间 。
267+ - 连接质量和最后检测时间,不展示系统代理地址 。
267268- 全局加速或仅加速清单。
268269- 应用退出后配置仍生效的说明。
269270- 当前节点失效时需要重试 Git 命令的说明。
270271
271- ### 7.3 节点管理
272+ ### 7.3 自定义节点
272273
273274- 批量粘贴、导入 JSON。
274- - 节点列表、名称、规范化地址 。
275+ - 只展示用户添加的节点、名称和规范化地址;系统节点由远程目录和本地缓存维护 。
275276- 状态、成功次数、最近耗时、最后检测时间和失败原因。
276277- 固定、启用、禁用、重新测试、删除。
277- - 导出当前节点 JSON。
278+ - 只导出用户自定义节点 JSON。
278279
279280### 7.4 路由清单
280281
@@ -369,6 +370,8 @@ git -c url.<rewriteBase>.insteadOf=https://github.com/ \
369370
370371测试必须使用隔离参数,不能为了测速先修改用户的全局 Git 配置。
371372
373+ 全量检测最多同时运行 4 个节点,并且启动刷新、周期健康检查和用户手动检测共用同一个全量任务互斥状态,避免重复检测和健康结果互相覆盖。
374+
372375状态定义:
373376
374377- 可用:连续测试成功,返回合法 ref。
@@ -385,6 +388,7 @@ MVP 排序只使用最近有限次数的成功率、耗时中位数和连续失
385388GitBoost/
386389├── settings.json
387390├── nodes.json
391+ ├── system-nodes.json
388392├── health.json
389393├── routes.json
390394├── gitboost.gitconfig
@@ -393,7 +397,8 @@ GitBoost/
393397```
394398
395399- ` settings.json ` :启用状态、线路模式、路由范围、当前节点。
396- - ` nodes.json ` :用户导入的节点。
400+ - ` nodes.json ` :用户添加或导入的自定义节点。
401+ - ` system-nodes.json ` :官方 URL 数组最近一次通过校验的本地缓存。
397402- ` health.json ` :每个节点有限的汇总结果,不保存无限历史。
398403- ` routes.json ` :用户配置的精确公开仓库加速清单。
399404- ` gitboost.gitconfig ` :Git 实际读取的规则。
@@ -485,8 +490,8 @@ AI 可以并行生成 UI、Rust 模块和平台构建配置,但合并顺序仍
485490| 检查项 | 结果 |
486491| ---| ---|
487492| 是否仍包含 SQLite、ORM 或数据库表 | 通过:已完全删除 |
488- | 是否仍包含官方节点中心 、爬虫、签名和 CDN | 通过:已移出 MVP |
489- | 外部节点是否只通过本地导入进入 | 通过 |
493+ | 是否仍包含动态节点 API 、爬虫、签名和管理后台 | 通过:不包含 |
494+ | 系统节点是否只是静态 URL 数组 | 通过 |
490495| 是否仍包含本地转发端口 | 通过:不包含 |
491496| 是否仍用传统周数描述 AI 开发 | 通过:改为交付批次和退出条件 |
492497| 是否把 SSH、LFS、Release、Raw 或 push 加速混入 | 通过:均明确排除 |
@@ -530,7 +535,7 @@ AI 可以并行生成 UI、Rust 模块和平台构建配置,但合并顺序仍
530535立项必须同时接受以下事实:
531536
5325371 . 产品加速的是公开 GitHub HTTPS 读取,不是完整的 GitHub 网络代理。
533- 2 . 第三方节点只由用户导入和信任,应用只负责验证兼容性,不为节点背书 。
538+ 2 . 系统节点来自官方静态目录,自定义节点由用户添加;两者都必须通过本机真实 Git 检测 。
5345393 . 混合使用私有仓库的用户默认采用“仅加速清单”。
5355404 . 节点失效后的恢复方式是“选择新节点并重试”,不是当前命令无感续传。
536- 5 . MVP 的成败应先由真实用户流程和跨平台兼容性决定,再考虑节点订阅、官方目录或其他后台能力 。
541+ 5 . MVP 的成败应先由真实用户流程和跨平台兼容性决定,再考虑自动发现、目录签名或其他后台能力 。
0 commit comments