Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions content/docs/memory-benchmark/beam.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,9 @@ of the 35 conversations (300 probes), uniform 96k budget.
| abstention | 9/30 (30%) |
| **overall** | **198/300 (66.0%)** |

- **66.0% edges mem0's self-reported 62% at the matched bucket.** Caveats in
[How Kimetsu compares](/docs/memory-benchmark/comparison).
- **Kimetsu scores 66.0%; mem0 reports 64.1% in the 1M bucket.** The readers
and conversation samples differ. Sources and test differences are recorded
in [How Kimetsu compares](/docs/memory-benchmark/comparison).
- **Global and temporal abilities degrade with scale, as expected.** When the
conversation is ~10x the budget, whole-arc tasks lose ground that local-fact
tasks keep.
Expand Down
12 changes: 8 additions & 4 deletions content/docs/memory-benchmark/comparison.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,15 @@ bill, or the cloud.**
| LongMemEval (`_s`) | **83.0%** (200-q slice) · ~80.9% weighted | 94.4% (their reader + harness) | not reported |
| LoCoMo (1,540 q) | **89.4%** | 92.5% | not reported |
| BEAM 100K | **73.3%** (400 probes) | n/a | 79% |
| BEAM **1M** | **66.0%** (300 probes) | 62% | not reported |
| BEAM **1M** | **66.0%** (300 probes) | 64.1% (700 probes) | not reported |
| BEAM 10M | future work | 48.6% | 67% |

Caveats, because the table is not apples-to-apples:

