Progress.Memory 0.2.1

Prefix Reserved
dotnet add package Progress.Memory --version 0.2.1
                    
NuGet\Install-Package Progress.Memory -Version 0.2.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Progress.Memory" Version="0.2.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Progress.Memory" Version="0.2.1" />
                    
Directory.Packages.props
<PackageReference Include="Progress.Memory" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Progress.Memory --version 0.2.1
                    
#r "nuget: Progress.Memory, 0.2.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Progress.Memory@0.2.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Progress.Memory&version=0.2.1
                    
Install as a Cake Addin
#tool nuget:?package=Progress.Memory&version=0.2.1
                    
Install as a Cake Tool

Progress.Memory

NuGet License: MIT

Core .NET SDK for Progress Memory — long-term memory for AI agents.
Store, search, and delete conversation facts with semantic recall, backed by the Progress Memory service.

This package provides the IProgressMemoryClient interface and the ProgressMemoryClient HTTP client.
For framework integrations see the sibling packages:

Package Use when
Progress.Memory (this) Core client only; bring your own DI or HTTP wiring
Progress.Memory.Extensions.AI Microsoft.Extensions.AI pipelines
Progress.Memory.SemanticKernel Semantic Kernel agents

Requirements

  • .NET 8, 9, or 10
  • A running Progress Memory backend
  • An SDK API key (generate one from the SDK Keys page in the Progress Memory admin UI)

Installation

dotnet add package Progress.Memory

Quick start

1. Register with dependency injection

From configuration (reads PROGRESS_MEMORY_BACKEND_URL and PROGRESS_MEMORY_SDK_API_KEY):

// Program.cs
builder.Services.AddProgressMemory(builder.Configuration);

Explicit config object:

builder.Services.AddProgressMemory(new ProgressMemoryConfig(
    BackendBaseUrl: "https://memory.example.com",
    SdkApiKey: "pmem_p_..."));

2. Inject and use

public class MyService(IProgressMemoryClient memory)
{
    // Store facts from a conversation exchange
    await memory.AddMemoryAsync(new AddMemoryRequest
    {
        Messages =
        [
            new MemoryMessage { Type = "user",      Text = "I'm vegetarian and I live in Berlin." },
            new MemoryMessage { Type = "assistant", Text = "Noted! I'll keep that in mind." },
        ],
        UserId  = "user-123",
        AgentId = "my-agent",
    });

    // Retrieve relevant facts before answering
    var facts = await memory.RecallMemoryAsync(new RecallMemoryRequest
    {
        Query   = "user diet and location",
        UserId  = "user-123",
        AgentId = "my-agent",
        topK    = 5,
    });

    foreach (var fact in facts)
        Console.WriteLine($"[{fact.Score:0.##}] {fact.Text}");

    // Delete a specific fact by its ID
    await memory.ForgetMemoryAsync(facts[0].MemoryId, userId);
}

API reference

IProgressMemoryClient

Method Description
AddMemoryAsync(AddMemoryRequest, ct) Submits text or conversation messages for fact extraction, deduplication, and storage. Returns the number of memories saved and the conversation ID.
RecallMemoryAsync(RecallMemoryRequest, ct) Semantic search over stored facts scoped to a user and agent. Returns ranked RecallResult items.
ForgetMemoryAsync(string memoryId, string userId, ct) Deletes a single fact by its MemoryId. userId must match the owner of the memory.

AddMemoryRequest

Property Type Description
Messages List<MemoryMessage>? Ordered conversation turns ("user" / "assistant"). Preferred over Text.
Text string Single-text fallback when Messages is omitted.
ConversationId string? Existing conversation ID to continue threading. Omit to start a new conversation.
UserId string Scopes memories to this user.
AgentId string Identifies the agent that submitted the memory.

RecallMemoryRequest

Property Type Description
Query string Natural-language query for semantic search.
UserId string Limits results to this user.
AgentId string Limits results to this agent.
topK int Maximum results to return (default 10).

RecallResult

Property Description
MemoryId Unique fact identifier — pass to ForgetMemoryAsync.
Text The stored atomic fact.
Score Semantic similarity score (0–1).
Category LLM-assigned category label.
Status Fact lifecycle status (e.g., active, outdated).
ConversationId Conversation the fact was extracted from.
ReferenceDate Timestamp of the original message.
Modified When the fact was last updated.

Configuration

Environment variable Description
PROGRESS_MEMORY_BACKEND_URL Base URL of the Progress Memory backend
PROGRESS_MEMORY_SDK_API_KEY SDK API key (pmem_p_…)

Both can also be set in appsettings.json under the same keys.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Progress.Memory:

Package Downloads
Progress.Memory.Extensions.AI

Microsoft.Extensions.AI integration for Progress.Memory. Provides AIFunction tools (remember/recall/forget) and a DelegatingChatClient middleware for automatic memory injection into M.E.AI chat pipelines.

Progress.Memory.SemanticKernel

Semantic Kernel integration for Progress.Memory. Provides a KernelPlugin (remember/recall/forget) and an IChatCompletionService middleware wrapper for automatic memory injection in SK agentic pipelines.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.1 151 8/19/2026
0.1.3 165 7/10/2026