Skip to content

feat: 支持 CNB 与 GitHub PR 管理及快捷处理 - #211

Open
Bluepoisons wants to merge 2 commits into
mainfrom
feat/pr-management
Open

Bluepoisons wants to merge 2 commits into
mainfrom
feat/pr-management

Conversation

@Bluepoisons

Copy link
Copy Markdown
Collaborator

在 CNB / GitHub 页面新增 PR 管理,支持查看完整审查讨论和当前 Head 的 CI,并通过现有 Harness 启动针对该 PR 的处理任务。

Closes #169

变更

  • 新增 PR 标签页、分页与开放/已关闭筛选,展示正文、来源与目标分支、合并状态、全部评论、审查结论及完整 conversations。
  • 支持 merge、squash、rebase 合并与关闭;操作前确认并重新核对 head/base SHA、状态及可合并条件。GitHub 合并使用 --match-head-commit,保留平台权限、分支保护和 CI 限制。
  • 复用 Issue 启动弹窗和独立会话流程,提供处理冲突、审查并向 PR 发布结论、处理所有作者的审查意见、修复 CI 的快捷任务。配置支持 Harness、模型、思考层级、权限及工作目录选择,与已有任务相互隔离。
  • GitHub 独立分页读取 review threads 及每个 thread 的全部回复,保留 thread ID、文件位置和解决状态;CNB 保留嵌套回复关系。审查修复任务要求回复并 resolve 已解决的 GitHub conversations。
  • 展示当前 Head 的 CI,关联运行链接;CI 修复任务要求读取失败日志、修复根因并验证新运行。
  • GitHub 分页读取全部开放 PR,按来源仓库和 head/base 分支关系识别 Stack,按依赖顺序展示、切换成员并启动处理任务。
  • 复用现有 CLI、后台事件通道和 Markdown 渲染,补充翻译、使用文档及相关回归测试,无新增依赖或存储/协议变更。

验证

在 macOS 上运行:

  • cargo check -p nexus-desktop --tests --locked:通过。
  • cargo test -p nexus-desktop --locked pull_requests -- --nocapture:9 项通过。
  • cargo test -p nexus-desktop --locked issues -- --nocapture:20 项通过,包含 PR 并行启动及配置隔离。
  • cargo test --workspace --locked:460 项通过,0 失败,1 项原有性能测试忽略。
  • cargo clippy --workspace --all-targets --locked -- -D warnings:通过。
  • cargo fmt --all -- --check:通过。
  • cargo build --workspace --locked:通过。
  • git diff --check:通过。

GitHub PR GraphQL 字段、reviewThreads 及运行中的 CI 已通过真实只读接口核验。CNB 命令和字段基于已安装 CLI 的 schema 核验,分页及嵌套讨论通过模拟 CLI 测试。合并/关闭的远端写操作通过模拟 CLI 验证;真实 PR 合并、关闭,以及模型发布审查、推送修复的端到端效果尚未实测。

构建仍有原有 macOS Speech API 废弃及 block future incompatibility 提示。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CNB / Github PR管理功能

1 participant