feat(updater): 引入 24 小时静默更新检测与一键升级功能

- 新增 `updater` 模块实现 GitHub Release 版本异步检查与本地缓存
- 新增 `git air update` 与 `git air version` 命令支持一键升级及版本检查
- 优化 CLI 终端交互,在首页渲染时提供友好的新版本升级提示卡片
This commit is contained in:
unclesam committed 2026-08-22 17:07:02 +08:00
1 parent 10cbfc39a5
commit 7632652b7b
9 files changed
+398 -64

No files matched your search

+13
View File
@@ -52,6 +52,19 @@ func PrintUsage(inputTokens, outputTokens int, costUSD float64) {
)
}
// PrintUpdateBanner 打印新版本升级提醒卡片
func PrintUpdateBanner(currentVer, latestVer, releaseURL string) {
fmt.Println()
fmt.Println(colorYellow + "┌─────────────────────────────────────────────────────────────┐" + colorReset)
fmt.Printf(colorYellow+"│"+colorReset+" 🚀 %sgit-air 新版本发布: %s%s%s → %s%s%s\n",
colorBold, colorGray, currentVer, colorReset,
colorGreen, latestVer, colorReset,
)
fmt.Println(colorYellow + "│" + colorReset + " 运行以下命令一键升级: " + colorYellow + "│" + colorReset)
fmt.Printf(colorYellow+"│"+colorReset+" %sgo install github.com/unclesam-ly/git-air@latest%s "+colorYellow+"│"+colorReset+"\n", colorCyan, colorReset)
fmt.Println(colorYellow + "└─────────────────────────────────────────────────────────────┘" + colorReset)
}
// PrintError 打印错误信息
func PrintError(format string, a ...interface{}) {
msg := fmt.Sprintf(format, a...)