n8n-nodes-psychology-ai-deepseek
v1.0.0
Published
Psychology AI System - Custom n8n nodes for DeepSeek API integration with psychology content analysis
Downloads
26
Maintainers
Readme
Psychology AI System - DeepSeek n8n Integration
Комплексная интеграция DeepSeek API для n8n с поддержкой анализа психологического контента и генерации контента в различных форматах.
🚀 Возможности
Основные операции
- Chat Completion - Базовое текстовое завершение
- Content Analysis - Анализ психологического контента
- Content Generation - Генерация контента в 5 форматах
Типы анализа
- Quality Assessment - Оценка качества и релевантности
- Sentiment Analysis - Анализ эмоционального тона
- Readability Analysis - Оценка читаемости
- Topic Extraction - Извлечение тем и ключевых слов
- Comprehensive Analysis - Полный анализ всех метрик
Форматы генерации контента
- Quick Fact - Краткие факты (≤200 символов)
- Lifehack - Практические советы (≤300 символов)
- Science Simplified - Упрощенные объяснения (≤450 символов)
- Practical Advice - Практические рекомендации (≤400 символов)
- Motivation - Мотивационный контент (≤300 символов)
📦 Установка
🔧 Метод 1: Установка как npm пакет (Рекомендуемый)
1. Подготовка пакета
cd /Users/yurik./dev/psychology-ai-system/n8n-nodes
# Установка зависимостей
npm install
# Компиляция TypeScript
npm run build
# Создание npm пакета
npm pack2. Установка в n8n
# Если n8n установлен глобально
npm install -g n8n-nodes-psychology-ai-deepseek
# Если используете Docker
# Добавьте в Dockerfile:
# RUN npm install n8n-nodes-psychology-ai-deepseek
# Если используете n8n через npx
npm install n8n-nodes-psychology-ai-deepseek🐳 Метод 2: Docker с кастомными нодами
1. Создайте Dockerfile
FROM n8nio/n8n:latest
# Установите кастомные ноды
USER root
COPY n8n-nodes /data/n8n-nodes-psychology-ai-deepseek
WORKDIR /data/n8n-nodes-psychology-ai-deepseek
RUN npm install && npm run build
# Установите пакет глобально
RUN npm install -g .
USER node
WORKDIR /home/node2. Запустите контейнер
docker build -t n8n-with-deepseek .
docker run -p 5678:5678 n8n-with-deepseek📁 Метод 3: Локальная разработка
1. Скопируйте файлы в n8n
# Найдите папку n8n
npm list -g n8n
# Скопируйте скомпилированные ноды
cp -r /Users/yurik./dev/psychology-ai-system/n8n-nodes/dist/* \
/path/to/n8n/nodes/2. Перезапустите n8n
# Остановите n8n
pkill -f n8n
# Запустите заново
n8n start⚙️ Метод 4: n8n Community Nodes (Будущее)
1. Публикация в npm registry
cd /Users/yurik./dev/psychology-ai-system/n8n-nodes
# Обновите package.json с правильными метаданными
npm publish2. Установка через n8n UI
- Откройте n8n
- Перейдите в Settings → Community Nodes
- Введите
n8n-nodes-psychology-ai-deepseek - Нажмите Install
🔑 Настройка учетных данных
1. Создайте DeepSeek API credentials
- В n8n перейдите в Credentials
- Нажмите + Add Credential
- Найдите Psychology AI - DeepSeek API
- Заполните:
- API Key: Ваш ключ от DeepSeek
- Base URL:
https://api.deepseek.com
- Нажмите Save
2. Получите API ключ DeepSeek
# Зарегистрируйтесь на https://platform.deepseek.com
# Перейдите в API Keys
# Создайте новый ключ
# Скопируйте ключ в n8n credentials🧪 Тестирование установки
1. Создайте тестовый workflow
{
"nodes": [
{
"name": "Start",
"type": "n8n-nodes-base.start",
"position": [240, 300]
},
{
"name": "DeepSeek Test",
"type": "n8n-nodes-psychology-ai-deepseek.deepSeek",
"position": [460, 300],
"parameters": {
"operation": "chatCompletion",
"prompt": "Hello, this is a test!",
"model": "deepseek-chat"
},
"credentials": {
"deepSeekApi": "your-credential-name"
}
}
],
"connections": {
"Start": {
"main": [
[
{
"node": "DeepSeek Test",
"type": "main",
"index": 0
}
]
]
}
}
}2. Выполните workflow
- Сохраните workflow
- Нажмите Execute Workflow
- Проверьте результат
🔧 Troubleshooting
Проблема: Нод не появляется в списке
# Проверьте установку
npm list n8n-nodes-psychology-ai-deepseek
# Проверьте логи n8n
n8n start --verbose
# Убедитесь что package.json содержит правильные n8n метаданныеПроблема: Ошибки компиляции
# Переустановите зависимости
cd n8n-nodes
rm -rf node_modules package-lock.json
npm install
# Пересоберите
npm run buildПроблема: API ключ не работает
# Тестируйте ключ напрямую
curl -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
https://api.deepseek.com/models📝 Альтернативные варианты
Вариант 1: n8n Cloud
- Загрузите ноды через n8n Cloud interface
- Следуйте инструкциям для community nodes
Вариант 2: Self-hosted n8n
# Клонируйте n8n
git clone https://github.com/n8n-io/n8n.git
cd n8n
# Добавьте ваши ноды в packages/nodes-base
cp -r /path/to/your/nodes packages/nodes-base/nodes/
# Пересоберите n8n
npm run build
# Запустите
npm run start🚀 Production Setup
Docker Compose
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=password
volumes:
- ./n8n-data:/home/node/.n8n
- ./n8n-nodes:/data/custom-nodes
command: >
sh -c "cd /data/custom-nodes &&
npm install &&
npm run build &&
npm install -g . &&
n8n start"3. Добавление в workflow
- Добавьте DeepSeek node в ваш workflow
- Выберите операцию
- Настройте параметры
- Подключите учетные данные
Примечание: После установки Psychology AI DeepSeek нод будет доступен в категории Transform с иконкой DeepSeek!
🔧 Конфигурация
Основные параметры
{
model: 'deepseek-chat' | 'deepseek-coder',
temperature: 0.3, // 0-2, контроль случайности
maxTokens: 2000, // Максимум токенов в ответе
timeout: 60, // Таймаут в секундах
maxRetries: 3, // Количество повторных попыток
}Exponential Backoff Retry
- 1-я попытка: 1 секунда
- 2-я попытка: 2 секунды
- 3-я попытка: 4 секунды
- 4-я попытка: 8 секунд
- 5-я попытка: 16 секунд
📊 Мониторинг и квоты
Отслеживание использования
// Автоматически отслеживается:
- Количество токенов (prompt + completion)
- Время ответа
- Успешность запросов
- Стоимость запросов
- Ошибки и повторные попыткиЛимиты квот
// Настраиваемые лимиты:
{
dailyTokens: 100000,
monthlyTokens: 1000000,
dailyRequests: 1000,
monthlyRequests: 10000,
dailyCost: 10.0,
monthlyCost: 100.0
}🎯 Примеры использования
1. Анализ качества контента
{
"operation": "contentAnalysis",
"content": "Текст статьи для анализа...",
"analysisType": "quality",
"model": "deepseek-chat"
}Ответ:
{
"quality_metrics": {
"relevance_score": 8.5,
"mass_appeal": 7.0,
"scientific_quality": 9.0,
"adaptation_difficulty": 6.0
},
"recommendations": {
"target_formats": ["lifehack", "science_simplified"],
"content_improvements": ["Добавить больше примеров"]
}
}2. Генерация контента
{
"operation": "contentGeneration",
"content": "Исходная статья о нейропластичности...",
"formats": ["quickFact", "lifehack", "motivation"]
}Ответ:
{
"generated_content": {
"quick_fact": "🧠 Ваш мозг формирует новые нейронные связи даже во взрослом возрасте! #Нейропластичность",
"lifehack": "💡 Практикуйте технику 5-4-3-2-1: назовите 5 вещей, которые видите, 4 - которые трогаете, 3 - слышите, 2 - чувствуете запах, 1 - на вкус. Мгновенное снятие тревоги! 🌟",
"motivation": "✨ Каждый маленький шаг к лучшему ментальному здоровью важен. У вас есть сила изменить свои мысли и создать позитивные изменения! 🌱💚"
}
}3. Комплексный анализ
{
"operation": "contentAnalysis",
"content": "Статья о когнитивно-поведенческой терапии...",
"analysisType": "comprehensive"
}🛠 Prompt Templates
Встроенные шаблоны
qualityAssessment- Оценка качества контентаsentimentAnalysis- Анализ настроенияcontentGeneration- Генерация контентаreadabilityAnalysis- Анализ читаемостиtopicExtraction- Извлечение тем
Кастомные шаблоны
import { buildPromptFromTemplate } from './prompts/PromptTemplates';
const prompt = buildPromptFromTemplate('qualityAssessment', {
content: 'Ваш текст здесь'
});🔍 Валидация ответов
Автоматическая валидация
- Проверка структуры JSON
- Валидация обязательных полей
- Проверка числовых диапазонов
- Проверка лимитов символов
Типы ошибок
{
"isValid": false,
"errors": [
"Missing required field: sentiment_score",
"Invalid relevance_score: must be between 0 and 10"
],
"warnings": [
"Response was truncated due to length limit"
]
}📈 Производительность
Метрики
- Среднее время ответа: ~2-5 секунд
- Успешность запросов: >95%
- Поддержка до 64K токенов контекста
- Автоматическое управление квотами
Оптимизация
- Кэширование частых запросов
- Batch обработка для множественных запросов
- Интеллектуальная оптимизация промптов
- Мониторинг производительности в реальном времени
🔒 Безопасность
Защита данных
- Безопасное хранение API ключей
- Санитизация входных данных
- Защита от XSS и инъекций
- Логирование только метаданных
Аудит
// Все запросы логируются:
{
timestamp: "2024-01-15T10:30:00Z",
operation: "contentAnalysis",
success: true,
tokens: 1250,
responseTime: 3200,
workflowId: "workflow_123"
}🧪 Тестирование
Тестовые сценарии
# Установка зависимостей
npm install
# Компиляция TypeScript
npm run build
# Проверка линтером
npm run lint
# Форматирование кода
npm run formatТестовые данные
// Примеры для тестирования
const testContent = {
shortArticle: "Краткая статья о стрессе...",
longArticle: "Детальная статья о когнитивной психологии...",
invalidContent: "",
scientificContent: "Исследование нейропластичности..."
};📚 API Reference
DeepSeek Node
interface DeepSeekNodeParameters {
operation: 'chatCompletion' | 'contentAnalysis' | 'contentGeneration';
model: 'deepseek-chat' | 'deepseek-coder';
prompt?: string;
content?: string;
analysisType?: 'quality' | 'sentiment' | 'readability' | 'topics' | 'comprehensive';
formats?: string[];
advancedOptions?: {
temperature?: number;
maxTokens?: number;
timeout?: number;
maxRetries?: number;
systemMessage?: string;
};
additionalFields?: {
includeUsage?: boolean;
includeMetadata?: boolean;
validateJson?: boolean;
};
}Response Types
interface AnalysisResponse {
operation: string;
timestamp: string;
result: QualityMetrics | SentimentAnalysis | any;
usage?: TokenUsage;
metadata?: ResponseMetadata;
finish_reason: string;
}
interface GenerationResponse {
operation: string;
result: {
generated_content: ContentFormats;
metadata: GenerationMetadata;
};
usage?: TokenUsage;
}🔧 Troubleshooting
Частые проблемы
1. API Key ошибки
Error: Invalid DeepSeek API key
Solution: Проверьте API ключ в настройках учетных данных2. Превышение квоты
Error: API quota exceeded
Solution: Проверьте использование через getQuotaStatus()3. Таймауты
Error: Request timeout
Solution: Увеличьте timeout в настройках или уменьшите размер запроса4. Валидация JSON
Error: Failed to parse JSON response
Solution: Проверьте промпт и включите validateJson: false для отладкиОтладка
// Включите подробное логирование
console.log('DeepSeek Request:', requestBody);
console.log('DeepSeek Response:', response);
console.log('Validation Result:', validationResult);📄 Лицензия
MIT License - см. LICENSE файл
🤝 Поддержка
- GitHub Issues: Создать issue
- Email: [email protected]
- Документация: docs.your-domain.com
🚀 Roadmap
v1.1.0
- [ ] Поддержка streaming ответов
- [ ] Расширенная аналитика
- [ ] Кастомные промпт шаблоны через UI
v1.2.0
- [ ] Batch API поддержка
- [ ] Автоматическая оптимизация промптов
- [ ] Интеграция с другими AI провайдерами
v2.0.0
- [ ] Графический интерфейс для мониторинга
- [ ] Машинное обучение для оптимизации
- [ ] Enterprise функции
