智能
自带模型
所有提供商都通过同一个 OpenAI 兼容的聊天补全客户端接入,只是基础 URL 和密钥不同。无需改动代码即可切换提供商,可将它们串成故障转移链,也可以把一切指向本地模型并断开网络。
支持的提供商
“提供商”页面显示同样的列表,每家提供商带“已配置”和“当前使用”指示、注册链接,以及供模型选择器使用的、按提供商精选的模型目录。
| Anthropic | 付费,新账户有免费额度 |
|---|---|
| OpenAI | 付费 |
| Google Gemini | 免费套餐,之后付费 |
| Groq | 有速率限制的免费套餐;提供开放的推理模型 |
| OpenRouter | 一个密钥访问数百个模型,免费套餐轮换 |
| Perplexity | 内置网络搜索的模型 |
| DeepSeek | 付费,成本最低 |
| Mistral | 免费实验套餐;托管在欧盟 |
| Ollama | 在您自己的机器上自托管;没有任何数据离开网络 |
| Together AI | 开放模型,部分端点免费 |
| Cerebras | 推理速度极快,免费套餐 |
| Hyperbolic | 托管的开放模型 |
| Hugging Face | 覆盖社区模型的推理 API |
| Cohere | 擅长总结 |
| n8n | 您自己的工作流,暴露一个聊天补全 webhook |
| Cloudflare Workers AI | 需要 API 令牌和账户 ID |
选择提供商
当前使用的提供商是一个环境变量加上该提供商的密钥。在仪表板中切换会把新选择写入环境文件,因此重启后依然保留。
AI_PROVIDER=gemini GEMINI_API_KEY=... AI_HTTP_TIMEOUT_SECONDS=20
用 Ollama 物理隔离
在同一台主机或您网络中的另一台机器上运行模型,并将 InRoots 指向它。SDK 要求有一个密钥值,因此任何占位符都可以。小模型大约需要 8 GB 内存;更好的模型需要更多。结合您主机上的本地 IP 数据库、自托管的聊天服务器并关闭语音回复,关于您人员的任何信息都不会离开边界。
AI_PROVIDER=ollama OLLAMA_API_KEY=ollama OLLAMA_BASE_URL=http://localhost:11434/v1
模型角色
- 推理模型(gpt-oss、o 系列)在回答前会消耗 token 思考;预算太小会返回一个空的成功结果。InRoots 将预算下限设为 400 token,按各提供商期望的形式请求低推理强度,若答案为空则回退到推理文本。
| summary | 总结和助手;绝不受预算限制 |
|---|---|
| fallback | 分类和路由调用;受每日预算约束 |
| reasoning | 对准确性要求高的判断,例如迟到原因是否成立;升级到提供商的最强模型,或 AI_REASONING_MODEL |
故障转移
每次调用都经过一个具有弹性的统一入口:先是当前提供商,然后按故障转移顺序依次尝试每家已配置的提供商,先试默认模型,再试各家的目录模型。如果某家额度用尽、被限流或拒绝其密钥,则由下一家作答。顺序可由管理员编辑;您遗漏的提供商会被追加到末尾,因此新添加的密钥仍会参与。
- 一个每 15 分钟运行的故障保护任务用一个单 token 请求探测当前提供商,失败时切换到链中第一家可用的已配置提供商(自动化键 ai_failsafe,默认开启)。
- 提供商状态探测会在密钥过期时向仪表板发出警告。
- 每次回退都以 ai_provider_fallback 写入审计日志。
gemini, openai, anthropic, openrouter, deepseek, mistral, groq, together, cerebras, cohere, hyperbolic, huggingface, ollama