ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

让启动一次就成功:Hermes Agent 启动脚本的依赖检查与错误处理指南

让启动一次就成功:Hermes Agent 启动脚本的依赖检查与错误处理指南 让启动一次就成功Hermes Agent 启动脚本的依赖检查与错误处理指南【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent第一次跑 Hermes Agent 的启动脚本setup-hermes.sh你大概率会卡在这句话上setup-hermes.sh: line 23: uv: command not founduv是这个 Python 项目的环境管理器没它一切免谈。启动脚本优化的本质就是在依赖检查阶段提前把这些坑填掉把错误处理做成看得懂的指引。下面这套思路套到任何 shell 安装脚本上都成立。你的环境差在哪首次启动的失败基本逃不出这三类先对号入座依赖缺失uv、node、rgripgrep一个很快的文本搜索工具、ffmpeg没装或装了但不在 PATH 里。版本不匹配Python 是 3.9脚本却要求 3.11uv 太老不支持项目锁定的语法。路径与权限新目录没进 PATH装完要用source重载目录不可写、非交互环境里sudo弹密码卡死。记住这三类你写检查逻辑时就知道该防什么了。第一道防线依赖自检探测工具用 bash 内置的command -v比which更通用配合静默输出保持终端干净if command -v uv /dev/null 21; then echo ok: uv ready else echo missing: uv fi注意用if包住探测后面讲set -e时你就会发现这种写法是刻意的。光探存在性不够还要探版本——存在 ≠ 满足要求uv_major$(uv --version | cut -d. -f1) [ $uv_major -ge 0 ] echo uv version finePython 的检测同理python3 --version达标不代表能跑还得确认你落在 Hermes 自己的虚拟环境里而不是系统默认环境if [ -f .venv/pyvenv.cfg ]; then echo venv found, will use it fi第二道防线把报错变成指引脚本开头常见的set -e意思是任何一步失败立刻停。它很安全但会误伤探测逻辑——command -v找不到命令时返回非零若不在if里包着脚本当场就退给你看你甚至不知道卡在哪一步。所以约定探测类检查显式接住返回值只有真正不可恢复的失败才让它停。关键操作失败时提示要指向下一个动作而不是复述退出码。比如装 uv 这一步if ! install_uv; then echo uv 安装失败请检查网络后重跑脚本 2 exit 1 fi装完还得二次确认。有些安装器下载成功≠能用没落进 PATH 照样跑不起来if ! command -v uv /dev/null 21; then echo uv 安装后仍不可用检查 PATH 配置 2 exit 1 fi配置文件缺失也别硬退。有.env.example就先复制一份让你填if [ ! -f .env ] [ -f .env.example ]; then cp .env.example .env echo 已生成 .env请补全密钥后再运行 fi第三道防线兼容不同人的机器同一台脚本要在 apt、brew、cargo 三种机器上跑。动手改系统前先征求用户同意这是安装脚本的礼貌底线read -r -p 需要安装 ripgrep继续[Y/n] ans [[ $ans ~ ^[Nn] ]] exit 0然后按包管理器逐层兜底全都没有就给人工指引而不是直接退出if command -v apt; then apt install -y ripgrep elif command -v brew; then brew install ripgrep elif command -v cargo; then cargo install ripgrep fi新工具的路径要持久化到用户的 shell 配置并当场生效不然下次开终端又得手动补 PATHlineexport PATH$HOME/.local/bin:$PATH grep -qxF $line ~/.bashrc || echo $line ~/.bashrc怎么验证真的可用脚本写完按这张清单跑一遍干净环境虚拟机或容器从零装到底半装状态只预装一半依赖看补装逻辑至少两个发行版Ubuntu 走 apt 分支、Fedora 走 dnf 分支bash 和 zsh 各跑一遍确认 PATH 写进了正确的 rc 文件重跑一次脚本不能重复建目录、不能往 rc 文件里重复追加 PATH幂等性项目自己也内置了这类自检hermes doctor命令可以一键诊断当前环境桌面端 apps/desktop/electron/ 里还有专门模拟后端启动失败的测试用例思路可以借用——把你的失败路径当成测试输入。收尾把跑不起来变成一次成功依赖检查必须跑在安装动作之前探测用if包着别被set -e误杀每个关键失败点提示都要能直接指导下一步装完二次确认下载成功 ≠ 真能用配置缺失用.env.example兜底别硬退系统级改动先征求同意多包管理器逐层兜底git clone https://gitcode.com/GitHub_Trending/he/hermes-agent cd hermes-agent ./setup-hermes.sh hermes doctor愿你的终端里从此只有ok和ready。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进