-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
99 lines (91 loc) · 3.12 KB
/
config.example.yaml
File metadata and controls
99 lines (91 loc) · 3.12 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
# GBot Configuration — Example Template
#
# Copy this file to config/config.yaml and fill in your secrets.
# config.yaml is gitignored — never commit real credentials.
#
# Secret values can also be set via .env (GBOT_ prefix) or environment variables.
# Priority: env vars > .env file > YAML > defaults
assistant:
name: "GBot"
owner:
username: "owner"
name: "Owner"
password: "owner" # initial owner password — change after first login
workspace: ./workspace
model: "openrouter/google/gemini-3-flash-preview"
temperature: 0.7
thinking: true
session_token_limit: 30000
max_iterations: 20
tools: ["*"]
# system_prompt: "You are GBot — a helpful AI assistant."
# ^ If set, overrides AGENT.md (higher priority)
providers:
anthropic:
api_key: "${ANTHROPIC_API_KEY}" # Set via .env
openrouter:
api_key: "${OPENROUTER_API_KEY}" # Set via .env
# openai:
# api_key: "${OPENAI_API_KEY}"
channels:
telegram:
enabled: true
allow_from: [] # Telegram user IDs (optional whitelist)
whatsapp:
enabled: false
waha_url: "http://waha:3000"
session: "default"
api_key: "${WAHA_API_KEY}" # WAHA instance API key
respond_to_dm: true
monitor_dm: true
allowed_groups:
allowed_dms:
"PHONE_NUMBER": "Name"
# discord:
# enabled: false
# rag:
# embedding_model: "intfloat/multilingual-e5-small"
# data_source: ./data/items.json
# index_path: ./data/faiss_index
# text_template: "{title}. {description}. Category: {category}."
# id_field: "id"
tools:
shell:
timeout: 60
restrict_to_workspace: true
web:
fetch_shortcuts:
gold: "https://api.genelpara.com/json/?list=altin&sembol=GA,C,Q,Y"
currency: "https://api.genelpara.com/json/?list=doviz&sembol=USD,EUR,GBP"
"weather:istanbul": "https://api.open-meteo.com/v1/forecast?latitude=41.01&longitude=28.98¤t=temperature_2m,weather_code,wind_speed_10m,relative_humidity_2m&timezone=auto"
earthquake: "https://api.orhanaydogdu.com.tr/deprem/kandilli/live"
news: "https://news.google.com/rss?hl=tr&gl=TR&ceid=TR:tr"
auth:
jwt_secret_key: "${JWT_SECRET_KEY}" # 32+ chars, set via .env
access_token_expire_minutes: 1440
rate_limit:
enabled: true
requests_per_minute: 60
background:
cron:
enabled: true
heartbeat:
enabled: false
interval_s: 1800
delegation:
model: "openrouter/google/gemini-3-flash-preview"
memory:
enabled: true
model: "" # extraction LLM — empty = assistant.model
extraction_every_n: 5 # extract facts every N user messages
max_facts_per_user: 500
embedding:
provider: "openrouter" # openrouter | local
model: "google/gemini-embedding-001"
dimension: 3072
update:
strategy: "llm" # llm (default) | cascading | threshold_only
model: "" # AUDN decision model — empty = assistant.model
noop_threshold: 0.90 # threshold_only/cascading: duplicate skip
add_threshold: 0.65 # threshold_only/cascading: auto add