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

# JetBrains AI Assistant with your own key: Claude, DeepSeek and GPT via RuAPI

> How to connect AI Assistant in IntelliJ IDEA, PyCharm, WebStorm and other JetBrains IDEs to RuAPI as an OpenAI-compatible provider: bring your own key, no JetBrains AI subscription needed. No VPN; pay in USDT.

**AI Assistant** is the AI helper built into JetBrains IDEs — IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm, Rider and others. Since December 2025 you can connect your own key from a third-party provider (BYOK), including OpenAI-compatible providers such as RuAPI. Chat and other AI Assistant features then run on Claude, GPT, Gemini, DeepSeek and other models, and you pay only for the tokens you use. RuAPI works from Russia without a VPN; you top up your balance in USDT, no foreign-issued card required.

<Note>
  According to JetBrains' documentation, connecting a third-party provider doesn't require a JetBrains AI subscription. Without one, some JetBrains-specific features may be unavailable, but chat and the core features run on the models you connect.
</Note>

## Before you start

<Steps>
  <Step title="RuAPI API key">
    Sign up at [www.ruapi.ai](https://www.ruapi.ai/?utm_source=docs\&utm_campaign=en-jetbrains-ai-assistant) and top up your balance ([how to top up](/en/topup)). Then go to Console → **API Keys** and click **Create API key**. Keys start with `sk-`.
  </Step>

  <Step title="Latest version of your IDE">
    Update your JetBrains IDE and the AI Assistant plugin to the latest version: support for your own keys arrived in December 2025.
  </Step>
</Steps>

<Tip>
  No bank card needed: you can top up your balance in USDT. If you don't have USDT yet, follow our [step-by-step guide to buying it with rubles](/en/buy-usdt). Foreign-issued cards are accepted too.
</Tip>

## Setup

<Steps>
  <Step title="Open the provider settings">
    **Settings** → **Tools** → **AI Assistant** → **Providers & API keys**.
  </Step>

  <Step title="Add RuAPI as an OpenAI-compatible provider">
    Under **Third-party AI providers**, fill in the fields:

    | Field | Value |
    | - | - |
    | **Provider** | `OpenAI-compatible` |
    | **URL** | `https://www.ruapi.ai/v1` — **with** the trailing `/v1` |
    | **API Key** | your RuAPI key `sk-...` |
    | **Tool calling** | turn it on — RuAPI's text and code models support tool calling |
  </Step>

  <Step title="Test the connection">
    Click **Test Connection**, wait for the success message, then click **Apply**.
  </Step>

  <Step title="Assign models to features">
    Under **Models Assignment**, choose the models:

    * **Core features** — the main model: default chat, in-editor code generation, commit messages. `claude-sonnet-5-5` or `deepseek-flash` work well.
    * **Instant helpers** — a fast model for small tasks: collecting context, chat titles, name suggestions. `deepseek-flash` or `gpt-5.4-mini` work well.
    * **Context window** — 64,000 tokens by default. You can raise it for large files and long conversations, but not beyond what the model supports.

    Click **Apply**.
  </Step>
</Steps>

You'll find the exact model names on the [pricing page](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=en-jetbrains-ai-assistant). Enter them exactly as listed, including any prefix and capitalization (e.g. `kimi/kimi-k3`).

## Verify the setup

Open the **AI Chat** window, pick one of the RuAPI models from the model list and ask a question about your code. Then open the RuAPI Console → **Usage Logs**: you'll see an entry with the model and the cost of the request.

## Limitations

* **Code completion** (inline completion) is configured separately, under **AI Completion**, and requires dedicated models with FIM (Fill-in-the-Middle) support. Regular chat models aren't suitable — use RuAPI for chat and code generation.
* **Caching for Claude.** Through an OpenAI-compatible provider, requests to Claude go without prompt caching. That's fine for regular chat; if you work with long context a lot, pick DeepSeek for core features — it caches automatically. For agentic work with Claude, [Claude Code](/en/integrations/claude-code) is a better fit: it connects to RuAPI in Claude's native format, with caching.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Test Connection fails">
    * Make sure the **URL** field is `https://www.ruapi.ai/v1`, including the trailing `/v1`.
    * Make sure you pasted the full RuAPI key (`sk-...`) with no extra spaces.
  </Accordion>

  <Accordion title="Model not found (404 or 503)">
    The model name must match the one on RuAPI exactly — copy it from the [pricing page](https://www.ruapi.ai/pricing?utm_source=docs\&utm_campaign=en-jetbrains-ai-assistant).
  </Accordion>

  <Accordion title="The model doesn't call tools">
    Make sure **Tool calling** is enabled for the provider and that you've selected a text model, not an image or video generation model.
  </Accordion>

  <Accordion title="There's no Providers & API keys section">
    Update your IDE and the AI Assistant plugin to the latest version. If your IDE is managed by your organization, an administrator may have disabled third-party keys.
  </Accordion>
</AccordionGroup>

## What's next

* [Continue](/en/integrations/continue) — an open-source assistant that also runs in JetBrains IDEs and supports caching for Claude.
* [Switching from Cursor](/en/integrations/cursor-alternatives) — a comparison of coding agents and step-by-step migration.
* [Models and prices](/en/models) — the full list of available models.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.