Skip to content

fix(catalog): standardize Hermes + DeerFlow install scripts, fix manifest drift#1934

Merged
jaylfc merged 1 commit into
jaylfc:devfrom
hognek:fix/catalog-broken-install-scripts
Jul 20, 2026
Merged

fix(catalog): standardize Hermes + DeerFlow install scripts, fix manifest drift#1934
jaylfc merged 1 commit into
jaylfc:devfrom
hognek:fix/catalog-broken-install-scripts

Conversation

@hognek

@hognek hognek commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Problem

Four agent catalog manifests had install-script drift vs the actual scripts in the repo:

  • hermes/manifest.yaml: still specified pip install (no install script existed)
  • deer-flow/manifest.yaml: referenced scripts/install-deer-flow.sh but actual script is scripts/install.sh
  • Manifest notes were inconsistent with the actual install procedures

Implementation

  • Hermes: switch from method: pip to method: script with scripts/install.sh + bridge setup note
  • DeerFlow: standardize script name to scripts/install.sh, expand config note to document LiteLLM proxy + systemd wiring

Verification

  • pytest tests/test_catalog_sync.py -x -q: 3/3 pass

Summary by Gitar

  • Documentation:
    • Added Agent Framework Install Scripts table to README.md to document supported frameworks and their specific install toolchains.

This will update automatically on new commits.

Summary by CodeRabbit

  • Bug Fixes
    • Updated Deer Flow installation to reference the correct setup script.
    • Improved Hermes installation to use the provided setup script instead of a package-based install.
    • Enhanced Hermes setup guidance to clarify gateway service creation and how channel connectivity credentials are written into the container environment.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 12527e74-8b02-49c8-8f0a-bdaad02208d6

📥 Commits

Reviewing files that changed from the base of the PR and between c0d9c96 and 3e95ba9.

📒 Files selected for processing (2)
  • app-catalog/agents/deer-flow/manifest.yaml
  • app-catalog/agents/hermes/manifest.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • app-catalog/agents/deer-flow/manifest.yaml

📝 Walkthrough

Walkthrough

Updated Deer Flow and Hermes manifests to use script-based installation. Hermes also documents gateway service setup and TAOS SSE connectivity configuration.

Changes

Agent installer configuration

Layer / File(s) Summary
Script-based agent installation
app-catalog/agents/deer-flow/manifest.yaml, app-catalog/agents/hermes/manifest.yaml
Deer Flow now references scripts/install.sh; Hermes replaces the PyPI install with the same script and documents its container, systemd, and SSE setup.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • jaylfc/taOS#1694: Directly concerns the same Deer Flow and Hermes installer manifest references.

Suggested reviewers: jaylfc

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: standardizing Hermes and DeerFlow install scripts and correcting manifest drift.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gitar-bot

gitar-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

Gitar is working

Gitar

install:
method: script
script: scripts/install.sh
script: scripts/install-openclaw.sh

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Install script reference does not resolve — deploy will fail with "Install script missing".

The deployer resolves install.script relative to the manifest dir (app-catalog/agents/openclaw/, see tinyagentos/deployer.py:645). That directory only contains scripts/install.sh, not scripts/install-openclaw.sh. So this points at a non-existent file. Note this is exactly the broken-reference drift this PR set out to fix.

Fix: change to scripts/install.sh to match the file that actually exists in the agent dir, or rename the local file to install-openclaw.sh.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

