feat: add /plan command in CLI to invoke reasoner with plan system prompt#1616
feat: add /plan command in CLI to invoke reasoner with plan system prompt#1616salman1993 merged 17 commits intomainfrom
Conversation
crates/goose-cli/src/session/mod.rs
Outdated
| use goose::model::ModelConfig; | ||
| use goose::providers::create; | ||
|
|
||
| // TODO: hacky to create a new provider for the planner each time plan is called |
There was a problem hiding this comment.
Is the reasoning model only used for the /plan call? Assuming we switch back to the prior model_config after planning is finished?
There was a problem hiding this comment.
yes right now its only used for the /plan call
crates/goose-cli/src/session/mod.rs
Outdated
| reasoner_provider = "openai".to_string(); | ||
| reasoner_model = "o1-high".to_string(); | ||
| } else if model.starts_with("o1") || model.starts_with("o3-mini") { | ||
| reasoner_provider = "openai".to_string(); |
There was a problem hiding this comment.
do we have to validate the effort - high / medium / low only?
There was a problem hiding this comment.
this should be validated in the openai provider
| /extension <command> - Add a stdio extension (format: ENV1=val1 command args...) | ||
| /builtin <names> - Add builtin extensions by name (comma-separated) | ||
| /prompts [--extension <name>] - List all available prompts, optionally filtered by extension | ||
| /prompts [--extension <n>] - List all available prompts, optionally filtered by extension |
There was a problem hiding this comment.
minor: why n from name? n almost implies a number/index to me
i guess /prompt <n> just under it is not using name either though
There was a problem hiding this comment.
this was probably copilot making random change
| if parts.is_empty() { | ||
| println!("For the /plan command, you must provide message text but none was provided."); | ||
| println!("Usage: /plan --model=<model> <message_text>"); | ||
| return None; |
There was a problem hiding this comment.
If you just type /plan and hit enter you get this message and then the agent loop continues:
( O)> /plan
For the /plan command, you must provide message text but none was provided.
Usage: /plan --model=<model> <message_text>
◓ Honking thoughtfully...
# Planning Session
I'd be happy to help you with planning. Let me guide you through a planning session where we can outline your goals, tasks, or projects.
## How I Can Help
...
Probably want to return Some(InputResult::Retry) to put them back into the prompt
| if options.message_text.is_empty() { | ||
| println!("For the /plan command, you must provide message text but none was provided."); | ||
| println!("Usage: /plan --model=<model> <message_text>"); | ||
| return None; |
* origin/main: (74 commits) config: add optional extension description (#1743) docs: add deployment for install link generator (#1737) ui: new configure provider flow (#1736) Revert "Standardize Radio Button input" (#1758) Settings v2 Add Model (#1708) fix: use lowercase names for builtin external extensions (#1756) chore(release): release version 1.0.15 (#1749) docs: goosing around: langfuse blog (#1746) feat: update the deny call response (#1741) feat: refactor register eval (#1713) fix: Goose UI fix typos (#1744) feat(google_drive): comment read (#1732) feat: build cli workflow (#1697) fix: fix initial model configuration in cli when using toolshim (#1720) feat: add basic support for aws bedrock to desktop app (#1271) feat(google_drive): add image resizing logic from developer, and use Content::Image (#1735) Standardize Radio Button input (#1701) ui: tweaks to settings v2 (#1731) feat(google_drive): set read/write scope on all commands to use the same token (#1707) refactor: clean up log usage (#1704) ...
kalvinnchau
left a comment
There was a problem hiding this comment.
🔥 ! love the /plan mode
looks like a failing test, but overall lgtm!
michaelneale
left a comment
There was a problem hiding this comment.
Like this - any chance can have a GUI treatment that is appropriate for plan/execute mode? (seperate PR)
|
@michaelneale i talked to design team and wanted to ship this in CLI first as experimental feature |
* origin/main: (74 commits) docs: add youtube vscode short (#1809) blog: Goose Boston Meetup (#1805) docs: Choosing the Right Prompting Style Blog (#1794) docs: Asana tutorial (#1806) docs: add langfuse tutorial to blog (#1755) docs: Add VS Code tutorial (#1798) feat: can read and write to google sheets now (#1784) tweak darkmode for modal (#1797) docs: asana and gcal blog post (#1796) fix: update experimental features docs (#1781) docs: Remove Installer Link From Filesystem Tutorial (#1795) alexhancock/remove-little-gap (#1793) fix: #1562 - Only show text portion of goose message if there is text to display (#1791) feat: add /plan command in CLI to invoke reasoner with plan system prompt (#1616) docs: Adding Trigger Words to Memory Tutorial (#1783) docs: Add prompt completion (#1787) fix: check if working directory has changed before asking (#1733) extensions: add a display name field (#1759) ui: add logs to app (#1760) docs: add stdin (#1769) ...

to test with o1, o3:
or claude 3.7 sonnet: