Skip to content

API Server Character.AI with translator.

Notifications You must be signed in to change notification settings

TES-Empire/CAI-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAI-Server

API Сервер Character.AI со встроенным переводчиком!!!

На данный момент стабильнее API я не нашёл. Так что можно использовать это :)

Быстрый запуск:

Рекомендуем использовать Docker.

Используя Docker

Windows

  1. Установите Docker.
  2. Клонируйте репозиторий и перейдите в него:
git clone https://github.com/TES-Empire/CAI-Server
cd CAI-Server
  1. Настройте Supabase
  2. Создайте .env файл
  3. Соберите Docker Image и запустите его.
docker build -t cai-server .
docker run -p 8080:8080 -d cai-server

Linux

  1. Установите Docker.
  2. Клонируйте репозиторий и перейдите в него:
git clone https://github.com/TES-Empire/CAI-Server
cd CAI-Server
  1. Настройте Supabase
  2. Создайте .env файл
  3. Соберите Docker Image и запустите его.
    (Могут потребоваться права суперпользователя)
docker build -t cai-server .
docker run -p 8080:8080 -d cai-server

Обычный запуск

  1. Установите NodeJs.
  2. Клонируйте репозиторий и перейдите в него:
git clone https://github.com/TES-Empire/CAI-Server
cd CAI-Server
  1. Установите зависимости и "скомпилируйте" TypeScript файлы:
npm install
npx tsc
  1. Создайте .env файл
  2. Запустите сервер:
npm start

Гайды

API для общения

Используйте http://localhost:{PORT}/{characterId} и радуйтесь жизни 😊

Для запросов первое что необходимо, это characterId, которое берётся с сайта и вставляется в url.
Необходимы 2 поля в body это content и username, а так же header Authorization с вашем секретным ключём оставленным на БД.

Поле language опционально. (По умолчанию язык вывода en)
language формата: ISO 639-1

Пример №1

async function ChatAI(charId) {
	const response = await fetch(
		`http://localhost:8080/${charId}`,
		{
			method: "POST",
			headers: {
				"Content-Type": "application/json",
				"Authorization": "some_secret_string"
			},
			body: JSON.stringify({
				content: "Как дела?",
				username: "POTI",
				language: 'ru'
			}
		)
	});
	
	return response.json();
}

Пример №2

async function ChatAI(charId) {
	const response = await fetch(
		`http://localhost:8080/${charId}`,
		{
			method: "POST",
			headers: {
				"Content-Type": "application/json",
				"Authorization": "some_secret_string"
			},
			body: JSON.stringify({
				content: "How are you?",
				username: "POTI"
			}
		)
	});
	
	return response.json();
}

Ответ формата:

{
	"text": "Some generated string"
}

Создание .env файла

PORT=8080 # Порт для CAI сервера
TOKEN=CharacterAiToken # Токен с сайта (access_token)
SUPABASE_URL=https://xxxxxxxx.supabase.co # url вашей БД
SUPABASE_KEY=SecretOrPublicKey # ключ для вашей БД

Настройка Supabase

  • Создайте на Supabase аккаунт.
  • Создайте проект, а в нём базу данных под названием api.
  • Создайте в таблице два поля token (string) и is_available (boolean).
    • Другие поля установите значение по своему усмотрению.
  • Занесите в поле token токен который в будущем будет использоваться в Header'е Authorization, а в поле is_available установите значение true.

Заранее сохраните в Project Settings > Configuration > API строки/ключи в секциях Project URL и Project API keys.

About

API Server Character.AI with translator.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published