跳转到内容

Hermes Skill 同步路径未检测 HERMES_HOME 环境变量导致 Symlink 写入错误目录 - CC Switch

Quick fix

CC Switch 硬编码了 Skills 路径,需等待修复以支持自定义 HERMES_HOME。

报错原文
Hermes Skill 同步路径未检测 HERMES_HOME 环境变量,导致 Symlink 写入错误目录

CC Switch 在同步 Hermes Skills 时,硬编码使用 `~/.hermes/skills/` 作为目标路径。然而,Hermes 实际的 Skills 目录由 `HERMES_HOME` 环境变量决定,可能并不在 `~/.hermes/` 下(例如 Windows 上可能为 `C:\Users\<user>\AppData\Local\hermes`)。这导致 CC Switch 创建的 Symlink 位于错误目录,Hermes 无法识别这些 Skill。

此外,对于 Hermes Agent CN 版本,会话数据库 `state.db` 的路径也与官方版不同(位于 `%APPDATA%\cn.org.hermesagent.desktop\runtime\hermes-home\state.db`),且 `HERMES_HOME` 可能被设为安装目录而非数据目录,导致 CC Switch 的 Session Manager 无法读取会话记录。目前 CC Switch 缺乏自动探测这些非标准路径或允许用户手动指定 `hermesConfigDir` 的能力。

  1. 确认你的 `HERMES_HOME` 环境变量指向的实际目录。

  2. 由于 CC Switch 当前版本(如 3.16.3)存在此 bug,建议暂时手动将 CC Switch 创建的 Symlink 复制到正确的 `$HERMES_HOME/skills/` 目录下,以便 Hermes 能立即识别 Skill。

    示例:将 symlink 从错误位置复制到正确位置
    # 错误位置: ~/.hermes/skills/
    # 正确位置: $HERMES_HOME/skills/
  3. 对于 CN 版用户,若需使用 Session Manager,目前无官方支持的自动修复步骤。可关注后续版本是否增加对 CN 版固定数据路径的自动探测或允许手动配置 `hermesConfigDir`。

ToolHermes
Version3.16.3
PlatformsWindows
为什么我设置了 HERMES_HOME,CC Switch 还是把 Skill 放到 ~/.hermes/ 下?
这是 CC Switch 的一个已知 bug。它目前硬编码了 `~/.hermes/skills/` 路径,没有优先读取 `HERMES_HOME` 环境变量。你需要手动移动 Symlink 到正确目录。
我是 Hermes CN 版,Session Manager 显示为空怎么办?
CN 版的会话数据库 `state.db` 位于 `%APPDATA%\cn.org.hermesagent.desktop\runtime\hermes-home\state.db`,而 CC Switch 默认只在 `~/.hermes/` 下查找。目前 CC Switch 尚未支持自动识别此路径,也无手动配置入口。请等待后续更新。
有没有办法让 CC Switch 自动识别 CN 版路径?
目前没有。Issue #4648 中已提出希望 CC Switch 能自动探测 CN 版路径或通过 UI 暴露 `hermesConfigDir` 供用户手动指定,但该功能尚未实现。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。