Skip to content

feat(agents): support git repository rename and smooth migration - #100

Merged
liuxy0551 merged 1 commit into
masterfrom
feat_agent_git_rename
Oct 29, 2026
Merged

liuxy0551 merged 1 commit into
masterfrom
feat_agent_git_rename

Conversation

@liuxy0551

Copy link
Copy Markdown
Collaborator

背景

用户在 GitLab 仓库修改了 Agent 名称和仓库路径(如从 operator-register-agent 改为 operator-registration-agent),并在代码清单中同步修改了 name。在 Doraemon 平台更新仓库地址后,同步存在静默新增重复 Agent、原 Agent 变为僵尸数据、列表卡片分裂的问题。

改动内容

  1. 重命名识别与上下文透传:importAgentFromGit 支持传入 currentAgent 标识。在单 Agent 页面同步、配置更新立即同步、后台全量轮询等调用链中透传当前 Agent,精准判断 Manifest name 是否发生变更。
  2. 唯一性冲突防御:重命名落库前检查目标名称是否已被其他 Agent 记录占用(包含已删除记录,规避 MySQL uk_agents_name 唯一索引冲突),若冲突则友好拦截报错。
  3. 原地更新与关联一致性:在事务中原地更新 agents 原记录(保持自增 id 不变),级联更新 agent_skills 关系。
  4. 磁盘资源清理:重命名成功后自动清理原 Agent 静态存储目录(agent-market/<old_name>)与本地临时检出目录(git_repos/<old_name>),避免磁盘空间泄漏。
  5. 前端平滑重定向:接口返回重命名标识及最新 name,前端详情页检测到更名后弹出提示并自动通过路由跳转至 /page/agents/<new_name>。
  6. 单元测试:新增 test/agent-git-rename.test.js,覆盖名称冲突拦截、平滑重命名返回与识别等路径。

关联 Issue

  • UED-104

@liuxy0551
liuxy0551 merged commit c2883a6 into master Oct 29, 2026
1 check passed
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.

1 participant