diff --git a/.env.example b/.env.example index 39e3f4c..13ee701 100644 --- a/.env.example +++ b/.env.example @@ -224,10 +224,23 @@ STT_PROVIDER=dashscope # 待主人提供参考音频公网 URL 方能真建音色。 # ---- 网络搜索(web-search 工具) ---- -# WEB_SEARCH_ENDPOINT = web-search 工具查询的 SearXNG 兼容端点(GET + format=json)。 +# WEB_SEARCH_PROVIDER = 选谁当搜索后端。可选:searxng(默认,本机兜底)/ zhipu(智谱 +# BigModel)/ aliyun_iqs(阿里云 IQS)/ bocha(博查)/ volcengine(火山·豆包搜索)/ +# baidu_qianfan(百度千帆)。**未配置的家不会出现在可用清单里**(fail-closed)。 +# ⚠️ 指向未登记(如本期未做的 tavily)或未配置(缺 key)的名字 ⇒ **启动期报错**, +# 绝不静默回落到兜底;写空串 / off / none ⇒ **web-search 不注册**,模型看不见它。 +WEB_SEARCH_PROVIDER=searxng +# WEB_SEARCH_FALLBACK = 降级链(逗号分隔,从左到右试;空 = 只用手选的那一个)。 +# 只在该家「不可用」(无 key / 鉴权失败 / 限流 / 额度 / 网络)时前进一格;结果里会 +# 如实标注**实际应答**的 provider,绝不拿兜底冒充主力。空结果**不**触发前进。 +# WEB_SEARCH_FALLBACK=zhipu,bocha,searxng +# WEB_SEARCH_MAX_RESULTS = 单次检索返回条数上限。默认 5;provider 自身的条数上限 +# (如博查 50、IQS 固定 10)优先于本键的下限。 +WEB_SEARCH_MAX_RESULTS=5 +# WEB_SEARCH_ENDPOINT = **searxng provider** 的端点(SearXNG 兼容,GET + format=json)。 # 默认值 http://127.0.0.1:38471 是**本机兜底**:scripts/searxng/settings.yml 就是它的 # 配套配置(docker 起法见该文件头注释),无需任何第三方 API key、开箱即用 —— 默认指向 -# 本机而不是某个云搜索服务,原因就在这。要换云 provider 就把新地址写在这里。 +# 本机而不是某个云搜索服务,原因就在这。它只在 WEB_SEARCH_PROVIDER=searxng 时起作用。 WEB_SEARCH_ENDPOINT=http://127.0.0.1:38471 # 显式关闭:把上面这行写成空串 / off / none(大小写不敏感)⇒ **web-search 不注册**, # 模型根本看不见它(不给一把一调就报错的锤子)。值不是 http(s) 绝对地址时同样不注册, @@ -236,12 +249,44 @@ WEB_SEARCH_ENDPOINT=http://127.0.0.1:38471 # WEB_SEARCH_TIMEOUT = 单次搜索请求的超时(Go duration,如 20s)。 # 不配置时**沿用 io 包既有超时(15s)** —— 这里刻意不写第二个默认值。 # 它只影响 web-search 一次调用,不改 http / web-fetch 用的那个共享客户端。 +# ⚠️ 降级链下它是**每一次上游尝试**的预算(主家超时后备家仍有自己的份额)。 # WEB_SEARCH_TIMEOUT=20s +# +# ---- 各搜索后端独立一组键(未配置的家不出现;密钥绝不进日志/响应/提示词)---- +# 智谱 BigModel(Bearer;官方定价已确证:Search-Std 0.01 元/次起)。 +# 申请 key:https://open.bigmodel.cn +# WEB_SEARCH_ZHIPU_API_KEY= +WEB_SEARCH_ZHIPU_BASE_URL=https://open.bigmodel.cn +# 阿里云信息查询服务 IQS(GET + X-API-Key,免签名免 SDK;默认返回 10 条且不可调)。 +# 申请 key:https://www.aliyun.com/product/iqs +# WEB_SEARCH_ALIYUN_IQS_API_KEY= +WEB_SEARCH_ALIYUN_IQS_BASE_URL=https://cloud-iqs.aliyuncs.com +# 博查 Bocha(POST + Bearer;中文优先)。默认域名取官方文档口径 api.bocha.cn +# (官网首页样例仍用 api.bochaai.com,两域关系官方未说明,可在此键切换)。 +# 申请 key:https://open.bocha.cn +# WEB_SEARCH_BOCHA_API_KEY= +WEB_SEARCH_BOCHA_BASE_URL=https://api.bocha.cn +# 火山引擎·豆包搜索 SearchInfinity(Bearer;含每月 500 次免费额度,官方原文确证)。 +# 申请 key:https://console.volcengine.com/search-infinity/api-key +# WEB_SEARCH_VOLCENGINE_API_KEY= +WEB_SEARCH_VOLCENGINE_BASE_URL=https://open.feedcoopapi.com +# 百度·千帆 AI 搜索(Bearer;标准版 0.036 元/次,每月免费 1500 次,官方原文确证)。 +# 申请 key:https://console.bce.baidu.com/qianfan/ +# WEB_SEARCH_BAIDU_QIANFAN_API_KEY= +WEB_SEARCH_BAIDU_QIANFAN_BASE_URL=https://qianfan.baidubce.com + # ---- 后台思考 ---- +# ⚠️ 未接线(全仓无消费者),配了不生效;是否接线待主人拍板 +# (DevDocs/audit/07-backthink-automation-iot.md §1-17)。 ENABLE_BACKGROUND_THINKING=true # 自主思考心跳周期(秒)。默认 900(15 分钟一次);数值越小越频繁打扰。 THINK_INTERVAL_SEC=900 +# 静默时段内的心跳周期(秒)。默认 3600(1 小时):当前时刻落在安静时段 +# (QUIET_START_HOUR–QUIET_END_HOUR)内时,周期性心跳改用该间隔降频,窗外仍用 +# THINK_INTERVAL_SEC;≤0 = 关闭降频(回落普通间隔,不是「半夜不思考」)。 +# ⚠️ 只作用于周期性心跳:事件驱动(安全域/急性事件)照旧立刻触发、穿透安静时段。 +THINK_QUIET_INTERVAL_SEC=3600 THINK_SILENCE_TIMEOUT_SEC=120 # 主动推送频率(design/12 §6):窗口内最多 PushLimit 次;推后冷却 Cooldown 秒; # 同一风味(问候/提醒/分享/关心)在 KindWindow 秒内最多一次;主人最近消息在