For the complete documentation index, see llms.txt. This page is also available as Markdown.

可插拔引擎

四个可替换引擎(模型、嵌入、记忆、搜索)以及用于选择它们的配置键。

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:

id
什么
端点
密钥

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 列表来自模块契约。

参见 网络搜索 用于各个引擎暴露的工具。

最后更新于