bambu-studio-ai
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Core utilities for OpenClaw memory plugins (redaction, local store, embeddings).
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
SkillHub CLI
skillhub install homeofe/openclaw-memory-core打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。
将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。
Shared library powering OpenClaw's memory plugins (openclaw-memory-brain and openclaw-memory-docs). Provides three core modules:
Automatically detects and redacts secrets before they reach memory storage. Covers:
Usage: pipe any text through the redactor before storing — secrets are replaced with safe [REDACTED:TYPE] placeholders.
Local file-based memory store using append-only .jsonl files. Features:
fact, decision, doc, note)expiresAt field)Deterministic, offline, dependency-free text embedder (HashEmbedder):
This is a dependency library, not a standalone plugin. Install it as a package dependency:
npm install @elvatis_com/openclaw-memory-core
Used internally by openclaw-memory-brain (auto-capture) and openclaw-memory-docs (explicit capture).
这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。
Core utilities for building OpenClaw memory plugins - redaction, embeddings, and JSONL-backed vector search.
npm install @elvatis_com/openclaw-memory-core
Requires Node.js 18+.
import {
JsonlMemoryStore,
createEmbedder,
DefaultRedactor,
uuid,
} from "@elvatis_com/openclaw-memory-core";
// 1. Set up the store
const embedder = createEmbedder();
const store = new JsonlMemoryStore({
filePath: "./data/memories.jsonl",
embedder,
});
// 2. Redact secrets before storing
const redactor = new DefaultRedactor();
const { redactedText } = redactor.redact("My API key is sk-proj-abc123def456ghi789");
// 3. Store a memory
await store.add({
id: uuid(),
kind: "note",
text: redactedText,
createdAt: new Date().toISOString(),
tags: ["api", "credentials"],
});
// 4. Search by natural language
const results = await store.search("API key");
console.log(results[0]?.item.text);
// => "My API key is [REDACTED:OPENAI_KEY]"
All exports are available from the package root:
import { /* any export */ } from "@elvatis_com/openclaw-memory-core";
MemoryKindtype MemoryKind = "fact" | "decision" | "doc" | "note";
The four supported item categories.
MemoryIteminterface MemoryItem {
id: string;
kind: MemoryKind;
text: string;
createdAt: string; // ISO 8601
expiresAt?: string; // ISO 8601 - optional TTL
source?: {
channel?: string;
from?: string;
conversationId?: string;
messageId?: string;
};
tags?: string[];
meta?: Record<string, unknown>;
}
The fundamental data unit stored by a MemoryStore.
SearchHitinterface SearchHit {
item: MemoryItem;
score: number; // 0..1 (1 = best match)
}
Returned by store.search(). Results are sorted by score descending.
SearchOptsinterface SearchOpts {
limit?: number;...
# OpenClaw Memory Core Shared library powering OpenClaw's memory plugins (`openclaw-memory-brain` and `openclaw-memory-docs`). Provides three core modules: ## Redaction Automatically detects and redacts secrets before they reach memory storage. Covers: - API keys (OpenAI, Anthropic, Stripe, Google, GitHub PATs) - AWS credentials (access keys, secret keys) - Azure storage keys, HashiCorp Vault tokens - JWTs, Bearer tokens, PEM private key blocks Usage: pipe any text through the redactor before storing — secrets are replaced with safe `[REDACTED:TYPE]` placeholders. ## JSONL Store Local file-based memory store using append-only `.jsonl` files. Features: - CRUD for memory items (kinds: `fact`, `decision`, `doc`, `note`) - Expiration support (`expiresAt` field) - Semantic search via cosine similarity on embeddings - No external database required — everything lives in flat files ## Embeddings Deterministic, offline, dependency-free text embedder (`HashEmbedder`): - FNV-1a hash-based vector generation (default 256 dimensions) - L2 normalization for cosine similarity search - No API calls, no model downloads — works fully offline - Not SOTA semantics, but stable and fast for local vector search ## Integration This is a dependency library, not a standalone plugin. Install it as a package dependency: ```bash npm install @elvatis_com/openclaw-memory-core ``` Used internally by `openclaw-memory-brain` (auto-capture) and `openclaw-memory-docs` (explicit capture).
# @elvatis_com/openclaw-memory-core
Core utilities for building OpenClaw memory plugins - redaction, embeddings, and JSONL-backed vector search.
## Installation
```bash
npm install @elvatis_com/openclaw-memory-core
```
Requires Node.js 18+.
## Quick start
```ts
import {
JsonlMemoryStore,
createEmbedder,
DefaultRedactor,
uuid,
} from "@elvatis_com/openclaw-memory-core";
// 1. Set up the store
const embedder = createEmbedder();
const store = new JsonlMemoryStore({
filePath: "./data/memories.jsonl",
embedder,
});
// 2. Redact secrets before storing
const redactor = new DefaultRedactor();
const { redactedText } = redactor.redact("My API key is sk-proj-abc123def456ghi789");
// 3. Store a memory
await store.add({
id: uuid(),
kind: "note",
text: redactedText,
createdAt: new Date().toISOString(),
tags: ["api", "credentials"],
});
// 4. Search by natural language
const results = await store.search("API key");
console.log(results[0]?.item.text);
// => "My API key is [REDACTED:OPENAI_KEY]"
```
## API reference
All exports are available from the package root:
```ts
import { /* any export */ } from "@elvatis_com/openclaw-memory-core";
```
---
### Types
#### `MemoryKind`
```ts
type MemoryKind = "fact" | "decision" | "doc" | "note";
```
The four supported item categories.
#### `MemoryItem`
```ts
interface MemoryItem {
id: string;
kind: MemoryKind;
text: string;
createdAt: string; // ISO 8601
expiresAt?: string; // ISO 8601 - optional TTL
source?: {
channel?: string;
from?: string;
conversationId?: string;
messageId?: string;
};
tags?: string[];
meta?: Record<string, unknown>;
}
```
The fundamental data unit stored by a `MemoryStore`.
#### `SearchHit`
```ts
interface SearchHit {
item: MemoryItem;
score: number; // 0..1 (1 = best match)
}
```
Returned by `store.search()`. Results are sorted by score descending.
#### `SearchOpts`
```ts
interface SearchOpts {
limit?: number;...Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.