Skip to content

Conversation

@lifeizhou-ap
Copy link
Contributor

@lifeizhou-ap lifeizhou-ap commented Oct 17, 2025

Summary

  • Moves recipe template rendering logic from client (UI) to server side
  • Consolidates recipe parameter handling into a unified server-side approach
  • Simplifies the client-side recipe management code

Changes

  • Removed endpoints:

    • /agent/add_sub_recipes
    • /agent/prompt
    • /agent/session_config
  • New endpoint:

    • /agent/update_from_session - unified endpoint that reads session data and updates agent accordingly
  • Modified endpoint:

    • /session/{session_id}/user_recipe_values - now returns the resolved recipe after parameter substitution, and update agent
  • Moved the desktop prompts to server side: desktop_prompt.md and desktop_recipe_instruction.md

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

@lifeizhou-ap lifeizhou-ap marked this pull request as ready for review October 17, 2025 09:40
Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

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

Front end looks good, verified all recipe paths are working in the current non ALPHA path.

@zanesq
Copy link
Collaborator

zanesq commented Oct 18, 2025

I noticed that I'm getting these key missing errors in the server console logs for a pre-existing recipe that loaded before this change.

18T20:45:34.042098Z ERROR goose::recipe::local_recipes: Failed to load recipe from file /Users/zane/.config/goose/recipes/strategic-account-manager-book-of-business-analysis-updated.yaml: Failed to parse nested recipe: missing field `key`
    at crates/goose/src/recipe/local_recipes.rs:130

* main: (32 commits)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
  Revert "Rewrite extension management tools" (#5243)
  Standardize Session Name Attribute (#5085)
  Docs: Include step-by-step model configuration instructions for first… (#5239)
  Delete message visibility filter (#5216)
  delete flaky pricing integration tests (#5207)
  chore: upgrade most npm packages to latest (#5185)
  Release/1.11.0 (#5224)
  Rewrite extension management tools (#5057)
  fix: re-sync package-lock.json (#5235)
  docs: Hacktoberfest MCP youtube short entry to community-content.json (#5150)
  feat: add schedule button to recipe entries (#5217)
  Autocompact threshold UI cleanup (#5232)
  fix: correct schema for openai tools (#5229)
  Break compaction back into check_ and do_ compaction (#5212)
  fix: revert built app name to uppercase Goose (#5206)
  ...
@lifeizhou-ap
Copy link
Contributor Author

I noticed that I'm getting these key missing errors in the server console logs for a pre-existing recipe that loaded before this change.

18T20:45:34.042098Z ERROR goose::recipe::local_recipes: Failed to load recipe from file /Users/zane/.config/goose/recipes/strategic-account-manager-book-of-business-analysis-updated.yaml: Failed to parse nested recipe: missing field `key`
    at crates/goose/src/recipe/local_recipes.rs:130

Thank you @zanesq for review and testing! When rendering the recipe list in the library, if the recipe is not valid, it will log the error and ignore this recipe in the list. I guess the recipe might be invalid. I'll reach out to you to get the recipe content.

@lifeizhou-ap lifeizhou-ap merged commit 8b53a56 into main Oct 19, 2025
11 checks passed
@lifeizhou-ap lifeizhou-ap deleted the lifei/ui-parameter-input branch October 19, 2025 23:05
@michaelneale
Copy link
Collaborator

can you say why

/agent/prompt

was removed?

michaelneale added a commit that referenced this pull request Oct 20, 2025
* main:
  Lifei/UI parameter input (#5222)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
  Revert "Rewrite extension management tools" (#5243)
@lifeizhou-ap
Copy link
Contributor Author

I noticed that I'm getting these key missing errors in the server console logs for a pre-existing recipe that loaded before this change.

18T20:45:34.042098Z ERROR goose::recipe::local_recipes: Failed to load recipe from file /Users/zane/.config/goose/recipes/strategic-account-manager-book-of-business-analysis-updated.yaml: Failed to parse nested recipe: missing field `key`
    at crates/goose/src/recipe/local_recipes.rs:130

Thank you @zanesq for review and testing! When rendering the recipe list in the library, if the recipe is not valid, it will log the error and ignore this recipe in the list. I guess the recipe might be invalid. I'll reach out to you to get the recipe content.

Update: It turns out the recipe is invalid. key is missing for parameters

@lifeizhou-ap
Copy link
Contributor Author

can you say why

/agent/prompt

was removed?

Yes, it was removed in this PR. When start the agent, the desktop prompt are set up at the server side now. After this change, i found there is no place on the frontend calling extend prompt endpoint any more, then I removed it

katzdave added a commit that referenced this pull request Oct 20, 2025
* 'main' of github.com:block/goose:
  docs: provide more clarity in tagging step of releases (#5269)
  docs: add GOOSE_DEBUG environment variable (#5265)
  Lifei/UI parameter input (#5222)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
  Revert "Rewrite extension management tools" (#5243)
  Standardize Session Name Attribute (#5085)
  Docs: Include step-by-step model configuration instructions for first… (#5239)
  Delete message visibility filter (#5216)
  delete flaky pricing integration tests (#5207)
  chore: upgrade most npm packages to latest (#5185)
  Release/1.11.0 (#5224)
michaelneale added a commit that referenced this pull request Oct 21, 2025
* main: (40 commits)
  Fix extension manager resource deadlock (#5066)
  add new prompt for memory extension (#4945)
  feat: Stable system prompt and tool ordering for more cache hits (#5192)
  Remove gtag analytics error (#5268)
  Feat/smart task organizer recipe (#5032)
  docs: `goose recipe open` command (#5264)
  docs: provide more clarity in tagging step of releases (#5269)
  docs: add GOOSE_DEBUG environment variable (#5265)
  Lifei/UI parameter input (#5222)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
  Revert "Rewrite extension management tools" (#5243)
  Standardize Session Name Attribute (#5085)
  Docs: Include step-by-step model configuration instructions for first… (#5239)
  Delete message visibility filter (#5216)
  delete flaky pricing integration tests (#5207)
  chore: upgrade most npm packages to latest (#5185)
  ...
michaelneale added a commit that referenced this pull request Oct 21, 2025
* main:
  Lifei/UI parameter input (#5222)
  turn off WAL (#5203)
  Skip subagents for gemini (#5257)
  Revert "Standardize Session Name Attribute" (#5250)
  improve provider request logging a bit (#5236)
  Fix OpenAI empty choices panic (#5248)
@DOsinga
Copy link
Collaborator

DOsinga commented Oct 21, 2025

I'm guessing @michaelneale is using it for his wild experimentation. let's discuss

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