-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
132 lines (118 loc) · 3.24 KB
/
Copy pathconfig.example.yaml
File metadata and controls
132 lines (118 loc) · 3.24 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
# WeChat-AI Bot Configuration
# WeChat user identity (MVP: fill in manually)
wechat_user:
account: ""
nickname: ""
# WeChat image DAT decryption keys.
# Format: "aes-key-text,60" or "hex:<aes-key-hex>,60".
# Empty means metadata and file paths are still available, but encrypted DAT images
# need the key before Dashboard can render them.
aes_xor_key: ""
# MCP Server configuration
mcp:
host: 0.0.0.0
port: 8000
# MQTT configuration (for remote command forwarding, empty = disabled)
mqtt:
host: ""
port: 1883
username: weixin
password: ""
client_id: wechat_ai_linux
# DingTalk notifications (optional, for status alerts on crash/re-login)
dingtalk:
webhook_url: ""
# Linux WeChat database reading
database:
enabled: true
xwechat_files_root: /config/xwechat_files
# Reads WeChat process memory to find SQLCipher keys, keeps keys in memory only.
scan_keys: true
active_account: ""
poll_interval: 0.75
key_retry_interval: 10.0
message_map_refresh_interval: 30.0
# Logging
logging:
path: /config/logs
level: INFO
backup_count: 5
max_size: 10485760
# RPA settings
rpa:
action_delay: 0.3
scroll_delay: 1
max_retries: 3
switch_contact_delay: 0.3
timeout: 30
window_margin: 20
window_show_delay: 1.5
# Keep the WeChat window deterministic for YOLO/RPA. Width/height are aligned
# down to align_factor pixels after clamping to the display.
window:
width: 1008
height: 0
min_height: 812
max_height: 2000
align_factor: 28
side_bar_delay: 3
ocr:
min_confidence: 0.5
merge_threshold: 5.0
use_remote: false
remote_url: http://example.com/ocr
# Token bucket rate limiting
short_term_rate: 0.15
short_term_capacity: 2
long_term_rate: 0.25
long_term_capacity: 10
# UI element offsets (relative to window)
room_action_offset:
- 0
- -30
search_contact_offset:
- 0
- 40
# Visual message reading
visual_message:
# Database reading is preferred. Set enabled=true to force visual reading too.
enabled: false
fallback_when_database_unavailable: true
poll_interval: 2.0
max_message_age: 300
dedup_cache_size: 100
# auto uses the real message screenshot size, rounded up to yolo_stride.
# You can also set an integer such as 960 or a [height, width] pair.
yolo_imgsz: auto
yolo_stride: 32
# Internal dashboard routes (served by MCP HTTP server).
# Dashboard login is controlled by WECHAT_AI_DASHBOARD_USERNAME/PASSWORD.
debug:
enabled: true
allow_raw_screenshot: false
show_sensitive: false
xwechat_files_root: /config/xwechat_files
# Plugins
plugins:
self-msg-plugin:
enabled: true
block-empty-room-plugin:
enabled: true
priority: 2000
# OpenAI / LLM configuration (for AI reply plugins)
openai:
api_key: ""
base_url: https://api.openai.com/v1
model: gpt-4o
prompt: "你是一个聊天机器人,请根据用户的问题给出回答。历史对话:{{chat_history}} 当前时间:{{time_now}} 你的昵称:{{self_nickname}} 群昵称:{{room_nickname}} 消息来自于:{{contact_nickname}}"
# S3 / R2 storage (optional, for QR code uploads on re-login)
s3:
endpoint_url: ""
access_key: ""
secret_key: ""
region: apac
bucket: weixin-login-qr
public_url_prefix: ""
# WeChat GF decryption API (future)
wxgf:
api_url: ""