Files
Partner/doc/config/config-reference.md

12 KiB
Raw Permalink Blame History

配置项说明

本文介绍 Partner 当前已注册配置文件的路径、字段含义、默认值、是否必须以及示例。

配置中心的注册、初始化和热重载机制见 配置中心

目录

Partner 的工作目录由 PARTNER_HOME 环境变量决定:

  • 如果设置了 PARTNER_HOME,则使用该路径作为工作目录。
  • 如果未设置,则默认使用用户目录下的 .partner

配置中心会在工作目录下创建以下目录:

目录 含义
config/ 配置文件目录,ConfigCenter 监听该目录。
workspace/ 运行时工作区目录。
state/ 状态持久化目录。
resources/ 外部资源目录,例如外部模块目录 resources/module

所有配置文件路径都相对于 config/ 目录声明。例如 runtime.json 实际对应:

${PARTNER_HOME}/config/runtime.json

如果 PARTNER_HOME 未设置,则对应:

~/.partner/config/runtime.json

AgentGateway

项目 内容
配置文件 gateway.json
注册方 AgentGatewayRegistry
是否必须 必须。当前没有默认配置。
是否支持热重载 支持。修改后会重新 reconcile channel。

gateway.json 用于声明启用哪些 Gateway channel以及默认响应通道。当前 Partner-Core 默认注册了 websocket_channel

{
  "default_channel": "websocket_channel",
  "channels": [
    {
      "channel_name": "websocket_channel",
      "params": {
        "hostname": "127.0.0.1",
        "port": "29600",
        "heartbeat_interval": "10000"
      }
    }
  ]
}

字段说明:

字段 必填 含义
default_channel 默认响应通道。必须出现在 channels 列表中。
channels 要启用的通道列表,不能为空。
channels[].channel_name 通道名称,必须对应已经注册的 AgentGatewayRegistration.channelName
channels[].params 通道参数,按具体 Gateway 解释。

websocket_channel 支持的参数:

参数 默认值 含义
hostname 127.0.0.1 WebSocket 服务监听地址。
port 29600 WebSocket 服务端口,必须大于 0。
heartbeat_interval 10000 心跳间隔,单位为毫秒,必须大于 0。

ModelRuntime

项目 内容
配置文件 model.json
注册方 ModelRuntimeRegistry
是否必须 通常必须。若同时提供 PARTNER_DEFAULT_BASE_URLPARTNER_DEFAULT_API_KEYPARTNER_DEFAULT_MODEL,可使用环境变量生成默认配置。
是否支持热重载 支持。修改后会重建 provider 映射,失败时回滚到旧配置。

model.json 用于声明模型供应商,以及特定模块使用哪个 provider。当前支持的 provider 类型为 OPENAI_COMPATIBLE

{
  "providerConfigSet": [
    {
      "name": "default",
      "type": "OPENAI_COMPATIBLE",
      "defaultModel": "gpt-4.1-mini",
      "baseUrl": "https://api.example.com/v1",
      "apiKey": "example-api-key"
    }
  ],
  "runtimeConfigSet": [
    {
      "modelKey": "communication_producer",
      "providerName": "default",
      "override": {
        "model": "gpt-4.1",
        "temperature": 0.7,
        "topP": 1.0,
        "maxTokens": 2048,
        "extras": {}
      }
    }
  ]
}

字段说明:

字段 必填 含义
providerConfigSet 基础 provider 集合。必须包含名为 default 的 provider。
providerConfigSet[].name provider 名称。
providerConfigSet[].type provider 类型。当前支持 OPENAI_COMPATIBLE
providerConfigSet[].defaultModel 该 provider 的默认模型。
providerConfigSet[].baseUrl OpenAI-compatible API base URL。
providerConfigSet[].apiKey API key。
runtimeConfigSet 模块级 provider 配置集合。可以为空数组。
runtimeConfigSet[].modelKey 模块使用的模型 key。实现 ActivateModel 的模块通过该 key 解析 provider。
runtimeConfigSet[].providerName 要 fork 的基础 provider 名称。
runtimeConfigSet[].override 模块级覆写配置。
override.model 覆写模型名称。当前结构中该字段不可为空。
override.temperature 覆写 temperature。
override.topP 覆写 top_p。
override.maxTokens 覆写 max_tokens。
override.extras 额外 provider 参数。

