Skip to content

Conversation

@salman1993
Copy link
Contributor

@salman1993 salman1993 commented Mar 11, 2025

to test with o1, o3:

export OPENAI_API_KEY=...
GOOSE_PLANNER_PROVIDER=openai GOOSE_PLANNER_MODEL=o3-mini-high ./target/debug/goose s

or claude 3.7 sonnet:

export ANTHROPIC_API_KEY=...
export CLAUDE_THINKING_ENABLED=true
GOOSE_PLANNER_PROVIDER=anthropic GOOSE_PLANNER_MODEL=claude-3-7-sonnet-latest ./target/debug/goose s

use goose::model::ModelConfig;
use goose::providers::create;

// TODO: hacky to create a new provider for the planner each time plan is called

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the reasoning model only used for the /plan call? Assuming we switch back to the prior model_config after planning is finished?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes right now its only used for the /plan call

Copy link

@wendytang wendytang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Playing around with it and it's pretty useful!

nit: space between plan and cliclack

I wonder as a follow up if the plan output could be a different color from execution -
image

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();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we have to validate the effort - high / medium / low only?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

* 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)
  ...
@salman1993 salman1993 marked this pull request as ready for review March 20, 2025 01:05
@salman1993 salman1993 requested a review from kalvinnchau March 20, 2025 01:07
Copy link
Contributor

@kalvinnchau kalvinnchau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥 ! love the /plan mode

looks like a failing test, but overall lgtm!

Copy link
Collaborator

@michaelneale michaelneale left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like this - any chance can have a GUI treatment that is appropriate for plan/execute mode? (seperate PR)

@salman1993
Copy link
Contributor Author

@michaelneale i talked to design team and wanted to ship this in CLI first as experimental feature

@salman1993 salman1993 merged commit e273f8e into main Mar 20, 2025
6 checks passed
@salman1993 salman1993 deleted the sm/plan-poc-simple branch March 20, 2025 14:10
ahau-square pushed a commit that referenced this pull request Mar 21, 2025
* 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)
  ...
cbruyndoncx pushed a commit to cbruyndoncx/goose that referenced this pull request Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants