harness 与 hermes-agent 技术栈、构建与部署

技术栈对比

维度 Harness Hermes Agent
后端主语言 Go Python
前端 React 17、webpack、SCSS React 19、Vite、Tailwind、Ink TUI
包管理 Go modules、Yarn uv、pip/setuptools、npm
数据库 SQLite/PostgreSQL SQLite
依赖注入 Google Wire Python runtime discovery / registry
API REST + OpenAPI/Swagger CLI、tool schema、Gateway adapter、ACP
容器 Alpine/Golang/Node 多阶段构建 Debian + uv + s6-overlay
部署 单二进制、Docker、Helm/K8s 本地安装、Docker、Nix/Homebrew、消息网关常驻

Harness 构建方式

Harness 的构建主线:

bash 复制代码
cd web
yarn install
yarn build
cd ..
make build

关键文件:

  • harness/Makefile
  • harness/Dockerfile
  • harness/web/package.json
  • harness/go.mod
  • harness/web/dist.go

最终产物是 gitness 二进制。前端 web/dist 会嵌入到 Go 程序里。

Harness 启动方式

本地启动:

bash 复制代码
./gitness server .local.env

Windows PowerShell 下通常是:

powershell 复制代码
.\gitness.exe server .local.env

Docker 启动:

bash 复制代码
docker run -d \
  -p 3000:3000 \
  -p 3022:3022 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /tmp/harness:/data \
  --name harness \
  --restart always \
  harness/harness

Hermes Agent 构建方式

Hermes Agent 的 Python 包入口在 pyproject.toml

text 复制代码
hermes = hermes_cli.main:main
hermes-agent = run_agent:main
hermes-acp = acp_adapter.entry:main

开发安装方式:

bash 复制代码
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"

前端 dashboard:

bash 复制代码
cd web
npm install
npm run build

TUI:

bash 复制代码
cd ui-tui
npm install
npm run build

Hermes Agent 启动方式

常见入口:

bash 复制代码
hermes
hermes model
hermes tools
hermes setup
hermes gateway
hermes cron
hermes doctor
hermes acp

主配置目录默认在:

text 复制代码
~/.hermes

主要文件:

  • ~/.hermes/config.yaml
  • ~/.hermes/.env
  • ~/.hermes/state.db
  • ~/.hermes/skills
  • ~/.hermes/plugins

容器部署差异

Harness 容器

Harness 容器目标是启动一个完整服务端平台:

  • HTTP 端口:默认 3000
  • SSH 端口:默认 3022
  • 数据卷:/data
  • SQLite 数据库和 Git/Registry 文件可放在 volume

Hermes Agent 容器

Hermes Agent 容器目标是启动一个可交互/常驻 agent:

  • 使用 s6-overlay 管理主进程、dashboard、gateway
  • 数据目录:/opt/data
  • 需要 API key、消息平台 token、provider 配置
  • 可能需要浏览器、Node、ffmpeg、Docker CLI 等工具

构建理念差异

Harness 追求"一个平台二进制/镜像可提供完整服务"。

Hermes Agent 追求"一个 agent runtime 可接入多种模型、工具和消息平台"。

相关推荐
学习日记5254 分钟前
第 5 章:自定义 Skill——把重复操作封装成一键命令
人工智能·ai·prompt
云上工程笔记5 分钟前
AstraFlow + React/Vite:如何用自然语言开发并部署一个 AI 咖啡网站原型
前端·人工智能·react.js
醍醐实验室8 分钟前
长文本外推中的 RoPE Base 调优:从 10,000 到 500,000 的数学底数奥秘
人工智能
搞科研的小刘选手21 分钟前
【香港中文大学(深圳)、IEEE主办 | 深圳举办】第六届IEEE能源工程与电力系统国际学术会议(EEPS 2026)
人工智能·电力系统·能源工程·香港中文大学(深圳)·会议推荐
weixin_4462608526 分钟前
面向编码智能体的「先学测试,再用测试提升修复能力」框架
人工智能
2401_8653825029 分钟前
政务信息化项目审价的现实意义
大数据·人工智能·政务
lvts_cs32 分钟前
汽车零部件产业发展趋势,对地方招商工作带来的影响
大数据·人工智能·汽车
AI云海32 分钟前
计算机视觉之YOLO11整体架构、多任务能力
人工智能·计算机视觉·架构
Axis tech34 分钟前
基于Ego-Pi框架与Manus手套的仿人机器人灵巧操作研究
人工智能·机器学习·机器人
我有满天星辰41 分钟前
《从 0 打造我的本地 AI 知识库:Obsidian + Ollama + Milvus + RAG + MCP + Agent》第 01 篇
人工智能·milvus