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 差异会导致大量兼容逻辑
  • 能执行命令和写文件,安全边界必须持续维护
  • 插件/技能带来强扩展性的同时也带来信任和审计问题
相关推荐
sensen_kiss1 小时前
CPT306 Principles of Computer Games Design 电脑游戏设计原理 Pt.8 Game AI(游戏里的“人工智能系统”)
人工智能·游戏
weixin_468466851 小时前
ResNet 残差网络新手入门与实战指南
人工智能·深度学习·ai·残差网络·resnet·机器视觉
winlife_1 小时前
让 AI 写敌人状态机,并用脚本化场景验证状态转换正确:funplay-unity-mcp 实战
人工智能·unity·游戏引擎·ai编程·状态机·mcp
风_沙1 小时前
AI + SAP ADT实战案例(一):用 Codex 只读排查领料接口里的物料错位
人工智能·ai·sap·abap·erp
小陶来咯1 小时前
FunctionCall实现与Prompt调优
python·ai·prompt
code_pgf1 小时前
DPO和PPO详解及区别
人工智能·机器学习
埃菲尔铁塔_CV算法1 小时前
基于扩张卷积与双分支参数调控的低光照图像增强算法完整研究与工程解析
人工智能·神经网络·算法·机器学习·计算机视觉
hai3152475431 小时前
有规则的AI编制操作系统演进过程展示
人工智能·程序人生·算法·逻辑回归·创业创新