← 返回 Skills 市场
simon-she

River Memory

作者 Simon-She · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
355
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install river-memory
功能描述
Store and semantically search text memories locally using Ollama with automatic management and optimization.
安全使用建议
Summary of risks and next steps: - What this does: stores and semantically searches local text by calling your local Ollama instance (http://localhost:11434) and saving embeddings + content to a JSON memory file. - Main concerns: - index.js invokes the external 'curl' command via a shell (child_process.spawn with shell:true). This is an undeclared binary dependency and can be unsafe if inputs are not escaped, possibly enabling command injection in some scenarios. Prefer using an HTTP library instead of shelling out. - Inconsistent storage paths: Python files use ~/.openclaw/workspace/memory/vector-memory.json while index.js writes to ./memory/vector-memory.json. Decide which path is authoritative or you may end up with scattered memory files. - SKILL.md does not list the specific workspace files import_memories.py reads (MEMORY.md, SOUL.md, USER.md, IDENTITY.md). Those files can contain sensitive information; the importer will read and send their contents to the local Ollama service. - Metadata omitted required binary ('curl'); the registry shows no required binaries despite the code depending on one. - Recommendations before installing: 1. Inspect the workspace files listed in import_memories.py and remove or redact sensitive data you do not want indexed. 2. If you plan to use the Node component, ensure 'curl' is available or modify index.js to use a proper HTTP client (fetch/axios) to avoid shell usage. 3. Decide which memory file path you want and update the files to be consistent (or run only the Python or Node implementation, not both). 4. Run the skill in an isolated environment/container if you are unsure about privacy implications. 5. If you need more assurance, ask the author for a brief justification for using shell curl and for correcting the path/metadata inconsistencies. Given these implementation issues (undeclared dependency, shell usage, and path mismatch) the skill is suspicious rather than clearly benign. If you understand and accept the risks and can apply the recommended mitigations, the functionality itself appears local and not overtly malicious.
功能分析
Type: OpenClaw Skill Name: river-memory Version: 1.0.0 The skill implements a local vector memory system using Ollama, but contains a significant security vulnerability in index.js where 'spawn' is used with 'shell: true' to execute curl commands, creating a potential path for command injection. Additionally, the bundle includes a script (import_memories.py) that automatically reads and indexes sensitive workspace files such as USER.md, IDENTITY.md, and SOUL.md; while this aligns with the stated purpose of a 'memory' system, the broad file access and the shell execution flaw warrant a suspicious classification.
能力评估
Purpose & Capability
The code's purpose (store/search local embeddings via Ollama) matches the skill description. However, the declared metadata lists no required binaries while index.js spawns the external 'curl' command — an undeclared dependency. Also SKILL.md mentions a storage file path but the code uses different paths (Python files use ~/.openclaw/workspace/memory/vector-memory.json while index.js uses ./memory/vector-memory.json), and SKILL.md has a small filename mismatch ('vector memory.json' vs 'vector-memory.json'). These mismatches are incoherent with the registry metadata and documentation.
Instruction Scope
SKILL.md describes using local Ollama and the nomic-embed-text model and a memory file; the code follows that. But import_memories.py explicitly reads several workspace files (MEMORY.md, SOUL.md, USER.md, IDENTITY.md) and imports their contents — SKILL.md did not enumerate these inputs. index.js and the Python CLI send user/workspace content to the local Ollama HTTP endpoint; while local-only, this means the skill will read and transmit potentially sensitive workspace files to the local service. That behavior is broader than the SKILL.md's brief description and should be obvious to users.
Install Mechanism
This is an instruction-only skill (no installer) which reduces disk-level risk. However, index.js relies on an external 'curl' binary invoked via child_process.spawn with shell:true rather than using an internal HTTP client; this creates both an undeclared dependency and an unnecessary use of a shell, increasing risk of command-line injection or unexpected behavior if inputs are not properly escaped.
Credentials
The skill requests no environment variables or external credentials, which is proportionate. It does, however, read files from the user workspace (~/.openclaw/workspace and process.cwd()/memory) that may contain sensitive personal data (USER.md, IDENTITY.md, etc.). Those file reads are local and logically related to a memory tool, but the exact files imported are not called out in SKILL.md.
Persistence & Privilege
The skill does not request always:true and is user-invocable only. It does write and read its own memory file(s) but does not attempt to modify other skills or system-wide agent settings. Persistence level is appropriate.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install river-memory
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /river-memory 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of River Memory semantic search memory system. - Stores text as vector representations for efficient recall. - Supports natural language semantic search through local Ollama. - Automatically manages, cleans, and optimizes stored memories. - Requires Ollama with the `nomic-embed-text` model.
元数据
Slug river-memory
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

River Memory 是什么?

Store and semantically search text memories locally using Ollama with automatic management and optimization. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 355 次。

如何安装 River Memory?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install river-memory」即可一键安装,无需额外配置。

River Memory 是免费的吗?

是的,River Memory 完全免费(开源免费),可自由下载、安装和使用。

River Memory 支持哪些平台?

River Memory 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 River Memory?

由 Simon-She(@simon-she)开发并维护,当前版本 v1.0.0。

💬 留言讨论