refactor: Transform daemon_boyfriend into Loyal Companion

Rebrand and personalize the bot as 'Bartender' - a companion for those
who love deeply and feel intensely.

Major changes:
- Rename package: daemon_boyfriend -> loyal_companion
- New default personality: Bartender - wise, steady, non-judgmental
- Grief-aware system prompt (no toxic positivity, attachment-informed)
- New relationship levels: New Face -> Close Friend progression
- Bartender-style mood modifiers (steady presence)
- New fact types: attachment_pattern, grief_context, coping_mechanism
- Lower mood decay (0.05) for emotional stability
- Higher fact extraction rate (0.4) - Bartender pays attention

Updated all imports, configs, Docker files, and documentation.
This commit is contained in:
2026-01-14 18:08:35 +01:00
parent 3d939201f0
commit dbd534d860
60 changed files with 310 additions and 381 deletions

View File

@@ -28,8 +28,8 @@ Factory and facade for AI providers. Manages provider creation, switching, and p
#### Initialization
```python
from daemon_boyfriend.services.ai_service import AIService
from daemon_boyfriend.config import settings
from loyal_companion.services.ai_service import AIService
from loyal_companion.config import settings
# Use default settings
ai_service = AIService()
@@ -53,7 +53,7 @@ ai_service = AIService(config=custom_settings)
Generate a chat response.
```python
from daemon_boyfriend.services.providers import Message
from loyal_companion.services.providers import Message
response = await ai_service.chat(
messages=[
@@ -109,7 +109,7 @@ Manages database connections and sessions.
#### Global Instance
```python
from daemon_boyfriend.services.database import db, get_db
from loyal_companion.services.database import db, get_db
# Get global instance
db_service = get_db()
@@ -170,7 +170,7 @@ Service for user-related operations.
#### Initialization
```python
from daemon_boyfriend.services.user_service import UserService
from loyal_companion.services.user_service import UserService
async with db.session() as session:
user_service = UserService(session)
@@ -297,7 +297,7 @@ In-memory conversation history manager (used when no database).
#### Initialization
```python
from daemon_boyfriend.services.conversation import ConversationManager
from loyal_companion.services.conversation import ConversationManager
conversation_manager = ConversationManager(max_history=50)
```
@@ -397,7 +397,7 @@ Web search integration using SearXNG.
#### Initialization
```python
from daemon_boyfriend.services.searxng import SearXNGService
from loyal_companion.services.searxng import SearXNGService
searxng = SearXNGService()
```
@@ -444,7 +444,7 @@ Health checks and metrics tracking.
#### Usage
```python
from daemon_boyfriend.services.monitoring import MonitoringService
from loyal_companion.services.monitoring import MonitoringService
monitoring = MonitoringService()
@@ -479,7 +479,7 @@ print(status)
### Base Classes
```python
from daemon_boyfriend.services.providers import (
from loyal_companion.services.providers import (
AIProvider, # Abstract base class
Message, # Chat message
AIResponse, # Response from provider
@@ -541,7 +541,7 @@ class AIProvider(ABC):
### Example: Direct Provider Usage
```python
from daemon_boyfriend.services.providers import OpenAIProvider, Message
from loyal_companion.services.providers import OpenAIProvider, Message
provider = OpenAIProvider(
api_key="sk-...",