Comment thread README.md
| `scripts/install-openclaw.sh` | [OpenClaw](https://github.com/openclaw/openclaw) | Clones repo to `/opt/openclaw` and installs with pip |
| `scripts/install-picoclaw.sh` | [PicoClaw](https://github.com/sipeed/picoclaw) | Clones repo to `/opt/picoclaw` and builds with `cmake` |

Hermes Agent uses `install: {method: pip, package: hermes-agent}` in its catalog manifest (available on PyPI from Nous Research) and does not need a separate install script.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Documentation drift — this line still claims Hermes uses method: pip, but the latest commit on this PR (37964429) switched Hermes to method: script with script: scripts/install.sh.

Update the sentence to reflect that Hermes is now a script-based install, matching the manifest.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

# --- install with pip ------------------------------------------------------
log "installing openclaw with pip"
cd "$OPENCLAW_HOME"
pip install -e . || die "pip install failed in ${OPENCLAW_HOME}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WARNING: This script is functionally incorrect for OpenClaw and contradicts the actually-deployed installer. The real, deployed script (app-catalog/agents/openclaw/scripts/install.sh) installs OpenClaw from npm (openclaw@latest), not PyPI. This script instead clones a git repo and runs pip install -e ., which will not produce a working OpenClaw. The manifest note ("installs with pip") has the same problem.

Additionally, this top-level scripts/install-openclaw.sh is not even the file the deployer uses — the deployer uses the agent-local install.sh. So this script is both wrong and orphaned. Either fix it to npm-based, or remove the top-level duplicate to avoid drift.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@@ -17,7 +17,7 @@ install:
script: scripts/install.sh

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: scripts/install.sh resolves to app-catalog/agents/hermes/scripts/install.sh (exists) via the deployer's manifest_dir join, so this is technically correct. However, this PR also added a separate top-level scripts/install-*.sh family (agent-zero, openclaw, moltis, picoclaw, deer-flow) that the deployer does NOT use — those are orphaned duplicates. For consistency, either (a) standardize all frameworks on agent-local scripts/install.sh, or (b) standardize on the top-level scripts/install-<framework>.sh and fix the resolver; don't keep two parallel, drift-prone copies.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

# --- install with pip ------------------------------------------------------
log "installing agent-zero with pip"
cd "$AGENT_ZERO_HOME"
pip install -e . || die "pip install failed in ${AGENT_ZERO_HOME}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SUGGESTION: This top-level scripts/install-agent-zero.sh is not used by the deployer — app-catalog/agents/agent-zero/manifest.yaml points at the agent-local scripts/install-agent-zero.sh (which exists), and the deployer resolves relative to the manifest dir. The same applies to install-moltis.sh, install-picoclaw.sh, and install-deer-flow.sh. These top-level copies are orphaned and can silently drift from the deployed scripts. Consider removing the unused top-level duplicates (or redirecting the resolver) to avoid confusion.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@kilo-code-bot

kilo-code-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Incremental review of c0d9c96..3e95ba9 (HEAD). This change only touched app-catalog/agents/deer-flow/manifest.yaml and app-catalog/agents/hermes/manifest.yaml.

Both manifest-script-drift fixes are correct and verified:

  • deer-flow now references scripts/install.sh (line 17), which exists in app-catalog/agents/deer-flow/scripts/.
  • hermes switched from method: pip / package: hermes-agent to method: script / scripts/install.sh (lines 15-17), which exists in app-catalog/agents/hermes/scripts/.

The previous CRITICAL findings on openclaw/manifest.yaml (line 16) and README.md (line 604), and WARNING/SUGGESTION findings on scripts/install-openclaw.sh and scripts/install-agent-zero.sh, are on files NOT changed in this increment and are therefore out of scope for this review (see prior review). No new issues were introduced in the changed lines.

Files Reviewed (2 files in this increment)
  • app-catalog/agents/deer-flow/manifest.yaml - fixed, no new issues
  • app-catalog/agents/hermes/manifest.yaml - fixed, no new issues
Previous Review Summaries (2 snapshots, latest commit c0d9c96)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit c0d9c96)

Status: 5 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 2
WARNING 1
SUGGESTION 2

Incremental review of 3796442..c0d9c96. This change only touched app-catalog/agents/deer-flow/manifest.yaml and app-catalog/agents/hermes/manifest.yaml. Both manifest-script-drift fixes are correct: deer-flow now points to the existing scripts/install.sh (line 17) and hermes switched from method: pip to method: script with scripts/install.sh (lines 16-21), both of which exist in their agent-local dirs. The findings below on openclaw, README.md, and top-level scripts/install-*.sh are on files NOT changed in this increment and remain unresolved from the prior review.

Issue Details (click to expand)

CRITICAL

File Line Issue
app-catalog/agents/openclaw/manifest.yaml 16 Script reference scripts/install-openclaw.sh does not exist in app-catalog/agents/openclaw/scripts/ (only install.sh is present); deployer resolves relative to manifest dir and will fail with "Install script missing".
README.md 604 Stale claim that Hermes uses method: pip; latest commit switched Hermes to method: script.

WARNING

File Line Issue
scripts/install-openclaw.sh 37 Installs OpenClaw via pip install -e . from a git clone, but the deployed installer uses npm (openclaw@latest). Wrong install method and orphaned (deployer uses the agent-local install.sh).

SUGGESTION

File Line Issue
app-catalog/agents/hermes/manifest.yaml 17 Prior note: agent-local scripts/install.sh vs unused top-level scripts/install-*.sh; the current hermes line 17 now correctly resolves to the agent-local script. Underlying orphaned top-level-script layout remains.
scripts/install-agent-zero.sh 37 Top-level scripts/install-*.sh files are not used by the deployer (which resolves to agent-local scripts); orphaned duplicates that can drift.
Files Reviewed (2 files in this increment)
  • app-catalog/agents/deer-flow/manifest.yaml - fixed (no new issues)
  • app-catalog/agents/hermes/manifest.yaml - fixed (no new issues)

Fix these issues in Kilo Cloud

Previous review (commit 3796442)

Status: 5 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 2
WARNING 1
SUGGESTION 2
Issue Details (click to expand)

CRITICAL

File Line Issue
app-catalog/agents/openclaw/manifest.yaml 16 Script reference scripts/install-openclaw.sh does not exist in app-catalog/agents/openclaw/scripts/ (only install.sh is present); deployer resolves relative to manifest dir (deployer.py:645) and will fail with "Install script missing".
README.md 593 Stale claim that Hermes uses method: pip; latest commit switched Hermes to method: script.

WARNING

File Line Issue
scripts/install-openclaw.sh 37 Installs OpenClaw via pip install -e . from a git clone, but the deployed installer uses npm (openclaw@latest). Wrong install method and orphaned (deployer uses the agent-local install.sh).

SUGGESTION

File Line Issue
app-catalog/agents/hermes/manifest.yaml 17 Parallel/duplicated install-script layout: agent-local scripts/install.sh vs unused top-level scripts/install-*.sh; standardize to one scheme to avoid drift.
scripts/install-agent-zero.sh 37 Top-level scripts/install-*.sh files are not used by the deployer (which resolves to agent-local scripts); orphaned duplicates that can drift.
Files Reviewed (10 files)
  • README.md
  • app-catalog/agents/agent-zero/manifest.yaml
  • app-catalog/agents/deer-flow/manifest.yaml
  • app-catalog/agents/hermes/manifest.yaml
  • app-catalog/agents/openclaw/manifest.yaml
  • scripts/install-agent-zero.sh
  • scripts/install-deer-flow.sh
  • scripts/install-moltis.sh
  • scripts/install-openclaw.sh
  • scripts/install-picoclaw.sh

Fix these issues in Kilo Cloud


Reviewed by hy3:free · Input: 34.7K · Output: 1.8K · Cached: 78.3K

@hognek
hognek force-pushed the fix/catalog-broken-install-scripts branch from 3796442 to c0d9c96 Compare July 20, 2026 02:13

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app-catalog/agents/hermes/manifest.yaml`:
- Around line 20-21: Update the manifest note describing the Hermes-to-TAOS
bridge to distinguish the installed container component
`/opt/taos/taos-hermes-bridge.py` from the controller-side `hermes_adapter.py`,
explicitly identifying each component’s location and role.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 81eef6b0-edee-40fd-881b-97ea4818dfcb

📥 Commits

Reviewing files that changed from the base of the PR and between c801a22 and c0d9c96.

📒 Files selected for processing (2)
  • app-catalog/agents/deer-flow/manifest.yaml
  • app-catalog/agents/hermes/manifest.yaml

Comment thread app-catalog/agents/hermes/manifest.yaml Outdated
Comment on lines +20 to +21
Configures the Hermes -> TAOS bridge adapter (hermes_adapter.py)
and a systemd unit that connects to TAOS channels via SSE.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Distinguish the controller adapter from the container bridge.

This note names hermes_adapter.py, but the installer creates /opt/taos/taos-hermes-bridge.py, while the compliance section identifies hermes_adapter.py as the controller-side adapter. Clarify the note so operators know which component is installed in the container versus the controller.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app-catalog/agents/hermes/manifest.yaml` around lines 20 - 21, Update the
manifest note describing the Hermes-to-TAOS bridge to distinguish the installed
container component `/opt/taos/taos-hermes-bridge.py` from the controller-side
`hermes_adapter.py`, explicitly identifying each component’s location and role.

…ermes, OpenClaw, DeerFlow; remove stale agent-zero note

- Hermes: switch from pip to script install with Hermes→TAOS bridge note
- OpenClaw: switch script to scripts/install.sh, update note for npm install
- DeerFlow: standardize script name to install.sh, expand config note
- AgentZero: remove stale PyPI-disambiguation note (script already correct)
@hognek
hognek force-pushed the fix/catalog-broken-install-scripts branch from c0d9c96 to 3e95ba9 Compare July 20, 2026 02:16
@jaylfc
jaylfc merged commit 3663bdf into jaylfc:dev Jul 20, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants