Skip to main content
Harness 是 VeADK 的执行增强扩展,提供两种互斥的接入模式:进程内插件模式和受管 Sidecar 模式。进程内模式在应用进程中加载 Harness 插件,为每轮调用准备上下文、压缩工具结果并校验回答;受管 Sidecar 模式在独立的受控运行时中执行全部增强行为,应用进程不加载相关插件。
两种模式不得混用。受管 Sidecar 模式启用时,HarnessExtension.plugins() 始终返回空列表,应用进程不挂载进程内增强插件。

何时使用

安装

基础 Harness 扩展已随 VeADK 内置,无需额外安装。需要 Headroom 压缩实现时安装 harness 依赖组:

进程内插件模式

进程内模式通过 build_harness_plugins() 构建插件列表,挂载到 Runner:
app.py
先完成模型配置。保存为 app.py 后执行 python app.py,应先输出插件名称,再输出智能体回复。回答校验是规则检查,不保证回答事实正确;压缩可能丢失细节,应按任务评估效果

插件能力

通过环境变量配置

使用 build_harness_plugins_from_env() 从环境变量构建插件:
相关环境变量: 组件与场景分别优先读取 HARNESS_ENHANCE_COMPONENTS、HARNESS_ENHANCE_PROFILE,再回退到不带 ENHANCE 的同名变量。字符上限、存储路径、压缩提供方和校验模式则优先读取不带 ENHANCE 的变量;不要对所有变量套用同一种优先级

受管 Sidecar 模式

受管 Sidecar 模式通过 HarnessExtension 启动受控运行时,由运行时负责执行全部 Harness 增强行为。HarnessExtension 仅负责启动运行时、应用模型与 MCP 绑定并管理生命周期。

通过环境变量启用

设置 HARNESS_SIDECAR_ENABLED=true 后,HarnessExtension.from_env() 会读取相关环境变量并启动 Sidecar:
HarnessExtension 支持上下文管理器协议,退出时自动关闭 Sidecar:

通过构造参数启用

也可以通过 sidecar 参数直接启用:
sidecar 接受布尔值或配置字典。传入配置字典时,其中的字段会用于解析 Sidecar 计划;传入 True 时使用默认配置。
Sidecar 模式启用时不能同时传入 components 参数;组件选择通过 Sidecar 配置中的 component_overrides 控制。

通过配置对象启用

使用 HarnessSidecarConfig 构建完整配置,再传给 HarnessExtension:
HarnessSidecarConfig.from_env() 也可以从环境变量构建配置对象。

Sidecar 状态

Sidecar 环境变量

受管 Sidecar 模式通过以下环境变量配置。未显式设置时使用默认值。

通用配置

模型代理配置

MCP 网关配置

HarnessExtension 参数

通过 HarnessExtension(profile="ops") 使用默认组件时,会增加 long_run_control;显式提供组件列表或直接调用 build_harness_plugins() 时,应自行包含该组件。
受管 Sidecar 模式需要 AgentKit 管理的云端运行时环境。在不含 Sidecar Runtime 的环境中启用时,启动会报错或以降级模式运行(取决于 HARNESS_SIDECAR_FAIL_OPEN 的值)。

直接使用模块

进程内模式的各个模块也可以直接使用:

确认 Sidecar 状态

设置环境变量后,在构造智能体前创建 HarnessExtension,结束时调用 close() 或退出上下文管理器。检查 sidecar_status_payload():ok 表示启动成功,degraded 表示降级,不能据此认定优化已生效。HARNESS_SIDECAR_FAIL_OPEN=true 默认允许失败后继续运行;业务要求必须启用 Sidecar 时应设为 false 独立 Harness 服务的 HTTP 接口、会话和部署步骤见Harness 服务部署。Sidecar 绑定会影响模型和 MCP 请求的去向,接入前确认上游端点和凭据来源
最后修改于 2026年9月19日