Libmemory

libmemory - Memory management for LLM context windows. WindowBuilder constructs token-limited context from conversation history and tools. createWindow factory simplifies window creation. MemoryIndex stores conversation identifiers. Use for managing chat history, building LLM prompts, and context window optimization.

majiayu000 Updated 567 repo stars

File contents

libmemory Skill

When to Use

  • Building context windows for LLM calls
  • Managing conversation history with token limits
  • Constructing prompts from messages and tools
  • Optimizing context for model token budgets

Key Concepts

WindowBuilder: Constructs context windows by selecting messages and tools that fit within token budget.

MemoryIndex: Stores conversation message identifiers for retrieval.

Token budgeting: Allocates tokens across system prompt, history, and tools.

Usage Patterns

Pattern 1: Build context window

import { WindowBuilder } from "@copilot-ld/libmemory";

const builder = new WindowBuilder(tokenizer);
const window = await builder.build({
  messages: conversationHistory,
  tools: availableTools,
  budget: 4000,
});

Pattern 2: Factory usage

import { createWindow } from "@copilot-ld/libmemory";

const window = await createWindow(resourceId, {
  maxTokens: 4000,
  systemPrompt: "You are a helpful assistant.",
});

Integration

Used by Memory service and Agent service. Works with libllm for token counting.

majiayu000/claude-skill-registry-data/tree/main/data/libmemory commit 375d581238

Frequently asked questions

npx skillmds@latest add majiayu000/libmemory