feat: AI recipes for custom meeting prompt templates#85
Open
StevenLi-phoenix wants to merge 1 commit intomainfrom
Open
feat: AI recipes for custom meeting prompt templates#85StevenLi-phoenix wants to merge 1 commit intomainfrom
StevenLi-phoenix wants to merge 1 commit intomainfrom
Conversation
Add reusable prompt templates (AI Recipes) for different meeting types.
Users can pick a recipe when regenerating summaries, or create custom
recipes in the new Settings > Recipes tab.
- AIRecipe model with name, icon, prompt template, output sections
- RecipeStore (nonisolated enum) with JSON file storage, 6 built-ins
- Template interpolation: {{transcript}}, {{title}}, {{duration}}, {{date}}
- PromptBuilder.buildRecipePrompt() and SummarizerService.summarizeWithRecipe()
- Recipe picker Menu in SummaryCardView regenerate overlay
- RecipeListView + RecipeEditorView in Settings
- 19 unit tests for store logic, interpolation, CRUD, JSON round-trip
✅ Claude Code Review: APPROVE
|
Contributor
|
⏸️ Auto-merge paused: 5 unchecked checkbox(es) in PR body. Merge will proceed automatically once all tasks are checked and a new push triggers the workflow. |
Owner
Author
Notes — AI Recipes (#20)很好的功能!几点建议: 1. 与 Granola "Recipes" 的差异化Granola 的 Recipes 是他们最受欢迎的功能——结合会议上下文 + 专家 AI prompt 模板(如 coaching、brief-writing)。我们的 AI Recipes 可以进一步差异化:
2. 与 Structured Output 集成Recipe 可以指定期望的输出结构(而不仅仅是 prompt 文本)。例如:
3. 预设 Recipes 建议首次使用时提供 5-8 个预设 recipe,降低使用门槛:
|
This was referenced Mar 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AIRecipemodel — reusable prompt template with name, icon (SF Symbol),promptTemplate(supports{{transcript}},{{title}},{{duration}},{{date}}), output sections, summary style, built-in flagRecipeStore—nonisolated enumwith JSON file storage in Application Support; 6 built-in recipes (General Meeting, Sprint Retro, 1-on-1, Sales Call, Brainstorm, Product Review) with stable UUIDs; built-ins always restored on load; duplicate/delete supportPromptBuilder.buildRecipePrompt()— interpolates recipe template, adds section hints and style/constraint instructionsSummarizerService.summarizeWithRecipe()— recipe-based regeneration with retry logicSummaryCardView— Menu button in hover overlay alongside existing regenerate/edit/copy buttons;onRegenerateWithRecipecallback wired throughSessionDetailViewRecipeListView+RecipeEditorView— new Settings > Recipes tab for CRUD management; HSplitView with sidebar list and detail editor; built-in recipes are read-only with duplicate optionCloses #20
Test plan
CODE_SIGNING_ALLOWED=NO)🤖 Generated with Claude Code