LongHorizon-Harness(简称 LH-Harness)是阿里高德(AMAP-ML / DreamX Team)开源的长程 Computer-Use Agent 执行框架。它解决的核心问题是:现有 Agent(如 Claude Code、Codex 等)在长时间、多步骤任务中容易因上下文膨胀、自我评估错误累积、任务状态丢失而导致失败。

它通过 Manage-Execute-Audit(MEA)循环,把任务状态显式维护在执行之外,只用经环境独立验证的事实更新状态,从而让 Agent 能跨桌面应用和终端持续工作数十小时,可靠完成复杂工作流。

核心定位:不训练新模型、不替换现有 Agent,而是为现有 Agent 提供可持续的执行闭环(Loop Engineering)。


1. 核心思想与 MEA 循环

现有 Harness 通常把执行、状态判断、完成评估都放在同一个不断增长的上下文里,容易出现:

  • 早期错误滚雪球
  • 上下文腐烂(Context Rot)
  • 任务状态丢失,无法可靠恢复

LongHorizon-Harness 把长程执行重新定义为任务状态管理问题

角色 职责 特点
Manager(管理) 从原始目标 + 已验证进度 + 失败证据中恢复状态,规划下一步边界明确的子任务 每轮重建,决定执行/完成/阻塞/询问用户
Executor(执行) 全新上下文只完成当前这一步(可操作桌面 App 或 CLI) 执行完后上下文丢弃,不污染长期状态
Auditor(审计) 只读检查真实环境(文件、界面、日志、测试),独立验证结果 不信任 Executor 的自我汇报,只有它能更新可信状态

循环流程

  1. Manager 根据已验证状态规划下一步
  2. Executor 用新鲜上下文执行
  3. Auditor 独立验证真实结果
  4. 通过 → 保存检查点;失败 → 记录证据并恢复
  5. 重复,直到任务真正完成(默认最多 25 轮)

只有通过独立验证的结果才能成为可信进度。


2. 主要特性

  • 长程可靠执行:支持跨桌面应用 + 终端的连续任务,持续数十小时
  • 状态可恢复:失败或上下文刷新后,从最后一个已验证检查点继续
  • 多后端支持:Claude Code、Codex CLI、OpenCode、DeepSeek Harness(dsh)等
  • 角色可独立配置模型:Manager / Executor / Auditor 可使用不同模型或后端,平衡效果与成本
  • GUI + CLI 统一:一个任务可在浏览器、终端、桌面软件之间无缝切换
  • Web Dashboard:浏览器可视化工作台,实时查看循环、追加指令、处理审批
  • 插件化 Computer-Use:统一管理 GUI 操作能力

实测提升(相同模型 Qwen 3.7-Plus + Claude Code 后端):

基准 指标 原始 LongHorizon-Harness 提升
WeaveBench (114 任务) PassRate 51.8% 80.7% +28.9
OSWorld 2.0 (108 任务) Binary 2.8% 8.3% 3.0×
Terminal-Bench 2.1 Success 69.7% 77.2% +7.5(token 减少 24%)

对 Claude Opus 4.7 也有显著提升。


3. 环境要求

组件 说明
Python ≥ 3.10
uv(推荐) 隔离安装工具
Agent 运行时 至少安装一个:claude(Claude Code)、codex、opencode 或 dsh(DeepSeek Harness)
Node.js ≥ 20(computer-use 插件需要;DeepSeek 可能要求更高)
平台 目前主要在 macOS 上充分测试,Windows 已支持但测试较少

4. 安装步骤

4.1 安装 LongHorizon-Harness

推荐使用 uv:

1
uv tool install lh-harness

或使用 pip:

1
pip install lh-harness

升级:

1
2
3
uv tool upgrade lh-harness
# 或
pip install --upgrade lh-harness

4.2 安装 Computer-Use 插件(如需 GUI 操作)

1
2
3
4
5
# 使用 Codex
lh-harness plugin install codex-computer-use

# 使用 Claude Code 或两者都用
lh-harness plugin install open-computer-use

插件全局安装,一次即可覆盖所有项目。纯 CLI 任务可跳过此步。

4.3 检查环境

1
lh-harness doctor

会检查 Python、Agent 运行时、插件、权限等是否就绪。


5. 快速使用

5.1 命令行运行(推荐先从这里开始)

1
2
3
4
5
lh-harness run \
--task "总结当前目录下的所有文件内容,并生成一份 Markdown 报告" \
--agent claude_code \
--model qwen3.7-plus \
--max-rounds 10

常用参数说明:

  • –task:任务描述(也可 –task @task.md 从文件读取)
  • –agent:后端(claude_code / codex / opencode / deepseek_harness)
  • –model:模型名称
  • –max-rounds:最大 MEA 轮数(默认通常 25)
  • 可分别为角色指定:–manager-model、–executor-model、–auditor-model 等
  • –reasoning-effort:统一设置推理强度(也可按角色覆盖)

运行目录默认为当前工作目录,结果与审计轨迹保存在 runs//。

5.2 Web 工作台(推荐日常使用)

1
lh-harness web

浏览器打开后可:

  • 创建任务
  • 为 Manager / Executor / Auditor 分别选择后端和模型
  • 实时查看 MEA 循环进度
  • 运行中追加指令
  • 处理审批
  • 停止 / 重启任务
  • 任务结束后继续对话追问(v0.1.7+)

5.3 示例命令

1
2
3
4
5
6
7
8
# 简单任务测试
lh-harness run --task "列出当前目录文件并统计数量" --agent claude_code --max-rounds 3

# 指定不同角色模型(成本优化示例)
lh-harness run --task "..." \
--manager-model 轻量模型 \
--executor-model 强模型 \
--auditor-model 轻量模型

6. 适用场景

支持数百种真实复杂任务,覆盖:

  • Web 前端开发与验证
  • 数据分析与可视化
  • 运维调试
  • 设计与图像处理
  • 文档与演示文稿
  • 游戏与交互应用
  • 研究与教育
  • 商业金融、医疗健康等专业工作流
  • 跨应用的桌面操作 + 命令行混合任务

一个任务可以从浏览器收集信息 → 终端处理数据 → 桌面软件生成交付物 → 再回到终端验证。


7. 高级用法与提示

  1. 角色模型搭配建议

    • Manager / Auditor:可用较轻量、便宜的模型
    • Executor:使用更强的模型以提升执行成功率
  2. 插件管理

    1
    2
    3
    lh-harness plugin list
    lh-harness plugin install <name>
    lh-harness plugin uninstall <name>
  3. 任务结束后继续 v0.1.7 后,Web 工作台支持在已完成任务上直接追问,沿用已有轮次账本,无需从头规划。

  4. 调试与可见性

    • 控制台实时打印每一轮进展
    • runs/ 目录保存完整审计轨迹
    • Web Dashboard 提供可视化
  5. 自定义适配 通过轻量 AgentAdapter 可接入其他 Agent 后端,无需修改其原生循环。


8. 常见问题

问题 建议
环境检查失败 运行 lh-harness doctor 并根据提示安装缺失组件
GUI 操作不生效 确认已安装对应 computer-use 插件,并检查权限
任务卡住或失败 查看 Auditor 报告和 runs/ 下的证据,必要时降低 –max-rounds 或更换 Executor 模型
成本较高 给 Manager 和 Auditor 使用更便宜的模型
Windows 兼容性 已支持但测试较少,建议优先在 macOS 上使用

9. 总结与快速上手路径

LongHorizon-Harness 的核心价值在于: 把“模型单轮能力”与“长程可靠执行”解耦,用工程化的 MEA 循环保证进度可信、可恢复、可验证。

推荐上手步骤

  1. uv tool install lh-harness
  2. 安装至少一个 Agent 运行时(如 Claude Code)
  3. (可选)安装 computer-use 插件
  4. 运行 lh-harness doctor
  5. 用简单任务测试:lh-harness run –task “…” –agent claude_code –max-rounds 3
  6. 熟悉后使用 lh-harness web 进行可视化操作