teto_ai/Dockerfile.dev
Mikolaj Wojciech Gorski 44b45b7212 Major refactor: Transform into AI-powered Kasane Teto companion bot
🎭 Core Transformation:
- Reframe project as AI companion bot with Kasane Teto personality
- Focus on natural conversation, multimodal interaction, and character roleplay
- Position video recording as one tool in AI toolkit rather than main feature

🏗️ Architecture Improvements:
- Refactor messageCreate.js into modular command system (35 lines vs 310+)
- Create dedicated videoRecording service with clean API
- Implement commandHandler for extensible command routing
- Add centralized configuration system (videoConfig.js)
- Separate concerns: events, services, config, documentation

📚 Documentation Overhaul:
- Consolidate scattered READMEs into organized docs/ directory
- Create comprehensive documentation covering:
  * AI architecture and capabilities
  * Natural interaction patterns and personality
  * Setup guides for AI services and Docker deployment
  * Commands reference focused on conversational AI
  * Troubleshooting and development guidelines
- Transform root README into compelling AI companion overview

🤖 AI-Ready Foundation:
- Document integration points for:
  * Language models (GPT-4/Claude) for conversation
  * Vision models (GPT-4V/CLIP) for image analysis
  * Voice synthesis (ElevenLabs) for speaking
  * Memory systems for conversation continuity
  * Personality engine for character consistency

🔧 Technical Updates:
- Integrate custom discord.js-selfbot-v13 submodule with enhanced functionality
- Update package.json dependencies for AI and multimedia capabilities
- Maintain Docker containerization with improved architecture
- Add development and testing infrastructure

📖 New Documentation Structure:
docs/
├── README.md (documentation hub)
├── setup.md (installation & AI configuration)
├── interactions.md (how to chat with Teto)
├── ai-architecture.md (technical AI systems overview)
├── commands.md (natural language interactions)
├── personality.md (character understanding)
├── development.md (contributing guidelines)
├── troubleshooting.md (problem solving)
└── [additional specialized guides]

 This update transforms the project from a simple recording bot into a foundation for an engaging AI companion that can naturally interact through text, voice, and visual content while maintaining authentic Kasane Teto personality traits.
2025-07-26 13:08:47 +02:00

55 lines
1.9 KiB
Text

# --- Stage 1: Install node_modules ---
FROM node:20-slim as dependencies
WORKDIR /opt/bot
COPY package*.json ./
RUN npm install --no-audit --no-fund
# --- Stage 2: Development Build ---
FROM node:20-slim
# Install system dependencies for Discord and virtual display
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl ca-certificates sudo \
# ── Discord runtime deps ──────────────────
libatomic1 libnotify4 libnspr4 libnss3 libxss1 libgbm1 \
libgconf-2-4 libxtst6 libgtk-3-0 \
# ── GUI / audio / misc ───────────────────
xvfb pulseaudio openbox \
tigervnc-standalone-server tigervnc-common fonts-liberation \
x11vnc \
# ── Audio processing for voice recording ──
ffmpeg libopus0 libopus-dev \
# ── Encryption and build tools for video recording ──
libsodium23 libsodium-dev build-essential libtool autoconf \
&& rm -rf /var/lib/apt/lists/*
# Download and install Discord
WORKDIR /opt/preinstall
RUN curl -L https://discord.com/api/download/stable?platform=linux -o discord.deb && \
dpkg -i discord.deb || apt-get -f install -y
# Create a non-root user
RUN useradd --create-home --shell /bin/bash bot && \
adduser bot sudo && \
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
# Set up the bot directory
WORKDIR /opt/bot
# Copy pre-installed node_modules from the 'dependencies' stage
COPY --from=dependencies /opt/bot/node_modules ./node_modules
# Copy entrypoint and set permissions
COPY entry.sh .
RUN chmod +x /opt/bot/entry.sh
# The rest of the source code will be mounted as a volume
# Set ownership and user
RUN chown -R bot:bot /opt/bot
USER bot
# Set environment and entrypoint
ENV DISPLAY=:99
RUN mkdir -p /run/dbus
ENTRYPOINT dbus-daemon --system --fork --nofork --address unix:/run/dbus/system_bus_socket & exec /opt/bot/entry.sh "$@"