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 差异会导致大量兼容逻辑
  • 能执行命令和写文件,安全边界必须持续维护
  • 插件/技能带来强扩展性的同时也带来信任和审计问题
相关推荐
阿童木写作1 分钟前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
冬奇Lab1 小时前
代码库知识库系列(06):把调用图编码进 Embedding——结构增强有效,但不够
人工智能
冬奇Lab1 小时前
开源项目第175期:Buzz — Jack Dorsey 的 Block 用 Nostr 重新定义团队协作,AI Agent 拥有自己的加密身份
人工智能·开源·资讯
@insist1231 小时前
信息系统管理工程师-信息系统运维资源、技术与智能运维核心考点解析
运维·软考·信管·软件水平考试·信息系统管理工程师
AI分享猿1 小时前
游戏原画与建筑灵感:AI图像生成如何服务前期设计
人工智能·游戏
木子欢儿1 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
凌虚1 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
看浪的路人1 小时前
第1讲:Agent 到底是什么?和 Chatbot 有什么区别
python·ai
字节跳动视频云技术团队2 小时前
为什么 AI 视频,需要“懂生成”的画质增强
人工智能