可插拔引擎
四个可替换引擎(模型、嵌入、记忆、搜索)以及用于选择它们的配置键。
OpenHuman 通过一个配置键而不是硬编码客户端来处理四类工作:聊天和推理、嵌入、记忆和网络搜索。每一类都有一个受管理的默认选项,无需密钥,另外还有自带密钥或本地选项。本页列出了支持的内容以及用于选择它的键。链接的 Features 页面介绍了设置和取舍。
LLM 提供商
聊天、推理、视觉和编码工作各自有自己的 provider 字段(chat_provider, reasoning_provider, agentic_provider, coding_provider, vision_provider 以及更多)。每个都是如下形式的字符串 <slug>:<model>。未设置、为空或设置为 cloud 的字段将保持为受管理默认值。
支持的路由:
受管理(TinyHumans):默认值。它为你提供 OpenRouter 模型目录,无需管理密钥。
本地:你安装并运行的运行时(Ollama、LM Studio、MLX、OMLX)。其地址写作
ollama:<model>,lmstudio:<model>,mlx:<model>或omlx:<model>,并在[local_ai] base_url中设置端点。OpenHuman 不会安装运行时或下载模型;这些需要你自己拉取。一个兼容 OpenAI 的本地端点:任何支持 OpenAI chat API 的服务器。使用
local-openai:<model>,或用它自己的 slug 和端点注册它。Claude Code / Claude Agent SDK:一种 provider slug,它会运行你已安装的 Claude Code CLI,而不是调用托管 API。
26 个自带密钥的 slug,每个都带有预设端点,因此你只需要一个密钥:
openai,anthropic,google,openrouter,orcarouter,groq,mistral,deepseek,together,fireworks,cerebras,xai,moonshot,gmi,huggingface,nvidia,zai,minimax,stepfun,kilocode,deepinfra,novita,venice,vercel-ai-gateway,sumopod,modelscope.
Provider 定义位于 crates/openhuman-core/src/inference/provider/ (factory.rs 会把一个 <slug>:<model> 字符串转换为客户端,而 types.rs 保存 provider 形状)。设置和本地模型能力表位于 本地模型与自带密钥。路由和回退顺序位于 自动模型路由.
嵌入
嵌入有自己独立的 provider 设置,和聊天 provider 分开。可通过 embeddings.update_settings 通过 RPC 设置,或针对单个工作负载用 embeddings_provider.
受管理(默认):OpenHuman 后端基于 Voyage 的嵌入端点。新安装即可使用,无需本地守护进程。
Voyage:使用你自己的密钥访问 Voyage AI API。
OpenAI:通过 OpenAI API 提供云端嵌入。
Cohere:使用你自己的密钥访问 Cohere embed API。
Ollama:你已拉取的本地模型。
bge-m3建议使用(ollama pull bge-m3)。记忆引擎不会使用这些,因为它会在自己的侧进行嵌入。自定义:任何兼容 OpenAI 的嵌入端点。
代码位于 crates/openhuman-core/src/inference/embedding_host/. mod.rs 列出了 provider, factory.rs 构建客户端,而 schemas.rs 定义了 embeddings.* RPC 接口,包括 set_api_key ,按 provider slug 区分。
记忆
记忆是在可插拔引擎上的检索、获取和存储。其契约是 tinymemory-api,已随源码 vendored 到 vendor/tinymemory/。它定义了一个 MemoryEngine trait,包含 回忆, 获取, store, forget, list 和 health。一个 EngineDescriptor 说明引擎是否托管、是否需要端点或密钥,以及它支持哪些获取模式。 tinymemory::list_engines 和 build_engine 是注册表。
有两个引擎随附,都由 tinymemory-integrations:
tinyhumans
TinyHumans 后端后面的 CortexDB 托管版(/memory/*)
后端来源
登录会话或 API 密钥,通过主机凭据接缝按请求解析
cortexdb
用户自己的 CortexDB(直接 /v1/*)
[memory.engines.cortexdb] endpoint (默认 https://api-v1.cortexdb.ai)
存储在操作系统钥匙串中,名称为 memory-cortexdb
使用 [memory] engine 进行选择,或在 Connections > Memory > Engine 中选择(openhuman.memory_engine_set). memory::engine::resolve 将其绑定。如果你已登出且没有 CortexDB 密钥,记忆功能将关闭: memory 工具不会注册,摄取不会执行,RPC 会返回 MEMORY_OFF.
已构建的引擎会按引擎 ID、端点和凭据身份的指纹进行缓存。更改其中任意一项,下一次调用时都会重建引擎。引擎不会迁移,因此切换后会从空状态开始。对旧存储的一次性导入会在你同意后上传到所选引擎。
两个引擎都声明 fetch_modes = [hybrid],因为 CortexDB 的 recall 接口没有关键词或向量开关。请求其他模式会失败并返回 UNSUPPORTED.
网络搜索
[search] engine 选择活动提供商。一次只有一个处于激活状态:
受管理(默认):通过后端代理,无需密钥。parallel:Parallel API 上的搜索、提取、聊天、研究、增强和数据集工具。brave:Brave Search(网页、新闻、图片、视频)。querit:Querit 网页搜索。exa:Exa 神经搜索(search、find-similar、contents)。它直接调用api.exa.ai,绝不通过受管理后端。tavily:Tavily 搜索和提取(网页、新闻、金融)。它调用api.tavily.com。disabled:未注册任何搜索工具。
如果你选择了一个自带密钥的引擎但没有存储的密钥,搜索会回退到 受管理 ,这样代理就不会没有搜索工具可用。
SearXNG 是一个单独的开关([searxng] enabled, base_url),不是一个 search.engine 值,因为它指向的是自托管实例而不是供应商 API。
提供商位于 tinysearch 模块(vendor/tinysearch),它负责各 provider 的传输和角色分发。主机把 provider 解析和凭据策略保留在 crates/openhuman-core/src/search/ 和 crates/openhuman-core/src/config/schema/tools/search.rs。其 provider 列表来自模块契约。
参见 网络搜索 用于各个引擎暴露的工具。
最后更新于