Configuration and Environment Variables
Primary source: src/config.ts plus direct env reads in src/index.ts, src/telegram.ts, and scripts.
Core Runtime Defaults (src/config.ts)
ASSISTANT_NAMEdefault:FarmFriendPOLL_INTERVAL:2000msSCHEDULER_POLL_INTERVAL:60000msMAIN_GROUP_FOLDER:mainMAIN_WORKSPACE_DIR:~/nano(expanded)FARM_MODE:demoHA_URL:http://localhost:8123CONTAINER_IMAGE:fft-nano-agent:latestCONTAINER_TIMEOUT:300000msCONTAINER_MAX_OUTPUT_SIZE:10485760bytesIPC_POLL_INTERVAL:1000msMEMORY_RETRIEVAL_GATE_ENABLED: trueMEMORY_TOP_K:8(bounded 1..32)MEMORY_CONTEXT_CHAR_BUDGET:6000(bounded 1000..50000)
Host Runtime Env Vars
Messaging and identity
ASSISTANT_NAMEASSISTANT_ALIASESWHATSAPP_ENABLEDTELEGRAM_BOT_TOKENTELEGRAM_API_BASE_URLTELEGRAM_MAIN_CHAT_IDTELEGRAM_ADMIN_SECRETTELEGRAM_AUTO_REGISTERTELEGRAM_MEDIA_MAX_MB
Runtime and paths
CONTAINER_RUNTIME(auto|apple|docker)CONTAINER_IMAGECONTAINER_TIMEOUTCONTAINER_MAX_OUTPUT_SIZEFFT_NANO_MAIN_WORKSPACE_DIRTZHOME
Reliability/debug
LOG_LEVELFFT_NANO_APPLE_CONTAINER_SELF_HEALFFT_NANO_HEARTBEAT_EVERYFFT_NANO_HEARTBEAT_PROMPT
Memory retrieval
MEMORY_RETRIEVAL_GATE_ENABLEDMEMORY_TOP_KMEMORY_CONTEXT_CHAR_BUDGET
Farm integration
FARM_STATE_ENABLEDFARM_MODEFARM_PROFILE_PATHFARM_STATE_FAST_MSFARM_STATE_MEDIUM_MSFARM_STATE_SLOW_MSHA_URLHA_TOKENFFT_DASHBOARD_REPO_PATH
Pi provider hints used for per-chat defaults
PI_APIPI_MODEL
Telegram Transport Tuning Env Vars (src/telegram.ts)
FFT_NANO_TELEGRAM_RETRY_ATTEMPTS(default 4, bounded 1..10)FFT_NANO_TELEGRAM_RETRY_MIN_MS(default 300)FFT_NANO_TELEGRAM_RETRY_MAX_MS(default 2500)FFT_NANO_TELEGRAM_TYPING_REFRESH_MS(default 4000)
Container Env Allowlist (Host -> Container)
Built in src/container-runner.ts:
PI_BASE_URL,PI_API_KEY,PI_MODEL,PI_APIOPENAI_API_KEY,OPENAI_BASE_URLANTHROPIC_API_KEYGEMINI_API_KEYOPENROUTER_API_KEYGROQ_API_KEYZAI_API_KEYFFT_NANO_DRY_RUNHA_URL,HA_TOKEN
Also forced in container env file:
HOME=/home/nodePI_CODING_AGENT_DIR=/home/node/.pi/agent
Trigger Pattern Construction
TRIGGER_PATTERN is built from:
ASSISTANT_NAME- hardcoded alias
F-15 - optional comma-separated
ASSISTANT_ALIASES
Regex form: ^(?:@Alias1\b|@Alias2\b|...) (case-insensitive).
Script-Level Variables
Operational scripts additionally consume variables such as:
FFT_DASHBOARD_REPO_URLFFT_DASHBOARD_REPO_REF
These are primarily used by scripts/farm-bootstrap.sh and persisted into .env.