Dmon.Memory.Meko
0.2.0
dotnet add package Dmon.Memory.Meko --version 0.2.0
NuGet\Install-Package Dmon.Memory.Meko -Version 0.2.0
<PackageReference Include="Dmon.Memory.Meko" Version="0.2.0" />
<PackageVersion Include="Dmon.Memory.Meko" Version="0.2.0" />
<PackageReference Include="Dmon.Memory.Meko" />
paket add Dmon.Memory.Meko --version 0.2.0
#r "nuget: Dmon.Memory.Meko, 0.2.0"
#:package Dmon.Memory.Meko@0.2.0
#addin nuget:?package=Dmon.Memory.Meko&version=0.2.0
#tool nuget:?package=Dmon.Memory.Meko&version=0.2.0
Dmon.Memory.Meko
Durable, cross-session long-term memory for the dmon coding agent, backed by the Meko agent-native data layer.
This package implements dmon's ILongTermMemory over Meko's memory_* MCP tools (Streamable HTTP, mko_tkn_ bearer auth). All Meko/MCP coupling is confined behind the interface — the rest of dmon never sees an McpClient. It pairs with the in-process short-term tier (Dmon.Memory) behind the IMemory facade.
How it works
ILongTermMemory |
Meko tool |
|---|---|
AddFactAsync |
memory_add (text) |
RecordAsync |
memory_add (messages) — gated by opt-in capture |
SearchAsync |
memory_search |
GetAsync |
memory_get_by_id |
ListAsync |
memory_get_all |
UpdateAsync |
memory_update |
DeleteAsync |
memory_delete_by_id |
FlushAsync |
(best-effort no-op) |
Behaviour notes:
- Scope →
run_id. Meko'sscopeis the fixed string"admin"; partitioning is byagent_id+run_id. dmon'sSessionscope maps torun_id= the session id (hex-normalized); durable scopes (Agent/User/Shared) omitrun_idfor cross-conversation recall. - Opt-in capture.
RecordAsyncis gated byMekoCaptureMode(Noneby default), so recording a turn never silently incurs hosted distillation cost.AddFactAsyncalways persists. - Eventual consistency. Long-term memory is not read-your-writes — freshly added memories may not be immediately searchable.
- Disabled tier. With no API key, registration falls back to a no-op store (writes no-op, searches return empty); the MCP client is never on the critical path.
Configuration & DI
services.AddDmonCore()
.AddDmonMemory() // short-term tier (Dmon.Memory)
.AddMekoLongTermMemory(options =>
{
options.ApiKey = configuration["Meko:ApiKey"]; // mko_tkn_...
options.Endpoint = "https://mcp.mekodata.ai/mcp"; // default
options.CaptureMode = MekoCaptureMode.None; // opt-in
// options.DatapackId = "<uuid>"; // optional
});
Registration order relative to AddDmonMemory() does not matter — the IMemory facade resolves ILongTermMemory at construction. If ApiKey is empty, the disabled (no-op) store is used and dmon runs short-term-only.
License
MPL-2.0 — see the repository LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Dmon.Abstractions (>= 0.2.0)
- Dmon.Protocol (>= 0.2.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.5.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
- ModelContextProtocol (>= 1.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0 | 113 | 7/13/2026 |