☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

hermesagent自动更新脚本失效_手动拉取代码与重新编译流程

如果您尝试运行 Hermes Agent 的自动更新脚本,但命令无输出、报错退出或提示“command not found”“No such file or directory”,则可能是由于脚本路径失效、Git 仓库结构变更、权限丢失或 Python 环境未正确挂载所致。以下是恢复更新能力的手动拉取代码与重新编译流程:

一、验证当前部署形态并进入项目根目录

区分源码安装与容器化部署是执行手动编译的前提。若未保留原始 git 工作区,则无法使用 git pull;此时需重建完整源码树。该步骤确保后续操作作用于真实可编译的代码基线。

1、检查是否存在 .git 目录以确认是否为 Git 克隆部署:ls -la ~/.hermes/hermes-agent/.git

2、若存在且输出为目录结构,进入该目录:cd ~/.hermes/hermes-agent

3、若不存在,需先重建源码:mkdir -p ~/.hermes/hermes-agent && cd ~/.hermes/hermes-agent

4、确认当前用户对目录具备读写权限:ls -ld ~/.hermes/hermes-agent

二、手动拉取最新主干代码并同步子模块

自动更新脚本失效常因子模块(如 tinker-atropos)未同步导致依赖链断裂。手动执行 git fetch + submodule update 可绕过脚本逻辑缺陷,强制补全所有嵌套组件。

1、执行远程分支同步:git fetch origin main

2、检出最新稳定提交(非 dev 分支):git checkout `git rev-list -n 1 –first-parent origin/main`

3、初始化并更新全部子模块:git submodule update –init –recursive

4、若提示 tinker-atropos 子模块克隆失败,手动指定镜像地址:git config –file .gitmodules submodule.tinker-atropos.url https://ghfast.top/https://github.com/nousresearch/tinker-atropos.git

5、再次执行子模块更新:git submodule sync && git submodule update –init –recursive

三、重建 Python 环境并强制重装依赖

原生 venv 可能残留旧版包缓存或冲突 wheel,导致 hermes-cli 命令不可用。通过删除旧环境并基于当前 requirements.txt 完整重装,可消除 pip 冲突与 ABI 不兼容问题。

1、定位并移除现有虚拟环境:rm -rf ~/.hermes/hermes-agent/.venv

2、创建新虚拟环境(限定 Python 3.11 或 3.12):python3.12 -m venv ~/.hermes/hermes-agent/.venv

3、激活环境:source ~/.hermes/hermes-agent/.venv/bin/activate

4、升级 pip 至最新兼容版本:pip install –upgrade pip==23.3.1

5、安装核心依赖并跳过预编译轮子(规避 manylinux 冲突):pip install -r requirements.txt –no-binary :all:

6、以开发模式安装 Hermes Agent 主体:pip install -e . –force-reinstall

四、校验 CLI 可用性与配置路径映射

重装后需确认 hermes-cli 是否被正确注册至 PATH,且其内部配置解析路径指向用户实际数据目录。否则即使编译成功,运行时仍会加载默认空配置或报 config.py not found 错误。

1、验证命令是否可调用:hermes-cli –version

2、检查 CLI 实际解析的配置根路径:hermes-cli info | grep “config_root”

3、若输出非 ~/.hermes,需手动设置环境变量:export HERMES_CONFIG_ROOT=~/.hermes

4、确认 config.py 或 config.yaml 存在于该路径下:ls -l ~/.hermes/config.{py,yaml}

5、若两者皆缺失,从模板生成基础配置:cp ~/.hermes/hermes-agent/hermes_cli/config_template.py ~/.hermes/config.py

五、执行本地编译构建并启动服务

部分功能(如 MCP 网关、技能编译器)需调用 setup.py 构建阶段生成的 C 扩展或字节码缓存。跳过此步将导致 Web UI 加载失败或工具调用无响应。

1、运行构建脚本:python setup.py build_ext –inplace

2、生成 wheel 包用于快速复用:python setup.py bdist_wheel

3、启动后台服务并捕获初始日志:hermes-cli serve –log-level debug 2>&1 | head -n 50

4、检查关键组件加载状态:hermes-cli health-check | grep -E “(memory|skills|models)”

5、若 health-check 中 models 显示 0,需手动触发模型注册:hermes-cli model register –all

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。