-
Notifications
You must be signed in to change notification settings - Fork 135
Expand file tree
/
Copy path.env.example
More file actions
185 lines (144 loc) · 8.35 KB
/
Copy path.env.example
File metadata and controls
185 lines (144 loc) · 8.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# =============================================================================
# MetaBot Configuration
# =============================================================================
# Multi-bot mode (recommended — set to a JSON file path to run multiple bots)
# See bots.example.json for the file format. When set, FEISHU_APP_ID/SECRET are ignored.
BOTS_CONFIG=./bots.json
# Feishu Bot Configuration (single-bot mode — used when BOTS_CONFIG is not set)
# FEISHU_APP_ID=your_app_id
# FEISHU_APP_SECRET=your_app_secret
# Telegram Bot Configuration (single-bot mode — can run alongside Feishu bot)
# TELEGRAM_BOT_TOKEN=
# =============================================================================
# Claude Code Configuration
# ANTHROPIC_BASE_URL=
# ANTHROPIC_API_KEY=sk-
# =============================================================================
CLAUDE_DEFAULT_WORKING_DIRECTORY=/path/to/your/project
# CLAUDE_MAX_TURNS=50
# CLAUDE_MAX_BUDGET_USD=1.0
# CLAUDE_MODEL=claude-opus-4-8
# Path to claude binary (auto-detected from PATH if not set)
# CLAUDE_EXECUTABLE_PATH=/home/user/.local/bin/claude
# =============================================================================
# Codex CLI Configuration
# Supports either `codex login` subscription auth or OpenAI-compatible API-key auth.
# CODEX_API_KEY is normalized to OPENAI_API_KEY for the Codex child process.
# CODEX_BASE_URL is passed as `-c openai_base_url="..."`.
# =============================================================================
# CODEX_MODEL=gpt-5.5
# CODEX_API_KEY=sk-
# CODEX_BASE_URL=https://api.openai.com/v1
# CODEX_PROFILE=
# CODEX_APPROVAL_POLICY=never
# CODEX_SANDBOX=danger-full-access
# CODEX_EXECUTABLE_PATH=/home/user/.local/bin/codex
# Outputs directory (files placed here by Claude are auto-sent to chat)
# OUTPUTS_BASE_DIR=
# Force enable Claude auto-memory (Claude saves project patterns/learnings across sessions)
CLAUDE_CODE_DISABLE_AUTO_MEMORY=0
# =============================================================================
# HTTP API (inter-bot communication & scheduling)
# =============================================================================
API_PORT=9100
API_SECRET= # If set, listens on 0.0.0.0 with Bearer auth; if empty, localhost only
# Default timezone for recurring cron tasks (IANA format)
# SCHEDULE_TIMEZONE=Asia/Shanghai
# =============================================================================
# metabot-core central service (MetaMemory + Skill Hub + Agents + T5T)
# =============================================================================
# MetaBot delegates memory/skills/agents/t5t to a central metabot-core service.
# Your personal Bearer token is generated on first launch at ~/.metabot-core/token
# (or open <METABOT_CORE_URL>/cli and click "Generate"). Either set
# METABOT_CORE_TOKEN below or leave it in ~/.metabot-core/token — the CLI checks both.
# METABOT_CORE_URL=http://localhost:9200
# METABOT_CORE_TOKEN= # Overrides ~/.metabot-core/token if set
# METABOT_PUBLIC_DISTRIBUTION= # metabot-core: set 1 to serve /cli/* + /install/* anonymously (default: token-gated)
# =============================================================================
# Feishu Service App (wiki sync & doc reader)
# =============================================================================
# Dedicated Feishu app for wiki sync and document reading, independent of chat bots.
# If not set, falls back to the first Feishu bot's credentials.
# FEISHU_SERVICE_APP_ID=cli_xxx
# FEISHU_SERVICE_APP_SECRET=xxx
# =============================================================================
# Wiki Sync (MetaMemory → Feishu Wiki, one-way)
# =============================================================================
# Manual only — trigger via /sync chat command or POST /api/sync.
# WIKI_SYNC_ENABLED=true # Set to 'false' to disable wiki sync
# WIKI_SPACE_NAME=MetaMemory # Wiki space name (created if not found)
# WIKI_SPACE_ID= # Pre-existing wiki space ID (skips create/search)
# WIKI_SYNC_THROTTLE_MS=300 # Delay between Feishu API calls
# WIKI_SYNC_STATE_DIR=./data # Directory holding the sync-mapping SQLite
# =============================================================================
# Peers (cross-instance bot discovery & task delegation)
# =============================================================================
# Comma-separated URLs of other MetaBot instances
# METABOT_PEERS=http://localhost:9200,http://remote-host:9100
# Comma-separated secrets for each peer (positional match with METABOT_PEERS)
# METABOT_PEER_SECRETS=secret-for-9200,secret-for-remote
# Comma-separated names for each peer (auto-derived from URL if not set)
# METABOT_PEER_NAMES=alice,bob
# How often to poll peers for bot discovery (default: 30000ms = 30s)
# METABOT_PEER_POLL_INTERVAL_MS=30000
# Optional IPv4 CIDR allowlist for peer task forwarding.
# Comma or space-separated list of CIDR ranges (e.g. "10.0.0.0/8,192.168.1.0/24").
# When set, task forwarding only targets peers whose literal-IPv4 host falls inside
# one of these CIDRs. Hostname-based peer URLs are still gated by the known-peer
# allowlist but are not subject to CIDR filtering. Unset = no CIDR constraint.
# METABOT_ALLOWED_PEER_CIDRS=10.0.0.0/8,192.168.0.0/16
# =============================================================================
# Voice API (/api/voice — STT + Agent + optional TTS)
# =============================================================================
# Edge TTS — free, no API key needed. Used by default when no paid TTS keys are configured.
# Supports Chinese, English, and many other languages via Microsoft Edge online TTS.
# Doubao/Volcengine (recommended — default for both STT and TTS when keys are set)
# VOLCENGINE_TTS_APPID= # App ID from Volcengine console
# VOLCENGINE_TTS_ACCESS_KEY= # Access key from Volcengine console
# VOLCENGINE_TTS_RESOURCE_ID= # TTS resource ID (default: volc.service_type.10029)
# Internal default env injection (do not commit real secrets)
# Priority: real process env > project .env > internal defaults.
# METABOT_DEFAULT_ENV_FILE, /etc/metabot/default.env, ~/.metabot/default.env, .env.defaults
# Recommended internal default.env for Feishu voice replies:
# VOLCENGINE_TTS_APPID=...
# VOLCENGINE_TTS_ACCESS_KEY=...
# VOLCENGINE_TTS_RESOURCE_ID=volc.service_type.10029
# METABOT_VOICE_REPLY_DEFAULT_ON=true
# METABOT_VOICE_REPLY_PROVIDER=doubao
# METABOT_VOICE_REPLY_MAX_CHARS=400
# Optional: spend a small number of LLM tokens to rewrite card text into a spoken decision brief.
# METABOT_VOICE_REPLY_SUMMARY_PROVIDER=openai
# METABOT_VOICE_REPLY_SUMMARY_MODEL=gpt-4o-mini
# OpenAI API key (fallback for Whisper STT + OpenAI TTS)
# OPENAI_API_KEY=sk-...
# ElevenLabs API key (optional, for ElevenLabs TTS)
# ELEVENLABS_API_KEY=
# =============================================================================
# Volcengine RTC (real-time voice call with Doubao AI)
# =============================================================================
# All audio is processed in Volcengine's cloud (ASR → Doubao LLM → TTS).
# MetaBot only calls OpenAPI to start/stop sessions and generate tokens.
# RTC App credentials (from Volcengine RTC console)
# VOLC_RTC_APP_ID=
# VOLC_RTC_APP_KEY=
# IAM credentials (for OpenAPI V4 signing — from IAM → 密钥管理)
# VOLC_ACCESS_KEY_ID=
# VOLC_SECRET_KEY=
# Doubao model endpoint (from 火山方舟 console — required for RTC)
# VOLC_RTC_LLM_ENDPOINT_ID=ep-xxx
# ASR App ID for RTC (falls back to VOLCENGINE_TTS_APPID if not set)
# VOLC_RTC_ASR_APP_ID=
# TTS voice type for RTC (default: BV033_streaming)
# VOLC_RTC_TTS_VOICE=BV033_streaming
# =============================================================================
# Proxy (optional — for environments behind a corporate/forward proxy)
# =============================================================================
# HTTP_PROXY=http://proxy.example.com:7890
# HTTPS_PROXY=http://proxy.example.com:7890
# Comma-separated hosts that should bypass the proxy (direct connection).
# Supports: exact hostname, .example.com suffix, *.example.com wildcard, * match-all.
# NO_PROXY=openspeech.bytedance.com,localhost,127.0.0.1
# =============================================================================
# Logging
# =============================================================================
LOG_LEVEL=info