- Add personality engine with learning from conversations - Tracks user preferences, interests, and communication style - Persists to Redis (cache) + PostgreSQL (durable) - Generates personalized system prompts per user - Add Piston API fallback for sandbox execution - Auto-detects backend: Docker → Piston API → none - Supports 15+ languages via free cloud execution - Works on Railway and other managed platforms - Add storage layer with layered persistence - PostgreSQL for tasks, user profiles, personality traits - Redis for conversation cache and fast profile access - Graceful fallback to in-memory when not configured - Update scheduler with task persistence - Loads tasks from PostgreSQL on startup - Saves task status after execution - Add document analysis (PDF, text files) - Add railway-template.json for one-click deployment - Enable sandbox by default (Piston fallback) - Add OpenRouter support (100+ models) https://claude.ai/code/session_015VqJ7gN4vaxtYfYc92UjLs
59 lines
1.6 KiB
JSON
59 lines
1.6 KiB
JSON
{
|
|
"$schema": "https://railway.app/railway.schema.json",
|
|
"name": "AssureBot",
|
|
"description": "Lean, secure, self-hosted AI assistant with Telegram, document analysis, and scheduled tasks",
|
|
"services": [
|
|
{
|
|
"name": "assurebot",
|
|
"build": {
|
|
"builder": "DOCKERFILE",
|
|
"dockerfilePath": "secure/Dockerfile",
|
|
"watchPatterns": ["secure/**"]
|
|
},
|
|
"deploy": {
|
|
"startCommand": "node dist/index.js",
|
|
"healthcheckPath": "/health",
|
|
"healthcheckTimeout": 60,
|
|
"restartPolicyType": "ON_FAILURE",
|
|
"restartPolicyMaxRetries": 3
|
|
},
|
|
"variables": {
|
|
"DATABASE_URL": "${{Postgres.DATABASE_URL}}",
|
|
"REDIS_URL": "${{Redis.REDIS_URL}}",
|
|
"TELEGRAM_BOT_TOKEN": {
|
|
"description": "Telegram bot token from @BotFather",
|
|
"required": true
|
|
},
|
|
"ALLOWED_USERS": {
|
|
"description": "Comma-separated Telegram user IDs",
|
|
"required": true
|
|
},
|
|
"ANTHROPIC_API_KEY": {
|
|
"description": "Anthropic API key (or use OPENAI_API_KEY or OPENROUTER_API_KEY)",
|
|
"required": false
|
|
},
|
|
"OPENAI_API_KEY": {
|
|
"description": "OpenAI API key",
|
|
"required": false
|
|
},
|
|
"OPENROUTER_API_KEY": {
|
|
"description": "OpenRouter API key (100+ models)",
|
|
"required": false
|
|
},
|
|
"AI_MODEL": {
|
|
"description": "Model override (e.g., claude-3-5-sonnet-20241022)",
|
|
"required": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Postgres",
|
|
"plugin": "postgresql"
|
|
},
|
|
{
|
|
"name": "Redis",
|
|
"plugin": "redis"
|
|
}
|
|
]
|
|
}
|