FreeAI::Server::OpenAI — OpenAI API server based on built-in AI model scrapers.

Overview of the scraper
The scraper provides the ability to deploy your own OpenAI-compatible API server, which you can connect to from your applications (e.g., Cherry Studio, Cline, etc.) and scripts — both through the official OpenAI SDK and using standard HTTP requests. The scraper offers access to free and paid models that A-Parser scrapes.
List of supported models:
Connecting to Cherry Studio
- Settings (upper right corner)
- List of providers, at the very bottom "add"
- Set an arbitrary name, Provider type must be OpenAI
- Enter API Key (any key)
- Enter the host (configured in FreeAI::Server::OpenAI), initially http://127.0.0.1:3000
- The "Manage" button adds the necessary models
View connection video

Connection via OpenAI SDK

Example code
import OpenAI from "openai";
(async function () {
const openai = new OpenAI({
baseURL: "http://127.0.0.1:3000/v1", //Link under which FreeAI::Server::OpenAI is hosted
apiKey: "123",
});
const completion = await openai.chat.completions.create({
model: "FreeAI::ChatGPT", //Model - this is the name of the scraper from the FreeAI::Server::OpenAI list, the list of supported models is in the "Overview of the scraper" section
messages: [{ role: "user", content: "Why is the sky blue?" }], //Request to the model
});
console.log(completion.choices[0].message.content); //Output of the response from the AI model
})();
Getting results via HTTP request

Example code
const resp = await fetch("http://127.0.0.1:3000/v1/chat/completions", {
method: "POST",
headers: {
Authorization: "Bearer 123",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "FreeAI::ChatGPT", //Model - this is the name of the scraper from the FreeAI::Server::OpenAI list, the list of supported models is in the "Overview of the scraper" section
messages: [{ role: "user", content: "Usage areas of nodejs" }], //Request to the model
}),
});
if (!resp.ok) {
const text = await resp.text();
throw new Error(`HTTP ${resp.status}: ${text}`);
}
const data = await resp.json();
console.log(data.choices?.[0]?.message?.content);
Possible settings
| Parameter name | Default value | Description |
|---|---|---|
| Listen Host | 127.0.0.1 | IP address or hostname of the interface on which the service accepts inbound connections |
| Listen Port | 3000 | Port number on which the service accepts inbound connections |
| FreeAI::ChatGPT preset | default | Preset for FreeAI::ChatGPT scraper |
| FreeAI::Copilot preset | default | Preset for FreeAI::Copilot scraper |
| FreeAI::DeepAI preset | default | Preset for FreeAI::DeepAI scraper |
| FreeAI::GoogleAI preset | default | Preset for FreeAI::GoogleAI scraper |
| FreeAI::Kimi preset | default | Preset for FreeAI::Kimi scraper |
| FreeAI::Perplexity preset | default | Preset for FreeAI::Perplexity scraper |





