参考/设置参考
设置参考
v1.0.x · 已更新 2026-08-06
本页列出运维人员可以在 AiHummer 服务器上修改的全部设置。页面由产品自身的目录生成,因此与您的服务器完全一致。
可在 Web 界面中设置,也可使用命令 aihummer settings set KEY VALUE(参见命令行)。默认值一列显示在您未设置自己的值之前服务器使用的值。
[!NOTE]
此处从不打印密钥的值,供应商的服务用键完全不予列出——产品会将它们从所有列表中隐藏。短横线表示空值,或表示仅在 Web 界面中显示的说明。
API
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_PERSONAL_API_KEYS |
OpenAI-compat 的个人 API 密钥 |
bool |
1 |
“off”会在 OpenAI 兼容端点上禁用个人密钥身份验证。任何其他值=启用。在启动时/重新启动后应用。 |
Agent
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_APPROVAL_TOOLS |
需要批准的工具 |
text |
— |
— |
AIHUMMER_SUBAGENT_MAX_DEPTH |
子代理最大深度 |
int |
2 |
— |
AIHUMMER_SUBAGENT_TIMEOUT_SEC |
子代理超时(秒) |
int |
180 |
单个子代理运行的最长时间(以秒为单位)。在启动时/重新启动后应用。 |
AIHUMMER_TOOL_SEARCH |
延迟工具加载 (tool_search) |
bool |
false |
仅宣传核心工具和搜索元工具,并按需显示其余工具。安装许多工具时,可以加快周转速度并降低成本,但模型忽略很少使用的工具的风险很小。 |
AIHUMMER_TOOL_SEARCH_CORE |
延迟工具加载:永远在线的工具 |
text |
— |
即使在惰性中,逗号分隔的工具名称也会预先公布模式。 |
AIHUMMER_TOOL_SEARCH_THRESHOLD |
延迟工具加载:推迟的最少工具 |
int |
12 |
仅当超过这么多工具在代理的配置文件过滤器中幸存下来时才推迟。 |
Agent · Reasoning
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_AGENT_BEST_OF_N |
N 个最佳样本(0/1=关闭,≥2=开启) |
int |
0 |
≥2 个样本 N 个候选者并判断最好的。花费 N× 生成。 |
AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT |
辩论:判断提示(覆盖) |
text |
— |
覆盖辩论法官提示(空白 = 内置)。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_DEBATE_N |
辩论小组大小(0/1=关闭,≥2=开启) |
int |
0 |
≥2 运行一个由 N 名候选人 + 法官组成的辩论小组。花费 N× 代。 |
AIHUMMER_AGENT_DEBATE_PROMPT |
辩论:候选人提示(覆盖) |
text |
— |
覆盖辩论候选人提示(空白 = 内置)。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_DEBATE_ROUNDS |
辩论:回合 |
int |
1 |
候选人小组的辩论轮数。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_JUDGE_PROMPT |
Best-of-N 判断提示(覆盖) |
text |
— |
覆盖 best-of-N 判断提示(空白 = 内置)。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_PLAN_PROMPT |
规划提示(覆盖) |
text |
— |
覆盖规划器提示(空白=内置)。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_PLAN_STEPS |
规划器执行器:最大规划步骤(0=关闭) |
int |
0 |
⟩0 运行单独的规划器→执行器→合成过程(适用于复杂的多步骤任务)。 0 禁用。通常为 4–8。 |
AIHUMMER_AGENT_PLAN_STEP_ITERS |
规划器:每步工具迭代次数(0=默认) |
int |
0 |
限制每个计划步骤的工具调用迭代。 0 = 内置默认值 (4)。 |
AIHUMMER_AGENT_REFLECT |
自我批评通过 |
bool |
0 |
在最终答案之前添加反思/自我批评。 |
AIHUMMER_AGENT_REFLECT_PROMPT |
反思提示(覆盖) |
text |
— |
覆盖自我批评提示(空白 = 内置)。在启动时/重新启动后应用。 |
AIHUMMER_AGENT_SELF_HEAL |
自我修复工具错误重试(0=关闭) |
int |
0 |
⟩0 重试失败的工具调用并提供纠正提示,直至达到此界限。 |
Agent · System prompt
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_LOCALE |
默认区域设置 |
text |
ru-RU |
默认回复语言/区域设置提示,例如茹-茹。角色/操作员指令覆盖。 |
AIHUMMER_TIMEZONE |
时区 |
text |
UTC |
IANA 用于日期注入的时区,例如欧洲/莫斯科。默认 UTC。 |
Channels
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_CONFIDENTIAL_PERSONA |
机密网络角色 |
bool |
0 |
启用后,网络聊天代理不会泄露或保留其角色/身份详细信息,并保留对手头任务的回复 - 将其用于匿名或隐私敏感的网络部署。在启动时/重新启动后应用。 |
AIHUMMER_INBOUND_REQUIRE_BINDING |
仅回复已配置的用户 |
text |
true |
true =机器人会忽略任何 NOT 已配置 AiHummer 用户(具有角色绑定的用户)的频道发送者 — 随机聊天成员和访客调用不会得到回复。 false(默认)= 回复所有人。 |
Integrations
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_A2A_PUBLISH |
通过 Agent2Agent 发布代理(A2A) |
bool |
0 |
将代理发布为 A2A 服务器(代理卡 + POST /a2a/message)。在启动时/重新启动后应用。 |
AIHUMMER_MCP_EXPORT_TOOLS |
— |
text |
— |
— |
AIHUMMER_MCP_PUBLISH |
通过 MCP 发布工具 |
bool |
0 |
将工具发布为 MCP 服务器,位于 POST /v1/mcp。在启动时/重新启动后应用。 |
Knowledge connectors
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_KB_SYNC_INTERVAL |
预定的连接器重新同步间隔(0/empty = 关闭) |
text |
— |
所有工作区中每个配置的知识连接器后台自动重新同步的持续时间(例如 6 小时、30 分钟)。空白/0 = 关闭。重新同步是幂等的(按源替换,不重复)。 slack_export 被排除(其 zip 是手动上传的)。在启动时/重新启动后应用。 |
LLM
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_CASCADE_MIN_CHARS |
级联:升级的最小字符数 |
int |
0 |
更强级联模型启动的请求长度阈值(字符)。0 = 默认值。在启动时/重新启动后应用。 |
AIHUMMER_CASCADE_STRONG_MODEL |
级联:更强的后备模型 |
text |
— |
用于级联长/复杂请求的模型(空白=关闭)。在启动时/重新启动后应用。 |
AIHUMMER_CODEX_BASE_URL |
Codex 库 URL |
text |
— |
Codex 的基础(ChatGPT 订阅)传输。在启动时/重新启动后应用。 |
AIHUMMER_CODEX_MAX_OUTPUT_TOKENS |
最大输出令牌(0 = 无上限) |
int |
0 |
聊天回合的 max_output_tokens 上限。 0 = 无上限。在推理模型上,推理令牌也计入此预算,因此太小的值会产生空的“不完整:max_output_tokens”回复。即时应用(无需重新启动)。 |
AIHUMMER_CODEX_MODEL |
模型 ID(Codex/gpt-5.5 传输) |
text |
gpt-5.5 |
主要 Codex/ChatGPT 传输的模型 ID(例如 gpt-5.5、gpt-5.5-codex)。在启动时/重新启动后应用。 |
AIHUMMER_CODEX_REASONING_EFFORT |
推理工作 |
enum: none \| low \| medium \| high \| xhigh |
low |
当代理的参数未设置时,模型的聊天推理深度会发生变化。有效的 gpt-5.5 值:无、低、中、高、xhigh(NOT 最小 — gpt-5.5 拒绝它并使用 HTTP 400)。更高=更好的质量但更慢/更昂贵。无效值被安全地强制为低值。即时应用(无需重新启动)。 |
AIHUMMER_LLM_CALL_TIMEOUT_S |
每次调用超时(秒) |
int |
120 |
SINGLE 模型调用的时间预算(防失速:gpt-5.5 可以无限期地“思考”并保持回合开放)。到期后,调用将失败并显示 ErrCallTimeout,无需重试。 0 = 无限制。即时应用(无需重新启动)。 |
AIHUMMER_LLM_GATEWAY_URL |
LLM 网关 URL |
text |
— |
代理调用的 OpenAI 兼容模型端点的基本 URL(您的本地 llama.cpp/vLLM/Ollama 服务器或托管网关)。留空以使用提供商的默认端点。 |
AIHUMMER_LLM_MODEL |
LLM 模型 |
text |
— |
每次发送到提供商的模型名称/ID(您的端点所服务的模型)。必须与端点实际公开的模型匹配。 |
AIHUMMER_LLM_PROVIDER |
LLM 提供商 |
text |
— |
要使用哪种模型后端(OpenAI 兼容端点或 Codex/ChatGPT 订阅传输)。决定如何发送和验证请求。 |
AIHUMMER_LLM_RETRIES |
LLM 发生暂时性错误时重试 |
int |
3 |
因暂时性错误而重试 LLM 请求的次数。在启动时/重新启动后应用。 |
AIHUMMER_LLM_TEMPERATURE |
温度 |
text |
— |
当代理的参数未设置时采样温度 (0..2)。空白 = 不发送。 NOTE:gpt-5.5 推理模型(Codex)拒绝温度 — 将字段留空;仅当使用非推理后端时才设置它。即时应用(无需重新启动)。 |
AIHUMMER_LLM_TOP_P |
Top-p(细胞核采样) |
text |
— |
当代理的参数未设置时,核采样阈值 (0..1)。空白 = 不发送。与温度一样,gpt-5.5 推理会拒绝它 - 仅将其设置为非推理后端。即时应用(无需重新启动)。 |
AIHUMMER_OPENAI_API |
OpenAI API 样式(聊天 | 响应) |
enum: \| chat \| responses |
— |
chat = /chat/completions,responses = /responses。空白 = 自动/默认。在启动时/重新启动后应用。 |
AIHUMMER_OPENAI_API_KEY |
原生 OpenAI API 密钥(部署默认值) |
text |
— |
用于本机 OpenAI 循环的 OpenAI 帐户密钥(如果您使用 OpenAI 作为默认提供商)。不要与模型页面上的每个工作空间 BYOK 混淆。在启动/重启后应用。 |
AIHUMMER_OPENAI_BASE_URL |
原生 OpenAI 基础 URL |
text |
— |
OpenAI 兼容的 API 的基础(例如 https://api.openai.com/v1). 在启动/重启后应用。 |
AIHUMMER_OPENAI_MODEL |
原生 OpenAI 模型 |
text |
— |
本机 OpenAI 循环的模型(当设置 AIHUMMER_OPENAI_API_KEY 时)。在启动时/重新启动后应用。 |
AIHUMMER_ROUTER_COMPLEX_MODEL |
路由器:复杂转弯模型 |
text |
— |
复杂请求的模型(空白=带禁用)。在启动时/重新启动后应用。 |
AIHUMMER_ROUTER_SIMPLE_MODEL |
路由器:简单转弯模型 |
text |
— |
简单请求的模型(空白 = 带禁用)。在启动时/重新启动后应用。 |
AIHUMMER_ROUTER_STANDARD_MODEL |
路由器:标准转弯模型 |
text |
— |
标准请求的模型(空白 = 带禁用)。在启动时/重新启动后应用。 |
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_DEEPGRAM_API_KEY |
Deepgram API 密钥 |
text |
— |
Deepgram API 密钥(STT 引擎 = deepgram)。取自此处或 AIHUMMER_STT_API_KEY。在启动时/重新启动后应用。 |
AIHUMMER_DEEPGRAM_MODEL |
Deepgram 模型 |
text |
nova-2 |
Deepgram 模型(例如 nova-2、nova-3、base)。取决于项目对密钥的访问权限。在启动时/重新启动后应用。 |
AIHUMMER_DEEPGRAM_URL |
Deepgram 基础 URL |
text |
— |
Deepgram API 基础。空白 = https://api.deepgram.com. 在启动时/重新启动后应用。 |
AIHUMMER_IMAGE_BASE_URL |
图像 API base URL(OpenAI 后备) |
text |
— |
通过 OpenAI 密钥工作时 /images API 的基础(空白 = https://api.openai.com/v1). 在启动/重新启动后应用。 |
AIHUMMER_IMAGE_MODEL |
图像生成模型 |
text |
— |
image_generate 的模型(默认 gpt-image-2)。在启动/重新启动后应用。 |
AIHUMMER_MEDIA_MAX_UPLOAD_MB |
媒体最大上传大小 (MB) |
int |
256 |
单个媒体上传的最大大小 (PUT /v1/media/{id}/content),以兆字节为单位。通过公共端口限制磁盘写入(溢出保护)。默认256。启动时/重启后应用。 |
AIHUMMER_STT_API_KEY |
STT API 密钥(可选) |
text |
— |
如果 STT sidecar 需要一个可选承载(install.sh 可能会生成它)。在启动时/重新启动后应用。 |
AIHUMMER_STT_CODEX_URL |
STT codex-engine URL |
text |
— |
codex 引擎的 OpenAI 兼容 /v1/audio/transcriptions 的基础(通过 ChatGPT 订阅进行转录)。空白 = Codex 基础。持有者取自 AIHUMMER_STT_API_KEY 或 AIHUMMER_CODEX_ACCESS_TOKEN。在启动时/重新启动后应用。 |
AIHUMMER_STT_ENGINE |
STT 引擎 |
enum: faster-whisper \| deepgram \| off |
faster-whisper |
语音识别引擎。 fast-whisper = 免费的本地 sidecar(默认,开箱即用,URL = AIHUMMER_STT_URL,第三方 API 上没有负载)。 deepgram = 云 Deepgram(快速,关键 AIHUMMER_DEEPGRAM_API_KEY,通过免费套餐付费)。关闭 = 禁用识别。 (Codex/ChatGPT 订阅 NOT 支持音频转录。)在启动时/重新启动后应用。 |
AIHUMMER_STT_LANGUAGE |
STT 语言 |
text |
— |
识别语言(BCP-47,例如 ru/en)。由 deepgram 引擎(nova-2 模型)使用。空白=自动检测/引擎默认。在启动时/重新启动后应用。 |
AIHUMMER_STT_MODEL |
STT 模型 |
text |
Systran/faster-whisper-small |
faster-whisper 模型(例如小/中/大-v3 或 Systran/faster-whisper-⟨size⟩)。在启动/重新启动后应用。 |
AIHUMMER_STT_URL |
语音转文本(更快的耳语)URL |
text |
— |
URL 本地 fast-whisper sidecar(OpenAI 兼容的 /v1/audio/transcriptions)。 Blank = auto-default http://127.0.0.1:8001, install.sh 自行设置。在启动时/重新启动后应用。 |
AIHUMMER_TTS_API_KEY |
TTS API 密钥(edge-tts) |
text |
— |
网关和edge-tts sidecar 之间的承载(install.sh 自动生成)。在启动时/重新启动后应用。 |
AIHUMMER_TTS_ENABLED |
启用文本转语音 |
bool |
1 |
启用语音合成(tts 工具 + 语音模式)。 Edge-tts sidecar 开箱即用。在启动时/重新启动后应用。 |
AIHUMMER_TTS_MODEL |
TTS 模型 |
text |
— |
edge-tts 服务的模型名称。在启动/重启后应用。 |
AIHUMMER_TTS_URL |
文本转语音 (edge-tts) URL |
text |
— |
本地edge-tts sidecar的URL(OpenAI兼容/v1/audio/speech)。 Blank = auto-default http://127.0.0.1:8002, install.sh 自行设置。在启动时/重新启动后应用。 |
AIHUMMER_TTS_VOICE |
TTS 语音(默认 de-DE-FlorianMultilingualNeural) |
text |
de-DE-FlorianMultilingualNeural |
默认edge-tts语音(多语言,包括俄语)。在启动时/重新启动后应用。 |
AIHUMMER_VIDEO_API_KEY |
视频分析 API 密钥 |
text |
— |
视频分析边车的访问密钥(如果需要)。在启动时/重新启动后应用。 |
AIHUMMER_VIDEO_URL |
视频分析 (ffmpeg) URL |
text |
— |
视频分析 sidecar 的URL。空白 = 关闭。在启动时/重新启动后应用。 |
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_VOICE_AEC |
回声消除 (AEC) |
bool |
1 |
捕获时需要 echoCancellation (WebRTC)。消除麦克风中的 TTS 回声 (Moltis #1129)。 |
AIHUMMER_VOICE_AGC |
自动增益控制 |
bool |
1 |
— |
AIHUMMER_VOICE_BARGEIN_FRAMES |
插入帧 |
int |
5 |
有多少个连续语音帧 (≈20ms) 会中断机器人的播放。 |
AIHUMMER_VOICE_DUPLEX |
实时全双工语音 |
bool |
0 |
启用实时全双工模式(流媒体 + VAD + 插入)。在启动时/重新启动后应用。 |
AIHUMMER_VOICE_NOISE_SUPPRESSION |
噪声抑制 |
bool |
1 |
— |
AIHUMMER_VOICE_VAD_THRESHOLD |
VAD能量阈值(0..1) |
text |
0.02 |
捕获的 VAD 门控的语音能量阈值; lower = 更敏感。 |
Memory
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_EMBEDDER_DIM |
嵌入器向量暗淡 |
int |
768 |
向量维度 — 必须与模型匹配(multilingual-e5-base=768、bge-m3=1024)。 |
AIHUMMER_EMBEDDER_KEEPALIVE |
嵌入器保持活动状态 |
text |
5m |
Ollama 嵌入器的 keep_alive(仅当 AIHUMMER_MEMORY_RETRIEVAL=embedding 时)。默认 5m — 空闲模型被卸载,卡住的空闲 ollama 跑步者会自行清除。不推荐 -1(永远保留):由于 ollama bug,卡住的跑步者可以将 CPU 核心固定数天。空闲后的冷启动被网关启动时的预热所抵消。在启动时/重新启动后应用。 |
AIHUMMER_EMBEDDER_MODEL |
嵌入器模型 |
text |
yxchia/multilingual-e5-base |
Ollama 嵌入模型。默认 multilingual-e5-base — 多语言(包括俄语)、768-dim、轻 + 快速 CPU (~1-2s/embed)。 e5 查询/段落前缀会自动应用。为了在 GPU 硬件上获得最大质量,请使用 bge-m3(设置 DIM=1024)。必须匹配 AIHUMMER_EMBEDDER_DIM。 |
AIHUMMER_EMBEDDER_PASSAGE_PREFIX |
嵌入通道前缀 |
text |
— |
覆盖存储文档前缀(e5 型号自动使用“passage:”)。留空可按型号名称自动检测。 |
AIHUMMER_EMBEDDER_QUERY_PREFIX |
嵌入器查询前缀 |
text |
— |
覆盖检索查询前缀(e5 型号自动使用“query:”)。留空以按模型名称自动检测。 |
AIHUMMER_EMBEDDER_URL |
嵌入器URL(Ollama兼容) |
text |
— |
真正的语义嵌入。安装程序提供 Ollama sidecar 并自动设置; UNSET = 哈希嵌入器(仅限词汇,弱召回)。 |
AIHUMMER_MEMORY_CAPTURE |
内存捕获模式 |
enum: auto \| review \| off |
auto |
auto = 自动记住+调用;审查 = 记住作为需要手动批准的候选人; off = 不捕获。 |
AIHUMMER_MEMORY_CONTEXT_TIMEOUT |
内存水合超时 |
text |
3s |
回复开始时内存水合的最长等待时间(查询嵌入 + 搜索)。如果嵌入器过载并错过了最后期限,则回复将继续 WITHOUT 内存块而不是挂起。 Go 持续时间格式(例如 2 秒、1500 毫秒)。 0 = 无限制。在启动时/重新启动后应用。 |
AIHUMMER_MEMORY_DREAM_INTERVAL |
Dream pass间隔 |
string |
1h |
自我维护的梦想通行证扫描所有范围内矛盾的审查声明的频率(Go 持续时间,例如 30m/1h/6h)。设置 0 禁用。 |
AIHUMMER_MEMORY_EXTRACT |
LLM事实提取 |
bool |
1 |
通过 LLM (默认开启)提取规范化的主语/谓语/宾语事实,而不是存储原始句子片段 - 这是图/矛盾/梦机制启动所需的。每条捕获的消息添加一个 LLM 调用;开始保存通话。 |
AIHUMMER_MEMORY_RETRIEVAL |
内存检索模式 |
enum: fulltext \| embedding |
fulltext |
如何搜索内存。 fulltext(默认)= Postgres 对事实文本进行全文搜索 — 没有嵌入器模型,没有 sidecar,没有 CPU 负载(就像 AiHummer 中的旧爱因斯坦一样)。嵌入 = 通过嵌入器进行语义向量搜索 (AIHUMMER_EMBEDDER_URL/ollama) — 含义更准确,但加载 CPU 并需要 sidecar。在启动时/重新启动后应用。 |
AIHUMMER_MEMORY_TOKEN |
远程内存服务令牌 |
text |
— |
用于使用 Einstein 检索 API 进行授权的服务令牌(作为授权发送:持有者…)。仅当设置 AIHUMMER_MEMORY_URL 时才需要。空白 = 无授权(仅适用于禁用检索身份验证的开发安装)。 |
AIHUMMER_MEMORY_URL |
远程内存URL(爱因斯坦)插件) |
text |
— |
URL 的独立 Einstein 内存插件(合约 aihummer.memory.v1,例如 http://127.0.0.1:8820). BLANK (默认)= 进程内 Go 内存模块。设置后,转动上下文水合将通过 HTTP 到插件的 /context + /retrieval;出现错误/不可用时,它会轻轻下降返回到内置模块(不会崩溃)。 |
AIHUMMER_QDRANT_API_KEY |
Qdrant API 键 |
text |
— |
— |
AIHUMMER_QDRANT_URL |
Qdrant URL(持久向量存储) |
text |
— |
UNSET = 内存存储(重新启动时向量 LOST)。设置为生产持久性。 |
AIHUMMER_RERANKER_URL |
RAG 重新排序边车 URL |
text |
— |
HTTP URL 的交叉编码器 sidecar,用于重新排名混合搜索。空白=重新排名。在启动时/重新启动后应用。 |
Moderation
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_MODERATION |
输入审核 |
bool |
1 |
“off”禁用内置防护以防止越狱/提示注入。任何其他值=启用。 |
AIHUMMER_MODERATION_REFUSAL |
审核拒绝消息 |
text |
— |
当主持人阻止请求时返回拒绝文本(空白=内置)。 |
Public access
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_PUBLIC_URL |
公共网关 URL(Web UI + 客户端) |
text |
— |
代理此主机 → 网关端口(AIHUMMER_GATEWAY_ADDR,默认值:8780)。由 Web UI 和 iOS/Web 客户端使用。 |
POCKET_AGENT_GATEWAY_BASE_URL |
Pocket-agent 网关公共URL |
text |
— |
代理 → pocket-agent 网关端口(POCKET_AGENT_PORT,默认 8080)。远程代理通过一次性票证拨打此端口。 |
TELEGRAM_PUBLIC_URL |
Telegram webhook 公共 URL |
text |
— |
仅限 Webhook 模式 — 代理 → 电报连接器端口(AIHUMMER_TELEGRAM_CONNECTOR_PORT,默认 8091)。留空以使用轮询(无公共)。需要 URL)。 |
SSO (LDAP/AD)
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_LDAP_BASE_DN |
用户搜索基础 DN |
text |
— |
搜索根目录,例如OU=Users,DC=corp,DC=example。 |
AIHUMMER_LDAP_BIND_DN |
服务绑定 DN |
text |
— |
用于初始搜索绑定的帐户,例如CN=svc-aihummer,OU=服务,DC=corp,DC=示例。空白 = 匿名搜索。 |
AIHUMMER_LDAP_DEFAULT_ROLE |
LDAP:默认角色(无组匹配) |
text |
— |
没有组与映射匹配时授予的角色。空白 = 无角色。 |
AIHUMMER_LDAP_ENABLED |
启用 LDAP/AD 登录 |
bool |
0 |
启用后,管理员登录将回退到目录。绑定密码位于 Secrets 中(范围 ldap,名称 bind_password)。 |
AIHUMMER_LDAP_GROUP_ATTR |
组属性(默认 memberOf) |
text |
— |
列出组 DN 的用户条目属性。空白禁用组→角色映射。 |
AIHUMMER_LDAP_ROLE_MAPPINGS |
LDAP:组→角色映射 (JSON) |
text |
— |
JSON组DN(或裸CN)对象→角色,例如{“CN=Admins,OU=Groups,DC=corp,DC=example”:“admin”,“Operators”:“operator”}。 |
AIHUMMER_LDAP_SKIP_TLS_VERIFY |
跳过 TLS 验证(仅限实验室,1/0) |
bool |
0 |
禁用目录证书验证。切勿在生产中启用。 |
AIHUMMER_LDAP_URL |
目录URL |
text |
— |
例如ldaps://ad.corp.example:636 (TLS) 或 ldap://dc1.corp.example:389。 |
AIHUMMER_LDAP_USER_ATTR |
登录属性(默认 sAMAccountName) |
text |
— |
LDAP/Active Directory 属性与用户输入的登录名相匹配(默认 sAMAccountName;OpenLDAP 的 uid,UPN 式登录的 userPrincipalName)。 |
AIHUMMER_LDAP_USER_FILTER |
用户搜索过滤器 |
text |
— |
登录时必须包含 %s。 AD: (sAMAccountName=%s); OpenLDAP:(uid=%s)。 |
SSO (OIDC)
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_OIDC_AUDIENCE |
OIDC 受众 |
text |
— |
预期 aud 声明 — 将其设置为 THIS 资源的受众,以拒绝为其他依赖方铸造的代币。默认情况下,每个令牌上的 aud 声明现在为 REQUIRED (没有 aud 的令牌将被拒绝);设置后,aud 也必须包含它。强烈建议在生产中使用。 |
AIHUMMER_OIDC_ISSUER |
OIDC 发行人 URL |
text |
— |
IdP 颁发者(例如 https://login.example.com). 在设置时启用 OIDC JWT 身份验证。 |
AIHUMMER_OIDC_JWKS_URL |
OIDC JWKS 地址 |
text |
— |
JSON 用于验证令牌签名的 Web 密钥集端点。 |
AIHUMMER_OIDC_TENANT_CLAIM |
OIDC 工作区声明 |
text |
— |
JWT 声明携带工作区 ID(例如,tenant_id / org)。 |
SSO (SAML)
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_SAML_DEFAULT_ROLE |
SAML:默认角色(无组)匹配) |
text |
— |
没有断言值映射时授予的角色。空白 = 无角色。 |
AIHUMMER_SAML_ENABLED |
启用SAML 2.0 SSO |
bool |
0 |
公开 /saml/metadata、/saml/acs、/saml/login。 SP 私钥位于 Secrets 中(范围 saml,名称 sp_key)。 |
AIHUMMER_SAML_ENTITY_ID |
SP 实体 ID |
text |
— |
SP 实体 ID(如果为空,则默认为 ⟨root⟩/saml/metadata)。 |
AIHUMMER_SAML_IDP_METADATA |
IdP 元数据 XML |
text |
— |
粘贴 IdP 的 SAML 元数据文档 (Okta/Azure AD/ADFS)。 |
AIHUMMER_SAML_ROLE_ATTRIBUTE |
角色/组属性(默认组) |
text |
— |
携带组/角色值的断言属性。 |
AIHUMMER_SAML_ROLE_MAPPINGS |
SAML:组→角色映射 (JSON) |
text |
— |
JSON 断言值对象 → 角色,例如{“AdminGroup”:“admin”,“Ops”:“operator”}。 |
AIHUMMER_SAML_ROOT_URL |
SP 根 URL |
text |
— |
此网关的外部可访问基点 URL,例如https://app.example.com. ACS = ⟨root⟩/saml/acs。 |
AIHUMMER_SAML_SP_CERT |
SP 证书 (PEM) |
text |
— |
公共 SP 签名证书 (PEM)。匹配的私钥位于 Secrets 中(范围 saml,名称 sp_key)。 |
Security
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_AIRGAPPED |
气隙模式 |
bool |
0 |
阻止模型驱动的到公共互联网的出站(仅限内部/白名单主机)。启动时/重启后应用。 |
AIHUMMER_AUDIT_RETENTION_DAYS |
审核日志保留(天,0=永远) |
int |
0 |
保留审核日志多少天;较旧的条目每天都会被删除。 0/空白=永远保留。在启动时/重新启动后应用。 |
AIHUMMER_CODE_EXEC_ALLOW_HOST |
允许在主机上执行 code_exec(无沙箱) |
bool |
0 |
⚠️ 允许直接在主机上执行代码,无需沙箱。仅适用于值得信赖的家庭实验室。设置 AIHUMMER_CODE_EXEC_SANDBOX_IMAGE 更安全。在启动时/重新启动后应用。 |
AIHUMMER_CORS_ORIGINS |
允许的 CORS 来源(逗号) |
text |
— |
以逗号分隔的允许来源列表。不允许空白 = CORS(仅限同源)。在启动时/重新启动后应用。 |
AIHUMMER_CSP |
Content-Security-Policy 标头(覆盖) |
text |
— |
覆盖 CSP 标头。空白 = 安全默认值。在启动时/重新启动后应用。 |
AIHUMMER_INBOUND_SECRET |
连接器→网关共享Secret |
text |
— |
验证连接器→网关跃点的共享密钥(必须与连接器端的值匹配)。空白 = 入站端点为 UNAUTHENTICATED。在启动时/重新启动后应用。 |
AIHUMMER_OPENAI_COMPAT_KEY |
OpenAI 兼容入站:静态 API 密钥 |
text |
— |
静态密钥 OpenAI 兼容客户端用于针对网关的内置 /v1 端点(P8 家庭网关)进行身份验证。空白 = 禁用静态身份验证(保留个人密钥)。在启动时/重新启动后应用。 |
AIHUMMER_OPENAI_COMPAT_WORKSPACE |
OpenAI 兼容入站:工作区 ID |
text |
— |
静态 OpenAI 兼容身份验证映射到的工作区 ID。空白 = AIHUMMER_DEFAULT_WORKSPACE_ID。在启动时/重新启动后应用。 |
AIHUMMER_REQUIRE_2FA |
需要 2FA运算符 |
bool |
0 |
操作员需要第二个因素 (TOTP/passkey)。启用后,没有 2FA 的操作员会在登录时收到立即设置的提示(不会阻塞,因此所有者永远不会被锁定)。立即申请。 |
AIHUMMER_REQUIRE_SECURE |
仅接受安全 (HTTPS/WSS) 连接 |
bool |
0 |
启用后,普通 HTTP 请求将重定向到 HTTPS (对于 GET/HEAD)或被拒绝 (403);始终允许本地主机访问,因此操作员永远不会被排除在外。尊重来自 TLS 终止反向代理的 X-Forwarded-Proto。在启动时/重新启动后应用。 |
AIHUMMER_TRUSTED_PROXIES |
受信任的反向代理 CIDR(逗号) |
text |
— |
以逗号分隔的受信任反向代理网络列表(CIDR,例如 10.0.0.0/8,192.168.0.0/16 或单个 IP)。仅对来自这些地址的请求,X-Forwarded-For 标头才用于确定客户端 IP(审计、IP 白名单、防暴力破解)。空白 = 仅信任真实对等地址(忽略 XFF,无法伪造 IP)。动态应用。 |
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_CODE_EXEC |
启用 code_exec |
bool |
0 |
— |
AIHUMMER_CODE_EXEC_INTERPRETERS |
代码执行解释器 (JSON) |
text |
— |
JSON 对象 {language: path_to_binary},例如{“python”:“/usr/bin/python3”}。空白 = 自动检测。在启动时/重新启动后应用。 |
AIHUMMER_CODE_EXEC_SANDBOX_IMAGE |
代码执行沙盒映像 |
text |
— |
用于隔离 code_exec 的容器映像(无网络、只读 rootfs、限制)。空白=主机执行(可信环境)。在启动时/重新启动后应用。 |
AIHUMMER_DB_QUERY_DSN |
db_query DSN(使用最低权限、非所有者角色 — 查询运行在 RLS 范围内的作用工作区) |
text |
— |
— |
AIHUMMER_FS_ROOT |
文件系统工具根目录 |
text |
— |
— |
AIHUMMER_HTTP_ALLOWLIST |
http_request 允许列表 |
text |
— |
— |
AIHUMMER_HTTP_AUTH_JSON |
http_request auth (JSON) |
text |
— |
— |
AIHUMMER_MCP_SERVERS |
MCP 服务器 (JSON) |
text |
— |
— |
AIHUMMER_WEBFETCH_ALLOWLIST |
web_fetch 允许列表 |
text |
— |
— |
Web UI (separate port)
| 键 |
名称 |
类型 |
默认值 |
作用 |
AIHUMMER_WEBUI_API_BASE |
API base URL Web UI 调用 |
text |
— |
绝对来源(例如 https://api.example.com) /v1/admin/* 调用的单独托管的 SPA 目标。空白 = 回退到公共网关 URL,然后到本地网关地址。必须可从管理员的浏览器访问;API 必须允许此 Web UI 的来源通过 CORS (下面自动添加)。 |
AIHUMMER_WEBUI_ENABLED |
在自己的端口上提供管理 Web UI |
bool |
1 |
默认启用:管理员 SPA 由单独侦听器 (AIHUMMER_WEBUI_ADDR) 的 ROOT 提供服务,该侦听器可以绑定到仅限内部的接口。主网关端口保留 API + 配对 + WS + SSE 并为 /admin/ 提供 NOT 服务。设置为 0 可完全禁用 Web UI 侦听器。 |
AIHUMMER_WEBUI_ORIGIN |
Web UI 浏览器源 (CORS) |
text |
— |
Web UI 的浏览器来源(例如,https://admin.example.com), 使用凭据自动添加到 API CORS 白名单中。空白 = 派生自 AIHUMMER_WEBUI_ADDR(http://host:port). 当浏览器通过与绑定不同的代理/主机名到达 Web UI 时设置此项地址。 |
运维人员可用的设置:138。
本页列出运维人员可以在 AiHummer 服务器上修改的全部设置。页面由产品自身的目录生成,因此与您的服务器完全一致。
可在 Web 界面中设置,也可使用命令 `aihummer settings set KEY VALUE`(参见[命令行](/zh/v1.0/reference/cli))。默认值一列显示在您未设置自己的值之前服务器使用的值。
> [!NOTE]
> 此处从不打印密钥的值,供应商的服务用键完全不予列出——产品会将它们从所有列表中隐藏。短横线表示空值,或表示仅在 Web 界面中显示的说明。
## API
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PERSONAL_API_KEYS` | OpenAI-compat 的个人 API 密钥 | bool | `1` | “off”会在 OpenAI 兼容端点上禁用个人密钥身份验证。任何其他值=启用。在启动时/重新启动后应用。 |
## Agent
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_APPROVAL_TOOLS` | 需要批准的工具 | text | — | — |
| `AIHUMMER_SUBAGENT_MAX_DEPTH` | 子代理最大深度 | int | `2` | — |
| `AIHUMMER_SUBAGENT_TIMEOUT_SEC` | 子代理超时(秒) | int | `180` | 单个子代理运行的最长时间(以秒为单位)。在启动时/重新启动后应用。 |
| `AIHUMMER_TOOL_SEARCH` | 延迟工具加载 (tool_search) | bool | `false` | 仅宣传核心工具和搜索元工具,并按需显示其余工具。安装许多工具时,可以加快周转速度并降低成本,但模型忽略很少使用的工具的风险很小。 |
| `AIHUMMER_TOOL_SEARCH_CORE` | 延迟工具加载:永远在线的工具 | text | — | 即使在惰性中,逗号分隔的工具名称也会预先公布模式。 |
| `AIHUMMER_TOOL_SEARCH_THRESHOLD` | 延迟工具加载:推迟的最少工具 | int | `12` | 仅当超过这么多工具在代理的配置文件过滤器中幸存下来时才推迟。 |
## Agent · Reasoning
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AGENT_BEST_OF_N` | N 个最佳样本(0/1=关闭,≥2=开启) | int | `0` | ≥2 个样本 N 个候选者并判断最好的。花费 N× 生成。 |
| `AIHUMMER_AGENT_DEBATE_JUDGE_PROMPT` | 辩论:判断提示(覆盖) | text | — | 覆盖辩论法官提示(空白 = 内置)。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_DEBATE_N` | 辩论小组大小(0/1=关闭,≥2=开启) | int | `0` | ≥2 运行一个由 N 名候选人 + 法官组成的辩论小组。花费 N× 代。 |
| `AIHUMMER_AGENT_DEBATE_PROMPT` | 辩论:候选人提示(覆盖) | text | — | 覆盖辩论候选人提示(空白 = 内置)。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_DEBATE_ROUNDS` | 辩论:回合 | int | `1` | 候选人小组的辩论轮数。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_JUDGE_PROMPT` | Best-of-N 判断提示(覆盖) | text | — | 覆盖 best-of-N 判断提示(空白 = 内置)。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_PLAN_PROMPT` | 规划提示(覆盖) | text | — | 覆盖规划器提示(空白=内置)。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_PLAN_STEPS` | 规划器执行器:最大规划步骤(0=关闭) | int | `0` | ⟩0 运行单独的规划器→执行器→合成过程(适用于复杂的多步骤任务)。 0 禁用。通常为 4–8。 |
| `AIHUMMER_AGENT_PLAN_STEP_ITERS` | 规划器:每步工具迭代次数(0=默认) | int | `0` | 限制每个计划步骤的工具调用迭代。 0 = 内置默认值 (4)。 |
| `AIHUMMER_AGENT_REFLECT` | 自我批评通过 | bool | `0` | 在最终答案之前添加反思/自我批评。 |
| `AIHUMMER_AGENT_REFLECT_PROMPT` | 反思提示(覆盖) | text | — | 覆盖自我批评提示(空白 = 内置)。在启动时/重新启动后应用。 |
| `AIHUMMER_AGENT_SELF_HEAL` | 自我修复工具错误重试(0=关闭) | int | `0` | ⟩0 重试失败的工具调用并提供纠正提示,直至达到此界限。 |
## Agent · System prompt
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LOCALE` | 默认区域设置 | text | `ru-RU` | 默认回复语言/区域设置提示,例如茹-茹。角色/操作员指令覆盖。 |
| `AIHUMMER_TIMEZONE` | 时区 | text | `UTC` | IANA 用于日期注入的时区,例如欧洲/莫斯科。默认 UTC。 |
## Channels
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CONFIDENTIAL_PERSONA` | 机密网络角色 | bool | `0` | 启用后,网络聊天代理不会泄露或保留其角色/身份详细信息,并保留对手头任务的回复 - 将其用于匿名或隐私敏感的网络部署。在启动时/重新启动后应用。 |
| `AIHUMMER_INBOUND_REQUIRE_BINDING` | 仅回复已配置的用户 | text | `true` | true =机器人会忽略任何 NOT 已配置 AiHummer 用户(具有角色绑定的用户)的频道发送者 — 随机聊天成员和访客调用不会得到回复。 false(默认)= 回复所有人。 |
## Integrations
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_A2A_PUBLISH` | 通过 Agent2Agent 发布代理(A2A) | bool | `0` | 将代理发布为 A2A 服务器(代理卡 + POST /a2a/message)。在启动时/重新启动后应用。 |
| `AIHUMMER_MCP_EXPORT_TOOLS` | — | text | — | — |
| `AIHUMMER_MCP_PUBLISH` | 通过 MCP 发布工具 | bool | `0` | 将工具发布为 MCP 服务器,位于 POST /v1/mcp。在启动时/重新启动后应用。 |
## Knowledge connectors
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_KB_SYNC_INTERVAL` | 预定的连接器重新同步间隔(0/empty = 关闭) | text | — | 所有工作区中每个配置的知识连接器后台自动重新同步的持续时间(例如 6 小时、30 分钟)。空白/0 = 关闭。重新同步是幂等的(按源替换,不重复)。 slack_export 被排除(其 zip 是手动上传的)。在启动时/重新启动后应用。 |
## LLM
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CASCADE_MIN_CHARS` | 级联:升级的最小字符数 | int | `0` | 更强级联模型启动的请求长度阈值(字符)。0 = 默认值。在启动时/重新启动后应用。 |
| `AIHUMMER_CASCADE_STRONG_MODEL` | 级联:更强的后备模型 | text | — | 用于级联长/复杂请求的模型(空白=关闭)。在启动时/重新启动后应用。 |
| `AIHUMMER_CODEX_BASE_URL` | Codex 库 URL | text | — | Codex 的基础(ChatGPT 订阅)传输。在启动时/重新启动后应用。 |
| `AIHUMMER_CODEX_MAX_OUTPUT_TOKENS` | 最大输出令牌(0 = 无上限) | int | `0` | 聊天回合的 max_output_tokens 上限。 0 = 无上限。在推理模型上,推理令牌也计入此预算,因此太小的值会产生空的“不完整:max_output_tokens”回复。即时应用(无需重新启动)。 |
| `AIHUMMER_CODEX_MODEL` | 模型 ID(Codex/gpt-5.5 传输) | text | `gpt-5.5` | 主要 Codex/ChatGPT 传输的模型 ID(例如 gpt-5.5、gpt-5.5-codex)。在启动时/重新启动后应用。 |
| `AIHUMMER_CODEX_REASONING_EFFORT` | 推理工作 | enum: none \\\| low \\\| medium \\\| high \\\| xhigh | `low` | 当代理的参数未设置时,模型的聊天推理深度会发生变化。有效的 gpt-5.5 值:无、低、中、高、xhigh(NOT 最小 — gpt-5.5 拒绝它并使用 HTTP 400)。更高=更好的质量但更慢/更昂贵。无效值被安全地强制为低值。即时应用(无需重新启动)。 |
| `AIHUMMER_LLM_CALL_TIMEOUT_S` | 每次调用超时(秒) | int | `120` | SINGLE 模型调用的时间预算(防失速:gpt-5.5 可以无限期地“思考”并保持回合开放)。到期后,调用将失败并显示 ErrCallTimeout,无需重试。 0 = 无限制。即时应用(无需重新启动)。 |
| `AIHUMMER_LLM_GATEWAY_URL` | LLM 网关 URL | text | — | 代理调用的 OpenAI 兼容模型端点的基本 URL(您的本地 llama.cpp/vLLM/Ollama 服务器或托管网关)。留空以使用提供商的默认端点。 |
| `AIHUMMER_LLM_MODEL` | LLM 模型 | text | — | 每次发送到提供商的模型名称/ID(您的端点所服务的模型)。必须与端点实际公开的模型匹配。 |
| `AIHUMMER_LLM_PROVIDER` | LLM 提供商 | text | — | 要使用哪种模型后端(OpenAI 兼容端点或 Codex/ChatGPT 订阅传输)。决定如何发送和验证请求。 |
| `AIHUMMER_LLM_RETRIES` | LLM 发生暂时性错误时重试 | int | `3` | 因暂时性错误而重试 LLM 请求的次数。在启动时/重新启动后应用。 |
| `AIHUMMER_LLM_TEMPERATURE` | 温度 | text | — | 当代理的参数未设置时采样温度 (0..2)。空白 = 不发送。 NOTE:gpt-5.5 推理模型(Codex)拒绝温度 — 将字段留空;仅当使用非推理后端时才设置它。即时应用(无需重新启动)。 |
| `AIHUMMER_LLM_TOP_P` | Top-p(细胞核采样) | text | — | 当代理的参数未设置时,核采样阈值 (0..1)。空白 = 不发送。与温度一样,gpt-5.5 推理会拒绝它 - 仅将其设置为非推理后端。即时应用(无需重新启动)。 |
| `AIHUMMER_OPENAI_API` | OpenAI API 样式(聊天 \| 响应) | enum: \\\| chat \\\| responses | — | chat = /chat/completions,responses = /responses。空白 = 自动/默认。在启动时/重新启动后应用。 |
| `AIHUMMER_OPENAI_API_KEY` | 原生 OpenAI API 密钥(部署默认值) | text | — | 用于本机 OpenAI 循环的 OpenAI 帐户密钥(如果您使用 OpenAI 作为默认提供商)。不要与模型页面上的每个工作空间 BYOK 混淆。在启动/重启后应用。 |
| `AIHUMMER_OPENAI_BASE_URL` | 原生 OpenAI 基础 URL | text | — | OpenAI 兼容的 API 的基础(例如 https://api.openai.com/v1). 在启动/重启后应用。 |
| `AIHUMMER_OPENAI_MODEL` | 原生 OpenAI 模型 | text | — | 本机 OpenAI 循环的模型(当设置 AIHUMMER_OPENAI_API_KEY 时)。在启动时/重新启动后应用。 |
| `AIHUMMER_ROUTER_COMPLEX_MODEL` | 路由器:复杂转弯模型 | text | — | 复杂请求的模型(空白=带禁用)。在启动时/重新启动后应用。 |
| `AIHUMMER_ROUTER_SIMPLE_MODEL` | 路由器:简单转弯模型 | text | — | 简单请求的模型(空白 = 带禁用)。在启动时/重新启动后应用。 |
| `AIHUMMER_ROUTER_STANDARD_MODEL` | 路由器:标准转弯模型 | text | — | 标准请求的模型(空白 = 带禁用)。在启动时/重新启动后应用。 |
## Media
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_DEEPGRAM_API_KEY` | Deepgram API 密钥 | text | — | Deepgram API 密钥(STT 引擎 = deepgram)。取自此处或 AIHUMMER_STT_API_KEY。在启动时/重新启动后应用。 |
| `AIHUMMER_DEEPGRAM_MODEL` | Deepgram 模型 | text | `nova-2` | Deepgram 模型(例如 nova-2、nova-3、base)。取决于项目对密钥的访问权限。在启动时/重新启动后应用。 |
| `AIHUMMER_DEEPGRAM_URL` | Deepgram 基础 URL | text | — | Deepgram API 基础。空白 = https://api.deepgram.com. 在启动时/重新启动后应用。 |
| `AIHUMMER_IMAGE_BASE_URL` | 图像 API base URL(OpenAI 后备) | text | — | 通过 OpenAI 密钥工作时 /images API 的基础(空白 = https://api.openai.com/v1). 在启动/重新启动后应用。 |
| `AIHUMMER_IMAGE_MODEL` | 图像生成模型 | text | — | image_generate 的模型(默认 gpt-image-2)。在启动/重新启动后应用。 |
| `AIHUMMER_MEDIA_MAX_UPLOAD_MB` | 媒体最大上传大小 (MB) | int | `256` | 单个媒体上传的最大大小 (PUT /v1/media/{id}/content),以兆字节为单位。通过公共端口限制磁盘写入(溢出保护)。默认256。启动时/重启后应用。 |
| `AIHUMMER_STT_API_KEY` | STT API 密钥(可选) | text | — | 如果 STT sidecar 需要一个可选承载(install.sh 可能会生成它)。在启动时/重新启动后应用。 |
| `AIHUMMER_STT_CODEX_URL` | STT codex-engine URL | text | — | codex 引擎的 OpenAI 兼容 /v1/audio/transcriptions 的基础(通过 ChatGPT 订阅进行转录)。空白 = Codex 基础。持有者取自 AIHUMMER_STT_API_KEY 或 AIHUMMER_CODEX_ACCESS_TOKEN。在启动时/重新启动后应用。 |
| `AIHUMMER_STT_ENGINE` | STT 引擎 | enum: faster-whisper \\\| deepgram \\\| off | `faster-whisper` | 语音识别引擎。 fast-whisper = 免费的本地 sidecar(默认,开箱即用,URL = AIHUMMER_STT_URL,第三方 API 上没有负载)。 deepgram = 云 Deepgram(快速,关键 AIHUMMER_DEEPGRAM_API_KEY,通过免费套餐付费)。关闭 = 禁用识别。 (Codex/ChatGPT 订阅 NOT 支持音频转录。)在启动时/重新启动后应用。 |
| `AIHUMMER_STT_LANGUAGE` | STT 语言 | text | — | 识别语言(BCP-47,例如 ru/en)。由 deepgram 引擎(nova-2 模型)使用。空白=自动检测/引擎默认。在启动时/重新启动后应用。 |
| `AIHUMMER_STT_MODEL` | STT 模型 | text | `Systran/faster-whisper-small` | faster-whisper 模型(例如小/中/大-v3 或 Systran/faster-whisper-⟨size⟩)。在启动/重新启动后应用。 |
| `AIHUMMER_STT_URL` | 语音转文本(更快的耳语)URL | text | — | URL 本地 fast-whisper sidecar(OpenAI 兼容的 /v1/audio/transcriptions)。 Blank = auto-default http://127.0.0.1:8001, install.sh 自行设置。在启动时/重新启动后应用。 |
| `AIHUMMER_TTS_API_KEY` | TTS API 密钥(edge-tts) | text | — | 网关和edge-tts sidecar 之间的承载(install.sh 自动生成)。在启动时/重新启动后应用。 |
| `AIHUMMER_TTS_ENABLED` | 启用文本转语音 | bool | `1` | 启用语音合成(tts 工具 + 语音模式)。 Edge-tts sidecar 开箱即用。在启动时/重新启动后应用。 |
| `AIHUMMER_TTS_MODEL` | TTS 模型 | text | — | edge-tts 服务的模型名称。在启动/重启后应用。 |
| `AIHUMMER_TTS_URL` | 文本转语音 (edge-tts) URL | text | — | 本地edge-tts sidecar的URL(OpenAI兼容/v1/audio/speech)。 Blank = auto-default http://127.0.0.1:8002, install.sh 自行设置。在启动时/重新启动后应用。 |
| `AIHUMMER_TTS_VOICE` | TTS 语音(默认 de-DE-FlorianMultilingualNeural) | text | `de-DE-FlorianMultilingualNeural` | 默认edge-tts语音(多语言,包括俄语)。在启动时/重新启动后应用。 |
| `AIHUMMER_VIDEO_API_KEY` | 视频分析 API 密钥 | text | — | 视频分析边车的访问密钥(如果需要)。在启动时/重新启动后应用。 |
| `AIHUMMER_VIDEO_URL` | 视频分析 (ffmpeg) URL | text | — | 视频分析 sidecar 的URL。空白 = 关闭。在启动时/重新启动后应用。 |
## Media · Voice
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_VOICE_AEC` | 回声消除 (AEC) | bool | `1` | 捕获时需要 echoCancellation (WebRTC)。消除麦克风中的 TTS 回声 (Moltis #1129)。 |
| `AIHUMMER_VOICE_AGC` | 自动增益控制 | bool | `1` | — |
| `AIHUMMER_VOICE_BARGEIN_FRAMES` | 插入帧 | int | `5` | 有多少个连续语音帧 (≈20ms) 会中断机器人的播放。 |
| `AIHUMMER_VOICE_DUPLEX` | 实时全双工语音 | bool | `0` | 启用实时全双工模式(流媒体 + VAD + 插入)。在启动时/重新启动后应用。 |
| `AIHUMMER_VOICE_NOISE_SUPPRESSION` | 噪声抑制 | bool | `1` | — |
| `AIHUMMER_VOICE_VAD_THRESHOLD` | VAD能量阈值(0..1) | text | `0.02` | 捕获的 VAD 门控的语音能量阈值; lower = 更敏感。 |
## Memory
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_EMBEDDER_DIM` | 嵌入器向量暗淡 | int | `768` | 向量维度 — 必须与模型匹配(multilingual-e5-base=768、bge-m3=1024)。 |
| `AIHUMMER_EMBEDDER_KEEPALIVE` | 嵌入器保持活动状态 | text | `5m` | Ollama 嵌入器的 keep_alive(仅当 AIHUMMER_MEMORY_RETRIEVAL=embedding 时)。默认 5m — 空闲模型被卸载,卡住的空闲 ollama 跑步者会自行清除。不推荐 -1(永远保留):由于 ollama bug,卡住的跑步者可以将 CPU 核心固定数天。空闲后的冷启动被网关启动时的预热所抵消。在启动时/重新启动后应用。 |
| `AIHUMMER_EMBEDDER_MODEL` | 嵌入器模型 | text | `yxchia/multilingual-e5-base` | Ollama 嵌入模型。默认 multilingual-e5-base — 多语言(包括俄语)、768-dim、轻 + 快速 CPU (~1-2s/embed)。 e5 查询/段落前缀会自动应用。为了在 GPU 硬件上获得最大质量,请使用 bge-m3(设置 DIM=1024)。必须匹配 AIHUMMER_EMBEDDER_DIM。 |
| `AIHUMMER_EMBEDDER_PASSAGE_PREFIX` | 嵌入通道前缀 | text | — | 覆盖存储文档前缀(e5 型号自动使用“passage:”)。留空可按型号名称自动检测。 |
| `AIHUMMER_EMBEDDER_QUERY_PREFIX` | 嵌入器查询前缀 | text | — | 覆盖检索查询前缀(e5 型号自动使用“query:”)。留空以按模型名称自动检测。 |
| `AIHUMMER_EMBEDDER_URL` | 嵌入器URL(Ollama兼容) | text | — | 真正的语义嵌入。安装程序提供 Ollama sidecar 并自动设置; UNSET = 哈希嵌入器(仅限词汇,弱召回)。 |
| `AIHUMMER_MEMORY_CAPTURE` | 内存捕获模式 | enum: auto \\\| review \\\| off | `auto` | auto = 自动记住+调用;审查 = 记住作为需要手动批准的候选人; off = 不捕获。 |
| `AIHUMMER_MEMORY_CONTEXT_TIMEOUT` | 内存水合超时 | text | `3s` | 回复开始时内存水合的最长等待时间(查询嵌入 + 搜索)。如果嵌入器过载并错过了最后期限,则回复将继续 WITHOUT 内存块而不是挂起。 Go 持续时间格式(例如 2 秒、1500 毫秒)。 0 = 无限制。在启动时/重新启动后应用。 |
| `AIHUMMER_MEMORY_DREAM_INTERVAL` | Dream pass间隔 | string | `1h` | 自我维护的梦想通行证扫描所有范围内矛盾的审查声明的频率(Go 持续时间,例如 30m/1h/6h)。设置 0 禁用。 |
| `AIHUMMER_MEMORY_EXTRACT` | LLM事实提取 | bool | `1` | 通过 LLM (默认开启)提取规范化的主语/谓语/宾语事实,而不是存储原始句子片段 - 这是图/矛盾/梦机制启动所需的。每条捕获的消息添加一个 LLM 调用;开始保存通话。 |
| `AIHUMMER_MEMORY_RETRIEVAL` | 内存检索模式 | enum: fulltext \\\| embedding | `fulltext` | 如何搜索内存。 fulltext(默认)= Postgres 对事实文本进行全文搜索 — 没有嵌入器模型,没有 sidecar,没有 CPU 负载(就像 AiHummer 中的旧爱因斯坦一样)。嵌入 = 通过嵌入器进行语义向量搜索 (AIHUMMER_EMBEDDER_URL/ollama) — 含义更准确,但加载 CPU 并需要 sidecar。在启动时/重新启动后应用。 |
| `AIHUMMER_MEMORY_TOKEN` | 远程内存服务令牌 | text | — | 用于使用 Einstein 检索 API 进行授权的服务令牌(作为授权发送:持有者...)。仅当设置 AIHUMMER_MEMORY_URL 时才需要。空白 = 无授权(仅适用于禁用检索身份验证的开发安装)。 |
| `AIHUMMER_MEMORY_URL` | 远程内存URL(爱因斯坦)插件) | text | — | URL 的独立 Einstein 内存插件(合约 aihummer.memory.v1,例如 http://127.0.0.1:8820). BLANK (默认)= 进程内 Go 内存模块。设置后,转动上下文水合将通过 HTTP 到插件的 /context + /retrieval;出现错误/不可用时,它会轻轻下降返回到内置模块(不会崩溃)。 |
| `AIHUMMER_QDRANT_API_KEY` | Qdrant API 键 | text | — | — |
| `AIHUMMER_QDRANT_URL` | Qdrant URL(持久向量存储) | text | — | UNSET = 内存存储(重新启动时向量 LOST)。设置为生产持久性。 |
| `AIHUMMER_RERANKER_URL` | RAG 重新排序边车 URL | text | — | HTTP URL 的交叉编码器 sidecar,用于重新排名混合搜索。空白=重新排名。在启动时/重新启动后应用。 |
## Moderation
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_MODERATION` | 输入审核 | bool | `1` | “off”禁用内置防护以防止越狱/提示注入。任何其他值=启用。 |
| `AIHUMMER_MODERATION_REFUSAL` | 审核拒绝消息 | text | — | 当主持人阻止请求时返回拒绝文本(空白=内置)。 |
## Public access
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_PUBLIC_URL` | 公共网关 URL(Web UI + 客户端) | text | — | 代理此主机 → 网关端口(AIHUMMER_GATEWAY_ADDR,默认值:8780)。由 Web UI 和 iOS/Web 客户端使用。 |
| `POCKET_AGENT_GATEWAY_BASE_URL` | Pocket-agent 网关公共URL | text | — | 代理 → pocket-agent 网关端口(POCKET_AGENT_PORT,默认 8080)。远程代理通过一次性票证拨打此端口。 |
| `TELEGRAM_PUBLIC_URL` | Telegram webhook 公共 URL | text | — | 仅限 Webhook 模式 — 代理 → 电报连接器端口(AIHUMMER_TELEGRAM_CONNECTOR_PORT,默认 8091)。留空以使用轮询(无公共)。需要 URL)。 |
## SSO (LDAP/AD)
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_LDAP_BASE_DN` | 用户搜索基础 DN | text | — | 搜索根目录,例如OU=Users,DC=corp,DC=example。 |
| `AIHUMMER_LDAP_BIND_DN` | 服务绑定 DN | text | — | 用于初始搜索绑定的帐户,例如CN=svc-aihummer,OU=服务,DC=corp,DC=示例。空白 = 匿名搜索。 |
| `AIHUMMER_LDAP_DEFAULT_ROLE` | LDAP:默认角色(无组匹配) | text | — | 没有组与映射匹配时授予的角色。空白 = 无角色。 |
| `AIHUMMER_LDAP_ENABLED` | 启用 LDAP/AD 登录 | bool | `0` | 启用后,管理员登录将回退到目录。绑定密码位于 Secrets 中(范围 ldap,名称 bind_password)。 |
| `AIHUMMER_LDAP_GROUP_ATTR` | 组属性(默认 memberOf) | text | — | 列出组 DN 的用户条目属性。空白禁用组→角色映射。 |
| `AIHUMMER_LDAP_ROLE_MAPPINGS` | LDAP:组→角色映射 (JSON) | text | — | JSON组DN(或裸CN)对象→角色,例如{"CN=Admins,OU=Groups,DC=corp,DC=example":"admin","Operators":"operator"}。 |
| `AIHUMMER_LDAP_SKIP_TLS_VERIFY` | 跳过 TLS 验证(仅限实验室,1/0) | bool | `0` | 禁用目录证书验证。切勿在生产中启用。 |
| `AIHUMMER_LDAP_URL` | 目录URL | text | — | 例如ldaps://ad.corp.example:636 (TLS) 或 ldap://dc1.corp.example:389。 |
| `AIHUMMER_LDAP_USER_ATTR` | 登录属性(默认 sAMAccountName) | text | — | LDAP/Active Directory 属性与用户输入的登录名相匹配(默认 sAMAccountName;OpenLDAP 的 uid,UPN 式登录的 userPrincipalName)。 |
| `AIHUMMER_LDAP_USER_FILTER` | 用户搜索过滤器 | text | — | 登录时必须包含 %s。 AD: (sAMAccountName=%s); OpenLDAP:(uid=%s)。 |
## SSO (OIDC)
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_OIDC_AUDIENCE` | OIDC 受众 | text | — | 预期 `aud` 声明 — 将其设置为 THIS 资源的受众,以拒绝为其他依赖方铸造的代币。默认情况下,每个令牌上的 `aud` 声明现在为 REQUIRED (没有 aud 的令牌将被拒绝);设置后,aud 也必须包含它。强烈建议在生产中使用。 |
| `AIHUMMER_OIDC_ISSUER` | OIDC 发行人 URL | text | — | IdP 颁发者(例如 https://login.example.com). 在设置时启用 OIDC JWT 身份验证。 |
| `AIHUMMER_OIDC_JWKS_URL` | OIDC JWKS 地址 | text | — | JSON 用于验证令牌签名的 Web 密钥集端点。 |
| `AIHUMMER_OIDC_TENANT_CLAIM` | OIDC 工作区声明 | text | — | JWT 声明携带工作区 ID(例如,tenant_id / org)。 |
## SSO (SAML)
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_SAML_DEFAULT_ROLE` | SAML:默认角色(无组)匹配) | text | — | 没有断言值映射时授予的角色。空白 = 无角色。 |
| `AIHUMMER_SAML_ENABLED` | 启用SAML 2.0 SSO | bool | `0` | 公开 /saml/metadata、/saml/acs、/saml/login。 SP 私钥位于 Secrets 中(范围 saml,名称 sp_key)。 |
| `AIHUMMER_SAML_ENTITY_ID` | SP 实体 ID | text | — | SP 实体 ID(如果为空,则默认为 ⟨root⟩/saml/metadata)。 |
| `AIHUMMER_SAML_IDP_METADATA` | IdP 元数据 XML | text | — | 粘贴 IdP 的 SAML 元数据文档 (Okta/Azure AD/ADFS)。 |
| `AIHUMMER_SAML_ROLE_ATTRIBUTE` | 角色/组属性(默认组) | text | — | 携带组/角色值的断言属性。 |
| `AIHUMMER_SAML_ROLE_MAPPINGS` | SAML:组→角色映射 (JSON) | text | — | JSON 断言值对象 → 角色,例如{"AdminGroup":"admin","Ops":"operator"}。 |
| `AIHUMMER_SAML_ROOT_URL` | SP 根 URL | text | — | 此网关的外部可访问基点 URL,例如https://app.example.com. ACS = ⟨root⟩/saml/acs。 |
| `AIHUMMER_SAML_SP_CERT` | SP 证书 (PEM) | text | — | 公共 SP 签名证书 (PEM)。匹配的私钥位于 Secrets 中(范围 saml,名称 sp_key)。 |
## Security
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_AIRGAPPED` | 气隙模式 | bool | `0` | 阻止模型驱动的到公共互联网的出站(仅限内部/白名单主机)。启动时/重启后应用。 |
| `AIHUMMER_AUDIT_RETENTION_DAYS` | 审核日志保留(天,0=永远) | int | `0` | 保留审核日志多少天;较旧的条目每天都会被删除。 0/空白=永远保留。在启动时/重新启动后应用。 |
| `AIHUMMER_CODE_EXEC_ALLOW_HOST` | 允许在主机上执行 code_exec(无沙箱) | bool | `0` | ⚠️ 允许直接在主机上执行代码,无需沙箱。仅适用于值得信赖的家庭实验室。设置 AIHUMMER_CODE_EXEC_SANDBOX_IMAGE 更安全。在启动时/重新启动后应用。 |
| `AIHUMMER_CORS_ORIGINS` | 允许的 CORS 来源(逗号) | text | — | 以逗号分隔的允许来源列表。不允许空白 = CORS(仅限同源)。在启动时/重新启动后应用。 |
| `AIHUMMER_CSP` | Content-Security-Policy 标头(覆盖) | text | — | 覆盖 CSP 标头。空白 = 安全默认值。在启动时/重新启动后应用。 |
| `AIHUMMER_INBOUND_SECRET` | 连接器→网关共享Secret | text | — | 验证连接器→网关跃点的共享密钥(必须与连接器端的值匹配)。空白 = 入站端点为 UNAUTHENTICATED。在启动时/重新启动后应用。 |
| `AIHUMMER_OPENAI_COMPAT_KEY` | OpenAI 兼容入站:静态 API 密钥 | text | — | 静态密钥 OpenAI 兼容客户端用于针对网关的内置 /v1 端点(P8 家庭网关)进行身份验证。空白 = 禁用静态身份验证(保留个人密钥)。在启动时/重新启动后应用。 |
| `AIHUMMER_OPENAI_COMPAT_WORKSPACE` | OpenAI 兼容入站:工作区 ID | text | — | 静态 OpenAI 兼容身份验证映射到的工作区 ID。空白 = AIHUMMER_DEFAULT_WORKSPACE_ID。在启动时/重新启动后应用。 |
| `AIHUMMER_REQUIRE_2FA` | 需要 2FA运算符 | bool | `0` | 操作员需要第二个因素 (TOTP/passkey)。启用后,没有 2FA 的操作员会在登录时收到立即设置的提示(不会阻塞,因此所有者永远不会被锁定)。立即申请。 |
| `AIHUMMER_REQUIRE_SECURE` | 仅接受安全 (HTTPS/WSS) 连接 | bool | `0` | 启用后,普通 HTTP 请求将重定向到 HTTPS (对于 GET/HEAD)或被拒绝 (403);始终允许本地主机访问,因此操作员永远不会被排除在外。尊重来自 TLS 终止反向代理的 X-Forwarded-Proto。在启动时/重新启动后应用。 |
| `AIHUMMER_TRUSTED_PROXIES` | 受信任的反向代理 CIDR(逗号) | text | — | 以逗号分隔的受信任反向代理网络列表(CIDR,例如 10.0.0.0/8,192.168.0.0/16 或单个 IP)。仅对来自这些地址的请求,X-Forwarded-For 标头才用于确定客户端 IP(审计、IP 白名单、防暴力破解)。空白 = 仅信任真实对等地址(忽略 XFF,无法伪造 IP)。动态应用。 |
## Tools
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_CODE_EXEC` | 启用 code_exec | bool | `0` | — |
| `AIHUMMER_CODE_EXEC_INTERPRETERS` | 代码执行解释器 (JSON) | text | — | JSON 对象 {language: path_to_binary},例如{"python":"/usr/bin/python3"}。空白 = 自动检测。在启动时/重新启动后应用。 |
| `AIHUMMER_CODE_EXEC_SANDBOX_IMAGE` | 代码执行沙盒映像 | text | — | 用于隔离 code_exec 的容器映像(无网络、只读 rootfs、限制)。空白=主机执行(可信环境)。在启动时/重新启动后应用。 |
| `AIHUMMER_DB_QUERY_DSN` | db_query DSN(使用最低权限、非所有者角色 — 查询运行在 RLS 范围内的作用工作区) | text | — | — |
| `AIHUMMER_FS_ROOT` | 文件系统工具根目录 | text | — | — |
| `AIHUMMER_HTTP_ALLOWLIST` | http_request 允许列表 | text | — | — |
| `AIHUMMER_HTTP_AUTH_JSON` | http_request auth (JSON) | text | — | — |
| `AIHUMMER_MCP_SERVERS` | MCP 服务器 (JSON) | text | — | — |
| `AIHUMMER_WEBFETCH_ALLOWLIST` | web_fetch 允许列表 | text | — | — |
## Web UI (separate port)
| 键 | 名称 | 类型 | 默认值 | 作用 |
| --- | --- | --- | --- | --- |
| `AIHUMMER_WEBUI_API_BASE` | API base URL Web UI 调用 | text | — | 绝对来源(例如 https://api.example.com) /v1/admin/* 调用的单独托管的 SPA 目标。空白 = 回退到公共网关 URL,然后到本地网关地址。必须可从管理员的浏览器访问;API 必须允许此 Web UI 的来源通过 CORS (下面自动添加)。 |
| `AIHUMMER_WEBUI_ENABLED` | 在自己的端口上提供管理 Web UI | bool | `1` | 默认启用:管理员 SPA 由单独侦听器 (AIHUMMER_WEBUI_ADDR) 的 ROOT 提供服务,该侦听器可以绑定到仅限内部的接口。主网关端口保留 API + 配对 + WS + SSE 并为 /admin/ 提供 NOT 服务。设置为 0 可完全禁用 Web UI 侦听器。 |
| `AIHUMMER_WEBUI_ORIGIN` | Web UI 浏览器源 (CORS) | text | — | Web UI 的浏览器来源(例如,https://admin.example.com), 使用凭据自动添加到 API CORS 白名单中。空白 = 派生自 AIHUMMER_WEBUI_ADDR(http://host:port). 当浏览器通过与绑定不同的代理/主机名到达 Web UI 时设置此项地址。 |
运维人员可用的设置:138。