Skip to content

Linkodt/updateWhat-web

Repository files navigation

UpdateWhat - 版本升级指南生成器

在线试用: https://kodt.top

升级依赖版本时,你是否也曾感到困惑?

  • 从 React 17 升级到 18,有哪些破坏性变更?
  • 从 Node.js 16 升级到 20,需要做哪些迁移?
  • 依赖包大版本更新,哪些 API 被移除了?
  • 想让 AI 助手帮你升级代码,但不知道该给它什么信息?

UpdateWhat 就是为了解决这个问题而生的。它自动分析 GitHub 仓库两个版本之间的所有 releases 和 commits,使用 AI 提炼出关键信息,生成一份清晰的升级指南,并为你准备好可以直接复制到 AI 编程助手的提示词。

为什么需要 UpdateWhat?

升级依赖版本是开发中常见但又很痛苦的事情:

传统方式的问题:

  • 需要手动去 GitHub 翻找各个版本的 release notes
  • 需要逐个查看 commit 信息,找出哪些是重要的
  • 很多项目没有清晰的迁移指南,只能自己看代码猜
  • 即使找到了信息,还要整理成提示词给 AI 助手,很麻烦

UpdateWhat 帮你做:

  • 一键输入版本范围,自动获取所有相关信息
  • 智能筛选出破坏性变更、API 移除、新特性等重要提交
  • AI 自动总结结构化的升级指南
  • 直接生成可复制的 AI 提示词,粘贴到 Claude/GitHub Copilot/Cursor 就能用

整个过程只需要 10 秒钟

它能做什么

  • 🎯 自动分析: 输入仓库和版本范围,一键分析两个版本之间的所有变化
  • 📊 智能筛选: 自动识别破坏性变更、移除的 API、废弃的功能、需要迁移的内容
  • 🤖 AI 总结: 基于 GitHub 原始数据,用 AI 生成清晰易懂的升级指南
  • 📋 AI 提示词: 直接生成可复制到 AI 编程助手的提示词,省去你整理信息的时间
  • 📝 结构化输出: 按照「破坏性变更 → API 变更 → 迁移步骤 → 重要提示」分段

工作原理

  1. 获取数据: 通过 GitHub API 获取两个版本之间的所有 releases 和 commits
  2. 智能筛选: 优先提取包含 breakingremovedeprecatemigraterefactorfeat 等关键词的重要提交
  3. AI 处理: 将整理好的信息发送给 LLM,按照固定模板生成结构化升级指南
  4. 输出结果: 返回 Markdown 格式的升级指南,包含可直接复制的 AI 提示词

生成的升级指南长什么样

生成结果包含以下几个部分:

# Upgrade Summary
总体概述,从哪个版本升到哪个版本,有哪些大的变化

## Breaking Changes
所有不向下兼容的破坏性变更

## API Changes
API 的新增、修改、移除

## Migration Steps
清晰的迁移步骤,告诉你该怎么做

## Important Notes
其他需要注意的重要事项

## AI Upgrade Prompt
可以直接复制粘贴到 AI 编程助手的提示词 🎉

拿到 AI Upgrade Prompt 后,直接复制到你的 AI 编程助手,它就知道该如何帮你升级代码了。

在线试用

项目已经部署在 https://kodt.top,欢迎直接试用。

只需三步:

  1. 输入 GitHub 仓库,格式:owner/repo,例如 facebook/react
  2. 输入起始版本和目标版本,例如 17.0.018.0.0
  3. 点击「Generate Upgrade Guide」,等待几秒就好了

技术栈

  • 框架: Next.js 14 (App Router)
  • 语言: TypeScript
  • 样式: TailwindCSS
  • 后端: Next.js API Routes
  • 外部 API: GitHub REST API
  • AI: OpenAI 兼容 API

项目结构

/app
  page.tsx                    # 首页
  analyze/page.tsx            # 结果页
  api/analyze/route.ts        # 分析 API
/components
  RepoForm.tsx                # 表单组件
  ResultPanel.tsx             # 结果展示组件
/lib
  github.ts                   # GitHub API 封装
  ai.ts                       # AI 生成封装
  analyze.ts                  # 分析流水线
  rate-limit.ts               # 速率限制
/types
  index.ts                    # TypeScript 类型定义

自己部署

如果你想自己部署运行,可以按照以下步骤:

环境要求

  • Node.js 18+
  • pnpm

安装

git clone <repository>
cd updateWhat
pnpm install

配置环境变量

复制 .env.example.env:

cp .env.example .env

填写以下配置:

GITHUB_TOKEN=your_github_token
OPENAI_API_KEY=your_openai_api_key
OPENAI_BASE_URL=your_openai_base_url      # 可选,默认为官方 OpenAI
OPENAI_MODEL=gpt-4o-mini                  # 可选,默认 gpt-4o-mini

获取 GitHub Token: 访问 https://github.com/settings/tokens 创建一个具有 public_repo 权限的 token。

开发

pnpm dev

访问 http://localhost:3000

构建

pnpm build
pnpm start

速率限制

公共实例 https://kodt.top 默认限制每个 IP 每小时最多 10 次请求,防止滥用。如果你自己部署,可以通过环境变量调整:

RATE_LIMIT_MAX_REQUESTS=10
RATE_LIMIT_WINDOW_MS=3600000

适用场景

  • 框架大版本升级前,先看看有哪些破坏性变更
  • 依赖包跨版本升级,快速了解需要做哪些修改
  • 团队内部整理升级文档,节省时间
  • 让 AI 助手帮你升级代码前,用 UpdateWhat 准备好上下文信息

许可证

MIT

About

Can reduce the error when you update some modules

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors