OpenAI-compatible AI chat pane + FIM completion for Spyder 6
Project description
Spyder IDE AI Chat Plugin
An OpenAI-compatible AI chat panel for Spyder 6.x. Connect to 12 providers — OpenAI, Groq, Mistral, DeepSeek, Together AI, Fireworks AI, OpenRouter, Azure OpenAI, Ollama, LM Studio, vLLM, or any custom OpenAI-compatible endpoint — all from inside your IDE, without switching windows.
© 2026 Maciej Piecko — MIT License
What's new in 0.3.2
- Plugin entry-point renamed to
ai_chat_plugin(spyder.plugins) andai_fim_provider(spyder.completions) for clarity NAME/CONF_SECTIONinAIChatPluginupdated to"ai_chat_plugin";COMPLETION_PROVIDER_NAME/CONF_SECTIONinAiFimProviderupdated to"ai_fim_provider"/"ai_chat_plugin"
What's new in 0.3.1
- Settings → ⚡ Auto-complete tab redesigned as a step-by-step wizard: enable → set provider/URL → Load Models → pick model + backend; backend probe validates response body to avoid false-positive matches
- Model list and backend list persist after save and reopen — no need to re-run Load Models every time
- Test Connection button in the Connection tab — probes
GET /modelswith an OpenAI-SDK-styleUser-Agent(fixes Cloudflare 403 / error 1010 on Groq and similar providers) - System Prompts tab: Edit button removed; selecting a prompt immediately opens it for editing; Save activates only when content changes
- Commands tab: Edit button removed; selecting a command immediately opens it for editing; Save activates only when content changes
- Settings window wider (+10%); tabs stretch edge-to-edge; "🖊 Editor" tab renamed to "🖊 Dialogs"
- FIM cursor-offset bug fixed: completions are now correct for files with
\r\nline endings
What's new in 0.3.0
- AI auto-complete (FIM) — fill-in-middle ghost-text completions in the code editor
- Tab to accept, Escape to dismiss, Alt+\ for manual trigger
- Supports Ollama, LM Studio, vLLM, DeepSeek, Codestral/Mistral, OpenRouter, custom endpoints
- Trigger modes: auto (debounce), after new line, manual
Features
| Feature | Details | |
|---|---|---|
| 🗨️ | Chat panel | Scrollable conversation with colour-coded user / assistant messages |
| ⚡ | Streaming | Token-by-token streaming so you see the reply as it is generated |
| 🔁 | Model selector | Dropdown populated live from the API — switch models instantly |
| 🔧 | 12 providers | OpenAI, Groq, Mistral, DeepSeek, Together, Fireworks, OpenRouter, Azure, Ollama, LM Studio, vLLM, Custom |
| ⚙ | Inference params | Per-chat hyperparameters popup — provider-aware, resets on New Chat |
| 🔑 | Optional API key | Leave blank for local models that need no authentication |
| 🧠 | System prompt | Custom prompt field, or select from a saved prompts library |
| 💬 | Saved system prompts | Define reusable prompts; manage via Settings → System Prompts tab |
| ⏹ | Stop | Cancel a streaming reply at any time |
| 🗑 | New Chat | Start a fresh conversation; current one saved automatically |
| 📋 | Chat history | Browse, load, and delete saved chats; active chat highlighted in green |
| 📎 | File context | Attach whole files or selected text from the editor as context |
| 🖊️ | Markdown rendering | Headings, bold, italic, tables, code blocks, blockquotes, links, strikethrough |
| 🗂 | Nested lists | Arbitrarily deep bullet & numbered lists, mixed types at any level |
| 🧠 | Thinking blocks | <think> tags rendered as a collapsible scrollable box (DeepSeek-R1, QwQ, …) |
| 📋 | Copy to editor | Insert any code block or full response at the cursor in the active file |
| 🗑 | Delete exchange | Remove any exchange with a 3-second undo window |
| 🔄 | Regenerate | Re-run the last assistant response with one click |
| ↔ | Horizontal scroll | Wide code blocks scroll horizontally instead of clipping |
| ⚙ | Settings | Tabbed dialog: provider + Test Connection, dialog font sizes, history, system prompts, commands, auto-complete |
| / | Commands | Slash-command aliases with picker dropdown; expand to full prompts before sending |
| ✍️ | AI auto-complete | FIM ghost-text completions in the editor — Tab to accept, Escape to dismiss |
Requirements
- Python ≥ 3.9
- Spyder ≥ 6.0
- No additional Python packages — HTTP via
urllib(stdlib), UI via Qt (bundled with Spyder)
Installation
From PyPI
pip install spyder-ai-chat
From source / development build
Clone the source code from the repository:
https://sourceforge.net/p/spyder-ai-chat-plugin/code/ci/master/tree/
Then install in editable mode:
cd spyder_ai_chat
pip install -e .
Important: install into the same Python environment that Spyder uses.
After installation, restart Spyder. The panel appears automatically. If not visible: Window → Panes → AI Chat.
Quick start
- Open Settings (⚙ button in the panel toolbar).
- On the Connection tab, select your Provider from the dropdown.
- Fill in the API URL and key as needed (pre-filled for known providers).
- Click Test Connection to verify credentials, then click OK.
- Click ⟳ to load the model list and pick a model.
- Type a message and press Ctrl+Enter or click Send.
To enable AI auto-complete in the editor:
- Open Settings → ⚡ Auto-complete.
- Check Enable AI auto-completion in the editor.
- Select a provider and API URL, then click Load Models.
- Choose a model and backend type, adjust parameters if needed, and click OK.
License
MIT — see the LICENSE file included in the package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spyder_ai_chat-0.3.2.tar.gz.
File metadata
- Download URL: spyder_ai_chat-0.3.2.tar.gz
- Upload date:
- Size: 85.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a001b50f4e6c5e27d4a5616a6899096ec5be81733ab711d79a2c6d8d93d5886
|
|
| MD5 |
6e0e340781408f1aee8401f7cab4a18d
|
|
| BLAKE2b-256 |
8473c72f249e2e501c0b181ebc6677d69b32f666d09ba4909dff153237747219
|
File details
Details for the file spyder_ai_chat-0.3.2-py3-none-any.whl.
File metadata
- Download URL: spyder_ai_chat-0.3.2-py3-none-any.whl
- Upload date:
- Size: 81.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82bf8af25e9034dd78f959957443c1952b5ccbca6845cfb98e33c4e1224282ad
|
|
| MD5 |
e88c21282a7b04e05f59b3ea8d6162d0
|
|
| BLAKE2b-256 |
80d5d8cf558e2f01c5f2d10a18dce949969f3b2af6e99dd585bfb12682d55ffe
|