如果某个 modelKey 没有出现在 runtimeConfigSet 中,则会使用名为 default 的基础 provider。

AgentRuntime

项目 内容
配置文件 runtime.json
注册方 AgentRuntime
是否必须 否。存在默认配置。
默认配置 masked_modules = []debounce_window = 300
是否支持热重载 支持。修改后会刷新运行模块分组。

runtime.json 用于控制 Running module 的运行时行为。

{
  "masked_modules": [],
  "debounce_window": 300
}

字段说明:

字段 必填 含义
masked_modules 运行时屏蔽的模块名集合。被屏蔽模块不会进入 Running module 调度链。
debounce_window 输入后的等待窗口,单位为毫秒。同一 source 的连续输入会在该窗口内合并。

LogAdvice

项目 内容
配置文件 advice_logging.json
注册方 LogAdviceProvider
是否必须 否。存在默认配置。
默认配置 logLevel = NONE
是否支持热重载 支持。

advice_logging.json 用于控制框架内 LogAdvice 的日志详细程度。

{
  "logLevel": "NONE"
}

字段说明:

字段 必填 可选值 含义
logLevel NONE / ABSTRACT / DETAIL NONE 不记录 advice 日志;ABSTRACT 记录摘要;DETAIL 记录更详细的输入输出或异常信息。

ExecutionPolicy

项目 内容
配置文件 action/runner_policy.json
注册方 ExecutionPolicyRegistry
是否必须 否。存在默认配置。
默认配置 provider = directmode = DIRECTnet = ENABLE,继承环境变量。
是否支持热重载 支持。

runner_policy.json 用于控制 Action Runner 执行命令时的执行策略。

{
  "provider": "direct",
  "mode": "DIRECT",
  "net": "ENABLE",
  "inheritEnv": true,
  "env": {},
  "workingDirectory": null,
  "readOnlyPaths": [],
  "writablePaths": []
}

字段说明:

字段 必填 含义
provider 执行策略 provider 名称。当前默认 provider 为 direct
mode 执行模式,可选 DIRECT / SANDBOX
net 网络策略,可选 ENABLE / DISABLE
inheritEnv 是否继承当前进程环境变量。
env 追加或覆盖的环境变量。
workingDirectory 命令工作目录。
readOnlyPaths 只读路径集合,主要供 sandbox 类 provider 使用。
writablePaths 可写路径集合,主要供 sandbox 类 provider 使用。

当前默认 direct provider 主要使用命令、工作目录和环境变量;modenet、路径隔离字段是否生效取决于具体 provider 实现。

VectorClient

项目 内容
配置文件 vector.json
注册方 VectorClientRegistry
是否必须 否。存在默认配置。
默认配置 enabled = falsetype = null
是否支持热重载 当前 registry 未覆写 onReload(),因此运行期修改不会重新启动向量客户端。

vector.json 用于控制向量客户端。未启用时,配置可以省略。

关闭向量客户端:

{
  "enabled": false,
  "type": null
}

使用 Ollama 向量服务:

{
  "enabled": true,
  "type": "OLLAMA",
  "ollamaEmbeddingUrl": "http://127.0.0.1:11434",
  "ollamaEmbeddingModel": "nomic-embed-text"
}

使用本地 ONNX 模型:

{
  "enabled": true,
  "type": "ONNX",
  "tokenizerPath": "/path/to/tokenizer.json",
  "embeddingModelPath": "/path/to/model.onnx"
}

字段说明:

字段 必填 含义
enabled 是否启用向量客户端。为 false 时不会启动客户端。
type 启用时必填 向量客户端类型,可选 OLLAMA / ONNX
ollamaEmbeddingUrl type = OLLAMA 时必填 Ollama 服务地址。
ollamaEmbeddingModel type = OLLAMA 时必填 Ollama embedding 模型名。
tokenizerPath type = ONNX 时必填 tokenizer 文件路径。
embeddingModelPath type = ONNX 时必填 ONNX embedding 模型路径。