fix(catalog): standardize Hermes + DeerFlow install scripts, fix manifest drift#1934
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughUpdated Deer Flow and Hermes manifests to use script-based installation. Hermes also documents gateway service setup and TAOS SSE connectivity configuration. ChangesAgent installer configuration
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
| install: | ||
| method: script | ||
| script: scripts/install.sh | ||
| script: scripts/install-openclaw.sh |
There was a problem hiding this comment.
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.
| | `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. |
There was a problem hiding this comment.
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}" |
There was a problem hiding this comment.
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 | |||
There was a problem hiding this comment.
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}" |
There was a problem hiding this comment.
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.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Incremental review of Both manifest-script-drift fixes are correct and verified:
The previous CRITICAL findings on Files Reviewed (2 files in this increment)
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
Issue Details (click to expand)CRITICAL
WARNING
SUGGESTION
Files Reviewed (2 files in this increment)
Fix these issues in Kilo Cloud Previous review (commit 3796442)Status: 5 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
WARNING
SUGGESTION
Files Reviewed (10 files)
Reviewed by hy3:free · Input: 34.7K · Output: 1.8K · Cached: 78.3K |
3796442 to
c0d9c96
Compare
There was a problem hiding this comment.
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
📒 Files selected for processing (2)
app-catalog/agents/deer-flow/manifest.yamlapp-catalog/agents/hermes/manifest.yaml
| Configures the Hermes -> TAOS bridge adapter (hermes_adapter.py) | ||
| and a systemd unit that connects to TAOS channels via SSE. |
There was a problem hiding this comment.
📐 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)
c0d9c96 to
3e95ba9
Compare
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: referencedscripts/install-deer-flow.shbut actual script isscripts/install.shImplementation
method: piptomethod: scriptwithscripts/install.sh+ bridge setup notescripts/install.sh, expand config note to document LiteLLM proxy + systemd wiringVerification
pytest tests/test_catalog_sync.py -x -q: 3/3 passSummary by Gitar
Agent Framework Install Scriptstable toREADME.mdto document supported frameworks and their specific install toolchains.This will update automatically on new commits.
Summary by CodeRabbit