mirror of
https://github.com/DM67-Developer/opensim-ai-npc-framework.git
synced 2026-08-14 00:47:59 +00:00
Disabled Gestures since user will need to profile those first, the enable.
225 lines
6.7 KiB
INI
225 lines
6.7 KiB
INI
# general.cfg notecard
|
|
|
|
# Master Timer Configuration
|
|
MASTER_TIMER_BASE_INTERVAL=1.0
|
|
# Set MASTER_TIMER_STAGGER_OFFSET to 0.0 for auto-calculate, or specify custom offset
|
|
MASTER_TIMER_STAGGER_OFFSET=0.0
|
|
|
|
# ========================================
|
|
# AI Provider Configuration
|
|
# ========================================
|
|
# Supported providers: KOBOLD, OPENAI, OPENROUTER, ANTHROPIC, HUGGINGFACE
|
|
AI_PROVIDER=KOBOLD
|
|
|
|
# API Key (leave blank for local KOBOLD)
|
|
# For external providers, paste your API key here
|
|
API_KEY=
|
|
|
|
# Model Selection (provider-specific, required for external providers)
|
|
# Examples:
|
|
# OPENAI: gpt-4o, gpt-4o-mini, gpt-3.5-turbo
|
|
# OPENROUTER: openai/gpt-4, anthropic/claude-3-sonnet, meta-llama/llama-3-70b-instruct
|
|
# ANTHROPIC: claude-3-opus-20240229, claude-3-sonnet-20240229, claude-3-haiku-20240307
|
|
# HUGGINGFACE: meta-llama/Llama-2-7b-chat-hf
|
|
AI_MODEL=solar-10.7b-instruct-v1.0-uncensored.Q3_K_L
|
|
|
|
# API URL Override (optional - defaults are set per provider)
|
|
# Only change this if you're using a custom endpoint
|
|
# API_URL will be set automatically based on AI_PROVIDER if left as default
|
|
|
|
# ========================================
|
|
|
|
# Example: For multiple NPCs, you could manually set different offsets:
|
|
# NPC1: MASTER_TIMER_STAGGER_OFFSET=0.0
|
|
# NPC2: MASTER_TIMER_STAGGER_OFFSET=0.3
|
|
# NPC3: MASTER_TIMER_STAGGER_OFFSET=0.6
|
|
|
|
# NPC Configuration File with Brain Controller Settings
|
|
# Lines starting with # or // are comments
|
|
# Format: VARIABLE_NAME=value
|
|
|
|
# Basic NPC Identity
|
|
NPC_FIRST=Delphina
|
|
NPC_LAST=II
|
|
WAKE_WORDS=Delphina|Delphina II
|
|
|
|
# File references
|
|
APPEARANCE_CARD=appearance
|
|
CONTEXT_CARD=personality.cfg
|
|
CONFIG_CARD=general.cfg
|
|
|
|
# AI API Configuration
|
|
API_URL=http://127.0.0.1:5001/api/v1/generate
|
|
MAX_TOKENS=100
|
|
REPLY_CHAR_CAP=800
|
|
MESSAGE_LIMIT=400
|
|
LOG_LIMIT=16
|
|
|
|
# AI Model Parameters
|
|
AI_TEMPERATURE=0.5
|
|
AI_TOP_P=0.8
|
|
AI_TOP_K=40
|
|
AI_REP_PEN=1.15
|
|
AI_STOP_TOKEN=\n
|
|
|
|
BACKOFF_TOKENS=20
|
|
|
|
# Timing Configuration
|
|
MAIN_TIMER_INTERVAL=1.0
|
|
CHAT_TIMER_INTERVAL=5.0
|
|
ACTIONS_TIMER_INTERVAL=0.5
|
|
REQUEST_TIMEOUT_SEC=30
|
|
|
|
# Chat formatting
|
|
USE_CHAT_FORMAT=0
|
|
|
|
# Movement Configuration
|
|
FOLLOW_RADIUS=2.5
|
|
FOLLOW_OPTS=2050 # OS_NPC_NO_FLY | OS_NPC_RUNNING (2 + 2048) - used in Actions.lsl constant expression
|
|
SIT_OPTS=2 # OS_NPC_SIT_NOW - informational; Actions uses the OSSL flag directly
|
|
FOLLOW_THRESHOLD_OFFSET=0.5
|
|
|
|
# Display Configuration
|
|
LISTEN_CHANNEL=0
|
|
NPC_SPAWN_OFFSET=<1.0, 0.0, 1.0>
|
|
TEXT_ALPHA=1.0
|
|
STATUS_COLOR_WHITE=<1,1,1>
|
|
STATUS_COLOR_RED=<1,0.3,0.3>
|
|
STATUS_COLOR_GREEN=<0.6,1,0.6>
|
|
|
|
# Brain Controller Configuration (NEW SETTINGS)
|
|
BRAIN_EYE_OFFSET=0.7
|
|
BRAIN_WORK_OFFSET=<2.0, 0.0, 1.0>
|
|
BRAIN_VISIBLE_COMMAND=brain work
|
|
BRAIN_HIDE_COMMAND=brain hide
|
|
BRAIN_STATUS_COMMAND=brain status
|
|
BRAIN_VISIBLE_COLOR=<1.0, 0.8, 0.2>
|
|
BRAIN_GLOW=0.3
|
|
|
|
# Status Messages
|
|
MSG_STARTING=Main: is starting...
|
|
MSG_CREATION_FAILED=Main: creation has failed.
|
|
MSG_READY=Main: is ready. Say Delphina or @Delphina.
|
|
MSG_THINKING=Main: is thinking...
|
|
MSG_CONTROLLER_FAILED=Controller: NPC creation failed; check appearance and OSSL permissions.
|
|
MSG_CONNECTION_TROUBLE=Sorry, I'm having connection troubles, Darin.
|
|
MSG_LISTENING=I'm listening, Darin.
|
|
MSG_HERE=I'm here, Darin.
|
|
MSG_SLOW_THINKING=Sorry, I'm thinking slowly right now.
|
|
MSG_TOUCH_HELP=Use @Delphina to whisper; say 'Delphina' to address publicly.
|
|
MSG_BRAIN_VISIBLE=Brain: controller visible - you can now work on it.
|
|
MSG_BRAIN_HIDDEN=Brain: controller hidden and following NPC.
|
|
|
|
# Default AI Context (if personality.cfg file not found)
|
|
DEFAULT_AI_CONTEXT=You are Delphina II. Reply as Delphina only, never as the user. Use one short sentence. Include action markers when appropriate: %follow% %sit% %unfollow% %stand%
|
|
|
|
# Action Markers
|
|
ACTION_MARKER_FOLLOW=%follow%
|
|
ACTION_MARKER_SIT=%sit%
|
|
ACTION_MARKER_UNFOLLOW=%unfollow%
|
|
ACTION_MARKER_STAND=%stand%
|
|
ACTION_MARKER_NOT_FOR_ME=%not_for_me%
|
|
|
|
# ==== GESTURE MARKERS ====
|
|
ACTION_MARKER_SMILE=%smile%
|
|
ACTION_MARKER_FROWN=%frown%
|
|
ACTION_MARKER_CRY=%cry%
|
|
ACTION_MARKER_APPLAUSE=%applause%
|
|
ACTION_MARKER_SHAKE_HEAD=%shake_head%
|
|
ACTION_MARKER_NOD_HEAD=%nod_head%
|
|
ACTION_MARKER_NOD_HEAD_SMILE=%nod_head_smile%
|
|
ACTION_MARKER_SHRUG=%shrug%
|
|
ACTION_MARKER_CURTSY=%curtsy%
|
|
ACTION_MARKER_WAVE=%wave%
|
|
|
|
# Gesture Animation Names (must match inventory animation names)
|
|
GESTURE_ANIM_SMILE=Smile
|
|
GESTURE_ANIM_FROWN=Frown
|
|
GESTURE_ANIM_CRY=Cry
|
|
GESTURE_ANIM_APPLAUSE=Applause
|
|
GESTURE_ANIM_SHAKE_HEAD=Shake_Head
|
|
GESTURE_ANIM_NOD_HEAD=Nod_Head
|
|
GESTURE_ANIM_NOD_HEAD_SMILE=Nod_Head_Smile
|
|
GESTURE_ANIM_SHRUG=Shrug
|
|
GESTURE_ANIM_CURTSY=Curtsy
|
|
GESTURE_ANIM_WAVE=Wave
|
|
|
|
# Gesture System Configuration
|
|
GESTURE_ENABLED=0
|
|
GESTURE_AUTO_STOP=1
|
|
GESTURE_DURATION=3.0
|
|
GESTURE_DEBUG=0
|
|
|
|
# Senses
|
|
SENSES_ENABLED=1
|
|
SENSES_TIMER_INTERVAL=1.5
|
|
SENSES_RADIUS=30.0
|
|
SENSES_ARC_DEG=180.0
|
|
SENSES_TOPK_AVATARS=3
|
|
|
|
# Senses -> Chat integration
|
|
SENSES_INCLUDE_IN_PROMPT=1
|
|
SENSES_PREFIX=AROUND-ME:
|
|
SENSES_DEBUG=0
|
|
DEBUG_SENSES_MIN_PERIOD=2
|
|
|
|
# Enhanced object detection
|
|
SENSES_MAX_OBJECTS=10
|
|
SENSES_MIN_OBJECT_SIZE=0.1
|
|
SENSES_INCLUDE_ATTACHMENTS=0
|
|
SENSES_OBJECT_DETAILS=1
|
|
SENSES_INCLUDE_AVATARS=1
|
|
SENSES_INCLUDE_ALTITUDE=1
|
|
|
|
# ===== ENHANCED PATHFINDING (FIXED) =====
|
|
PATHFINDING_ENABLED=1
|
|
GRID_SIZE=2.0
|
|
MAX_SEARCH_NODES=500
|
|
OBSTACLE_AVOIDANCE_MARGIN=0.8
|
|
MAX_PATH_WAYPOINTS=40
|
|
PATHFINDING_TIMEOUT=10.0
|
|
DEBUG_PATHFINDING=0
|
|
|
|
# ===== SMART WALL vs FURNITURE CLASSIFICATION (FIXED) =====
|
|
WALL_SIZE_THRESHOLD=2.0
|
|
ENABLE_SIZE_BASED_WALLS=1
|
|
ENABLE_FURNITURE_DETECTION=1
|
|
|
|
# ===== ENHANCED PORTAL DETECTION =====
|
|
WALL_DETECTION_THRESHOLD=2.0
|
|
PORTAL_SEARCH_RADIUS=6.0
|
|
PORTAL_MIN_WIDTH=1.5
|
|
ENABLE_WALL_FOLLOWING=1
|
|
ENABLE_PORTAL_DETECTION=0
|
|
CORNER_ESCAPE_DISTANCE=3.0
|
|
MAX_WALL_FOLLOW_ATTEMPTS=8
|
|
|
|
# ===== VELOCITY PREDICTION =====
|
|
ENABLE_VELOCITY_PREDICTION=1
|
|
PREDICTION_HORIZON=1.5
|
|
PREDICTION_UPDATE_INTERVAL=0.25
|
|
PREDICTION_MIN_VELOCITY=0.8
|
|
PREDICTION_ACCURACY_THRESHOLD=0.2
|
|
|
|
# ===== PATHFINDING TRIGGERS =====
|
|
PATHFINDING_TRIGGER_DISTANCE=6.0
|
|
WAYPOINT_REACHED_DISTANCE=1.2
|
|
|
|
# ===== NOTES =====
|
|
# This config includes all existing settings plus the FIXED pathfinding enhancements
|
|
# The pathfinding fixes address:
|
|
# 1. "Failed to find path after 1 iterations" - increased search capacity
|
|
# 2. Furniture misclassified as walls - smart object classification
|
|
# 3. Portal detection improvements - better opening discovery
|
|
#
|
|
# Key changes from defaults:
|
|
# - WALL_SIZE_THRESHOLD increased to 4.0 (was 2.5) - prevents furniture misclassification
|
|
# - GRID_SIZE increased to 2.0 - better navigation resolution
|
|
# - MAX_SEARCH_NODES increased to 500 - prevents early termination
|
|
# - Enhanced portal detection with larger search radius
|
|
#
|
|
# Expected results:
|
|
# - Tables, chairs, lamps, ottomans = FURNITURE (navigable around)
|
|
# - Only actual walls, buildings = WALLS (require pathfinding) # - Pathfinding should run 10+ iterations instead of failing at 1
|
|
# - Better navigation through doorways and around corners
|