Skip to content

fix(openclaw-memory-plugin): add missing files and merge config instead of overwriting#516

Merged
zhoujh01 merged 1 commit intomainfrom
fix/openclaw-plugin-install-and-deps
Mar 10, 2026
Merged

fix(openclaw-memory-plugin): add missing files and merge config instead of overwriting#516
zhoujh01 merged 1 commit intomainfrom
fix/openclaw-plugin-install-and-deps

Conversation

@qin-ctx
Copy link
Collaborator

@qin-ctx qin-ctx commented Mar 10, 2026

Description

Fix openclaw-memory-plugin install scripts to download newly added source files and avoid overwriting existing user configuration.

Related Issue

Follows up on #513

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test update

Changes Made

  • Add tsconfig.json, client.ts, process-manager.ts, memory-ranking.ts, text-utils.ts to download file lists in install.ps1, install.sh, and setup-helper/cli.js
  • Merge plugin load paths into existing config instead of overwriting (cli.js)
  • Merge plugins.allow list instead of overwriting in install.ps1
  • Adjust default recallLimit placeholder from 20 to 6 in openclaw.plugin.json
  • Update uv.lock with resolved bot-full dependency changes (self-referencing extras instead of duplicated deps)

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this on the following platforms:
    • Linux
    • macOS
    • Windows

Checklist

  • My code follows the project's coding style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Screenshots (if applicable)

N/A

Additional Notes

Generated with Claude Code

…erge config properly

Add tsconfig.json and new source files (client.ts, process-manager.ts,
memory-ranking.ts, text-utils.ts) to install scripts. Merge plugin load
paths and allow list instead of overwriting existing config. Adjust
default recallLimit to 6. Update uv.lock with resolved bot-full deps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions
Copy link

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

513 - Partially compliant

Compliant requirements:

  • Change install scripts to merge into existing plugins.allow and plugins.load.paths instead of overwriting
  • Reduce default recall limit from 20 to 6

Non-compliant requirements:

  • Replace fail-on-port-occupied with smart prepareLocalPort
  • Simplify agent ID default from random per-session generation to static "default"
  • Update SKILL.md documentation to reflect new agentId default

Requires further human verification:

  • Verify that the newly added source files (client.ts, process-manager.ts, memory-ranking.ts, text-utils.ts, tsconfig.json) are correctly downloaded and installed
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Possible Issue

Verify that runCapture is a defined function and that it returns an object with an out property (instead of stdout like the previous run function).

    const rawPaths = await runCapture("openclaw", ["config", "get", "plugins.load.paths", "--json"], { ...extraEnv });
    currentPaths = JSON.parse(rawPaths.out || "[]");
  } catch {}
  if (!Array.isArray(currentPaths)) currentPaths = [];
  if (!currentPaths.includes(pluginPath)) currentPaths.push(pluginPath);
  await runNoShell("openclaw", ["config", "set", "plugins.load.paths", JSON.stringify(currentPaths), "--json"], { silent: true }).catch(() => {});
}
await runNoShell("openclaw", ["config", "set", "plugins.enabled", "true"]);
// Merge into existing allow list instead of overwriting
let currentAllow = [];
try {
  const raw = await runCapture("openclaw", ["config", "get", "plugins.allow", "--json"], { ...extraEnv });
  currentAllow = JSON.parse(raw.out || "[]");
} catch {}

@github-actions
Copy link

PR Code Suggestions ✨

No code suggestions found for the PR.

@zhoujh01 zhoujh01 merged commit 1b31130 into main Mar 10, 2026
25 of 26 checks passed
@zhoujh01 zhoujh01 deleted the fix/openclaw-plugin-install-and-deps branch March 10, 2026 12:09
@github-project-automation github-project-automation bot moved this from Backlog to Done in OpenViking project Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants