Goose AI Agent

repository·main·Indexed 13 days ago

https://github.com/aaif-goose/goose

A native, open-source AI agent designed for local execution, providing a desktop app, CLI, and API for coding, research, automation, and data analysis. It includes a Goose SDK with Python and Kotlin/JVM bindings via UniFFI, a Canonical Model System for normalizing LLM metadata, and support for the Model Context Protocol (MCP).

Tokens
348.3K
Snippets
973
Records
1.6K
Agent score
99%

What's inside Goose

  1. Overview of the Speech MCP server features

    main

    The Speech MCP server is an open-source, privacy-focused, and LLM-agnostic tool that allows for voice interaction with AI agents like Goose. It operates entirely locally, making it cost-effective and accessible without internet connectivity.

    Key Capabilities

    • Local Speech Processing: Utilizes Faster Whisper (speech-to-text) and Coqui TTS (text-to-speech).
    • Voice Selection: Access to 54 different natural-sounding voices.
    • Multi-Speaker Narration: Ability to generate and play conversations between multiple distinct voices.
    • Audio Transcription: Converts audio/video content to text, including timestamps and speaker detection.
    • System Integration: Enables voice commands to control applications (e.g., Discord), navigate the file system, and manage development environments.
  2. Overview of CLI Command Tracking

    main

    CLI Command Tracking is an automated system designed to monitor changes in the goose CLI interface. It tracks modifications to commands, subcommands, aliases, and options (including help text, default values, and enums). The system automatically categorizes changes by severity, such as high severity for removed commands or options, and medium severity for changed default values or removed aliases. It is primarily used to ensure that the goose-cli-commands.md documentation stays in sync with the actual CLI implementation.

    Tracked Elements

    Commands

    • Added/removed commands
    • Changed command descriptions
    • Added/removed command aliases
    • Added/removed subcommands

    Options

    • Added/removed options
    • Changed option help text
    • Changed default values
    • Changed possible values (enums)
    • Changed short/long flags

    Breaking Changes (Auto-Categorized)

    • High Severity: Command removed, Option removed, Option renamed, Enum values removed.
    • Medium Severity: Default value changed, Alias removed.
  3. Overview of OIDC Proxy

    main

    OIDC Proxy is a Cloudflare Worker designed to authenticate GitHub Actions OIDC tokens and proxy requests to an upstream API by injecting a real API key. This architecture allows CI workflows to call sensitive APIs without the need to store long-lived secrets (like API keys) directly in GitHub.

    Workflow Flow: GitHub Actions (OIDC token) → Worker (validate JWT, inject API key) → Upstream API

    1. A GitHub Actions workflow generates an OIDC token with a specific audience.
    2. The workflow sends requests to the proxy, using the OIDC token as the authentication credential.
    3. The worker validates the JWT against GitHub's JWKS, checking the issuer, audience, token age, and repository permissions.
    4. Upon successful validation, the worker forwards the request to the upstream API with the actual API key injected into the appropriate header.
  4. Overview of Goose and MCP Integration

    main

    Goose is an open-source, MCP-compatible AI agent available as both a CLI and a desktop application. It uses the Model Context Protocol (MCP) to interact with APIs, tools, and data systems through a common, deterministic interface. This allows the agent to call tools without guesswork, focusing on executing tasks rather than interpreting API structures.

    Key features include:

    • Model-agnosticism: Works with various LLMs (e.g., Claude, OpenAI) via secure endpoints.
    • Tool-agnosticism: Connects to internal APIs, open-source tools, and SaaS products via MCP servers.
    • Security controls: Supports defining which models can invoke specific tools and annotating tools as read-only or destructive to trigger user confirmation.
  5. Overview of codename goose

    main

    codename goose is an open-source, on-machine AI agent designed to automate engineering tasks and improve productivity. It functions as an autonomous assistant that can execute complex instructions by coordinating several core components:

    • LLM Providers: Supports a wide range of Large Language Models (LLMs) to power the agent's reasoning.
    • Extensions: Uses the Model Context Protocol (MCP) to connect with external tools and applications (e.g., GitHub, Google Drive, JetBrains IDEs). This allows you to bring your own custom integrations.
    • Interfaces: Available as both a Desktop application and a Command-Line Interface (CLI), sharing the same configuration across both platforms.
  6. Overview of Documentation Automation projects

    main

    The documentation/automation/ directory contains automated pipelines designed to synchronize goose documentation with code changes. These projects use a hybrid approach combining deterministic shell scripts for extraction/comparison and AI-powered recipes for synthesis and updates.

    Currently planned automation projects include:

    • cli-command-tracking: Tracks CLI commands and options to update CLI documentation.
    • provider-tracking: Tracks supported AI providers to update provider documentation.
    • extension-tracking: Tracks built-in extensions to update extension documentation.
  7. Overview of Goose In A Pond

    main

    Goose In A Pond is a privacy-first, fully local smart home assistant built on top of the goose agent framework. It is designed to run on edge hardware (such as the NVIDIA Jetson Orin Nano) to provide an AI assistant that operates entirely offline.

    Key capabilities include:

    • Local Computation: Voice recognition, language modeling, memory, and device control all happen on-device without cloud dependency.
    • Offline Voice Pipeline: Uses a combination of wake-word detection, speech recognition (e.g., Whisper, Vosk), and text-to-speech (e.g., Coqui TTS) to enable natural interaction without internet.
    • Universal Device Control: Integrates with standard APIs (Zigbee, HTTP/MQTT) and legacy/closed systems via IR blasting (GPIO), Android sandboxing (ADB/UIAutomator), and Bluetooth/USB.
    • Self-Improvement: Utilizes the goose Memory extension to learn user preferences and refine automation behavior over time.
  8. Overview of goose-sdk bindings

    main

    The goose-sdk crate serves as the bindings layer for Goose. It provides a cross-language version of the Goose API and contains the shared types used for both ACP (Agent Communication Protocol) and SDK access.

    When compiled with the --features uniffi flag, it generates native bindings for:

    • Python: Namespace goose
    • Kotlin: Namespace io.github.aaif_goose

    Through the UniFFI surface, developers can:

    • Construct providers
    • Stream provider completions
    • Perform non-streaming completions
    • Pass rich message and tool content across the FFI boundary.
  9. Capabilities of the Firecrawl Extension

    main

    The Firecrawl MCP server provides the following web-based capabilities to your AI agents:

    • Single Page Scraping: Extract clean, structured content from individual web pages.
    • Batch Processing: Scrape multiple URLs efficiently using batch operations.
    • Site Crawling: Crawl entire websites or specific sections with customizable depth.
    • Search Integration: Search across crawled content with advanced filtering.
  10. Capabilities of Goose AI Assistant

    main

    Goose provides a wide range of capabilities through various extensions, regardless of whether you are using the Desktop App or the CLI. Core capabilities include:

    • Development & Code: Editing files, running shell commands, working with Git (via GitHub tools), compiling/testing Rust projects, and working with TypeScript/Electron apps.
    • Memory & Context: Storing and retrieving preferences, project details, and workflows globally or locally per project.
    • Web & Data Processing: Web scraping, API interaction, and processing file formats like PDF, DOCX, and Excel.
    • System Control (macOS): Taking screenshots, analyzing the screen, and controlling applications via AppleScript.
    • Task Management: Creating scheduled tasks and spawning specialized subagents for complex workflows.
    • Extensions: Searching for and enabling additional specialized tools and API integrations.
  11. Goose 2.0 Architecture Roadmap

    main

    The transition to the ACP-based architecture is being rolled out in phases:

    PhaseDescriptionStatus
    1Stabilize ACP server (production-ready with session persistence, extensions, streaming)✅ Done
    2TypeScript TUI beta (feature-complete terminal UI built on ACP client)🚧 In progress
    3Desktop rewrite to Tauri (replacing Electron with a Tauri-based client on ACP)🚧 In progress
    4Consolidation (removing goosed and the old Rust CLI for a single unified architecture)Planned