144 lines
6.1 KiB
Shell
144 lines
6.1 KiB
Shell
NODE_ENV=development
|
|
DISCORD_BOT_TOKEN=
|
|
DISCORD_APPLICATION_ID=
|
|
DISCORD_GUILD_ID=
|
|
DISCORD_OWNER_ID=
|
|
DISCORD_BOT_TRIGGER_ROLE_IDS=
|
|
# Optional persona webhook pipe. Prefer channel-specific URLs; the bot otherwise
|
|
# needs Manage Webhooks in the target channel to create its own cached webhook.
|
|
# DISCORD_PERSONA_WEBHOOK_URL_<channel_id>=https://discord.com/api/webhooks/<id>/<token>
|
|
DISCORD_PERSONA_WEBHOOK_URL=
|
|
# Optional default persona avatars. Per-persona keys use the uppercased
|
|
# persona name with non-alphanumeric characters replaced by underscores.
|
|
# DISCORD_PERSONA_AVATAR_URL_VOID=https://cdn.discordapp.com/avatars/<id>/<hash>.png?size=256
|
|
DISCORD_PERSONA_AVATAR_URL=
|
|
# Optional public room target for Void-authored artifacts and other ripe public thoughts.
|
|
VOID_PUBLIC_ROOM_CHANNEL_ID=
|
|
VOID_PUBLIC_ROOM_PERSONA_NAME=Void
|
|
VOID_PUBLIC_ROOM_PERSONA_AVATAR_URL=
|
|
VOID_CANDIDATE_DELIVERY_ENABLED=false
|
|
VOID_RUMINATION_DAEMON_ENABLED=false
|
|
VOID_RUMINATION_DAEMON_INTERVAL_MINUTES=15
|
|
STATE_STORAGE_BACKEND=postgres
|
|
DATABASE_DSN=postgres://voidbot:voidbot@localhost:5432/voidbot
|
|
# Leave this as local_json until Qdrant is running and you've migrated the existing vectors.
|
|
VECTOR_STORE_KIND=local_json
|
|
VECTOR_STORE_PATH=.voidbot/history-vector-store.json
|
|
SOURCE_VECTOR_STORE_ROOT=.voidbot/source-vectors
|
|
QDRANT_URL=http://127.0.0.1:6333
|
|
QDRANT_API_KEY=
|
|
QDRANT_TIMEOUT_MS=30000
|
|
QDRANT_HISTORY_COLLECTION=voidbot_discord_history_chunks
|
|
QDRANT_SOURCE_COLLECTION=voidbot_repository_source_chunks
|
|
RAG_ARCHIVE_PATH=.voidbot/rag/messages.json
|
|
RAG_SOURCE_ARCHIVE_PATH=.voidbot/rag/source-documents.json
|
|
RAG_IMPORT_STATE_PATH=.voidbot/rag/import-state.json
|
|
RAG_EMBEDDING_BACKEND=ollama
|
|
# Only used by the hash fallback backend. Ollama models report their own vector length.
|
|
RAG_EMBEDDING_DIMENSIONS=256
|
|
RAG_OLLAMA_BASE_URL=http://127.0.0.1:11434
|
|
RAG_OLLAMA_MODEL=qwen3-embedding:0.6b
|
|
RAG_OLLAMA_TIMEOUT_MS=30000
|
|
RAG_QUERY_INSTRUCTION=Given a Discord history question, retrieve relevant messages and discussion snippets that answer it.
|
|
RAG_SOURCE_QUERY_INSTRUCTION=Given a source-tree, codebase, or lore question, retrieve relevant files, code snippets, and lore passages that answer it.
|
|
DISCORD_LOG_ROOT=
|
|
SOURCE_REPO_ROOT=
|
|
SOURCE_REPO_PATTERNS=*
|
|
SOURCE_REPO_INCLUDE_PREFIXES=AetheriaLore:Aetheria/
|
|
LOCAL_LLM_OLLAMA_BASE_URL=http://127.0.0.1:11434
|
|
LOCAL_LLM_OLLAMA_MODEL=qwen3.5:9b
|
|
LOCAL_LLM_SOCIAL_READ_OLLAMA_MODEL=
|
|
LOCAL_LLM_OLLAMA_TIMEOUT_MS=120000
|
|
LOCAL_LLM_OLLAMA_KEEP_ALIVE=10m
|
|
LOCAL_LLM_OLLAMA_THINK=low
|
|
LOCAL_LLM_OLLAMA_NUM_CTX=8192
|
|
LOCAL_LLM_ALLOW_PUBLIC=false
|
|
STORAGE_ROOT=.voidbot
|
|
ENABLED_PROVIDERS=owner_codex
|
|
OWNER_CODEX_MODE=local_exec_owner_only
|
|
OPENAI_API_BASE_URL=https://api.openai.com/v1
|
|
OPENAI_API_KEY=
|
|
OPENAI_API_KEY_FILE=
|
|
OPENAI_API_MODEL=gpt-4o-mini
|
|
OPENAI_API_TIMEOUT_MS=120000
|
|
OPENAI_API_AUTH_HEADER=Authorization
|
|
OPENAI_API_MAX_COMPLETION_TOKENS=4096
|
|
CODEX_EXECUTABLE=codex
|
|
CODEX_EXEC_ARGS=
|
|
CODEX_MODEL=gpt-5.4
|
|
CODEX_MODEL_REASONING_EFFORT=low
|
|
CODEX_EXEC_TIMEOUT_MS=120000
|
|
STYLE_PACK_PATH=styles/void-default.md
|
|
SYSTEM_MESSAGES_PATH=config/system-messages.json
|
|
# Private registry for repo identities that use Discord roles as address targets
|
|
# and the shared webhook persona pipe as their voice.
|
|
REPO_DISCORD_IDENTITIES_PATH=.voidbot/private/repo-discord-identities.json
|
|
REPO_FACE_RUMINATION_PASSES=3
|
|
REPO_FACE_BIRTH_MODE=plan
|
|
REPO_FACE_BIRTH_EXECUTOR=codex-exec
|
|
REPO_FACE_GITHUB_ACTIONS_ENABLED=false
|
|
REPO_FACE_WEKSA_SPEECH_ENABLED=false
|
|
WEKSA_CULTMESH_COMMAND_URI=
|
|
WEKSA_DAEMON_TIMEOUT_MS=120000
|
|
WEKSA_REPO_ROOT=E:/Projects/weksa
|
|
REPO_FACE_DISCORD_VOICE_ENABLED=false
|
|
REPO_FACE_DISCORD_VOICE_CHANNEL_ID=
|
|
REPO_FACE_DISCORD_VOICE_OUTBOX_PATH=.voidbot/status/repo-face-voice-outbox.jsonl
|
|
REPO_FACE_DISCORD_VOICE_PLAYED_PATH=.voidbot/status/repo-face-voice-played.jsonl
|
|
REPO_FACE_DISCORD_VOICE_PRESENCE_PATH=.voidbot/status/repo-face-voice-presence.json
|
|
REPO_FACE_DISCORD_VOICE_POLL_INTERVAL_MS=5000
|
|
METAME_OWNER_VOICE_ENABLED=false
|
|
METAME_OWNER_VOICE_SOURCE_CHANNEL_ID=
|
|
METAME_OWNER_VOICE_PERSONA_ID=metame
|
|
METAME_OWNER_VOICE_STATE_PATH=.voidbot/private/personas/metame/metame-owner-voice-sync.md
|
|
REPO_FACE_HEARTBEATS_ENABLED=false
|
|
VOID_MODERATION_DAEMON_ENABLED=false
|
|
VOID_MODERATION_DAEMON_INTERVAL_MINUTES=15
|
|
VOID_MODERATION_ENFORCEMENT_MODE=log_only
|
|
REPO_FACE_HEARTBEAT_STATE_PATH=.voidbot/status/repo-face-heartbeats.json
|
|
REPO_FACE_HEARTBEAT_TASK_NAME=VoidBot Repo Face Heartbeats
|
|
REPO_FACE_HEARTBEAT_INTERVAL_MINUTES=15
|
|
REPO_FACE_HEARTBEAT_MAX_JOBS_PER_TICK=2
|
|
REPO_FACE_HEARTBEAT_DEFAULT_CHANNEL_ID=
|
|
REPO_FACE_HEARTBEAT_PROVIDER=owner_codex
|
|
REPO_FACE_HEARTBEAT_CODEX_MODEL=gpt-5.3-codex-spark
|
|
REPO_FACE_HEARTBEAT_CODEX_MODELS=gpt-5.3-codex-spark,gpt-5.4-mini
|
|
REPO_FACE_TURN_CODEX_MODEL=gpt-5.4
|
|
REPO_FACE_HEARTBEAT_CODEX_REASONING_EFFORT=low
|
|
EPIPHANY_AGENT_ROOT=E:/Projects/EpiphanyAgent
|
|
BIFROST_ROOT=E:/Projects/Bifrost
|
|
BIFROST_CULTMESH_COMMAND_URI=cultmesh://asgard.starfire.bifrost/commands/discord-post
|
|
BIFROST_CULTMESH_STORE_PATH=E:/Projects/Bifrost/.bifrost/provider-store.cc
|
|
BIFROST_CULTMESH_COMMAND_TIMEOUT_MS=30000
|
|
BIFROST_CULTMESH_COMMAND_PUMP_ENABLED=true
|
|
INDEX_ALL_CHANNELS=false
|
|
INDEXED_CHANNEL_IDS=
|
|
EXCLUDED_CHANNEL_IDS=
|
|
EXCLUDED_CHANNEL_NAMES=
|
|
VOID_USAGE_COOLDOWN_SECONDS=30
|
|
VOID_USAGE_DAILY_LIMIT=100
|
|
VOID_USAGE_UNLIMITED_USER_IDS=
|
|
VOID_USAGE_UNLIMITED_ROLE_IDS=
|
|
VOID_USAGE_BOOST_USER_IDS=
|
|
VOID_USAGE_BOOST_ROLE_IDS=
|
|
VOID_USAGE_BOOST_MULTIPLIER=10
|
|
WORKER_POLL_INTERVAL_MS=5000
|
|
OFFSITE_BACKUP_SSH_TARGET=
|
|
OFFSITE_BACKUP_REMOTE_WINDOWS_DIR=C:\Meta\voidbot-backups
|
|
OFFSITE_BACKUP_REMOTE_SFTP_DIR=/C:/Meta/voidbot-backups
|
|
OFFSITE_BACKUP_LOCAL_KEEP_LATEST=7
|
|
OFFSITE_BACKUP_REMOTE_KEEP_LATEST=14
|
|
OFFSITE_BACKUP_LABEL=offsite-auto
|
|
OFFSITE_BACKUP_TASK_NAME=VoidBot Offsite Backup
|
|
OFFSITE_BACKUP_TASK_TIME=04:30
|
|
VOIDBOT_BACKUP_MAX_AGE_HOURS=30
|
|
VOIDBOT_OFFSITE_BACKUP_MAX_AGE_HOURS=36
|
|
VOIDBOT_HEALTHCHECK_NOTIFY_REPEAT_HOURS=12
|
|
VOIDBOT_STACK_STARTUP_TASK_NAME=VoidBot Stack Startup
|
|
VOIDBOT_HEALTHCHECK_TASK_NAME=VoidBot Operations Watchdog
|
|
VOIDBOT_HEALTHCHECK_INTERVAL_MINUTES=60
|
|
VOIDBOT_MODERATION_TASK_NAME=Void Moderator Rumination
|
|
VOIDBOT_MODERATION_INTERVAL_MINUTES=15
|
|
VOIDBOT_MODERATION_HEARTBEAT_INTERVAL_MINUTES=1
|
|
VOID_MODERATION_ENFORCEMENT_MODE=policy
|
|
VOID_MODERATION_TIMEOUT_MINUTES=60
|