管理项目
goose Projects 会自动追踪你的工作目录以及关联的会话,让你能够在多个代码库之间切换时保留完整上下文,并快速恢复工作。
在 goose 里,project 指的是你曾用 goose 工作过的某个目录记录。每次运行 goose 时,它都会自动把当前目录记录成一个 project,并保存:
- Path:项目目录的绝对路径
- Last accessed:你最近一次使用这个项目的时间
- Last instruction:你最近一次给 goose 的指令
- Session ID:与该项目关联的会话 ID,用于延续上下文
这些 project 数据会保存在 ~/.local/share/goose/projects.json。
CLI Only Feature
Projects 目前只在 goose CLI 中可用。Desktop 支持还在后续规划中。
基本用法
恢复最近一次工作的项目:
goose project
浏览所有项目:
goose projects
tip
恢复项目时,你既可以继续之前的会话,也可以在该目录下开启一个全新的会话。
完整命令语法和选项请参考 CLI Commands Guide。
工作流示例
下面以开发者 Sarah 一天内在多个项目之间切换为例:
上午:开发 API
cd ~/projects/ecommerce-api
goose session --name "api-auth-work"
Sarah 让 goose 协助实现 JWT token refresh 逻辑。
上午稍晚:修移动端 Bug
cd ~/projects/mobile-app
goose session
Sarah 用 goose 协助排查登录页上的 iOS 崩溃问题。
下午:管理后台
cd ~/projects/admin-dashboard
goose session --name "dashboard-ui"
Sarah 开始编写用户管理界面组件。
第二天:快速恢复
# 无论当前在哪个目录,都可以快速恢复最近一个项目
goose project
goose 会显示:
┌ goose Project Manager
│
◆ Choose an option:
│ ○ Resume project with session: .../admin-dashboard
│ Continue with the previous session
│ ○ Resume project with fresh session: .../admin-dashboard
│ Change to the project directory but start a new session
│ ○ Start new project in current directory: /Users/sarah
│ Stay in the current directory and start a new session
└
之后:浏览所有项目
goose projects
goose 会显示:
┌ goose Project Manager
│
◆ Select a project:
│ ○ 1 .../admin-dashboard (2025-01-07 09:15:30) [create user management interface]
│ ○ 2 .../mobile-app (2025-01-06 11:45:20) [login screen crashing on iOS]
│ ○ 3 .../ecommerce-api (2025-01-06 09:30:15) [JWT token refresh logic]
│ ○ Cancel
└
Sarah 可以直接看到最近项目的时间戳和上下文摘要,从而快速判断下一步该回到哪个项目继续。
价值
Time Savings
对于每天频繁切换代码库的开发者,Projects 能节省反复切换上下文时常见的 2 到 5 分钟损耗。
- 减少上下文切换摩擦:在多个项目之间快速来回,无需手动导航
- 保留工作上下文:在原来的对话历史上继续工作
- 和 session 深度集成:不同代码库之间也能保持清晰的连续性