Xcoder
Your ideas, in code.

Code, refactor, and debug. One API for the coding tools you already use.

Coding workspaceExample
Add exponential backoff to this API client.
Xcoder

Let’s read the implementation and make a focused change.

Readsrc/utils/retry.ts
TSsrc/utils/retry.ts
1export async function withRetry<T>(
2 task: () => Promise<T>,
3 attempts = 3,
4): Promise<T> {
5 for (let attempt = 0; ; attempt++) {
6 try {
7 return await task();
8 } catch (error) {
9 if (attempt >= attempts - 1) throw error;
10 const delay = 200 * 2 ** attempt;
11 await new Promise(r => setTimeout(r, delay));
12 }
13 }
14}
A small change. A clearer implementation.
Start your next coding task
Xmodel-LLM-coder1.0

Built for code.
Works your way.

Your tools. Your workflow.

Connect Codex, Cursor, Cline, and OpenCode. Stay in the environment you know.

Model providers
ConnectedAdd provider
XcoderOpenAI compatible
CodexResponses API
OpenCodeChat Completions
BASE URLhttps://xmodels.ai/api/coder/v1
Configuration ready

From an idea to a working change

Write code, refactor modules, and build tests. Make every change easy to review.

TSretry.tsTypeScript
PYclient.pyPython
{}package.jsonJSON
TSretry.test.tsTypeScript
Review · turn 1
TSsrc/label.ts+2 −1
@@ -8,3 +8,4 @@
8 function label(name: string) {
9 − return name;
9 + const text = name.trim();
10 + return text || 'Untitled';
11 }

Keep the work moving

Bring context, files, and execution results together with function tool calling.

Review this module, fix the issue, and add tests.
Working on your task
read_filesrc/utils/label.ts
apply_patch+2 −1
run_tests3 tests passed
Changes complete

Handled empty input and covered three edge cases.

src/utils/label.ts+2 −1

One familiar API

An OpenAI-compatible API, streaming responses, and straightforward token pricing.

Execution trace200 OK
0 ms500 ms1,000 ms
model.request
480 ms
tool.read_file
124 ms
model.response
392 ms
stream.complete
24 ms
POST /v1/chat/completions
model Xmodel-LLM-coder1.0
stream true
tools [read_file, apply_patch]

Developer experience

Start with one request

Make your first Chat Completions request with your API key.

cURL
curl https://xmodels.ai/api/coder/v1/chat/completions \
  -H "Authorization: Bearer $XMODELS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"Xmodel-LLM-coder1.0",
       "messages":[{"role":"user",
                    "content":"Hello, Xcoder."}]}'
Get connected
Py

Keep your favorite SDK

Use the OpenAI SDK. Just set the base URL and model.

Python
from openai import OpenAI
import os

client = OpenAI(
    base_url="https://xmodels.ai/api/coder/v1",
    api_key=os.environ["XMODELS_API_KEY"],
    max_retries=0,
)

response = client.chat.completions.create(
    model="Xmodel-LLM-coder1.0",
    messages=[{"role": "user", "content": "Hello, Xcoder."}],
)
Explore editor setup

Your next project starts here.

Choose your tools. Connect to Xcoder.