Skip to content

修复 Hermes root 安装和 systemd 启动兼容性#21

Draft
kylezhang wants to merge 1 commit into
Tencent:mainfrom
kylezhang:codex/fix-hermes-memory-install
Draft

修复 Hermes root 安装和 systemd 启动兼容性#21
kylezhang wants to merge 1 commit into
Tencent:mainfrom
kylezhang:codex/fix-hermes-memory-install

Conversation

@kylezhang
Copy link
Copy Markdown

背景

在一台 Ubuntu 服务器上按 Hermes system service/root 方式安装后,接入 memory-tencentdb 时遇到了几个兼容性问题:

  • Hermes 代码目录实际在 /usr/local/lib/hermes-agent,但脚本只检查 ~/.hermes/hermes-agent
  • root 直接执行脚本时会再次 su - root 进入脚本,容易形成递归。
  • Gateway command 写成 npx tsx ...,在 systemd + nvm 场景下容易因为 PATH 不同找不到 node

修改

  • 支持通过 HERMES_AGENT_DIR 显式指定 Hermes 代码目录,并自动兼容 /usr/local/lib/hermes-agent
  • root 直接执行时按 root 环境安装;需要指定用户时可用 MEMORY_TENCENTDB_USER=<username>
  • Gateway command 优先写入当前 node 的绝对路径,减少 systemd PATH 差异导致的启动失败。
  • 写入 /etc/profile.d 时兼容 root/non-root 两种执行方式。

验证

  • bash -n scripts/install_hermes_memory_tencentdb.sh
  • git diff --check

Closes #18
Closes #19
Closes #20

@Maxwell-Code07
Copy link
Copy Markdown
Collaborator

Hi @kylezhang,感谢提交这个 PR!
看到你把 #18#19#20 三个问题一并修复了,很及时。我们会尽快审查,审完后给你反馈。
感谢贡献!🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants