---
title: Goose
author: Frederic AOUSTIN
version: 1.0
last_date: 18/10/2026
---

# Goose

![category](ia)

**Goose** est un agent ia *généraliste* (contraitement à **OpenCode** qui est un agent de code).

Il s'agit d'un outil Opensource poussé par la société *Block*.

Il faut surtout le voir comme un orchestrateur avec une vision plus large que simplement produire du code.

Ce client se connecte à un *LLM* via plusieurs providers et peut par la suite intervenir sur votre machine.

Ce client peut aussi interagir via le *LLM* auprès de **serveur MCP**.

L'architecture que je mets en place est celui là

```mermaid
flowchart LR
    goose["Goose"]
    subgraph docker["Docker Compose"]
        subgraph Traefick
            domainmcp["mcp.mydomain.fr"]
            domainia["ia.mydomain.fr"]
        end
        subgraph IA ["IA"]
            openwebui["OpenWebUI"]
            ollama["Ollama"]
            proxyollama["ProxyOllama"]
            proxyauth["Proxy Authentification"]
            subgraph MCP
                mcpo["Mcpo"]
                mcpserverone["MCP Server One"]
                mcpservertwo["MCP Server Two"]
                mcpo-->mcpserverone
                mcpo-->mcpservertwo
            end
            openwebui-->proxyollama
            proxyollama-->ollama
            openwebui-->mcpserverone
            openwebui-->mcpservertwo
            proxyauth-->ollama
        end
        domainmcp-->mcpo
        domainia-->openwebui
        domainia-->proxyauth
    end
    goose-->domainia
    goose-->domainmcp
```

L'objectif est de centraliser un maximum de chose sur **openwebui** ... **goose** allant chercher le LLM.

Une chose importante: **Goose** n'utilisera pas les serveurs mcp déclaré au niveau d'openwebui ... il faut absolument les déclarer au niveau client (oui c'est nul)

Bien sur goose utilisera aussi des serveur mcp installé sur le client lui même au besoin

Cette architecture permet notamment de gérer un maximum de droit et d'accès directement depuis **openwebui**

## Installation

Il existe un client lourd et un client pour le terminal ... on va bien sur travailler autours du terminal

Depuis le site [goose-docs.ai](https://goose-docs.ai/) on peut récupérer la commande suivante

```bash
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | CONFIGURE=false bash
```

Je lance l'installation sans lancer l'outil de configuration automatique nous allons voir cela plus tard

J'ai ausi rajouté dans mon *.bashrc*

```bash
# goose
export PATH=/home/fraoustin/.local/bin:$PATH
```
et j'ai relance ce dernier

```bash
source ~/.bashrc
```

pour mettre à jours son client

```bash
goose update
```

## Paramétrage

Nous allons dans un premier temps configurer **Goose** pour qu'il utilise notre serveur **OpenWebUi**

```bash
goose configure
```
puis Configure Providers → OpenAI, et indique :


| Champ | Valeur |
|---|---|
| API key | ta clé Open WebUI (`sk-...`) |
| Host | `https://ia.mydomain.fr` (sans chemin) |
| Base path | `api/chat/completions` |
| Model | l'ID du modèle tel qu'il apparaît dans Open WebUI: llama3.1:8b |

Ou directement dans notre fichier  ~/.config/goose/config.yaml :

```
GOOSE_PROVIDER: openai
GOOSE_MODEL: llama3.1:8b        # ID exact du modèle dans Open WebUI
OPENAI_HOST: https://ia.mydomain.fr
OPENAI_BASE_PATH: api/chat/completions
```

## Utilisation

### MCP

Il est possible d'ajouter ces propres serveurs mcp. Par exemple pour ajouter notre serveur https://mcp.mydomain.fr/mcp on peut lancer

```bash
goose configure
```

Puis suivre Ajouter une extension --> Remote Extension (Streamable HTTP) puis d'indiquer

- Nom : my-gateway
- URI : https://mcp.fraoustin.fr/mcp
- description: ce que vous voulez
- timeout: 300

À la question sur les en-têtes personnalisés, réponds oui, puis ajoute :

- Nom : Authorization
- Valeur : Bearer sk-goose-XXXXXXXXXXXXXXXX

Sinon vous pouvez directement ajouter dans votre fichier ~/.config/goose/config.yaml

```
extensions:
  gateway:
    enabled: true
    type: streamable_http
    name: my-gateway
    description: My GateWay MCP
    uri: https://mcp.mydomain.fr/mcp
    envs: {}
    env_keys: []
    headers:
      Authorization: Bearer sk-goose-XXXXXXXXXXXXXXXX
    timeout: 300
    socket: null
    bundled: null
```

....
