Skip to content

Latest commit

 

History

History
178 lines (130 loc) · 7.57 KB

File metadata and controls

178 lines (130 loc) · 7.57 KB

Hermes Agent · 安装指南

⚠️ 2026-05 重要更新:Hermes Skills Guard 扫描器(Hermes 官方 issue #1006#7072 已知 bug)对 UZI-Skill 报 Verdict: DANGEROUS · 168 findings · --force 也覆盖不了(DANGEROUS 设计上不可绕过).

这些 findings 全是假阳性 · 都是模式匹配吃了我们自己的 os.environ.get("UZI_DEPTH") / subprocess.run(["brew", ...]) / cloudflared opt-in 远程映射等合法代码。Hermes 团队公开承认问题(官方/builtin skills 也被自家扫描器拦下了) · 在等 allowlist 模型升级.

解决办法 · 一键脚本绕过 Hub 扫描 · 完全等价(见下方第 1 节).

1️⃣ 推荐 · 一键脚本(绕过 Skills Guard · v3.6.1+)

curl -fsSL https://raw.githubusercontent.com/wbh604/UZI-Skill/main/install-hermes.sh | bash

或下载 / clone 后跑:

bash install-hermes.sh                  # 装到默认 ~/UZI-Skill
bash install-hermes.sh /opt/uzi-skill   # 自定义 clone 路径

脚本会:

  • git clone 仓库到 ~/UZI-Skill(已存在则 pull 更新)
  • 删除 ~/.hermes/skills/{deep-analysis,investor-panel,lhb-analyzer,trap-detector} 旧版(如有)
  • ln -sfn 创建 4 个 skill 的 symlink 到 ~/.hermes/skills/
  • 用 Hermes venv pip 装 requirements.txt
  • 验证 SKILL.md 版本号

完成后 hermes 启动 → /skills → 应见 4 个 UZI skill 。 环境变量配置(可选)写到 ~/.hermes/.env · 见下方"环境变量"章节。

2️⃣ 备选 · 手动 clone + symlink(不放心跑脚本时)

# 卸载旧版(如果之前用 hermes skills install 装过)
rm -rf ~/.hermes/skills/{deep-analysis,investor-panel,lhb-analyzer,trap-detector}

# clone + symlink
git clone --depth 1 https://github.com/wbh604/UZI-Skill.git ~/UZI-Skill
mkdir -p ~/.hermes/skills
for s in deep-analysis investor-panel lhb-analyzer trap-detector; do
  ln -sfn ~/UZI-Skill/skills/$s ~/.hermes/skills/$s
done

# 装 Python 依赖到 Hermes venv
"$HOME/.hermes/venv/bin/pip" install -r ~/UZI-Skill/requirements.txt

3️⃣ ⚠️ hermes skills install(当前 Skills Guard 会拦下)

# 目前会报 DANGEROUS · 见上方背景
hermes skills install wbh604/UZI-Skill/skills/deep-analysis
hermes skills install wbh604/UZI-Skill/skills/investor-panel
hermes skills install wbh604/UZI-Skill/skills/lhb-analyzer
hermes skills install wbh604/UZI-Skill/skills/trap-detector

Skills Guard 误判的具体原因

Finding 类别 实际代码 真实意图
exfiltration 87 处 os.environ.get("UZI_DEPTH") 我们自己的配置(lite/medium/deep)· 不动用户敏感 env
network 9 处 subprocess.run(["brew", "install", "cloudflared"]) 用户显式 --remote 才触发的远程映射 · 默认不跑
privilege_escalation curl -fsSL .../cloudflared-linux-amd64 同上 · 仅 --remote 路径 · 装到 /usr/local/bin 也需 sudo 用户同意
injection HTML 注释 <!-- HIDDEN SHARE-CARD --> 纯文本注释 · 不是动态注入
persistence 文档字符串包含 "AGENTS.md" docstring 提到文件名 · 不写盘
structural 1973KB / 284 files 仅大小 · 含 tests/personas/references

这些都是 Hermes Skills Guard v0.x 模式匹配的副作用 · 跟 UZI-Skill 实际行为无关。


首次用自然语言(如「分析 600519.SH」)触发 deep-analysis 时,skill 会根据自身 SKILL.md 的提示自动让 LLM 跑一次 pip install -r ~/.hermes/skills/deep-analysis/requirements.txt,之后永久生效。

升级提示(重要)

如果你在 v3.3.1 之前装过 hermes 版本,升级前先删掉旧的再装新的:

hermes skills uninstall deep-analysis investor-panel lhb-analyzer trap-detector
hermes skills install wbh604/UZI-Skill/skills/deep-analysis
hermes skills install wbh604/UZI-Skill/skills/investor-panel
hermes skills install wbh604/UZI-Skill/skills/lhb-analyzer
hermes skills install wbh604/UZI-Skill/skills/trap-detector

旧版本(v2.10.8 之前)skill_dir 缺 run.pyrequirements.txt · 这是历史报错的根因.

手动安装(clone + symlink)

适合开发或想修改源码的用户:

git clone https://github.com/wbh604/UZI-Skill.git ~/UZI-Skill
mkdir -p ~/.hermes/skills
for s in deep-analysis investor-panel lhb-analyzer trap-detector; do
  ln -sfn ~/UZI-Skill/skills/$s ~/.hermes/skills/$s
done
# 装 Python 依赖到 Hermes venv
"$HOME/.hermes/venv/bin/pip" install -r ~/UZI-Skill/requirements.txt

验证

hermes                       # 打开 TUI
/skills                      # 列出已装 skill · 应见 deep-analysis / investor-panel / lhb-analyzer / trap-detector
分析 600519.SH               # 用自然语言触发 · 自动命中 deep-analysis skill · lite 模式 30-60 秒出报告

⚠️ Hermes 用自然语言触发 skill,没有 /analyze-stock 这种 slash 命令(那是 Claude Code 插件命令,Hermes 不注册 commands/)。 直接说「分析 600519.SH」「深度分析 贵州茅台」「帮我看看 00700.HK」即可——skill 会按 SKILL.md 的描述关键词自动触发。

报告生成到:

  • ~/.hermes/skills/deep-analysis/scripts/reports/<ticker>_<date>/full-report-standalone.html
  • 手动装的话:~/UZI-Skill/skills/deep-analysis/scripts/reports/...

可选:环境变量(数据源增强)

写到 ~/.hermes/.env

# 东财妙想官方 API(国内推荐,境外反而更稳)
MX_APIKEY=your_miaoxiang_key

# Tushare(覆盖 baostock 不到的场景)
TUSHARE_TOKEN=your_tushare_token

不设也能跑,只是 fallback 数据源多一层。

三档思考深度

Hermes 用户推荐默认跑 lite(30-60s)或 medium(2-4min)。用自然语言带上档位即可:

分析 00700.HK,用 lite 模式
分析 AAPL,medium 深度
深度分析 600519.SH(deep · 15-20min,含 Bull-Bear 辩论)

Hermes 没有 /analyze-stock --depth 这种 slash 语法 · 直接在自然语言里说档位 · agent 会传给脚本。

与其他环境的关系

环境 分支 状态
Claude Code main 官方支持 v2.10.7
Codex main 官方支持 v2.10.7
Cursor main 官方支持 v2.10.7
Hermes hermes-compat v2.10.8 · 本次适配

hermes-compat 分支从 main 派生,只做 Hermes 兼容改动(SKILL.md 加 tags / 复制 requirements 到 skill dir / run.py 路径兼容),不会回灌到 main 影响其他环境用户。

故障排查

问题:/skills 没列出 UZI-Skill

  • 检查 ~/.hermes/skills/deep-analysis/SKILL.md 是否存在
  • hermes skills list 看状态

问题:触发后 ImportError: No module named akshare

  • 检查依赖装哪了:which pip && pip show akshare
  • 重跑:~/.hermes/venv/bin/pip install -r ~/.hermes/skills/deep-analysis/requirements.txt

问题:Unknown command: /analyze-stock(issue #76)

  • Hermes 没有 /analyze-stock 这个命令 —— 那是 Claude Code 的 slash 命令
  • 改用自然语言:直接说「分析 600519.SH」/「深度分析 贵州茅台」即可触发

问题:网络受限跑不完

  • 降到 lite:自然语言里说「用 lite 模式分析 」
  • MX_APIKEY 切换到东财妙想主源
  • 参考 AGENTS.md 网络受限章节

反馈