-
Notifications
You must be signed in to change notification settings - Fork 0
feat(hermes): declarative gateway deps via uv dependency group #1660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,5 +1,5 @@ | ||||||||||||||||||
| #!/usr/bin/env bash | ||||||||||||||||||
| # Create Hermes directories with correct permissions | ||||||||||||||||||
| # Create Hermes directories and install runtime deps | ||||||||||||||||||
| # Usage: activate.sh <home_dir> | ||||||||||||||||||
| set -euo pipefail | ||||||||||||||||||
| HOME_DIR="$1" | ||||||||||||||||||
|
|
@@ -11,3 +11,11 @@ mkdir -p "$HOME_DIR/.hermes/memories" | |||||||||||||||||
| mkdir -p "$HOME_DIR/.hermes/skills" | ||||||||||||||||||
| mkdir -p "$HOME_DIR/.hermes/cron" | ||||||||||||||||||
| chmod 700 "$HOME_DIR/.hermes" | ||||||||||||||||||
|
|
||||||||||||||||||
| # Install hermes gateway runtime deps from pyproject.toml dependency group | ||||||||||||||||||
| HERMES_VENV="$HOME_DIR/ghq/github.com/NousResearch/hermes-agent/.venv" | ||||||||||||||||||
| if [ -d "$HERMES_VENV" ]; then | ||||||||||||||||||
| uv pip install --python "$HERMES_VENV/bin/python" \ | ||||||||||||||||||
| --group hermes \ | ||||||||||||||||||
| --project "$HOME_DIR/dotfiles" 2>/dev/null || true | ||||||||||||||||||
|
Comment on lines
+18
to
+20
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Silencing stderr with
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P1: Do not silence and ignore Prompt for AI agents
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Next Upstream So the runtime sequence becomes:
Until the user remembers to re-run
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Silent failure hides every install error. With
When Compare to the codebase's own pattern in if ! command -v uv &>/dev/null; then
echo "uv not found, skipping uv globals install"
exit 0
fi
...
uv tool install "$pkg" ... 2>/dev/null || echo "Failed to install $pkg, skipping..."Suggested change here: drop the |
||||||||||||||||||
| fi | ||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -21,6 +21,13 @@ tools = [ | |||||||||
| "vllm>=0.20.0", | ||||||||||
| "vllm-mlx>=0.2.9", | ||||||||||
| ] | ||||||||||
| # Hermes gateway runtime deps - installed into hermes venv via uv pip install | ||||||||||
| hermes = [ | ||||||||||
| "python-telegram-bot[webhooks]>=22.6,<23", | ||||||||||
| "croniter>=6.0.0,<7", | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Upstream The only dep that genuinely benefits from this declarative install path is Safe to drop just this line. Even better: switch the build to
Suggested change
|
||||||||||
| "fastapi[standard]>=0.115.0", | ||||||||||
| "uvicorn>=0.30.0", | ||||||||||
| ] | ||||||||||
|
|
||||||||||
| [tool.uv] | ||||||||||
| exclude-newer = "1 week" | ||||||||||
|
|
||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The path to the virtual environment is hardcoded to a specific
ghqdirectory structure. This makes the script brittle if the repository is cloned elsewhere. Consider allowing this path to be overridden via an environment variable to improve portability.