Project

General

Profile

Actions

Задача #24

open
HU

Эпик #23: Переключение модели и режимов поведения AI в чате

Backend: интеграция Claude API (Anthropic SDK)

Задача #24: Backend: интеграция Claude API (Anthropic SDK)

Added by Hardelele User about 8 hours ago. Updated about 3 hours ago.

Status:
Решена
Priority:
Нормальный
Assignee:
-
Start date:
02/16/2026
Due date:
% Done:

100%

Estimated time:

Description

Описание

Добавить поддержку Claude (Anthropic) как альтернативного AI-провайдера.

Что нужно

  1. Установить @anthropic-ai/sdk
  2. Создать ClaudeService (или расширить OpenAIService в AIProviderService):
    • chat() — простой запрос
    • chatWithToolsStream() — стриминг с tools + AbortSignal
    • Маппинг OpenAI tool format → Claude tool format (они отличаются)
  3. Конфигурация: ANTHROPIC_API_KEY в .env, модель по умолчанию claude-sonnet-4-5-20250929
  4. Абстракция: единый интерфейс AIProvider чтобы runner не знал о конкретной модели

Tool format различия

OpenAI: { "type": "function", "function": { "name": "...", "parameters": {...} } }
Claude: { "name": "...", "input_schema": {...} }

Файлы

  • backend/src/ai/openai.service.ts → рефакторинг в абстракцию
  • backend/src/ai/claude.service.ts — новый
  • backend/src/ai/ai-provider.interface.ts — новый
  • backend/src/narrator/narrator.runner.ts — использует абстракцию
Actions

Also available in: PDF Atom