fix(openclaw): forward plugin config via api.pluginConfig (closes #150)#243
Closed
Fearvox wants to merge 668 commits into
Closed
fix(openclaw): forward plugin config via api.pluginConfig (closes #150)#243Fearvox wants to merge 668 commits into
Fearvox wants to merge 668 commits into
Conversation
Use self-deployed embedding and rerank APIs by default See merge request npc-work/aic/ai/evermemos-opensource!64
vLLM Rerank API adopts an instruction-tuned approach See merge request npc-work/aic/ai/evermemos-opensource!65
feat: metrics client and rerank/vectorize/retrieve metrics See merge request npc-work/aic/ai/evermemos-opensource!66
fix:update episode prompt See merge request npc-work/aic/ai/evermemos-opensource!68
feat: add rerank metrics See merge request npc-work/aic/ai/evermemos-opensource!69
* chore: rename project from evermemos to EverCore This commit renames the project directory and updates all internal references from "evermemos" to "EverCore". The changes include: - Renaming the main directory from `methods/evermemos` to `methods/EverCore` - Updating all import paths and module references - Maintaining the same code structure and functionality - Adding new configuration files (.vscode/settings.json, .pylintrc, pyrightconfig.json) - Updating Dockerfile and project metadata * docs: update references from evermemos to EverCore Update documentation files to reflect the renaming of the 'evermemos' directory to 'EverCore'. This includes fixing clone commands, directory paths, and documentation links across multiple files to ensure consistency and correct navigation for users. * chore: rename EverMemOS to EverCore across codebase This is a project-wide rebranding from EverMemOS to EverCore. The changes include: - Update project name in source files, documentation, and configuration - Rename API references, environment variables, and service names - Modify demo descriptions and benchmark configurations - Update URLs and citations to reflect new project identity All functionality remains identical; only naming has changed to align with the new project branding. * docs: update README with EverCore focus and restructured TOC - Add line break before Table of Contents for better visual separation - Rewrite project description to highlight EverCore as the central component - Reorder directory tree to prioritize benchmarks and methods over use-cases - Update use-cases list with more examples and clarify they are templates - Improve flow from Quick Start to use-cases to benchmarks * docs: update README with clearer methods description and benchmarks Add benchmark numbers directly in the method summaries for better visibility. Clarify introductory text to emphasize choice and composition of methods. * docs: fix markdown formatting in README table of contents Adjust whitespace and line breaks to ensure proper rendering of the collapsible table of contents section.
…d-AI#204) - Replace specific EverMemBench-Dynamic badge with general EverMind-AI HuggingFace badge - Remove redundant License badge - Change "Methods" section heading to "Architecture Methods" - Update sub-section headings from h4 (####) to h3 (###) for better hierarchy
…rMind-AI#208) * docs: restructure README and add AGENTS.md for better navigation - Reorder sections to emphasize architecture methods and use cases - Move use cases section before quick start for better flow - Rename "Methods" to "Architecture Methods" for clarity - Add AGENTS.md with quick commands and key entry points - Update section headers to improve document hierarchy - Maintain all existing content while improving organization * docs: add community and contribution files * docs: reorder README directory tree for logical grouping * docs: move community files to .github/ and update references * ci: change deploy workflow trigger from feature branch to main
* docs: restructure README and add subdirectory guides Move the directory tree from the main README to new dedicated README files for each top-level folder (use-cases, methods, benchmarks). Add detailed introductions and tables to guide users to the appropriate subprojects. This improves navigation and provides clear entry points for different use cases. * docs: expand showcase section with new projects and links Add six new project entries to the README showcase, each with a banner image, description, and code/plugin link. Also update an existing benchmark entry to include a dataset link. This enhances the repository's demonstration of real-world applications and available resources.
* docs(readme): update project links and formatting * docs(use-cases): enhance README with visual catalogue of demos Expand the use cases section from a simple table to a detailed visual catalogue with project banners, descriptions, and links. This improves user engagement and provides a better showcase of community integrations and demos. * docs: update READMEs and add validation for use-case links
* docs: update plugin repository link in README * docs(readme): update banner gif link
* docs(readme): add four new use case entries * docs(readme): update outdated banner links to correct github repos
…e-demo-content-payload Fix EverCore demo memory payload
…actions-hygiene Harden GitHub Actions workflows
…bot-config Add Dependabot configuration
…adme-quickstart docs: verify EverCore quickstart path
…I#236) Delete deprecated EvoAgentBench, EverMemBench benchmark suites and HyperMem memory system implementation, including all associated configurations, scripts, and supporting assets.
…rMind-AI#150) register() read plugin config only from the factory-callback argument, but current OpenClaw hosts deliver config via api.pluginConfig (see EverMind-AI#150's repro). On those hosts the engine booted with empty config and silently fell back to default serverUrl / userId. Prefer the host-provided api.pluginConfig and fall back to the callback arg so config forwarding works on both host generations; the `?? {}` tail keeps resolveConfig() from throwing when both sources are absent. Adds test/register-config.test.js (node --test, offline) proving api.pluginConfig wins over the callback arg, the callback path is used when api.pluginConfig is absent, and empty/undefined config falls back to defaults without throwing. Scope: index.js + its regression test only. Does not bundle the separate saveMemories PersonalAddRequest envelope fix (EverMind-AI#237), which ships as its own PR. Closes EverMind-AI#150. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The OpenClaw plugin's
register()read plugin config only from thefactory-callback argument:
Current OpenClaw hosts deliver plugin config via
api.pluginConfig, not thecallback argument. On those hosts the callback arg is
undefined, so the enginebooted with no config at all — exactly the bug reported in #150
("factory callback receives no config — api.pluginConfig not forwarded"), whose
repro shows this same
register().This PR makes
register()prefer the host-provided config and fall back to thecallback arg so config forwarding works on both host generations:
Why
A passive context engine that boots with empty config silently uses defaults
(default
serverUrl, defaultuserId) instead of the host's configured values— memories get written under the wrong identity / endpoint with no error. The
?? {}tail also keepsresolveConfig()from throwing when both sources areabsent.
Tests
Adds
test/register-config.test.js(runs withnode --test, fully offline — astubbed
fetchmakes the resolvedserverUrlobservable via the engine's/healthbootstrap call):register() prefers api.pluginConfig over the callback arg— host config wins.register() falls back to the callback arg when api.pluginConfig is absent.register() tolerates both config sources being empty— defaults, no throw.cd methods/EverCore/examples/openclaw-plugin node --test test/register-config.test.jsResult: 3 passed.
Scope
Surgical: two files only —
examples/openclaw-plugin/index.jsand its newregression test. Deliberately does not bundle the separate
saveMemoriesPersonalAddRequest envelope fix (issue #237) — that ships as its own PR so each
change stays reviewable in isolation.
Closes #150.
Credit
Original fix. Thanks to @keylimesoda for the precise #150 repro that pinpointed
the
api.pluginConfigforwarding gap.Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
🤖 Generated with Claude Code