┌─────────────────────────────────────────────────────────────┐
│ RIDER IDE AI ASSISTANT │
└─────────────────────────────────────────────────────────────┘
│
┌────────────────────┼────────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ CHAT │ │ QUICK │ │ INLINE │
│ MODE │ │ EDIT │ │ CODE │
│ │ │ MODE │ │ COMPLETE│
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
│ │ │
✅ WORKING ⚠️ PARTIAL 🔜 NOT IMPL
│ │ │
│ │ │
┌────▼────────────────┐ │ ┌────▼──────────┐
│ /chat/completions │ │ │ /beta/ │
│ │ │ │ completions │
│ ProxyMe ✅ │ │ │ │
│ - DeepSeek Chat │ │ │ ProxyMe ❌ │
│ - DeepSeek Reasoner│ │ │ (Not needed) │
│ - Sonar Models │ │ │ │
└─────────────────────┘ │ └───────────────┘
│
┌────▼─────────────┐
│ /chat/completions│
│ │
│ ProxyMe ✅ │
│ (Correct!) │
│ │
│ Issue: Response │
│ format mismatch │
│ (not API endpoint)│
└──────────────────┘
- AI Assistant panel in Rider
- Type questions, get conversational answers
- Multi-turn dialogue
- Code explanations, suggestions, debugging help
User in Rider → "what time is it in london right now?"
│
▼
ProxyMe Plugin
│
▼
POST /v1/chat/completions
{
"model": "sonar",
"messages": [{"role": "user", "content": "..."}],
"stream": true
}
│
▼
Perplexity API
│
▼
Stream response back
│
▼
Rider displays answer ✅
- All 7 models work
- Streaming works
- Real-time responses
- No issues
- Select code in editor
- Right-click → AI Assistant → Quick Edit
- Ask for code modifications
- Rider applies changes automatically
User selects code → "remove this text"
│
▼
Rider adds system prompt with patch instructions:
"You are an AI Coding Assistant...
Generate responses in this format:
<llm-patch path='file.txt'>
Before:
[old code]
After:
[new code]
</llm-patch>"
│
▼
ProxyMe Plugin
│
▼
POST /v1/chat/completions ✅ (Correct endpoint!)
{
"model": "sonar",
"messages": [
{"role": "user", "content": "system prompt..."},
{"role": "user", "content": "remove this text"}
]
}
│
▼
AI Model (Sonar/DeepSeek)
│
▼
Response: "I'll help you remove that text..." ❌
(Conversational text, NOT XML patch!)
│
▼
Rider tries to parse as XML patch
│
▼
ERROR: "The patch is incomplete" ❌
- ✅ Endpoint is correct (
/chat/completions) - ❌ AI models ignore patch format instructions
- ❌ Respond conversationally instead of XML
- ❌ Rider can't parse the response
- Post-process responses - Convert conversational text to XML patches
- Enhance prompts - Stronger examples of XML format
- Model selection - Test which models follow format better
- Document limitation - Tell users to use Chat mode instead
- Type code → suggestions appear automatically
- Fill-in-the-middle completions
- Like GitHub Copilot
- Real-time autocomplete
User types: "function fibonacci(n) {"
│
▼
IDE plugin intercepts
│
▼
ProxyMe Plugin
│
▼
POST /beta/completions ← Different endpoint!
{
"model": "deepseek-chat",
"prompt": "function fibonacci(n) {",
"suffix": "}",
"max_tokens": 100
}
│
▼
DeepSeek FIM API
│
▼
Response: {
"text": "\n if (n <= 1) return n;\n ..."
}
│
▼
IDE shows inline suggestion
- Requires different API endpoint (
/beta/completions) - Needs custom IDE integration
- Rider may not support third-party inline completion
- Chat mode is more valuable
- Complex architecture
| Feature | Chat Mode | Quick Edit | Inline Complete |
|---|---|---|---|
| Rider Integration | ✅ Native | ✅ Native | ❌ Not supported |
| ProxyMe Status | ✅ Working | 🔜 Not implemented | |
| API Endpoint | /chat/completions |
/chat/completions |
/beta/completions |
| Request Format | Messages array | Messages array | Prompt + suffix |
| Response Format | Conversational | XML patches (expected) | Raw text |
| Models Supported | All 7 | All 7 (format issues) | DeepSeek only |
| Streaming | ✅ Yes | ✅ Yes | ✅ Yes |
| Use Cases | Q&A, explanations | Code modifications | Autocomplete |
| User Experience | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ (needs work) | N/A |
- Native Rider AI Assistant integration
- 7 models available
- Streaming works perfectly
- Best user experience
- Endpoint is correct
- Need to fix response format
- Several solution options
- Not a blocker
- Different API endpoint needed
- Complex integration
- May not be supported by Rider
- Low priority (Chat mode is better!)
┌──────────────────────────────────────┐
│ ProxyAI Plugin │
│ │
│ ┌──────────────────────────────┐ │
│ │ Custom Chat Window │ │
│ │ (Separate UI) │ │
│ └──────────────────────────────┘ │
│ │
│ ┌──────────────────────────────┐ │
│ │ Custom Code Completion │ │
│ │ (Uses /beta/completions) │ │
│ └──────────────────────────────┘ │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│ Rider IDE (Native) │
│ │
│ ┌──────────────────────────────┐ │
│ │ AI Assistant Panel │ │
│ │ (Built-in UI) ← ProxyMe │ │
│ └──────────────────────────────┘ │
│ │
│ ✅ No custom UI needed │
│ ✅ Native integration │
│ ✅ Better UX │
└──────────────────────────────────────┘
You're using the correct API endpoint!
- Chat mode:
/chat/completions✅ - Quick Edit:
/chat/completions✅ (format issue, not endpoint) - Inline complete:
/beta/completions(different feature, not implemented)
The /beta/completions endpoint you saw in ProxyAI is for their custom inline code completion feature, which is a completely different use case than Chat mode.
Keep focusing on Chat mode - that's where ProxyMe shines! 🚀
See also:
DEEPSEEK_API_ENDPOINTS.md- Detailed API analysisAPI_ENDPOINT_SUMMARY.md- Quick referenceSUCCESS_AND_NEXT_STEPS.md- Current status