An intelligent coding plugin based on the ACP protocol, supporting VS Code and IntelliJ IDEA, powered by a Python DeepAgents backend.
🔌 Connect to Any LLM Provider — RixDev is not tied to any specific LLM platform. Just fill in a Base URL and API Key in settings to seamlessly connect to OpenAI, Anthropic, DeepSeek, Ollama (local), or any OpenAI-compatible provider. Switch anytime, full control.
rix-dev/
├── setup.sh # One-click setup script (Python + Node)
├── backend/
│ ├── pyproject.toml
│ ├── start.sh # Backend startup script
│ └── rixdev/ # Python ACP backend package
│ ├── main.py # Entry point: WebSocket server startup
│ ├── constants.py # Protocol constants and built-in tool list
│ ├── logging.py # Logging configuration
│ ├── agent/
│ │ └── core.py # DeepAgent: streaming LLM + tool loop
│ ├── memory/
│ │ └── session_store.py # Session history persistence
│ └── server/
│ ├── connection.py # ACPServer: WebSocket connection lifecycle
│ ├── handlers.py # ACP method handlers (HandlerMixin)
│ └── transport.py # JSON-RPC 2.0 transport layer
└── plugins/
├── univ-plugin/ # TypeScript VS Code extension
│ ├── src/
│ │ ├── extension.ts # Entry: register commands, create Webview
│ │ ├── core/
│ │ │ ├── AcpClient.ts # JSON-RPC 2.0 client (WebSocket transport)
│ │ │ └── UiBridge.ts # Webview ↔ ACPClient message routing
│ │ ├── providers/
│ │ │ └── ChatViewProvider.ts # VS Code WebviewViewProvider
│ │ ├── common/
│ │ │ ├── constants.ts
│ │ │ └── types.ts
│ │ └── webview/ # React webview UI
│ │ ├── index.tsx
│ │ ├── styles.css
│ │ ├── types.ts
│ │ ├── components/
│ │ │ ├── Chat.tsx
│ │ │ ├── SessionsSidebar.tsx
│ │ │ └── Settings.tsx
│ │ └── utils/
│ │ ├── markdown.ts
│ │ └── vscode-api.ts
│ ├── package.json
│ └── tsconfig.json
└── idea-plugin/ # Kotlin IntelliJ IDEA plugin
├── build.gradle.kts
├── gradle.properties
├── settings.gradle.kts
└── src/main/kotlin/com/llmrix/plugin/
├── AcpClient.kt # JSON-RPC 2.0 client
├── AcpNotification.kt # Notification data models
├── AcpProcessManager.kt # Backend process lifecycle
├── ChatPanel.kt # Swing chat panel
├── ChatToolWindow.kt # Tool window registration
├── DeepAcpPlugin.kt # Plugin entry point
├── DeepAcpSettings.kt # Settings state
├── Icons.kt # Icon definitions
└── SettingsConfigurable.kt # Settings page
| Dependency | Version | Purpose |
|---|---|---|
| Python | >= 3.11 | Backend runtime |
| Node.js | >= 18 | VS Code plugin compilation |
| npm | >= 9 | VS Code plugin package management |
| JDK | >= 17 | IDEA plugin compilation |
| VS Code | >= 1.90 | VS Code plugin host |
| IntelliJ IDEA | >= 2024.1 | IDEA plugin host |
After cloning, run the setup script to automatically install the Python virtual environment and Node dependencies:
./setup.shThe backend handles core logic and tool calls. The plugin connects to it via WebSocket:
cd backend
./start.shBackend runs at ws://127.0.0.1:8765 by default
- Build & Run:
Press
cd plugins/univ-plugin npm install npm run build:allF5in VS Code to launch the Extension Development Host for debugging. - Package & Install:
npm run package code --install-extension *.vsix
- Debug:
cd plugins/idea-plugin ./gradlew runIde - Build:
./gradlew buildPlugin # Output located at build/distributions/
RixDev supports any OpenAI-compatible model provider with no code changes — just configure the following in the plugin settings:
| Parameter | Description | Example |
|---|---|---|
| Base URL | Provider API endpoint | https://api.openai.com/v1 |
| API Key | Your provider API key | sk-... |
| Model | Model ID | gpt-4o / claude-3-5-sonnet / deepseek-coder |
| Protocol | Communication protocol | openai or anthropic |
Common provider examples:
# OpenAI
Base URL: https://api.openai.com/v1
Model: gpt-4o
# Anthropic Claude
Base URL: https://api.anthropic.com
Protocol: anthropic
Model: claude-3-5-sonnet-20241022
# DeepSeek
Base URL: https://api.deepseek.com/v1
Model: deepseek-coder
# Local Ollama
Base URL: http://localhost:11434/v1
Model: llama3
Other parameters:
- Backend URL:
ws://127.0.0.1:8765(default for local development)
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.