- **Only the 1M row is a matched bucket.** Our 66.0% edges mem0's 62%, but with
a different reader and 15 of 35 conversations: read it as at least on par,
not a decisive win.
- **The 1M row uses the same token bucket, with different setups.** Kimetsu's
66.0% covers 15 of 35 conversations; mem0 reports 64.1% over 700 probes.
The readers and samples differ, so the score difference does not establish
a head-to-head win.
- **Cognee leads at 100K/10M.** Our 73.3% matches the prior public state of the
art on 100K (the 0.735 Cognee cites as the number it beat), model-free.
Cognee needs an LLM key on both the write and read paths.
Expand All @@ -46,6 +47,9 @@ Cognee's [BEAM figures](https://github.com/topoteretes/cognee), the
[LongMemEval](https://arxiv.org/abs/2410.10813) and
[BEAM](https://github.com/mohammadtavakoli78/BEAM) papers.

Mem0's BEAM 1M figure was checked on September 12, 2026. Its current reported
64.1% replaces the 62% previously quoted here.

## What we do not yet claim

- Multi-hop retrieval of obliquely relevant memories is v2.6 work; the
Expand Down
2 changes: 1 addition & 1 deletion content/docs/memory-benchmark/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on v2.8.0.
|-----------|--------|
| LoCoMo | **89.4%** (1,540 questions, LLM-judged accuracy) |
| BEAM 100K | **73.3%**, matching the prior public state of the art, model-free |
| BEAM 1M | **66.0%**, ahead of mem0's self-reported 62% |
| BEAM 1M | **66.0%** (300 probes, 15 of 35 conversations) |
| LongMemEval (`_s`) | **83.0%** (200-question stratified slice) |
| BrainBench quality index | **80.0%** (142 scenarios, reader-free) |
| retrieval quality | recall@4 **0.949**, MRR **0.914** at ~138 ms |
Expand Down
28 changes: 10 additions & 18 deletions src/app/(home)/_components/about-contact.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,25 @@ export function AboutContact() {
>
<div className="grid gap-8 md:grid-cols-[0.7fr_1.3fr]">
<div>
<p className="km-eyebrow">About</p>
<h2 id="about-title" className="km-heading">
Built for the next session.
About Kimetsu
</h2>
</div>
<div className="max-w-2xl">
<p className="text-lg leading-8 text-fd-muted-foreground">
Kimetsu is an open-source project created by{" "}
Created and maintained by{" "}
<span className="font-medium text-fd-foreground">
Rodrigo Córdoba
</span>
. It gives coding agents a local place to keep project decisions,
conventions, and fixes, so useful knowledge carries across
sessions.
</p>
<p className="mt-4 leading-7 text-fd-muted-foreground">
Built in Rust and backed by SQLite, Kimetsu works alongside the
tools you already use. The source, documentation, and benchmarks
are public, so you can inspect how it works and make it your own.
. Written in Rust and released under the MIT and Apache-2.0
licenses.
</p>
<div className="mt-6 flex flex-wrap gap-x-6 gap-y-3">
<a href={links.github} className="km-text-link">
Explore the source
Source code
</a>
<Link href="/docs" className="km-text-link">
Read the documentation
<Link href="/projects" className="km-text-link">
Related projects
</Link>
</div>
</div>
Expand All @@ -50,13 +43,12 @@ export function AboutContact() {
>
<div className="grid items-center gap-8 rounded-2xl border border-fd-border bg-fd-card/40 p-6 sm:p-10 lg:grid-cols-[1fr_auto]">
<div>
<p className="km-eyebrow">Contact</p>
<h2 id="contact-title" className="km-heading">
Let’s talk about Kimetsu.
Contact
</h2>
<p className="mt-4 max-w-xl leading-7 text-fd-muted-foreground">
Have a question, an idea, or something you’d like to build
together? Get in touch with Rodrigo on LinkedIn.
For questions, feedback, or collaboration, contact Rodrigo on
LinkedIn.
</p>
</div>
<a
Expand Down
102 changes: 102 additions & 0 deletions src/app/(home)/_components/benchmark-results.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
import Link from "next/link";

// Published runs: content/docs/memory-benchmark/{beam,index,longmemeval}.mdx.
// Keep sample sizes beside the scores; these are separate benchmark protocols.
export function BenchmarkResults() {
return (
<section
id="benchmarks"
aria-labelledby="benchmarks-title"
className="km-section km-benchmarks scroll-mt-24"
>
<div className="mb-6 flex flex-wrap items-baseline justify-between gap-3">
<h2 id="benchmarks-title" className="km-heading">
Benchmark results
</h2>
<Link href="/docs/memory-benchmark" className="km-text-link">
All results and methodology →
</Link>
</div>
<div className="grid overflow-hidden rounded-2xl border border-fd-border lg:grid-cols-3">
<article className="flex flex-col bg-fd-primary/5 p-6 sm:p-8">
<h3 className="font-mono text-sm font-semibold">BEAM 100K</h3>
<p className="km-benchmark-score text-fd-primary">73.3%</p>
<p className="text-sm text-fd-muted-foreground">
Accuracy · 400 probes · 20 conversations
</p>
<div
className="mt-6 space-y-3"
role="img"
aria-label="BEAM 100K accuracy on the same 400 probes: Kimetsu with graph retrieval, 73.3 percent; flat retrieval baseline, 62.3 percent. Bars use a zero to 100 percent scale."
>
<div aria-hidden>
<p className="mb-2 text-xs font-medium">
Kimetsu · graph retrieval
</p>
<div className="h-2 rounded-full bg-fd-primary/10">
<div className="h-full w-[73.3%] rounded-full bg-fd-primary" />
</div>
</div>
<div aria-hidden>
<div className="mb-2 flex justify-between gap-3 text-xs text-fd-muted-foreground">
<span>Flat retrieval baseline</span>
<span className="font-mono tabular-nums">62.3%</span>
</div>
<div className="h-2 rounded-full bg-fd-primary/10">
<div className="h-full w-[62.3%] rounded-full bg-fd-muted-foreground" />
</div>
</div>
</div>
<p className="mt-4 text-xs leading-5 text-fd-muted-foreground">
Both runs use the same test set.
</p>
<Link
href="/docs/memory-benchmark/beam"
className="km-text-link mt-auto pt-6"
>
BEAM test settings →
</Link>
</article>
<article className="flex flex-col border-t border-fd-border p-6 sm:p-8 lg:border-t-0 lg:border-l">
<h3 className="font-mono text-sm font-semibold">LoCoMo</h3>
<p className="km-benchmark-score">89.4%</p>
<p className="text-sm text-fd-muted-foreground">
Accuracy · 1,540 questions
</p>
<p className="mt-6 text-sm leading-6 text-fd-muted-foreground">
Questions about facts, events, and relationships across long
conversations.
</p>
<Link
href="/docs/memory-benchmark/comparison"
className="km-text-link mt-auto pt-6"
>
LoCoMo results and comparison →
</Link>
</article>
<article className="flex flex-col border-t border-fd-border p-6 sm:p-8 lg:border-t-0 lg:border-l">
<h3 className="font-mono text-sm font-semibold">LongMemEval S</h3>
<p className="km-benchmark-score">83.0%</p>
<p className="text-sm text-fd-muted-foreground">
Accuracy · 200-question stratified slice
</p>
<p className="mt-6 text-sm leading-6 text-fd-muted-foreground">
Sampled from the 500-question set, covering recall, changed facts,
and reasoning across sessions.
</p>
<Link
href="/docs/memory-benchmark/longmemeval"
className="km-text-link mt-auto pt-6"
>
LongMemEval test settings →
</Link>
</article>
</div>
<p className="mt-4 max-w-4xl text-xs leading-5 text-fd-muted-foreground">
Historical results from the linked runs. An LLM answers and grades the
questions; the memory pipeline uses local search, embeddings, and
reranking, with no LLM calls.
</p>
</section>
);
}
55 changes: 16 additions & 39 deletions src/app/(home)/_components/explore-section.tsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
import { Database, MessageSquare, Search } from "lucide-react";
import Link from "next/link";

const steps = [
{
icon: Database,
title: "Keep the useful lesson",
body: "Save a project convention, a decision, or the command that finally worked. Memories live in your project’s SQLite database.",
title: "Store",
body: "Memories live in a SQLite database in your project. No hosted memory account is required.",
},
{
icon: Search,
title: "Recall it in context",
body: "Search by words or meaning. Kimetsu selects relevant memories within a delivery budget and brings them into the next task.",
title: "Retrieve",
body: "Start with keyword search. Add local embeddings and reranking for semantic search. Set a token budget for the context sent to your agent.",
},
{
icon: MessageSquare,
title: "Learn from the outcome",
body: "Citations and feedback help track which memories contributed. Corrections and lifecycle rules keep old advice from outliving its usefulness.",
title: "Update",
body: "Track changed facts and suppress outdated results. Export and import memories to move them between machines.",
},
];

Expand All @@ -27,48 +23,29 @@ export function ExploreSection() {
className="km-section scroll-mt-24"
>
<div className="mb-10 flex flex-wrap items-end justify-between gap-5">
<div className="max-w-2xl">
<p className="km-eyebrow">Across sessions, across agents</p>
<h2 id="workflow-title" className="km-heading">
The useful part of yesterday, ready today.
</h2>
</div>
<h2 id="workflow-title" className="km-heading">
How it works
</h2>
<Link href="/docs/how-kimetsu-works" className="km-text-link">
Inside the memory loop
Technical documentation
</Link>
</div>
<ol className="grid gap-6 md:grid-cols-3">
{steps.map((step, index) => (
<li key={step.title} className="border-t border-fd-border pt-6">
<div className="mb-5 flex items-center justify-between">
<step.icon className="size-6 text-fd-primary" aria-hidden />
<span className="font-mono text-sm text-fd-muted-foreground">
0{index + 1}
</span>
</div>
<span
className="mb-4 block font-mono text-sm text-fd-primary"
aria-hidden
>
0{index + 1}
</span>
<h3 className="mb-3 text-lg font-semibold">{step.title}</h3>
<p className="text-sm leading-6 text-fd-muted-foreground">
{step.body}
</p>
</li>
))}
</ol>
<div className="mt-10 flex flex-col justify-between gap-4 rounded-xl border border-fd-border bg-fd-card p-5 sm:flex-row sm:items-center">
<p className="max-w-2xl text-sm leading-6 text-fd-muted-foreground">
<strong className="text-fd-foreground">
Choose your compute budget.
</strong>{" "}
Start with lexical search. Add local embeddings and reranking when
your workload benefits from them. Delivered context still uses your
agent’s tokens.
</p>
<Link
href="/docs/how-kimetsu-works/retrieval-models"
className="km-text-link shrink-0"
>
Compare retrieval models →
</Link>
</div>
</section>
);
}
9 changes: 4 additions & 5 deletions src/app/(home)/_components/quick-start.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,12 @@ export function QuickStart() {
>
<div className="grid gap-8 lg:grid-cols-[0.85fr_1.15fr] lg:items-center">
<div>
<p className="km-eyebrow">Start with your agent</p>
<h2 id="setup-title" className="km-heading">
Two commands. A memory that stays.
Install Kimetsu
</h2>
<p className="mt-4 max-w-md text-fd-muted-foreground">
Install the binary, then run setup from your project directory.
Choose the agent you already use.
Select your agent and run these commands from your project
directory. Available for Linux, macOS, and Windows.
</p>
<Link href="/docs/install" className="km-text-link mt-4 inline-block">
All installation options →
Expand Down Expand Up @@ -96,7 +95,7 @@ export function QuickStart() {
? feedback.ok
? "Commands copied to clipboard."
: "Copy is unavailable. Select and copy the commands above."
: "Setup wires this project to your selected agent."}
: ""}
</p>
</div>
<noscript>
Expand Down
Loading
Loading