团队版本管理
如果说每个智能体是一位单独的同事,那么一支团队就是一个有自己阵型、规则和共同记忆的小组。当你花了很多时间把这个小组调教好——选好队长、搭好成员、写好共享规则——你会希望把整个小组当作"一份完整的成果"保存下来:能换台电脑接着用、能让朋友一键复刻、能在迭代过程中知道每次改了谁。
这就是团队版本管理要解决的事:让团队也像智能体一样,具备完整的版本历史、远程同步和分享能力。
团队为什么需要版本管理?
| 你遇到的情况 | 团队版本管理怎么帮你 |
|---|---|
| 在笔记本上搭好的团队,想在桌面机继续用 | 推送到 GitHub/Gitee 后,在另一台机器一键拉取,组织架构和共享资源一起到位 |
| 公司里两个人都在调一支客服团队 | 各自修改后通过推送/拉取合并,谁加了谁、谁换了队长一目了然 |
| 想把精心搭建的销售团队分享给社区 | 发布一次,任何人贴上链接就能完整安装,包括所有成员智能体 |
| 不小心把一位关键队长换掉了 | 在版本历史里找到那次更换,回到之前的组织架构 |
| 看到别人发布的运维团队很不错 | 输入链接,一键 Fork 到自己机器,自由修改不影响原作者 |
团队和成员的两层版本管理
DesireCore 用两层结构来管理团队:
| 层级 | 追踪什么 | 谁来维护 |
|---|---|---|
| 团队本身 | 谁是队长、谁是成员、共享技能/记忆/规则、团队远程仓库地址 | 团队版本管理(本章) |
| 每个成员智能体 | 自己的人格、原则、记忆、技能、对话学习 | 每个智能体自己的版本管理(参考上一章) |
这意味着团队仓库里不会嵌入成员智能体的副本,只保留一份"成员清单"——指向每个成员各自的位置(本地、某个 git 仓库、或市场的某个版本)。这样既能整体打包分享,又不会让一个智能体被两份记录互相覆盖。
团队仓库像是乐队的"演出曲目单",列出谁来弹什么、用哪个版本的编曲。每位乐手依然有自己的练习本(成员智能体仓库),曲目单只是引用他们。
团队的四种成员来源
当你把一个智能体加入团队时,系统会记下它"来自哪里"。共有四种来源:
| 来源 | 什么时候用 |
|---|---|
| 本机 | 这个智能体只在你自己电脑上,没有上传到 git,也没发布到市场。适合个人练手,但团队若包含本机成员则不可分发 |
| Git 仓库 | 这个智能体已经推送到 GitHub/Gitee 等,有公开或私有的远程地址。最常见的协作和分享形式 |
| 市场 | 从 DesireCore 市场安装的智能体,带具体版本号 |
| 内置核心 | DesireCore 自带的核心智能体(desirecore),所有人都有,无需上传 |
如果你计划把一支团队发布给他人,先确认每个成员都已经发布或推送到 git。完全本机的智能体别人是装不到的。
配置团队远程仓库
要让团队跨设备同步、或分享给别人,需要先连接一个远程仓库(GitHub、Gitee、Gitea 等)。
- 进入团队设置,或在队长视角点击右上角"更多"菜单
- 选择"连接远程仓库"
- 选择已连接的 OAuth 账号(没有的话先在设置中添加 GitHub/Gitee 等账号)
- 填写仓库地址和分支名(默认
main) - 标注是否为私有仓库
- 保存
保存后,系统会自动把这次远程配置记录为一次提交,等你下次推送时同步到远端。
即使不连接远程,团队的本地版本历史也照常记录。远程仓库只是给跨设备同步和对外分享加一道"云端备份",不是必需的。
查看团队的修改历史
每次有人加入团队、被移除、被设为队长,或者远程被推送/拉取,系统都会自动留下一条记录。
- 进入团队设置面板,展开"版本历史"区块;或在队长更多菜单点击"团队版本历史"
- 顶部状态卡片显示团队当前同步情况:
- 已同步 — 本地和远端一致
- 领先 N 个 — 本地有新变化,可以推送
- 落后 N 个 — 远端有新变化,需要拉取
- 本地与远程分叉 — 双方都改了,需要合并
- 下方按时间倒序列出所有修改记录,每条显示:
- 做了什么(例如:加入成员 alice、换帅 alice → bob)
- 谁做的、什么时候做的
- 当时影响了哪些团队文件
每个"自动留下记录"的动作大致是:
| 你的动作 | 记录示例 |
|---|---|
| 创建新团队 | 初始化团队仓库 |
| 添加成员 | 新增成员: alice |
| 移除成员 | 移除成员: bob |
| 更换队长 | 修改组织架构: 换帅 alice → bob |
| 批量添加/移除 | 新增成员批量(N 人) |
| 配置 / 移除远程 | 修改远程配置 |
| 升级成员版本 | 升级成员版本 |
| 发布新版本 | 发布 vX.Y.Z |
| 解散归档 | 团队归档 |
推送和拉取团队
跟单个智能体一样,团队也通过"推送"和"拉取"和远端同步。
- 推送 — 把你这边的变化(加成员、换队长、共享技能更新等)发送到远端
- 拉取 — 把远端的变化拉到本地
在团队版本历史面板顶部,有"推送"和"拉取"按钮(连了远程仓库后才显示)。
遇到冲突怎么办?
如果你这边和别人都改了同一个团队的同一处,拉取时会出现冲突。DesireCore 会优先尝试"以远端为准"自动合并;如果还是合不上,会列出具体冲突的文件,提示手动处理。
因为团队仓库只记录"清单和共享资源",不包含成员智能体的内容,绝大部分冲突都集中在"成员列表"上——比如两个人各加了一位新成员。系统会取并集自动合并。
升级团队成员到最新版本
当一支团队的某位成员智能体在它自己的仓库里发布了新版本,团队默认还指向旧版本——这是有意为之,保证团队的可复现性:你今天发布的团队,半年后别人安装时,装到的还是发布时锁定的那些成员版本,不会因为成员各自升级而变样。
需要把团队同步到成员的最新版本时:
- 在团队版本历史顶部点击"升级成员"
- 系统重新查询每个成员的最新版本
- 把团队的"成员清单"更新到新版本,记录一条升级记录
- 自动把本机相应的成员智能体也拉到新版本
如果你在本机修改过某个成员智能体,系统会标记为"已偏离",升级时不会自动覆盖你的修改,只是提醒你存在差异。是否同步由你决定。
发布团队新版本
当团队达到一个稳定状态、可以对外分享或固化里程碑时,可以"发布"一次:
- 在队长更多菜单点击"发布团队新版本"
- 系统自动算出下一个版本号(例如 0.1.0 → 0.1.1)
- 系统根据自上次发布以来的修改自动起草一份说明,你可以修改
- 勾选"发布后推送到远程"(推荐),让远端也能看到这次发布
- 点击"发布 vX.Y.Z" 完成
发布会在团队版本历史里留下一条带版本号的记录,并打一个对应的"版本标签",方便日后回溯到这次发布时的完整状态。
如果发布过程中出错(例如打版本标签失败、远端推送失败),系统会自动把团队回滚到发布前的状态,确保版本号和变更日志始终一致。
从其他人的链接安装团队
如果别人发布了一支不错的团队、给你一个 git 链接,你可以一键把它复刻到自己机器:
- 在团队列表点击"添加团队"→ "从链接安装"
- 粘贴对方的团队 git 仓库地址
- 可选:给这支团队起个新名字(留空就用原名)
- 勾选"同时安装成员智能体"(推荐),系统会自动把团队需要的成员一并拉到本机
- 确认 → 等待安装完成
DesireCore 会自动断开和原始作者远程的连接、清空仓库地址。你可以自由修改、自己连接到你自己的远程,完全不影响原作者。这等同于 GitHub 上的 "fork"。
安装过程中,系统会逐个处理每位成员:
| 状态 | 含义 |
|---|---|
| 已安装 | 成员智能体之前不存在,刚从远端下载完成 |
| 已存在(版本一致) | 本机已有这个智能体,版本和团队需要的一致,跳过 |
| 本地版本较旧 | 本机有这个智能体,但版本低于团队需要,不会覆盖你的本地版本,只标记提示 |
| 本地已偏离 | 本机有同 ID 的智能体但内容被你改过,不会覆盖 |
| 跳过(核心智能体) | 是 DesireCore 自带的核心智能体,所有人都有,无需下载 |
| 无法安装 | 团队需要这个成员,但它没有远程地址(纯本机),你需要联系作者 |
解散团队是可恢复的
不想用某支团队时,可以"解散":
- 在团队设置面板点击"解散团队"
- 确认后,系统会:
- 在团队版本历史里留下一条解散记录
- 打一个"归档标签"
- 把整个团队目录移动到归档区(不是真正删除)
如果将来后悔了,可以从归档区手动恢复——所有版本历史、共享资源、成员清单都完整保留。
解散后的团队不会出现在团队列表里,但磁盘上还在。如需彻底清理,需手动删除归档目录。
常见场景
场景一:笔记本和桌面机两边都用同一支团队
- 在笔记本上把团队连到一个 GitHub 私有仓库
- 完成搭建后推送一次
- 在桌面机上"添加团队 → 从链接安装",粘贴同一个 GitHub 地址
- 之后任一台机器修改后,推送/拉取就能保持两边一致
场景二:朋友给我一个团队链接,如何安装
- 拿到链接(形如
https://github.com/xxx/team-xxx.git) - "添加团队 → 从链接安装",粘贴链接
- 勾选"同时安装成员智能体"
- 确认 → 等待完成,所有成员到位,可以立刻开始用
场景三:发布一支团队让社区使用
- 确认所有成员都已经发布到市场或推送到 git(不能含本机来源的成员)
- 配置好团队远程仓库
- 点击"发布团队新版本",填好版本说明
- 把团队的 git 地址分享出去
场景四:两个人同时改了团队,如何合并
A 加了 carol,B 加了 dave,各自推送时第二个会被告知"远端先动了"。 此时第二位:
- 先拉取——系统会自动合并(并集:含 carol 和 dave)
- 再推送
不需要任何手动 git 操作。
场景五:发布的新版本有问题,要回到上一版
团队的版本历史里每一次"发布"都打了版本标签。如需回到上一版本:
- 在版本历史里找到上一个发布标签
- 点击"恢复到此版本"
- 系统创建一条"回滚"记录,并把团队配置回到那时的状态
成员版本会按那个时间点的清单重新指向,你也可以选择是否同时回滚本机成员智能体。