From 5e6cccfd9881a869bf5ad00a8c430c35aa6b42fe Mon Sep 17 00:00:00 2001 From: Rupam Golui <142140947+Itz-Agasta@users.noreply.github.com> Date: Tue, 7 Oct 2025 21:00:52 +0530 Subject: [PATCH 1/6] docs(blog): Add blog for running Goose in containerized envs (#5052) Signed-off-by: Itz-Agasta --- .../src/pages/community/data/community-content.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/documentation/src/pages/community/data/community-content.json b/documentation/src/pages/community/data/community-content.json index 2804322817..0fbebce8bd 100644 --- a/documentation/src/pages/community/data/community-content.json +++ b/documentation/src/pages/community/data/community-content.json @@ -17,6 +17,19 @@ "submittedDate": "2025-09-26", "tags": ["hacktoberfest", "open-source", "contributing"], "hacktoberfest": true + }, + { + "title": "Running Goose in Containers (Without Losing Your Mind)", + "author": { + "name": "Rupam Golui", + "handle": "Itz-Agasta" + }, + "type": "blog", + "url": "https://dev.to/agasta/running-goose-in-containers-without-losing-your-mind-3m8", + "thumbnail": "https://images.unsplash.com/photo-1759560397953-8221761119ec?w=400&h=225&fit=crop&crop=entropy&auto=format", + "submittedDate": "2025-10-04", + "tags": ["hacktoberfest"], + "hacktoberfest": true } ] } From 9247e46f251430a4592c2a8e046ea10e9faf6904 Mon Sep 17 00:00:00 2001 From: Zane <75694352+zanesq@users.noreply.github.com> Date: Tue, 7 Oct 2025 08:31:11 -0700 Subject: [PATCH 2/6] Allow auto focus and typing while chat is initializing (#5043) --- ui/desktop/src/components/ChatInput.tsx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ui/desktop/src/components/ChatInput.tsx b/ui/desktop/src/components/ChatInput.tsx index 9d2d34722a..92763ddea8 100644 --- a/ui/desktop/src/components/ChatInput.tsx +++ b/ui/desktop/src/components/ChatInput.tsx @@ -1183,13 +1183,7 @@ export default function ChatInput({ isExtensionsLoading; const isUserInputDisabled = - isAnyImageLoading || - isAnyDroppedFileLoading || - isRecording || - isTranscribing || - isCompacting || - !agentIsReady || - isExtensionsLoading; + isAnyImageLoading || isAnyDroppedFileLoading || isRecording || isTranscribing || isCompacting; // Queue management functions - no storage persistence, only in-memory const handleRemoveQueuedMessage = (messageId: string) => { From 8d0bd2748108e54b2264ff8ed63ac2abe58075ed Mon Sep 17 00:00:00 2001 From: Arya Pratap Singh Date: Tue, 7 Oct 2025 21:58:56 +0530 Subject: [PATCH 3/6] feat(prompt-library): add Smart Meeting Assistant advanced prompt (#4998) (#5031) Signed-off-by: Arya Pratap Singh Co-authored-by: Kevin Everly <52120465+keverly@users.noreply.github.com> Co-authored-by: Jack Amadeo Co-authored-by: Amed Rodriguez Co-authored-by: dianed-square <73617011+dianed-square@users.noreply.github.com> Co-authored-by: Zane <75694352+zanesq@users.noreply.github.com> Co-authored-by: Douwe Osinga Co-authored-by: Douwe Osinga Co-authored-by: aegntic Co-authored-by: Yingjie He Co-authored-by: Will Pfleger Co-authored-by: Alex Hancock --- .../data/prompts/smart-meeting-assistant.json | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json diff --git a/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json b/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json new file mode 100644 index 0000000000..6be830e82b --- /dev/null +++ b/documentation/src/pages/prompt-library/data/prompts/smart-meeting-assistant.json @@ -0,0 +1,54 @@ +{ + "id": "smart-meeting-assistant", + "title": "Smart Meeting Assistant", + "description": "Automate your meeting workflow from prep to follow-up: gather context, generate agendas, take real-time notes, extract action items, and send automated follow-ups", + "category": "productivity", + "job": "project-management", + "example_prompt": "I have a project kickoff meeting scheduled for tomorrow at 2 PM with the development team. The meeting is about planning the new customer dashboard feature. Please:\n\n1. If web search is available, search for relevant background information about customer dashboard best practices. Otherwise, use your knowledge of best practices.\n2. Create a meeting agenda with time allocations\n3. Draft a pre-meeting email with the agenda\n4. Set up a notes template for capturing key points\n5. Prepare a follow-up action item tracker\n\nAttendees: John (Engineering Lead), Sarah (Product Manager), Mike (Designer)\nEstimated Duration: 60 minutes", + "example_result": "I've prepared a comprehensive meeting workflow for your customer dashboard kickoff. Here's everything you need:\n\n1. Background Research Completed:\n```markdown\n# Customer Dashboard Best Practices\n\n## Key Findings from Web Search:\n- **Customization is Critical**: 78% of users prefer dashboards they can personalize\n- **Performance Metrics**: Load time under 2 seconds improves engagement by 50%\n- **Data Visualization**: Use max 5-7 key metrics on main view\n- **Mobile Responsiveness**: 60% of dashboard access happens on mobile\n- **Real-time Updates**: Users expect data refresh intervals of 5-15 minutes\n\n## Industry Examples:\n- **Salesforce**: Drag-and-drop widget system\n- **Tableau**: Interactive filtering and drill-downs\n- **Google Analytics**: Custom date ranges and comparisons\n- **Mixpanel**: Cohort analysis integration\n\n## Technical Considerations:\n- GraphQL for efficient data fetching\n- WebSocket connections for real-time updates\n- Client-side caching strategies\n- Accessibility (WCAG 2.1 AA compliance)\n```\n\n2. Meeting Agenda Created:\n```markdown\n# Project Kickoff: Customer Dashboard Feature\n**Date**: Tomorrow, 2:00 PM - 3:00 PM\n**Location**: Conference Room B / Zoom\n**Attendees**: John (Engineering), Sarah (Product), Mike (Design)\n\n## Agenda (60 minutes)\n\n### 1. Introduction & Objectives (5 min)\n- Meeting purpose and expected outcomes\n- Quick round of introductions if needed\n\n### 2. Project Vision & Requirements (15 min)\n- Business objectives and success metrics\n- Target user personas and use cases\n- Core features vs. nice-to-haves (MVP scope)\n\n### 3. Technical Architecture Discussion (15 min)\n- System design overview\n- Technology stack recommendations\n- Data sources and integration points\n- Performance and scalability considerations\n\n### 4. Design Direction & User Experience (10 min)\n- Wireframe review and feedback\n- Design system alignment\n- Accessibility requirements\n\n### 5. Timeline & Resource Planning (10 min)\n- Sprint breakdown and milestones\n- Team capacity and allocation\n- Dependencies and blockers\n\n### 6. Action Items & Next Steps (5 min)\n- Assign responsibilities\n- Set follow-up meetings\n- Document decisions\n\n## Pre-Meeting Materials\n- Customer feedback summary (attached)\n- Competitor analysis dashboard examples\n- Initial wireframes from design team\n```\n\n3. Pre-Meeting Email Drafted:\n```\nSubject: Tomorrow's Meeting: Customer Dashboard Project Kickoff - Agenda & Prep\n\nHi John, Sarah, and Mike,\n\nLooking forward to our kickoff meeting tomorrow at 2 PM to plan the new customer dashboard feature! To make the most of our time, I've attached:\n\nπŸ“‹ Meeting Agenda (60 minutes)\nπŸ“Š Background Research on Dashboard Best Practices\n🎯 Key Discussion Topics\n\nPlease review the attached agenda before the meeting. If you have any additional topics you'd like to cover, let me know and I'll adjust the time allocations accordingly.\n\n**Key Questions to Consider**:\n- What are the must-have features for MVP?\n- What technical constraints should we be aware of?\n- What's a realistic timeline given current team capacity?\n\n**What to Bring**:\n- John: Technical feasibility assessment\n- Sarah: Prioritized feature list from stakeholders\n- Mike: Initial design concepts/wireframes\n\nSee you tomorrow!\n\nBest regards,\n[Your Name]\n\n---\nJoin Zoom Meeting: [link]\nMeeting ID: XXX-XXX-XXXX\n```\n\n4. Real-Time Notes Template:\n```markdown\n# Customer Dashboard Kickoff Meeting Notes\n**Date**: [Date]\n**Time**: 2:00 PM - 3:00 PM\n**Attendees**: John (Engineering Lead), Sarah (Product Manager), Mike (Designer)\n**Notetaker**: [Your Name]\n\n---\n\n## Meeting Objectives\n- [ ] Define project scope and MVP features\n- [ ] Align on technical approach\n- [ ] Establish timeline and milestones\n- [ ] Assign initial responsibilities\n\n---\n\n## Discussion Notes\n\n### Project Vision & Requirements\n**Business Goals**:\n- \n\n**Target Users**:\n- \n\n**Key Features Discussed**:\n1. \n2. \n3. \n\n**MVP Scope Agreement**:\n- In Scope: \n- Out of Scope: \n- Future Phases: \n\n### Technical Architecture\n**Technology Stack**:\n- Frontend: \n- Backend: \n- Database: \n- APIs: \n\n**Data Sources**:\n- \n\n**Performance Requirements**:\n- \n\n**Security/Compliance**:\n- \n\n### Design & UX\n**Design Approach**:\n- \n\n**User Flows**:\n- \n\n**Accessibility Requirements**:\n- \n\n**Open Design Questions**:\n- \n\n### Timeline & Resources\n**Sprint Breakdown**:\n- Sprint 1 (Week 1-2): \n- Sprint 2 (Week 3-4): \n- Sprint 3 (Week 5-6): \n\n**Team Allocation**:\n- Engineering: \n- Design: \n- Product: \n\n**Dependencies**:\n- \n\n**Blockers/Risks**:\n- \n\n---\n\n## Decisions Made\n1. \n2. \n3. \n\n---\n\n## Action Items\n(See detailed action item tracker below)\n\n---\n\n## Parking Lot (for future discussion)\n- \n\n---\n\n## Next Steps\n- Next Meeting: \n- Follow-up Required: \n```\n\n5. Action Item Tracker Created:\n```markdown\n# Customer Dashboard Project - Action Items\n**Meeting Date**: [Date]\n**Status**: 🟑 In Progress\n\n---\n\n## Immediate Actions (This Week)\n\n| # | Action Item | Owner | Due Date | Status | Priority | Notes |\n|---|-------------|-------|----------|--------|----------|-------|\n| 1 | Create technical design document | John | [Date] | πŸ”΅ Not Started | High | Include API specs |\n| 2 | Prioritize feature list with stakeholders | Sarah | [Date] | πŸ”΅ Not Started | High | Get executive sign-off |\n| 3 | Complete high-fidelity mockups | Mike | [Date] | πŸ”΅ Not Started | High | Review with design team |\n| 4 | Set up development environment | John | [Date] | πŸ”΅ Not Started | Medium | Including test DB |\n| 5 | Schedule design review meeting | Mike | [Date] | πŸ”΅ Not Started | Medium | Invite stakeholders |\n\n## Sprint 1 Actions (Next 2 Weeks)\n\n| # | Action Item | Owner | Due Date | Status | Priority | Notes |\n|---|-------------|-------|----------|--------|----------|-------|\n| 6 | Implement authentication flow | John | [Date] | πŸ”΅ Not Started | High | OAuth 2.0 |\n| 7 | Build dashboard layout framework | John | [Date] | πŸ”΅ Not Started | High | Responsive grid |\n| 8 | Create component library | Mike | [Date] | πŸ”΅ Not Started | High | Design system |\n| 9 | API endpoint development | John | [Date] | πŸ”΅ Not Started | Medium | RESTful APIs |\n| 10 | User research interviews | Sarah | [Date] | πŸ”΅ Not Started | Medium | 5-8 customers |\n\n## Follow-up Items\n\n| # | Action Item | Owner | Due Date | Status | Priority | Notes |\n|---|-------------|-------|----------|--------|----------|-------|\n| 11 | Present progress to stakeholders | Sarah | [Date] | πŸ”΅ Not Started | Low | End of Sprint 1 |\n| 12 | Document API specifications | John | [Date] | πŸ”΅ Not Started | Medium | OpenAPI format |\n| 13 | Accessibility audit plan | Mike | [Date] | πŸ”΅ Not Started | Medium | WCAG checklist |\n\n---\n\n## Status Legend\n- πŸ”΅ Not Started\n- 🟑 In Progress\n- 🟒 Completed\n- πŸ”΄ Blocked\n- ⏸️ On Hold\n\n## Priority Levels\n- **High**: Critical for MVP launch\n- **Medium**: Important but not blocking\n- **Low**: Nice to have or future consideration\n\n---\n\n## Blocking Issues\n*None currently*\n\n## Completed Actions\n*None yet*\n\n---\n\n**Last Updated**: [Timestamp]\n**Next Review**: [Date]\n```\n\n6. Post-Meeting Follow-up Email Template:\n```\nSubject: [Action Required] Customer Dashboard Kickoff - Meeting Notes & Action Items\n\nHi Team,\n\nThank you for a productive kickoff meeting! I've compiled our discussion notes and action items.\n\n## Key Decisions:\n1. [Decision 1]\n2. [Decision 2]\n3. [Decision 3]\n\n## Your Action Items:\n\n**John (Engineering Lead)**:\n- [ ] Create technical design document (Due: [Date])\n- [ ] Set up development environment (Due: [Date])\n- [ ] [Additional items...]\n\n**Sarah (Product Manager)**:\n- [ ] Prioritize feature list with stakeholders (Due: [Date])\n- [ ] [Additional items...]\n\n**Mike (Designer)**:\n- [ ] Complete high-fidelity mockups (Due: [Date])\n- [ ] [Additional items...]\n\n## Next Steps:\n- **Design Review**: [Date & Time]\n- **Sprint Planning**: [Date & Time]\n- **Status Update**: [Date & Time]\n\nπŸ“Ž Attachments:\n- Meeting notes (detailed)\n- Action item tracker (live document)\n- Background research summary\n\nPlease review your action items and let me know if you have any questions or concerns about deadlines.\n\nLooking forward to making this project a success!\n\nBest,\n[Your Name]\n\n---\nπŸ’‘ **Pro Tip**: Reply with \"acknowledged\" so I know you've seen this!\n```\n\n## Summary of What's Been Prepared:\n\nβœ… **Research**: Gathered industry best practices and technical considerations\nβœ… **Agenda**: Created structured 60-minute meeting plan with time allocations\nβœ… **Pre-Meeting Email**: Professional invitation with context and preparation items\nβœ… **Notes Template**: Comprehensive structure for capturing all discussion points\nβœ… **Action Tracker**: Organized spreadsheet-style tracker with status indicators\nβœ… **Follow-up Template**: Ready-to-send summary with assigned tasks\n\nAll documents are saved to your project folder and ready to use. Would you like me to:\n1. Save these documents to Google Drive?\n2. Send the pre-meeting email now?\n3. Set up calendar reminders for action item deadlines?\n4. Create a recurring meeting series for weekly check-ins?", + "extensions": [ + { + "name": "Tavily Web Search", + "command": "npx -y tavily-mcp", + "is_builtin": false, + "link": "https://github.com/tavily-ai/tavily-mcp", + "environmentVariables": [ + { + "name": "TAVILY_API_KEY", + "description": "API key for Tavily web search (get from tavily.com)", + "required": true + } + ] + }, + { + "name": "Google Drive", + "command": "npx -y @modelcontextprotocol/server-gdrive", + "is_builtin": false, + "link": "https://block.github.io/goose/v1/extensions/google-drive", + "environmentVariables": [ + { + "name": "GDRIVE_OAUTH_PATH", + "description": "/Users//.config/gcp-oauth.keys.json", + "required": true + }, + { + "name": "GDRIVE_CREDENTIALS_PATH", + "description": "/Users//.config/.gdrive-server-credentials.json", + "required": true + } + ] + }, + { + "name": "Developer", + "command": "developer", + "is_builtin": true, + "environmentVariables": [] + }, + { + "name": "Memory", + "command": "memory", + "is_builtin": true, + "environmentVariables": [] + } + ] +} \ No newline at end of file From 7c5db3255674e0ea9f1619cf11eb47dea5b66f43 Mon Sep 17 00:00:00 2001 From: "w. ian douglas" Date: Tue, 7 Oct 2025 13:10:41 -0600 Subject: [PATCH 4/6] updating recipe scanner workflows for detecting recipes from forked repos (#5056) --- .github/workflows/recipe-security-scanner.yml | 8 ++++---- .github/workflows/send-api-key.yml | 19 ++++++++++++------- .github/workflows/validate-recipe-pr.yml | 12 ++++++------ 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/.github/workflows/recipe-security-scanner.yml b/.github/workflows/recipe-security-scanner.yml index 4e8d0b327e..83d6709061 100644 --- a/.github/workflows/recipe-security-scanner.yml +++ b/.github/workflows/recipe-security-scanner.yml @@ -43,9 +43,9 @@ jobs: echo "πŸ“ Synchronize event - checking files changed since previous commit" CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.before }}..${{ github.event.after }}) else - # For opened/reopened, check all files in the PR + # For opened/reopened, check all files in the PR (compare PR head against base) echo "πŸ“ PR opened/reopened - checking all files in PR" - CHANGED_FILES=$(git diff --name-only --diff-filter=AM origin/${{ github.base_ref }}..HEAD) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) fi echo "Changed files in this push:" @@ -78,9 +78,9 @@ jobs: echo "πŸ“ Synchronize event - checking files changed/added since previous commit" CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.before }}..${{ github.event.after }}) else - # For opened/reopened, check all files in the PR (new and modified) + # For opened/reopened, check all files in the PR (compare PR head against base) echo "πŸ“ PR opened/reopened - checking all new/modified files in PR" - CHANGED_FILES=$(git diff --name-only --diff-filter=AM origin/${{ github.base_ref }}..HEAD) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) fi # Filter for recipe files only that were changed or added diff --git a/.github/workflows/send-api-key.yml b/.github/workflows/send-api-key.yml index dfaf6ce7d5..f40e1e7202 100644 --- a/.github/workflows/send-api-key.yml +++ b/.github/workflows/send-api-key.yml @@ -24,15 +24,20 @@ jobs: set -e echo "πŸ” Checking if recipe files were added or modified in merged PR..." - # Get the current commit (merge commit) and the previous commit on the base branch - CURRENT_COMMIT=$(git rev-parse HEAD) - PREVIOUS_COMMIT=$(git rev-parse HEAD~1) + # Get the PR merge information + MERGE_COMMIT=$(git rev-parse HEAD) + echo "Merge commit: $MERGE_COMMIT" - echo "Current commit: $CURRENT_COMMIT" - echo "Previous commit: $PREVIOUS_COMMIT" + # For merged PRs, compare the PR's changes against the base branch + # Use the PR information from the event to get the actual changes + BASE_SHA="${{ github.event.pull_request.base.sha }}" + HEAD_SHA="${{ github.event.pull_request.head.sha }}" - # Get the list of files that were added or modified in this merge (not deleted) - CHANGED_FILES=$(git diff --name-only --diff-filter=AM $PREVIOUS_COMMIT..$CURRENT_COMMIT) + echo "PR base SHA: $BASE_SHA" + echo "PR head SHA: $HEAD_SHA" + + # Get the list of files that were added or modified in the PR (not deleted) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM $BASE_SHA..$HEAD_SHA) echo "Files added/modified in merged PR:" echo "$CHANGED_FILES" diff --git a/.github/workflows/validate-recipe-pr.yml b/.github/workflows/validate-recipe-pr.yml index ad412659cf..04529c7f63 100644 --- a/.github/workflows/validate-recipe-pr.yml +++ b/.github/workflows/validate-recipe-pr.yml @@ -56,9 +56,9 @@ jobs: echo "πŸ“ Synchronize event - checking files changed since previous commit" CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.before }}..${{ github.event.after }}) else - # For opened/reopened, check all files in the PR + # For opened/reopened, check all files in the PR (compare PR head against base) echo "πŸ“ PR opened/reopened - checking all files in PR" - CHANGED_FILES=$(git diff --name-only --diff-filter=AM origin/${{ github.base_ref }}..HEAD) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) fi echo "Changed files in this push:" @@ -87,13 +87,13 @@ jobs: echo "πŸ“ Synchronize event - checking files changed/added since previous commit" CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.before }}..${{ github.event.after }}) else - # For opened/reopened, check all files in the PR (new and modified) + # For opened/reopened, check all files in the PR (compare PR head against base) echo "πŸ“ PR opened/reopened - checking all new/modified files in PR" - CHANGED_FILES=$(git diff --name-only --diff-filter=AM origin/${{ github.base_ref }}..HEAD) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}) fi # Filter for recipe files only that were changed or added - RECIPE_FILES=$(git diff --diff-filter=AM --name-only origin/${{ github.base_ref }}..HEAD | grep "^documentation/src/pages/recipes/data/recipes/" | grep -E "\.(yaml|yml)$" || true) + RECIPE_FILES=$(echo "$CHANGED_FILES" | grep "^documentation/src/pages/recipes/data/recipes/" | grep -E "\.(yaml|yml)$" || true) if [ -z "$RECIPE_FILES" ]; then echo "No changed recipe files found in PR" @@ -159,7 +159,7 @@ jobs: # Check if this is a new file or an update to existing file # Get list of changed files in this PR compared to base branch - CHANGED_FILES=$(git diff --name-only --diff-filter=AM origin/${{ github.event.pull_request.base.ref }}...HEAD | grep "^$RECIPE_FILE$" || true) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }} | grep "^$RECIPE_FILE$" || true) EXISTING_FILES=$(find documentation/src/pages/recipes/data/recipes/ -name "$FILENAME.yaml" -o -name "$FILENAME.yml" | grep -v "^$RECIPE_FILE$" || true) if [ -n "$EXISTING_FILES" ] && [ -z "$CHANGED_FILES" ]; then From 00302f5c89b75a71026bc141ca16f5c5e10c3e69 Mon Sep 17 00:00:00 2001 From: dianed-square <73617011+dianed-square@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:02:56 -0700 Subject: [PATCH 5/6] docs: misc updates for extensions directory (#5035) Co-authored-by: Amed Rodriguez --- documentation/docs/mcp/elevenlabs-mcp.md | 2 +- documentation/src/components/server-card.tsx | 6 ++-- documentation/src/pages/extensions/detail.tsx | 8 ++--- documentation/src/types/server.ts | 2 ++ documentation/static/servers.json | 30 +++++++++---------- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/documentation/docs/mcp/elevenlabs-mcp.md b/documentation/docs/mcp/elevenlabs-mcp.md index 1b23890b93..59d6ad54d4 100644 --- a/documentation/docs/mcp/elevenlabs-mcp.md +++ b/documentation/docs/mcp/elevenlabs-mcp.md @@ -11,7 +11,7 @@ import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller'; -This tutorial covers how to add the [ElevenLabs MCP Server](https://github.com/yamadashy/repomix) as a Goose extension to enable AI-powered voice generation, voice cloning, audio editing, and speech-to-text transcription. +This tutorial covers how to add the [ElevenLabs MCP Server](https://github.com/elevenlabs/elevenlabs-mcp) as a Goose extension to enable AI-powered voice generation, voice cloning, audio editing, and speech-to-text transcription. :::tip TLDR diff --git a/documentation/src/components/server-card.tsx b/documentation/src/components/server-card.tsx index f625e751bd..d7416e0902 100644 --- a/documentation/src/components/server-card.tsx +++ b/documentation/src/components/server-card.tsx @@ -85,7 +85,7 @@ export function ServerCard({ server }: { server: MCPServer }) { )} - {!server.is_builtin && ( + {!server.is_builtin && (server.show_install_command !== false) && ( <> +
@@ -598,6 +675,7 @@ const SessionListView: React.FC = React.memo( session={session} onEditClick={handleEditSession} onDeleteClick={handleDeleteSession} + onExportClick={handleExportSession} /> ))}
@@ -624,6 +702,15 @@ const SessionListView: React.FC = React.memo(

Chat history

+

View and search your past conversations with Goose. @@ -701,6 +788,14 @@ const SessionListView: React.FC = React.memo(

+ +