-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
507 lines (495 loc) · 19.3 KB
/
Copy path.env.example
File metadata and controls
507 lines (495 loc) · 19.3 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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
# WeLoom 环境变量示例
# 使用方式:复制为 .env 后按需修改;命令行参数仍然可以覆盖这里的默认值。
# 布尔值支持:true/false、1/0、yes/no、on/off、是/否。
# =========================
# 1. 基础路径与身份
# =========================
# 默认读取的环境变量文件;通常不需要改。
WELOOM_ENV_FILE=.env
# SQLite 数据库路径。
WELOOM_DB_PATH=storage/weloom.sqlite
# “本人”在聊天记录中的昵称,用于识别自己发出的消息与最终回复人设。
WELOOM_OWNER_NAME=星渊清梦
# 多平台即时通讯聊天记录 JSON 所在目录。
WELOOM_DATA_DIR=data
# 本地画像文件路径。
WELOOM_PROFILE_PATH=storage/profile.json
# 长期报告输出与读取目录。
WELOOM_REPORTS_DIR=storage/reports
# 回复蒸馏数据集导出路径。
WELOOM_REPLY_DATASET_PATH=storage/reply_dataset.jsonl
# 用户自定义提示词目录;不改时写入 storage/prompts。
WELOOM_PROMPT_DIR=storage/prompts
# =========================
# 2. API 与模型
# =========================
# OpenAI-compatible Chat Completions 接口地址。
AI_API_URL=https://api.deepseek.com/chat/completions
# 模型名称。
AI_MODEL=deepseek-v4-pro
# API Key;请只写在本地 .env,勿提交到仓库。
AI_API_KEY=replace-with-your-api-key
# 单次请求超时时间,单位秒。
AI_TIMEOUT_SECONDS=60
# 失败后的最大重试次数;总尝试次数为 AI_MAX_RETRIES + 1。
AI_MAX_RETRIES=2
# 推理强度:按当前模型/接口支持的取值自定义;留空则不发送该字段。
AI_REASONING_EFFORT=high
# 是否同时发送 max_completion_tokens,兼容部分 OpenAI 风格接口。
AI_USE_MAX_COMPLETION_TOKENS=true
# thinking 字段:enabled、disabled 或 omit。
AI_THINKING=enabled
# 如果 content 为空,是否允许读取 reasoning_content:auto、true、false。
AI_REASONING_CONTENT_FALLBACK=auto
# =========================
# 3. API 默认生成、重试与工具调用
# =========================
# 未显式指定时的默认采样温度。
AI_DEFAULT_TEMPERATURE=0.7
# 未显式指定时的默认 top_p。
AI_DEFAULT_TOP_P=0.95
# 未显式指定时的默认输出 token 上限。
AI_DEFAULT_MAX_TOKENS=900
# 模型返回空正文时自动扩大 token 预算的阶梯,逗号分隔。
AI_RETRY_TOKEN_FLOORS=1024,2048
# 自动扩大 token 预算时的最高上限。
AI_RETRY_MAX_TOKENS=16000
# API 重试退避基准秒数。
AI_RETRY_BACKOFF_BASE_SECONDS=2.0
# API 重试退避最大秒数。
AI_RETRY_BACKOFF_MAX_SECONDS=5.0
# 聊天阶段是否允许模型调用本地检索工具。
AI_ENABLE_TOOL_CALLS=true
# 聊天阶段模型工具调用的最大轮数。
AI_MAX_TOOL_ROUNDS=4
# 工具规划器请求温度。
AI_TOOL_PLANNER_TEMPERATURE=0.15
# 工具规划器请求 top_p。
AI_TOOL_PLANNER_TOP_P=0.9
# 工具规划器单轮输出 token 上限。
AI_TOOL_PLANNER_MAX_TOKENS=1800
# 每轮最多执行的工具调用数量。
AI_TOOL_MAX_CALLS_PER_ROUND=4
# 写回模型的单个工具结果 JSON 最大字符数。
AI_TOOL_OUTPUT_MAX_CHARS=3500
# 每个工具结果返回给模型的明细条数。
AI_TOOL_RESULT_ITEMS=5
# =========================
# 4. 聊天回复与上下文预算
# =========================
# 最终回复的输出 token 预算:即时/日常闲聊。
WELOOM_CHAT_TOKENS_REALTIME=1200
# 最终回复的输出 token 预算:联系人/关系问题。
WELOOM_CHAT_TOKENS_CONTACT=1600
# 最终回复的输出 token 预算:说话风格问题。
WELOOM_CHAT_TOKENS_STYLE=1800
# 最终回复的输出 token 预算:本人事实/历史记忆问题。
WELOOM_CHAT_TOKENS_MEMORY=1800
# 最终回复的输出 token 预算:普通问题。
WELOOM_CHAT_TOKENS_DEFAULT=1400
# 输出风格规划中单个示例回复的截断字符数。
WELOOM_RESPONSE_STYLE_EXAMPLE_CHARS=300
# 单次用户输入最大字符数,超出会截断。
WELOOM_CHAT_INPUT_MAX_CHARS=2000
# 聊天请求的采样温度。
WELOOM_CHAT_TEMPERATURE=0.72
# 聊天请求的 top_p。
WELOOM_CHAT_TOP_P=0.9
# 内存中保留的最近对话消息数。
WELOOM_CHAT_HISTORY_MAX_MESSAGES=8
# 实际注入模型的最近对话消息数。
WELOOM_CHAT_HISTORY_PROMPT_MESSAGES=6
# 画像摘要注入模型的最大字符数。
WELOOM_CHAT_PROFILE_MAX_CHARS=7000
# 画像中的常用短语/主题注入条数。
WELOOM_CHAT_PROFILE_COMMON_LIMIT=20
# 聊天上下文中原始记忆片段条数。
WELOOM_CHAT_MEMORY_LINES=10
# 聊天上下文中联系人线索条数。
WELOOM_CHAT_CONTACT_LINES=5
# 聊天上下文中相似回复样本条数。
WELOOM_CHAT_EXAMPLE_LINES=10
# 原始记忆片段单条最大字符数。
WELOOM_CHAT_MEMORY_LINE_CHARS=180
# 相似回复样本单条最大字符数。
WELOOM_CHAT_EXAMPLE_BLOCK_CHARS=140
# 兜底文本样本单条最大字符数。
WELOOM_CHAT_EXAMPLE_TEXT_CHARS=120
# 兜底检索:联系人条数。
WELOOM_CHAT_FALLBACK_CONTACT_LIMIT=5
# 兜底检索:原始记忆条数。
WELOOM_CHAT_FALLBACK_MEMORY_LIMIT=10
# 兜底检索:日常/风格问题相似回复条数。
WELOOM_CHAT_FALLBACK_STYLE_LIMIT=10
# 兜底检索:普通问题相似回复条数。
WELOOM_CHAT_FALLBACK_DEFAULT_STYLE_LIMIT=8
# 是否默认显示公开检索轨迹。
WELOOM_CHAT_SHOW_TRACE=false
# 是否默认禁用模型工具调用。
WELOOM_CHAT_DISABLE_TOOL_CALLS=false
# 聊天命令级别的工具轮数覆盖;留空则使用 AI_MAX_TOOL_ROUNDS。
WELOOM_CHAT_MAX_TOOL_ROUNDS=
# 是否默认启用最终回复流式输出;也可用 chat --stream / --no-stream 覆盖。
WELOOM_CHAT_STREAM=false
# =========================
# 5. 聊天注入的报告预算
# =========================
# 聊天最终上下文中人物档案最大字符数。
WELOOM_CHAT_REPORT_PERSONA_CHARS=7600
# 聊天最终上下文中主报告最大字符数。
WELOOM_CHAT_REPORT_MAIN_CHARS=5200
# 聊天最终上下文中人物报告条数。
WELOOM_CHAT_REPORT_PERSON_ITEMS=3
# 单个人物报告最大字符数。
WELOOM_CHAT_REPORT_PERSON_CHARS=4200
# 聊天最终上下文中报告切块条数。
WELOOM_CHAT_REPORT_CHUNK_ITEMS=8
# 单个报告切块最大字符数。
WELOOM_CHAT_REPORT_CHUNK_CHARS=1100
# 命中联系人列表最大条数。
WELOOM_CHAT_REPORT_CONTACT_ITEMS=8
# =========================
# 6. 记忆检索代理与报告路由预算
# =========================
# 传给检索代理的用户输入最大字符数。
WELOOM_MEMORY_AGENT_USER_TEXT_MAX_CHARS=800
# 工具调用 limit 默认值、最小值、最大值。
WELOOM_MEMORY_AGENT_TOOL_DEFAULT_LIMIT=8
WELOOM_MEMORY_AGENT_TOOL_MIN_LIMIT=1
WELOOM_MEMORY_AGENT_TOOL_MAX_LIMIT=12
# 本地扩展检索的各类默认 limit。
WELOOM_MEMORY_AGENT_REALTIME_STYLE_LIMIT=10
WELOOM_MEMORY_AGENT_CASUAL_STYLE_LIMIT=10
WELOOM_MEMORY_AGENT_STYLE_REPORT_LIMIT=8
WELOOM_MEMORY_AGENT_STYLE_SAMPLE_LIMIT=12
WELOOM_MEMORY_AGENT_CONTACT_QUERY_COUNT=2
WELOOM_MEMORY_AGENT_CONTACT_RELATED_QUERY_COUNT=4
WELOOM_MEMORY_AGENT_CONTACT_SEARCH_LIMIT=5
WELOOM_MEMORY_AGENT_CONTACT_REPORT_LIMIT=8
WELOOM_MEMORY_AGENT_CONTACT_MEMORY_LIMIT=8
WELOOM_MEMORY_AGENT_CONTACT_STYLE_LIMIT=5
WELOOM_MEMORY_AGENT_SELF_QUERY_COUNT=5
WELOOM_MEMORY_AGENT_SELF_REPORT_LIMIT=10
WELOOM_MEMORY_AGENT_SELF_MEMORY_LIMIT=12
WELOOM_MEMORY_AGENT_SELF_MIN_MEMORY_HITS=5
WELOOM_MEMORY_AGENT_SELF_STYLE_LIMIT=8
WELOOM_MEMORY_AGENT_DEFAULT_QUERY_COUNT=4
WELOOM_MEMORY_AGENT_DEFAULT_CONTACT_LIMIT=5
WELOOM_MEMORY_AGENT_DEFAULT_REPORT_LIMIT=8
WELOOM_MEMORY_AGENT_DEFAULT_MEMORY_LIMIT=10
WELOOM_MEMORY_AGENT_DEFAULT_STYLE_LIMIT=8
WELOOM_MEMORY_AGENT_FOLLOWUP_CONTACT_LIMIT=5
WELOOM_MEMORY_AGENT_FOLLOWUP_ALIAS_LIMIT=2
WELOOM_MEMORY_AGENT_FOLLOWUP_REPORT_LIMIT=6
WELOOM_MEMORY_AGENT_FOLLOWUP_MEMORY_LIMIT=8
# 检索代理合并后的最大保留数量。
WELOOM_MEMORY_AGENT_MERGED_MEMORY_LIMIT=18
WELOOM_MEMORY_AGENT_MERGED_EXAMPLE_LIMIT=14
WELOOM_MEMORY_AGENT_MERGED_CONTACT_LIMIT=8
# 联系人会话过滤参数。
WELOOM_MEMORY_AGENT_SESSION_FILTER_LIMIT=3
WELOOM_MEMORY_AGENT_SESSION_FILTER_SCORE=30.0
WELOOM_MEMORY_AGENT_EXPANDED_TERM_LIMIT=12
WELOOM_MEMORY_AGENT_PLANNER_NOTES_MAX_CHARS=800
WELOOM_MEMORY_AGENT_TOOL_QUERY_MAX_CHARS=180
WELOOM_MEMORY_AGENT_TOOL_ROLE_MAX_CHARS=20
WELOOM_MEMORY_AGENT_CONTACT_ARG_MAX_CHARS=120
WELOOM_MEMORY_AGENT_PLANNER_PAYLOAD_MAX_CHARS=6000
WELOOM_MEMORY_AGENT_EXPANDED_QUERY_MAX_CHARS=180
WELOOM_MEMORY_AGENT_SALIENT_QUERY_LIMIT=6
# 根据用户意图选择主报告/人物档案/人物报告的字符预算。
WELOOM_MEMORY_MAIN_BUDGET_CONTACT=3200
WELOOM_MEMORY_MAIN_BUDGET_STYLE=1600
WELOOM_MEMORY_MAIN_BUDGET_SELF=5200
WELOOM_MEMORY_MAIN_BUDGET_DEFAULT=2600
WELOOM_MEMORY_PERSONA_BUDGET_STYLE=7600
WELOOM_MEMORY_PERSONA_BUDGET_CONTACT=8200
WELOOM_MEMORY_PERSONA_BUDGET_CASUAL=4200
WELOOM_MEMORY_PERSONA_BUDGET_DEFAULT=6800
WELOOM_MEMORY_PERSON_BUDGET_CONTACT=9500
WELOOM_MEMORY_PERSON_BUDGET_SELF=5200
WELOOM_MEMORY_PERSON_BUDGET_DEFAULT=3600
WELOOM_MEMORY_REPORT_CHUNK_LIMIT_CONTACT=8
WELOOM_MEMORY_REPORT_CHUNK_LIMIT_DEFAULT=8
# 工具返回给规划器前的报告 payload 压缩上限。
WELOOM_MEMORY_TRIM_REPORT_PAYLOAD_CHARS=2500
# 工具预览与 payload 单条内容字符预算。
WELOOM_MEMORY_EXAMPLE_PREVIEW_CHARS=80
WELOOM_MEMORY_EXAMPLE_TEXT_PREVIEW_CHARS=100
WELOOM_MEMORY_EXAMPLE_KEY_CHARS=160
WELOOM_MEMORY_PREVIEW_LINE_CHARS=90
WELOOM_MEMORY_PAYLOAD_CONTENT_CHARS=180
WELOOM_MEMORY_PAYLOAD_SCENE_CHARS=160
WELOOM_MEMORY_PAYLOAD_REPLY_CHARS=160
WELOOM_MEMORY_REPORT_PREVIEW_CHARS=80
# =========================
# 7. 长期报告生成 analyze
# =========================
# 每个聊天分块目标字符数;越大单次请求越重。
WELOOM_REPORT_TARGET_CHARS=60000
# 兼容参数;主报告融合会优先按 256k 上下文动态分组。
WELOOM_REPORT_GROUP_SIZE=3
# 非文本消息摘要最大字符数。
WELOOM_REPORT_NONTEXT_CAP=180
# 人物报告/融合报告输出 token 预算。
WELOOM_REPORT_MAX_TOKENS=12000
# 分块卡片基础输出 token 预算。
WELOOM_REPORT_CHUNK_MAX_TOKENS=8000
# 报告合成使用的上下文窗口估算 token 数。
WELOOM_REPORT_CONTEXT_TOKENS=256000
# 报告合成上下文安全余量 token 数。
WELOOM_REPORT_CONTEXT_SAFETY_TOKENS=12000
# 分块卡片基础输出字符预算。
WELOOM_REPORT_CHUNK_OUTPUT_CHARS=1800
# 分块数达到该值后不再增加分块输出预算。
WELOOM_REPORT_CHUNK_BUDGET_FULL_CHUNKS=30
# 分块数很少时的最大平滑放大倍率。
WELOOM_REPORT_CHUNK_BUDGET_MAX_MULTIPLIER=2.0
# 动态融合单组最大报告数;0 表示只受上下文限制。
WELOOM_REPORT_DYNAMIC_GROUP_MAX_ITEMS=0
# 本地粗略 token 估算的固定安全开销。
WELOOM_REPORT_TOKEN_ESTIMATE_OVERHEAD=256
# 报告生成温度。
WELOOM_REPORT_TEMPERATURE=0.2
# 报告生成 top_p。
WELOOM_REPORT_TOP_P=0.9
# 默认是否强制重新生成报告和缓存。
WELOOM_REPORT_FORCE=false
# 默认是否只做 dry-run。
WELOOM_REPORT_DRY_RUN=false
# API 失败时是否生成保守 fallback 报告。
WELOOM_REPORT_ALLOW_FALLBACK=true
# analyze 前是否跳过导入。
WELOOM_REPORT_SKIP_IMPORT=false
# analyze 前是否跳过索引。
WELOOM_REPORT_SKIP_INDEX=false
# 并发请求数。
WELOOM_REPORT_CONCURRENCY=4
# 多进程数量;留空表示不用多进程。
WELOOM_REPORT_PROCESSES=
# 并行模式:thread 或 process。
WELOOM_REPORT_PARALLEL_MODE=thread
# 全局请求限流,0 表示不限。
WELOOM_REPORT_RPM_LIMIT=80
# 限流窗口秒数。
WELOOM_REPORT_RATE_WINDOW=60.0
# 是否禁用限流。
WELOOM_REPORT_DISABLE_RATE_LIMIT=false
# 单个请求前随机抖动秒数。
WELOOM_REPORT_REQUEST_JITTER=0.3
# 是否忽略已有 API 缓存并刷新。
WELOOM_REPORT_REFRESH_CACHE=false
# 报告文件名显示名截断长度,以及报告元信息字段截断长度。
WELOOM_REPORT_FILENAME_DISPLAY_CHARS=60
WELOOM_REPORT_META_VALUE_CHARS=80
# =========================
# 8. 人物档案、报告索引与报告读取
# =========================
# 人物档案分批压缩参数;最终输入数量由 256k 上下文动态判断。
WELOOM_PERSONA_MATERIAL_CHARS=2400
WELOOM_PERSONA_INTERMEDIATE_CHARS=4200
WELOOM_PERSONA_MAIN_REPORT_CHARS=50000
# 报告知识库切块参数。
WELOOM_REPORT_INDEX_CHUNK_TARGET=2400
WELOOM_REPORT_INDEX_CHUNK_HARD_LIMIT=3600
WELOOM_REPORT_INDEX_TERM_LIMIT=80
WELOOM_REPORT_SOURCE_DISPLAY_CHARS=120
# 聊天检索报告时的默认读取预算。
WELOOM_REPORT_STORE_MAX_PERSON_REPORTS=3
WELOOM_REPORT_STORE_PERSONA_MAX_CHARS=22000
WELOOM_REPORT_STORE_PERSON_MAX_CHARS=7000
WELOOM_REPORT_STORE_MAX_REPORT_CHUNKS=8
WELOOM_REPORT_STORE_COMPACT_TEXT_CHARS=300
WELOOM_REPORT_STORE_UNIQUE_NAME_CHARS=120
# 报告切块检索参数。
WELOOM_REPORT_RETRIEVAL_ITEM_MAX_CHARS=1200
WELOOM_REPORT_RETRIEVAL_LIMIT=8
WELOOM_REPORT_RETRIEVAL_MAX_CANDIDATES=80
WELOOM_REPORT_RETRIEVAL_QUERY_MAX_CHARS=500
WELOOM_REPORT_RETRIEVAL_CONTENT_SCORE_CHARS=1200
WELOOM_REPORT_RETRIEVAL_ALIAS_MAX_CHARS=120
WELOOM_REPORT_RETRIEVAL_COMPACT_TEXT_CHARS=300
# 报告裁剪保留的相关章节数量。
WELOOM_REPORT_CLIP_PERSONA_TOP_SECTIONS=3
WELOOM_REPORT_CLIP_MAIN_TOP_SECTIONS=4
WELOOM_REPORT_CLIP_TABLE_MATCH_LIMIT=8
WELOOM_REPORT_CLIP_TABLE_QUERY_LIMIT=6
WELOOM_REPORT_CLIP_SECTION_TITLE_CHARS=80
WELOOM_REPORT_CLIP_DEDUPE_MARKER_CHARS=120
# report-doctor 判断报告过小的阈值,单位字节。
WELOOM_REPORT_DOCTOR_MIN_REPORT_BYTES=80
# API 失败 fallback 报告的拼接与错误信息截断预算。
WELOOM_FALLBACK_ERROR_CHARS=240
WELOOM_FALLBACK_CHUNK_CARD_CHARS=1200
WELOOM_FALLBACK_MERGE_REPORT_CHARS=2500
WELOOM_FALLBACK_PERSONA_REPORT_CHARS=1800
WELOOM_FALLBACK_PERSONA_MAIN_CHARS=3500
# =========================
# 9. 本地检索、联系人与词项索引
# =========================
# query 命令默认返回条数。
WELOOM_QUERY_LIMIT=8
# query 命令输出时的单条文本截断字符数。
WELOOM_QUERY_OUTPUT_MESSAGE_CHARS=120
WELOOM_QUERY_OUTPUT_REPORT_SNIPPET_CHARS=120
# 原始消息和回复样本检索默认条数。
WELOOM_RETRIEVAL_MESSAGE_LIMIT=12
WELOOM_RETRIEVAL_REPLY_LIMIT=8
# 查询扩展数量与输入截断字符数。
WELOOM_QUERY_EXPANSION_LIMIT=5
WELOOM_QUERY_EXPANSION_INPUT_MAX_CHARS=300
WELOOM_RETRIEVAL_EXPANDED_QUERY_LIMIT=4
WELOOM_RETRIEVAL_TERM_LIMIT=16
WELOOM_RETRIEVAL_FTS_TOKEN_LIMIT=8
WELOOM_RETRIEVAL_LIKE_TERM_LIMIT=5
# 回复样本质量阈值。
WELOOM_RETRIEVAL_TURN_LATEST_MIN_QUALITY=0.45
WELOOM_RETRIEVAL_TURN_SEARCH_MIN_QUALITY=0.35
# 检索查询文本与安全会话过滤截断参数。
WELOOM_RETRIEVAL_QUERY_MAX_CHARS=300
WELOOM_RETRIEVAL_QUERY_FOCUS_MAX_CHARS=120
WELOOM_RETRIEVAL_SAFE_SESSION_MAX=8
WELOOM_RETRIEVAL_SAFE_SESSION_CHARS=120
# 多路检索融合参数:词项、unicode FTS、trigram FTS、LIKE 统一用 RRF 融合后再按文本相关性重排。
WELOOM_RETRIEVAL_RRF_K=60
WELOOM_RETRIEVAL_RRF_SCALE=1000.0
WELOOM_RETRIEVAL_EXPANSION_DECAY=0.85
WELOOM_RETRIEVAL_TERM_SOURCE_WEIGHT=1.15
WELOOM_RETRIEVAL_FTS_SOURCE_WEIGHT=1.0
WELOOM_RETRIEVAL_TRIGRAM_SOURCE_WEIGHT=0.95
WELOOM_RETRIEVAL_LIKE_SOURCE_WEIGHT=0.55
# 检索结果格式化字符预算。
WELOOM_RETRIEVAL_MESSAGE_PROMPT_CHARS=180
WELOOM_RETRIEVAL_REPLY_PROMPT_CHARS=220
WELOOM_RETRIEVAL_CONTEXT_WINDOW=2
WELOOM_RETRIEVAL_CONTEXT_ITEM_MAX_CHARS=60
# 联系人检索参数。
WELOOM_CONTACT_SEARCH_LIMIT=5
WELOOM_CONTACT_QUERY_MAX_CHARS=300
WELOOM_CONTACT_NORMALIZED_QUERY_MAX_CHARS=80
WELOOM_CONTACT_RECENT_LIMIT=3
WELOOM_CONTACT_RECENT_MAX_CHARS=80
# 风格兜底样本参数。
WELOOM_STYLE_EXAMPLE_LIMIT=10
WELOOM_STYLE_SEARCH_MULTIPLIER=2
WELOOM_STYLE_LATEST_MULTIPLIER=3
# 词项索引参数。
WELOOM_TERMS_BATCH_SIZE=50000
WELOOM_TERMS_EXTRACT_LIMIT=40
WELOOM_TERMS_MERGE_LIMIT=40
WELOOM_TERMS_MESSAGE_LIMIT=32
WELOOM_TERMS_TURN_LIMIT=48
WELOOM_TERMS_TEXT_MAX_CHARS=3000
WELOOM_TERMS_USE_IDF=true
WELOOM_TERMS_IDF_FLOOR=0.2
# 模型工具 schema 暴露给模型的 limit 范围。
WELOOM_TOOL_SCHEMA_MIN_LIMIT=1
WELOOM_TOOL_SCHEMA_MEMORY_MAX_LIMIT=12
WELOOM_TOOL_SCHEMA_STYLE_MAX_LIMIT=10
WELOOM_TOOL_SCHEMA_CONTACTS_MAX_LIMIT=8
WELOOM_TOOL_SCHEMA_REPORTS_MAX_LIMIT=10
# 查询意图识别与文本相关性打分参数。
WELOOM_RANKING_QUERY_MAX_CHARS=500
WELOOM_RANKING_TERM_LIMIT=12
WELOOM_RANKING_ANALYZE_TERM_LIMIT=14
WELOOM_RANKING_CASUAL_MAX_CHARS=28
WELOOM_RANKING_EXACT_FOCUS_SCORE=55.0
WELOOM_RANKING_FIELD_FOCUS_SCORE=18.0
WELOOM_RANKING_TERM_BASE_SCORE=7.0
WELOOM_RANKING_COVERAGE_SCORE=25.0
# =========================
# 10. 导入、清洗与对话样本切分
# =========================
# 导入阶段各字段最大保留字符数。
WELOOM_IMPORT_QUOTED_CONTENT_MAX_CHARS=1000
WELOOM_IMPORT_APP_DESC_MAX_CHARS=1000
WELOOM_IMPORT_LINK_TITLE_MAX_CHARS=500
WELOOM_IMPORT_EMOJI_CAPTION_MAX_CHARS=300
# 清洗阶段文本长度与敏感信息判断。
WELOOM_CLEAN_CONTENT_MAX_CHARS=2000
WELOOM_CLEAN_QUOTE_XML_INPUT_MAX_CHARS=1000
WELOOM_CLEAN_QUOTE_XML_OUTPUT_MAX_CHARS=220
WELOOM_CLEAN_QUOTE_TEXT_MAX_CHARS=500
WELOOM_CLEAN_SENSITIVE_DIGIT_THRESHOLD=8
WELOOM_CLEAN_LONG_TEXT_THRESHOLD=500
# 清洗质量基础分。
WELOOM_CLEAN_SCORE_TEXT=1.0
WELOOM_CLEAN_SCORE_QUOTE=0.9
WELOOM_CLEAN_SCORE_VOICE=0.55
WELOOM_CLEAN_SCORE_LINK=0.35
# 对话样本构建参数。
WELOOM_TURN_MAX_GAP_SECONDS=21600
WELOOM_TURN_PROMPT_MAX_MESSAGES=6
WELOOM_TURN_RESPONSE_MAX_MESSAGES=5
WELOOM_TURN_CONTEXT_RUNS=2
WELOOM_TURN_CONTEXT_MAX_MESSAGES=6
WELOOM_TURN_MESSAGE_MAX_CHARS=240
WELOOM_TURN_RESPONSE_MAX_CHARS=900
WELOOM_TURN_PROMPT_PAIR_MAX_CHARS=1600
# 报告转录消息格式化参数。
WELOOM_TRANSCRIPT_TEXT_MAX_CHARS=1200
WELOOM_TRANSCRIPT_QUOTE_MAX_CHARS=240
WELOOM_TRANSCRIPT_VOICE_MAX_CHARS=600
WELOOM_TRANSCRIPT_LINK_TITLE_MAX_CHARS=120
WELOOM_TRANSCRIPT_LINK_DESC_MAX_CHARS=160
WELOOM_TRANSCRIPT_LINK_MAX_CHARS=320
WELOOM_TRANSCRIPT_CAPTION_MAX_CHARS=60
WELOOM_TRANSCRIPT_NONTEXT_EXTRA_CHARS=40
WELOOM_TRANSCRIPT_SENDER_NAME_MAX_CHARS=40
# =========================
# 11. 本地画像与 API 蒸馏
# =========================
# 本地画像保留数量。
WELOOM_PROFILE_COMMON_PHRASE_LIMIT=50
WELOOM_PROFILE_CANDIDATE_FACT_LIMIT=80
WELOOM_PROFILE_TOPIC_LIMIT=60
WELOOM_PROFILE_RELATIONSHIP_LIMIT=57
WELOOM_PROFILE_SAMPLE_LIMIT=160
WELOOM_PROFILE_REPLY_PAIR_LIMIT=80
WELOOM_PROFILE_REPLY_PAIR_MIN_QUALITY=0.55
# 本地画像内部文本截断预算。
WELOOM_PROFILE_FACT_SOURCE_MAX_CHARS=500
WELOOM_PROFILE_FACT_MAX_CHARS=90
WELOOM_PROFILE_FINGERPRINT_SAMPLE_CHARS=300
WELOOM_PROFILE_SAMPLE_TEXT_MAX_CHARS=180
WELOOM_PROFILE_SAMPLE_CONTACT_MAX_CHARS=80
WELOOM_PROFILE_PAIR_TEXT_CHECK_CHARS=240
WELOOM_PROFILE_PAIR_CONTACT_CHARS=80
WELOOM_PROFILE_PAIR_PROMPT_CHARS=180
WELOOM_PROFILE_RULE_LIST_LIMIT=18
WELOOM_PROFILE_RULE_ITEM_CHARS=260
WELOOM_PROFILE_UNPARSED_RAW_TEXT_CHARS=3000
WELOOM_PROFILE_UNPARSED_ERROR_CHARS=300
# API 辅助画像蒸馏参数。
WELOOM_PROFILE_REFINE_PAYLOAD_CHARS=16000
WELOOM_PROFILE_REFINE_MAX_TOKENS=3200
WELOOM_PROFILE_REFINE_TEMPERATURE=0.2
WELOOM_PROFILE_REFINE_TOP_P=0.9
# 蒸馏 JSON 修复请求参数。
WELOOM_PROFILE_REPAIR_RAW_TEXT_CHARS=6000
WELOOM_PROFILE_REPAIR_MAX_TOKENS=2600
WELOOM_PROFILE_REPAIR_TEMPERATURE=0.0
WELOOM_PROFILE_REPAIR_TOP_P=0.2
# =========================
# 12. 导出、诊断与缓存预热
# =========================
# export 命令默认最多导出条数,0 表示不限。
WELOOM_EXPORT_LIMIT=0
# export 命令默认最小质量分。
WELOOM_EXPORT_MIN_QUALITY=0.45
# export 每条样本的字段截断字符数。
WELOOM_EXPORT_PROMPT_MAX_CHARS=1600
WELOOM_EXPORT_RESPONSE_MAX_CHARS=900
WELOOM_EXPORT_CONTEXT_MAX_CHARS=900
# doctor --api 探测请求最大输出 token。
WELOOM_DOCTOR_PROBE_MAX_TOKENS=64
# doctor --api 探测请求温度。
WELOOM_DOCTOR_PROBE_TEMPERATURE=0.0
# 进度条宽度。
WELOOM_PROGRESS_WIDTH=24
# 报告生成前缀缓存预热条件。
WELOOM_PROMPT_CACHE_MIN_PENDING_TASKS=3
WELOOM_PROMPT_CACHE_MIN_PREFIX_CHARS=1200
WELOOM_PROMPT_CACHE_WARM_MAX_TOKENS=1
WELOOM_PROMPT_CACHE_WARM_TEMPERATURE=0.0
WELOOM_PROMPT_CACHE_WARM_TOP_P=0.1