核心要点:Refresh Agents 现在支持 Workspace Git Foundation —— 隔离的 Git 环境,让你可以同时处理多个功能,无需 git stash,不会有上下文切换的痛苦,也不会丢失未提交的工作。
问题:Git 上下文切换太痛苦
每个开发者都经历过这种挫败感:
# 你正在深度开发功能,有未提交的修改
$ git status
Modified: src/auth.ts (修改了 50 行)
Modified: src/api.ts (修改了 30 行)
# 突然:主分支需要紧急修复 bug
$ git checkout main
error: 你的本地修改会被覆盖。
请在切换分支前提交或 stash 你的修改。
# 繁琐的操作开始了...
$ git stash
$ git checkout main
$ git checkout -b hotfix/urgent-bug
# ... 修复 bug ...
$ git checkout feature-branch
$ git stash pop
# ... 祈祷不要冲突 ...这个工作流是有问题的。 你会丢失思维上下文,可能遇到合并冲突,还要浪费时间管理 stash。
解决方案:Workspace Git Foundation
有了 Workspace Git Foundation,Refresh Agents 中的每个对话都有自己的隔离 Git 工作空间:
对话 A → Workspace A → feature/authentication
├─ 分支: feature/authentication
├─ Worktree: .worktrees/workspace-a/
└─ 状态: 3 个未提交文件,领先 2 个提交
对话 B → Workspace B → feature/dashboard
├─ 分支: feature/dashboard
├─ Worktree: .worktrees/workspace-b/
└─ 状态: 干净,领先 5 个提交,PR #42 已打开
对话 C → Workspace C → hotfix/urgent-bug
├─ 分支: hotfix/urgent-bug
├─ Worktree: .worktrees/workspace-c/
└─ 状态: 1 个提交,准备合并不再需要 git stash。不再需要上下文切换。不再丢失工作。
工作原理
1. 自动创建 Workspace
当你创建新对话时:
- Refresh 自动创建专用的 Git 分支
- 在
.worktrees/目录创建独立的 worktree - 独立跟踪分支状态、PR 状态和冲突
2. 物理目录隔离
每个 workspace 都有自己的物理目录:
your-project/
├── .git/ # 主仓库
├── src/ # 主分支文件
└── .worktrees/
├── workspace-a/ # 对话 A 的隔离目录
│ └── src/ # 独立的文件状态
├── workspace-b/ # 对话 B 的隔离目录
│ └── src/ # 不同的文件状态
└── workspace-c/ # 对话 C 的隔离目录
└── src/ # 又一个文件状态在对话间切换 = 在 workspace 间切换。 不需要 git checkout。
3. 智能推荐
Refresh 分析你的 workspace 状态并推荐下一步操作:
- 有未提交的修改? → "提交修改"
- 领先远程分支? → "推送到远程"
- 落后目标分支? → "同步主分支"
- 准备交付? → "创建 Pull Request"
- 检测到冲突? → "解决冲突"
不再需要猜测下一步该做什么。
4. 自动恢复
不小心删除了 worktree 目录?没问题。
Refresh 检测到丢失的 workspace 并提供一键恢复:
⚠️ Workspace 丢失
你的 workspace 目录被删除或移动了。
[恢复 Workspace] [归档对话]点击"恢复",Refresh 会从你的分支重新创建 worktree。
真实使用场景
场景 1:并行功能开发
情况:你正在开发认证功能(对话 A),产品经理让你做一个仪表盘原型(对话 B)。
传统 Git:
$ git stash # 保存认证工作
$ git checkout -b dashboard # 新分支
# ... 开发仪表盘 ...
$ git checkout auth-branch # 回到认证
$ git stash pop # 恢复认证工作使用 Workspace:
- 创建对话 B → Workspace B 自动创建
- 在对话 B 中开发仪表盘
- 切换回对话 A → 认证工作还在,未被触碰
节省时间:每次上下文切换 ~5 分钟 × 每天 10 次 = 每天 50 分钟
场景 2:不丢失工作的热修复
情况:你在功能分支有 50 行未提交的代码。生产环境需要立即修复 bug。
传统 Git:
$ git stash # 祈祷不出问题
$ git checkout main
$ git checkout -b hotfix
# ... 修复 bug ...
$ git checkout feature
$ git stash pop # 希望不冲突使用 Workspace:
- 为热修复创建对话 C → 新 workspace 自动创建
- 在对话 C 中修复 bug
- 切换回对话 A → 你的 50 行未提交代码还在
压力水平:📉 零焦虑
场景 3:不中断工作的代码审查
情况:你在开发功能时需要审查一个 PR。
传统 Git:
$ git stash
$ git fetch origin pull/123/head:pr-123
$ git checkout pr-123
# ... 审查代码 ...
$ git checkout feature
$ git stash pop使用 Workspace:
- 为 PR 审查创建对话 D → Workspace D 自动创建
- 在对话 D 中审查代码
- 切换回对话 A → 功能开发工作未被触碰
多仓库支持
在 monorepo 或多仓库项目中工作?Workspace 支持单个 workspace 中的多个仓库:
Workspace A
├─ 仓库: frontend (feature/new-ui)
├─ 仓库: backend (feature/new-api)
└─ 仓库: shared (feature/types)所有仓库在同一个 workspace 中保持同步。不再需要管理多个终端窗口。
性能与清理
自动垃圾回收
Workspace 在 72 小时不活动后自动清理:
- 活跃的 workspace:无限期保留
- 固定的 workspace:保留 7 天
- 归档的 workspace:1 小时后清理
磁盘空间
Worktree 对未修改的文件使用硬链接,所以磁盘占用很小:
- 主仓库:500 MB
- 3 个 worktree:+50 MB(仅修改的文件)
架构亮点
对于技术爱好者,这里是 Workspace Git Foundation 的健壮性保证:
1. 状态机设计
Workspace 生命周期由状态机管理:
creating → ready → missing → recovered
↓
failed → retry2. 快照 + 实时检查
- 快照:缓存的分支状态,用于快速 UI 更新
- 实时检查:打开对话时的实时 Git 状态
3. 冲突检测
Refresh 在以下操作中检测冲突:
- Rebase 操作
- Merge 操作
- Cherry-pick 操作
并提供一键解决UI。
立即开始
步骤 1:更新到最新版本
# macOS
brew upgrade refresh-agents
# 或从官网下载
https://refresh-agents.com/download步骤 2:创建新对话
- 打开 Refresh Agents
- 点击"新建对话"
- 选择你的项目文件夹
就这样。 你的第一个 workspace 自动创建了。
步骤 3:探索 Workspace 状态栏
在对话顶部,你会看到:
🌿 feature/chat-abc123 │ ↑2 ↓1 ●3 │ PR #42- 🌿 分支名
- ↑2:领先 2 个提交
- ↓1:落后 1 个提交
- ●3:3 个未提交文件
- PR #42:关联的 pull request
下一步计划
我们才刚刚开始。以下是即将推出的功能:
- Workspace 模板:常见工作流的预配置设置
- Workspace 共享:与团队成员共享 workspace
- 云同步:跨设备同步 workspace
- VS Code 集成:直接在 VS Code 中打开 workspace
立即试用
Workspace Git Foundation 现已在 Refresh Agents v0.1.0+ 中可用。
反馈?
我们很想听听 Workspace Git Foundation 如何改善你的工作流:
- Twitter:@RefreshAgents
- Discord:加入我们的社区
- 邮箱:[email protected]
再也不会丢失上下文。立即开始使用 Workspace Git Foundation。 🚀

