Skip to content

llmrix/llmrix-devtool-plugin-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

RixDev — AI Coding Agent

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.

Project Structure

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

Prerequisites

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

Quick Start

1. Environment Setup

After cloning, run the setup script to automatically install the Python virtual environment and Node dependencies:

./setup.sh

2. Start the ACP Backend

The backend handles core logic and tool calls. The plugin connects to it via WebSocket:

cd backend
./start.sh

Backend runs at ws://127.0.0.1:8765 by default


Plugin Development & Build

VS Code Plugin (univ-plugin)

  1. Build & Run:
    cd plugins/univ-plugin
    npm install
    npm run build:all
    Press F5 in VS Code to launch the Extension Development Host for debugging.
  2. Package & Install:
    npm run package
    code --install-extension *.vsix

IntelliJ IDEA Plugin (idea-plugin)

  1. Debug:
    cd plugins/idea-plugin
    ./gradlew runIde
  2. Build:
    ./gradlew buildPlugin
    # Output located at build/distributions/

Configuration

Custom Model Provider

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)

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

About

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.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors