harness 与 hermes-agent 扩展性、安全与运维

扩展性对比

Harness 的扩展方式

Harness 扩展通常要改后端和前端:

  • 新增 API controller
  • 新增 service
  • 新增 store 接口和数据库实现
  • 新增 types/enum
  • 新增 OpenAPI
  • 生成前端 client
  • 新增 React 页面或组件
  • 更新权限、审计、事件、测试

这是典型平台软件扩展方式,成本较高但边界清楚。

Hermes Agent 的扩展方式

Hermes Agent 扩展更偏运行时插件化:

  • 新增工具:在 tools/*.pyregistry.register()
  • 新增 toolset:修改 toolsets.py
  • 新增 provider:在 plugins/model-providers/<name>/ 注册 ProviderProfile
  • 新增消息平台:新增 gateway platform adapter
  • 新增技能:添加 SKILL.md
  • 新增 MCP:通过 MCP 配置接入外部工具服务器

这是 agent 能力扩展方式,成本较低但运行时不确定性更高。

安全模型差异

Harness

Harness 的安全重点:

  • 用户认证
  • 权限/授权
  • 服务账号
  • Token / PAT
  • Secret 管理
  • Webhook 安全
  • Git hook 检查
  • 审计日志
  • HTTP 安全头
  • Registry 权限

它是一个多人共享平台,所以安全边界围绕"谁可以访问哪个资源"。

Hermes Agent

Hermes Agent 的安全重点:

  • API key 和 .env 保护
  • 工具调用审批
  • 命令执行防护
  • Prompt injection 防护
  • Cron 非交互任务限制
  • Gateway 用户配对和访问控制
  • 子进程、浏览器、文件写入、shell hooks 的限制
  • provider 错误脱敏
  • 插件和 lazy deps 的供应链风险控制

它是一个能执行命令和访问外部服务的 agent,所以安全边界围绕"模型能不能被诱导去做危险动作"。

运维复杂性对比

维度 Harness Hermes Agent
运维对象 Web/API/Git/SSH/Registry/Pipeline 平台 Agent、Gateway、Cron、Dashboard、Provider 配置
数据备份 数据库、Git 仓库、Registry 文件、Blob ~/.hermes、state.db、config、skills、plugins
监控重点 服务可用性、任务队列、存储、数据库、构建日志 agent 进程、gateway 连接、provider 失败率、cron 输出
升级风险 schema 迁移、API 兼容、前后端一致性 依赖 pin、provider 变更、配置迁移、插件兼容
多用户 原生多用户平台 多 profile / 多消息用户,但不是传统企业 RBAC 平台

供应链和依赖风险

Harness 的依赖以 Go module 和前端 npm 包为主。风险集中在:

  • Go 第三方包
  • Docker、Redis、Postgres、SQLite
  • 前端构建依赖
  • Registry/OCI 相关协议包

Hermes Agent 的依赖面更广:

  • Python 包
  • npm 包
  • Playwright/浏览器
  • 多个 LLM provider SDK
  • 消息平台 SDK
  • MCP server
  • 可选插件和 lazy dependencies

Hermes Agent 的 pyproject.toml 中明确使用 exact pin,并在注释中说明这是为了控制供应链风险。这是它架构里非常重要的工程决策。

可观测和调试

Harness 主要通过:

  • server logs
  • Swagger/OpenAPI
  • database
  • job scheduler 状态
  • pipeline logs
  • registry logs

Hermes Agent 主要通过:

  • hermes doctor
  • hermes logs
  • state.db
  • gateway logs
  • agent 会话记录
  • tool output
  • provider fallback 和错误分类信息

关键风险点

Harness

  • Wire 依赖图很大,修改容易牵连广
  • 前后端 OpenAPI 生成链路需要保持一致
  • README 与 Makefile 存在命令不一致
  • 本地启动前置步骤较多
  • Registry、Pipeline、Gitspace 都会引入较复杂的外部运行环境

Hermes Agent

  • run_agent.pyhermes_cli/main.pygateway/run.py 等文件很大,维护压力高
  • 工具、provider、gateway adapter 多,组合状态复杂
  • LLM provider 差异会导致大量兼容逻辑
  • 能执行命令和写文件,安全边界必须持续维护
  • 插件/技能带来强扩展性的同时也带来信任和审计问题
相关推荐
doiito2 小时前
【Agent Harness】Gliding Horse 本体论系统设计:给 AI Agent 装上“语义大脑”
ai·rust·架构设计·系统设计·ai agent
ZzT2 小时前
怎么做才不会被 AI 替代?
人工智能·程序员
道友可好2 小时前
从今天开始:你的第一个 Harness Engineering 实践
前端·人工智能·后端
小姜前线技术3 小时前
AI回答代码块高亮加一键复制
人工智能
洛阳泰山3 小时前
从 0 到 1.6K Star:一个 Java 开源项目的增长复盘
人工智能·后端·开源
米小虾4 小时前
Agent Skill 设计模式完全指南
人工智能·agent
饼干哥哥5 小时前
保姆级教程:用Image2 + Seedance2.0 做长视频,以品牌广告为例
人工智能
米小虾5 小时前
Agent Skill 规范与 Skill-Creator 核心思想
人工智能·agent
ZhengEnCi5 小时前
09e-斯坦福CS336作业四:大规模语言模型训练数据收集与处理
人工智能