[feat] Cross-platform session migration and team session archive
Open
@lurkacai0831 is already working on this.
Since Sep 16, 2026.
enhancement
- Dominant language
- TypeScript
- Stars
- 4.8k
- Forks
- 342
- Avg merge
- 13h 48m
- Merged PRs (30d)
- 211
Description
teamai session 目前只有 save(脱敏摘要 → 喂 digest)。这个 issue 提议补上两层能力:完整会话的跨工具迁移与团队会话库。
1. 为什么要做:会话是团队唯一没能沉淀的资产
代码和文档记录的是结果,会话记录的是过程:为什么这么改、试过哪些方案、在哪卡住、最后怎么解开的。这部分信息目前全部丢失,原因有三:
| 断点 | 现状 |
|---|---|
| 工具锁定 | 每个 AI 工具用私有格式存会话(~/.claude/projects/、CodeBuddy IDE history、Cursor、Codex rollout…),互不兼容。换工具 = 历史归零 |
| 机器锁定 | 会话只在本机磁盘。换电脑、重装、离职交接 —— 都没了 |
| 复用断层 | teamai 能把经验沉淀成 skill/rule/learning,但原材料(会话原文)没有留下,只能靠人手动回想再写一遍 |
契机(为什么是现在)
- 这是 teamai 最后一块没打通的层。资源层(skills/rules/docs/mcp/env)和知识层(recall/learnings/dashboard)都已同步到团队仓,唯独"过程层"——会话本身——还没有。
- 多工具并存已是常态。团队里同时用 Claude / Codex / Cursor / CodeBuddy 很常见,"把这次对话换个工具继续"从偶尔需求变成日常需求。
- 路已经被验证。
session save+digest跑通了"会话数据进团队仓"这条链路,只是粒度是摘要。把它提升到完整会话,是同一条路的自然延伸,不是新开一条。
2. teamai 现在缺什么
| 现有能力 | 覆盖 | 缺口 |
|---|---|---|
session save → digest |
脱敏摘要、周报趋势 | 只有结论,无法接着上次继续 |
learnings / recall |
团队知识沉淀与检索 | 靠人手动总结,缺少可回溯的原文 |
dashboard |
实时会话状态 | 只看当下,历史过程不留 |
| skills / rules 同步 | 团队规范与约定 | 同步"该怎么做",不同步"上次是怎么做成的" |
一句话:teamai 能同步团队的规范和知识,还不能同步团队的过程。
3. 做完之后:提供什么能力
3.1 跨工具迁移——把一次完整对话从 A 工具搬到 B 工具
搬的是全部消息(不是摘要),可预览保真度,可撤销。
| 命令 | 作用 |
|---|---|
session platforms |
列出支持/已安装的 AI 工具 |
session migrate <id> -s <源> -t <目标> |
迁移一条;--all 批量 |
session rollback <id> --platform <目标> |
撤销(只删目标侧副本,源会话不动) |
teamai session platforms
# claude-code: ✓ installed codebuddy: ✓ installed codebuddy-ide: ✓ installed ...
teamai session migrate f056755b -s codebuddy-ide -t claude-code
# Fidelity: 100.0% ✓ Migration successful Target session ID: 3c3c93a1-...
claude --resume 3c3c93a1-... # 在 Claude 里接着上次继续
teamai session rollback 3c3c93a1-... --platform claude-code # 迁错了就撤
支持:claude-code、codebuddy(CLI)、codebuddy-ide(IDE 侧边栏)、codex、cursor、workbuddy + 内部变体。
3.2 团队会话库——归档、检索、恢复
| 命令 | 作用 |
|---|---|
session push --source <工具> |
归档当前项目会话;--all 该工具全部工作区 |
session pull |
拉取并重建会话索引 |
session list / list --all |
当前项目 / 全部项目(--all 带 SOURCE 列) |
session search <关键词> --all |
跨项目全文检索会话内容 |
session resume <会话名> --platform <工具> |
恢复到本机工具继续对话 |
teamai session push --source claude-code --repo-root <team repo>
teamai session list --all --repo-root <team repo>
# SESSION AUTHOR PLATFORM MSGS UPDATED SOURCE
# claude-code.. tester claude-code 3 2026-09-11 github.com/org/beta
# claude-code.. tester claude-code 3 2026-09-11 gitlab.com/team/alpha
# claude-code.. alice claude-code 3 2026-09-11 _unattributed
teamai session search kubernetes --all --repo-root <team repo>
teamai session resume claude-code_kubernetes_20260915 --platform claude-code --repo-root <team repo>
归档规则:按会话自身工作区的 git 身份归到 sessions/repos/<repo>/<author>/;非 git 目录进 _unattributed。项目级团队仓默认只显示本项目,--all 看全部(个人仓用法 = 跨项目知识库)。
4. 做完之后:teamai 会有什么变化
| 场景 | 现在 | 之后 |
|---|---|---|
| 任务交接 | 接手者从零问一遍 | resume 上一个人的会话,直接接着做 |
| 经验沉淀 | 靠人回想再写成 learning | 会话原文在库里,高 friction 会话可直接提炼成 skill/rule |
| 换工具 | 历史归零,被工具绑定 | 会话可搬迁,团队选工具不再被锁定 |
| 事故/难题复盘 | 只剩聊天记忆 | 可检索到当时的完整对话过程 |
| 体系闭环 | save(摘要趋势)+ learnings(手动总结) | 三层打通:摘要看趋势 → 完整会话可恢复 → 高价值会话提炼为知识 |
与 session save 的关系是互补:save 给脱敏摘要喂周报(看趋势),本特性给完整会话(可恢复、可检索细节)。
5. 状态
- 设计文档:
docs/designs/session-user-repo-sync.md(含 E2E 10 步验证清单与已知限制) - 已实现并通过:50 个测试用例、真机 E2E、三路 QA 筛查修复 16 项(含 3 处崩溃路径)
- 建议分三个 PR:① 平台适配器与迁移能力 ② 团队归档与跨项目消费 ③ 与 learnings 的闭环
6. 需要维护者拍板的一点
完整会话含源码片段与内部路径,当前不做脱敏,归档后团队可读(session save 有脱敏,本特性没有)。是否需要默认脱敏,或加一层审批/白名单?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.