> ## Documentation Index
> Fetch the complete documentation index at: https://symphony-docs.fcamara.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IDE Plugin (Continue.dev)

> Use Symphony models and agents directly in VS Code or JetBrains IDEs with Continue.dev.

## What it is

**Continue.dev** is an open-source tool that lets you chat with **Symphony** models (LLMs) directly inside **Visual Studio Code** or **JetBrains** IDEs (IntelliJ IDEA, PyCharm, WebStorm, etc.). This way you use Symphony's agents and models without leaving your code editor.

## Prerequisites

* VS Code **or** a JetBrains IDE installed.
* Active account in **AI Symphony** with model usage permission.
* A **Symphony API key** (see [Step 2](#step-2-configure-the-llms)).

## Step 1 — Install Continue.dev

<Tabs>
  <Tab title="VS Code">
    1. Open **Visual Studio Code**.
    2. In the left sidebar, click **Extensions** (blocks icon or **Ctrl + Shift + X**).
    3. Search for: **Continue - open-source AI code assistant** (developer: *Continue.dev*).
    4. Click **Install**.

    Or install directly from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Continue.continue).
  </Tab>

  <Tab title="JetBrains">
    1. Open your JetBrains IDE (e.g., IntelliJ IDEA, PyCharm, WebStorm).
    2. Press **Ctrl + Alt + S** to open **Settings**.
    3. In the side menu, click **Plugins**.
    4. In the **Marketplace** search field, search for **Continue**.
    5. Click **Install** on the *Continue* extension.

    Or install directly from the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/22707-continue).
  </Tab>
</Tabs>

<Warning>
  **Compatible version.** Symphony is currently compatible with version **1.3.33** of Continue.dev. To install exactly that version:

  1. Click the **arrow next to the "Uninstall" button**.
  2. Select **"Install Specific Version"**.
  3. Type version **1.3.33** and confirm the installation.
  4. If necessary, **restart** VS Code.
  5. Click the **chat icon** located next to the search bar.
  6. Drag the **Continue.dev** panel (left side) into the opened chat (right side).
</Warning>

## Step 2 — Configure the LLMs

In the **Continue** panel, click **"Local Config"**. Then click the **gear** next to *Local Config* to open the configuration file.

Replace the content of `config.yaml` with the template below, **paying attention to the models you have authorized and available** in Symphony — if you use a model your key doesn't have access to, the response will return an error.

<Info>
  **Update (after 08/04/2026):** it is mandatory to add, for each model, `requestOptions → headers → X-Enterprise-Id` for the extension to work.
</Info>

```yaml config.yaml theme={null}
name: Symphony Config
version: 1.0.8
schema: v1
models:
  # === GENERAL AGENT ===
  - name: Symphony
    provider: openai
    model: symphony
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001

  # === CUSTOM AGENTS (examples) ===
  - name: "[Dev] Code Vader"
    provider: openai
    model: fc-code-assistant
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001

  - name: "Doc Strange"
    provider: openai
    model: documentacao-funcional
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001
    defaultCompletionOptions:
      contextLength: 150000
    capabilities:
      - tool_use

  - name: "[Dev] Michelangelus - Autocomplete"
    provider: openai
    model: michelangelus
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001
    roles:
      - autocomplete
      - edit

  # === GPT / GEMINI / GROK (examples) ===
  - name: GPT 5.4 Mini
    provider: openai
    model: azure.gpt-5.4-mini
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001

  - name: Gemini 3.1 Pro Preview
    provider: openai
    model: FC.gemini-3.1-pro-preview
    apiBase: https://symphony.fcamara.com/api
    apiKey: YOUR_API_KEY_HERE
    requestOptions:
      headers:
        X-Enterprise-Id: fcamara-0000-0000-0000-000000000001

context:
  - provider: code
  - provider: docs
  - provider: diff
  - provider: terminal
  - provider: problems
  - provider: folder
  - provider: codebase
```

<Tip>
  Use one model per block in `models:`, repeating the structure (`name`, `provider`, `model`, `apiBase`, `apiKey`, and `requestOptions.headers.X-Enterprise-Id`). The `roles` (e.g., `autocomplete`, `edit`) and `capabilities` (e.g., `tool_use`) fields are optional.
</Tip>

### How to get your API key in AI Symphony

<Steps>
  <Step title="Open AI Symphony">
    Go to [symphony.fcamara.com.br](https://symphony.fcamara.com.br/).
  </Step>

  <Step title="Click your username">
    In the bottom left corner.
  </Step>

  <Step title="Go to Settings" />

  <Step title="Access the Connections tab (API Keys)">
    In some versions, the key appears in the **Account** tab.
  </Step>

  <Step title="Create and copy the key">
    Click **Create API Key** and **copy** the generated key.
  </Step>

  <Step title="Paste in config.yaml">
    Return to `config.yaml` and paste the key in the `apiKey` field of each model.
  </Step>
</Steps>

<Warning>
  Paste the **complete** key, without extra spaces or unnecessary quotes. Never **version** your `apiKey` in repositories — treat it as a secret.
</Warning>

### How to find out which models you have available

In the **browser console** (with Symphony open and logged in), run:

```javascript theme={null}
fetch('https://symphony.fcamara.com/api/models', { credentials: 'include' })
  .then(r => r.json())
  .then(data => {
    console.log('Available models:');
    data.data.forEach(m => console.log(`- ${m.id} (${m.name})`));
  });
```

The output lists the **ids** you can use in the `model` field of `config.yaml`.

## Step 3 — Use Continue.dev

With everything configured, you can:

* Ask **questions about your code**.
* Ask to **complete a function**.
* **Explain** complex sections.
* **Refactor** or **generate tests** automatically.

## Test the route with your key (cURL)

To validate the connection (e.g., in Postman), use:

```bash theme={null}
curl -X POST https://symphony.fcamara.com/api/chat/completions \
  -H "Authorization: Bearer YOUR_KEY_HERE" \
  -H "X-Enterprise-Id: fcamara-0000-0000-0000-000000000001" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "azure.gpt-5.3-chat",
    "messages": [{"role": "user", "content": "ok"}],
    "stream": false
  }'
```

<Note>
  For full API details (body fields, headers, errors, and Python examples), see [Connect to Symphony via API](/en/desenvolvedores/conectar-api).
</Note>

## Best practices

* Keep the extension at the compatible version (**1.3.33**) to avoid incompatibilities.
* Use in `config.yaml` **only models your key has permission** to access.
* Never **version** your `apiKey` in repositories — treat it as a secret.
* Check the correct `X-Enterprise-Id` for your company.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="The extension doesn't respond / gives a model error.">
    Check if the `model` exists for your key (run the model listing snippet) and if the `X-Enterprise-Id` header is present in each model.
  </Accordion>

  <Accordion title="Can I use custom Symphony agents?">
    Yes. Use the `model` corresponding to the agent (e.g., `fc-code-assistant`) in `config.yaml`.
  </Accordion>

  <Accordion title="Does it work in JetBrains and VS Code?">
    Yes, the `config.yaml` configuration process is the same.
  </Accordion>
</AccordionGroup>

## Known limitations

* Compatible with version **1.3.33** of Continue.dev.
* After 08/04/2026, the **`X-Enterprise-Id`** header is required in each model of `config.yaml`.
* The availability of each model depends on your account/company permissions in Symphony.

## More information

* Continue documentation: [Continue Docs](https://docs.continue.dev/getting-started/install#signing-in).
* Extension repository: [Continue on GitHub](https://github.com/continuedev).
