<p align="center">
  <img src="../assets/hero-banner-dark.svg" alt="TrueMemory" width="800">
</p>

<p align="center">
  <em>ความทรงจำที่ AI ของคุณควรจะมีตั้งแต่แรก</em>
</p>

<p align="center">
  <a href="../README.md"><img alt="English" src="https://img.shields.io/badge/English-d9d9d9"></a>
  <a href="./README.zh-CN.md"><img alt="简体中文" src="https://img.shields.io/badge/简体中文-d9d9d9"></a>
  <a href="./README.hi.md"><img alt="हिन्दी" src="https://img.shields.io/badge/हिन्दी-d9d9d9"></a>
  <a href="./README.es.md"><img alt="Español" src="https://img.shields.io/badge/Español-d9d9d9"></a>
  <a href="./README.fr.md"><img alt="Français" src="https://img.shields.io/badge/Français-d9d9d9"></a>
  <a href="./README.ar.md"><img alt="العربية" src="https://img.shields.io/badge/العربية-d9d9d9"></a>
  <a href="./README.bn.md"><img alt="বাংলা" src="https://img.shields.io/badge/বাংলা-d9d9d9"></a>
  <a href="./README.pt-BR.md"><img alt="Português" src="https://img.shields.io/badge/Português-d9d9d9"></a>
  <a href="./README.ru.md"><img alt="Русский" src="https://img.shields.io/badge/Русский-d9d9d9"></a>
  <a href="./README.ja.md"><img alt="日本語" src="https://img.shields.io/badge/日本語-d9d9d9"></a>
  <a href="./README.ko.md"><img alt="한국어" src="https://img.shields.io/badge/한국어-d9d9d9"></a>
  <a href="./README.de.md"><img alt="Deutsch" src="https://img.shields.io/badge/Deutsch-d9d9d9"></a>
  <a href="./README.id.md"><img alt="Bahasa Indonesia" src="https://img.shields.io/badge/Indonesia-d9d9d9"></a>
  <a href="./README.vi.md"><img alt="Tiếng Việt" src="https://img.shields.io/badge/Tiếng Việt-d9d9d9"></a>
  <a href="./README.tr.md"><img alt="Türkçe" src="https://img.shields.io/badge/Türkçe-d9d9d9"></a>
  <a href="./README.it.md"><img alt="Italiano" src="https://img.shields.io/badge/Italiano-d9d9d9"></a>
  <a href="./README.th.md"><img alt="ไทย" src="https://img.shields.io/badge/ไทย-d9d9d9"></a>
  <a href="./README.pl.md"><img alt="Polski" src="https://img.shields.io/badge/Polski-d9d9d9"></a>
  <a href="./README.uk.md"><img alt="Українська" src="https://img.shields.io/badge/Українська-d9d9d9"></a>
  <a href="./README.nl.md"><img alt="Nederlands" src="https://img.shields.io/badge/Nederlands-d9d9d9"></a>
</p>

<p align="center">
  <a href="https://github.com/buildingjoshbetter/TrueMemory"><img src="https://img.shields.io/github/stars/buildingjoshbetter/TrueMemory?style=social" alt="Stars"></a>
  <a href="https://pypi.org/project/truememory/"><img src="https://img.shields.io/badge/installs-7.3k+-brightgreen" alt="Installs"></a>
  <a href="https://arxiv.org/abs/2605.04897"><img src="https://img.shields.io/badge/arXiv-2605.04897-b31b1b" alt="arXiv"></a>
  <a href="https://discord.gg/ZJ74JB2gVW"><img src="https://img.shields.io/badge/Discord-Join%20us-5865F2?logo=discord&logoColor=white" alt="Discord"></a>
</p>

<p align="center">
  <img src="https://img.shields.io/badge/LoCoMo-93.0%25-blueviolet" alt="LoCoMo">
  <img src="https://img.shields.io/badge/LongMemEval-92.0%25-blue" alt="LongMemEval">
  <img src="https://img.shields.io/badge/BEAM--1M-76.6%25_(SOTA)-orange" alt="BEAM-1M">
</p>

<p align="center">
  <a href="#ทำไมต้อง-truememory">ทำไม</a> · <a href="#เริ่มต้นอย่างรวดเร็ว">เริ่มต้น</a> · <a href="#truememory-เปรียบเทียบกับระบบอื่นอย่างไร">เปรียบเทียบ</a> · <a href="#ระดับการใช้งาน">ระดับ</a> · <a href="#เกณฑ์มาตรฐาน">เกณฑ์มาตรฐาน</a> · <a href="#python-api">API</a> · <a href="#เอกสารประกอบ">เอกสาร</a> · <a href="#คำถามที่พบบ่อย">FAQ</a>
</p>

<p align="center">
  <img src="../assets/terminal-demo.svg" alt="TrueMemory terminal demo" width="750">
</p>

---

## ทำไมต้อง TrueMemory

**มันค้นหาสัญญาณจากความวุ่นวาย** AI ของคุณเห็นข้อความนับพันรายการ TrueMemory คัดแยกว่าอันไหนสำคัญจริง ๆ แล้วทิ้งส่วนที่เหลือไป ไม่ต้องติดแท็กเอง ไม่ต้องทำ prompt engineering มันรู้เอง

**มันฉลาดขึ้นเรื่อย ๆ ตามเวลา** มันไม่ใช่ฐานข้อมูลแบบตายตัว มันเป็นความทรงจำที่มีชีวิต เติบโตไปกับคุณ แก้ไขข้อขัดแย้งเมื่อคุณเปลี่ยนใจ อัปเดตข้อมูลเก่า และรวบรวมสิ่งที่มันรู้ ยิ่งใช้นาน ยิ่งดีขึ้น

**มันทำงานโดยที่คุณไม่ต้องคิดอะไร** TrueMemory จับความทรงจำจากบทสนทนาของคุณโดยอัตโนมัติ และฉีดข้อมูลที่ถูกต้องเข้าสู่เซสชันถัดไปโดยอัตโนมัติ คุณไม่ต้องจัดเก็บหรือค้นหาอะไรด้วยตัวเอง มันเกิดขึ้นเอง

**มันทำงานบนเครื่องของคุณ 100%** ไฟล์ SQLite ไฟล์เดียวบนเครื่องของคุณ ไม่มีอะไรออกจากอุปกรณ์ ไม่มีคลาวด์ ไม่ต้องใช้ API key ข้อมูลของคุณเป็นของคุณ

> **ไม่มี TrueMemory:** "เราใช้เฟรมเวิร์กอะไรอยู่?" ถูกถามเป็นครั้งที่ 12 ในสัปดาห์นี้แล้ว เอเจนต์ของคุณเริ่มทุกเซสชันด้วยภาวะสูญเสียความจำ มันไม่รู้ชื่อคุณ สแต็กของคุณ หรืออะไรก็ตามที่คุณบอกมันเมื่อวาน
>
> **มี TrueMemory:** เอเจนต์ของคุณรู้อยู่แล้วว่าคุณใช้ FastAPI ชอบ Pydantic v2 และ auth middleware อยู่ที่ `src/auth/` มันจำการแก้ไข ค่ากำหนด และการตัดสินใจของคุณ ข้ามทุกเซสชัน ตลอดไป

---

## TrueMemory เปรียบเทียบกับระบบอื่นอย่างไร

| ระบบ | LoCoMo | LongMemEval | ทำงานบนเครื่อง | จับข้อมูลอัตโนมัติ | สัญญาอนุญาต |
|--------|--------|-------------|:-----------:|:------------:|---------|
| **TrueMemory Pro** | **93.0%** | **92.0%** | ✅ | ✅ | AGPL-3.0 |
| **TrueMemory Base** | **87.7%** | **84.1%** | ✅ | ✅ | AGPL-3.0 |
| Mem0 | 61.4% | — | บางส่วน | ❌ | Apache-2.0 |
| Supermemory | 65.4% | — | ❌ | ❌ | Cloud API |
| MemOS | 75.8% | — | ✅ | ❌ | Apache-2.0 |
| ReadAgent | 79.5% | — | ❌ | ❌ | Research |

> เกณฑ์มาตรฐานทั้งหมดสามารถทำซ้ำได้อย่างอิสระ สคริปต์รวมอยู่ใน [`benchmarks/`](../benchmarks/)

---

## เริ่มต้นอย่างรวดเร็ว

### สำหรับ Claude Code / Claude CLI / Cursor / Codex CLI / Gemini CLI

```bash
curl -LsSf https://raw.githubusercontent.com/buildingjoshbetter/TrueMemory/main/install.sh | sh
```

> ติดตั้งทุกอย่างในสภาพแวดล้อมที่แยกจากกัน ดาวน์โหลดโมเดล AI ขนาด ~1.5GB ไม่มีข้อมูลออกจากเครื่องของคุณ ไม่ต้องใช้ sudo

<details><summary>ใหม่กับเทอร์มินัล? คลิกที่นี่สำหรับคำแนะนำทีละขั้นตอน</summary>

1. **เปิดเทอร์มินัล:** Mac: `Cmd + Space` พิมพ์ `Terminal` Linux: `Ctrl + Alt + T` Windows: เปิด PowerShell
2. **วางคำสั่งด้านบน** แล้วกด Enter
3. **รอ 3-5 นาที** เพื่อดาวน์โหลดโมเดล
4. **ปิดเครื่องมือ AI ของคุณทั้งหมด** แล้วเปิดใหม่ (Mac: `Cmd+Q`)
5. **พิมพ์ "Set up TrueMemory"** แล้วเลือกระดับ

**Windows (PowerShell):**
```powershell
irm https://raw.githubusercontent.com/buildingjoshbetter/TrueMemory/main/install.ps1 | iex
```

</details>

เท่านี้เอง TrueMemory จะจดจำบทสนทนาของคุณโดยอัตโนมัติตั้งแต่ตอนนี้

### สำหรับนักพัฒนา (ไลบรารี Python)

```bash
pip install truememory
```

```python
from truememory import Memory

m = Memory()
m.add("Prefers dark mode and TypeScript", user_id="alex")
print(m.search("preferences", user_id="alex"))
```

---

## ระดับการใช้งาน

สถาปัตยกรรมเดียวกัน สามระดับ ทั้งหมดรวมอยู่ในการติดตั้งครั้งเดียว สลับได้ทุกเมื่อโดยพูดว่า "switch to Pro" หรือ "switch to Base"

| | Edge | Base | Pro |
|---|------|------|-----|
| **LoCoMo** | 89.6% | 92.0% | **93.0%** |
| **LongMemEval** | — | — | **92.0%** |
| **BEAM-1M** | — | — | **76.6% (SOTA)** |
| **โมเดล Embedding** | 8 MB น้ำหนักเบา | 600 MB ความแม่นยำสูง | 600 MB ความแม่นยำสูง |
| **Reranker** | 22M params | 149M params | 149M params |
| **HyDE search** | — | — | ✅ (ต้องใช้ LLM API key) |
| **ทำงานบน** | เครื่องใดก็ได้ CPU เท่านั้น | RAM 4 GB ขึ้นไป | RAM 4 GB ขึ้นไป + API key |

**Edge** ทำงานได้ทุกที่ **Base** เป็นระดับที่แข็งแกร่งที่สุดแบบออฟไลน์เต็มรูปแบบ **Pro** เพิ่มการขยายคำค้นหาด้วย AI เพื่อคะแนนสูงสุด

---

## เกณฑ์มาตรฐาน

<p align="center">
  <img src="../assets/charts/leaderboard-bar.png" alt="Benchmark Leaderboard" width="700" />
</p>

ทดสอบกับเกณฑ์มาตรฐานหลักสามชุด โดยทุกระบบใช้โมเดลตอบคำถามเดียวกัน (GPT-4.1-mini) ผู้ตัดสิน (GPT-4o-mini, โหวตเสียงข้างมาก 3 ครั้ง) และกระบวนการให้คะแนนเดียวกัน

| เกณฑ์มาตรฐาน | สิ่งที่ทดสอบ | TrueMemory Pro |
|-----------|--------------|:--------------:|
| [LoCoMo](https://github.com/snap-research/locomo) | 1,540 คำถามจาก 10 บทสนทนา | **93.0%** |
| [LongMemEval](https://github.com/xiaowu0162/LongMemEval) | 500 คำถามแบบหลายเซสชัน | **92.0%** |
| [BEAM-1M](https://github.com/mohammadtavakoli78/BEAM) | 700 คำถามที่ 1M+ โทเค็น | **76.6% (SOTA)** |
| BEAM-10M | 200 คำถามที่ 10M โทเค็น | **65.0%** |

### ทำซ้ำผลลัพธ์ด้วยตัวเอง

สคริปต์เกณฑ์มาตรฐานทุกตัวเป็นแบบครบในตัวและทำงานบน [Modal](https://modal.com)

- **[สคริปต์ LoCoMo](../benchmarks/locomo/scripts/)** — 8 ระบบ (TrueMemory, Mem0, Zep, Engram ฯลฯ)
- **[ผลลัพธ์ LoCoMo](../benchmarks/locomo/BENCHMARK_RESULTS.md)** — รายละเอียดแยกตามหมวด, เวลาตอบสนอง, ค่าใช้จ่าย
- **[การตั้งค่าประเมิน LoCoMo](../benchmarks/locomo/EVAL_CONFIG.md)** — โมเดล, พรอมต์, พารามิเตอร์ที่แน่นอน
- **[สคริปต์ LongMemEval](../benchmarks/longmemeval/)** — ตัวแปร oracle + strict
- **[ผลลัพธ์ LongMemEval](../benchmarks/longmemeval/results/)** — 6 รอบ TM Pro + 5 ผลลัพธ์คู่แข่ง
- **[สคริปต์ BEAM-1M](../benchmarks/beam/bench_truememory_pro_beam1m.py)** — 35 บทสนทนาที่ 1M+ โทเค็น
- **[สคริปต์ BEAM-10M](../benchmarks/beam/bench_truememory_pro_beam10m.py)** — 10 บทสนทนาที่ 10M โทเค็น
- **[ผลลัพธ์ BEAM](../benchmarks/beam/)** — 3 รอบ (1M) + 1 รอบ (10M)

เกณฑ์มาตรฐานทั้งหมดใช้กระบวนการประเมินเดียวกัน ไม่มีอะไรซ่อน รายละเอียดทั้งหมด: [LoCoMo](../benchmarks/locomo/EVAL_CONFIG.md) | [LongMemEval](../benchmarks/longmemeval/README.md) | [BEAM](../benchmarks/beam/README.md)

---

## ใช้งานร่วมกับ

<p align="center">
  <strong>Claude Code</strong> · <strong>Claude CLI</strong> · <strong>Cursor</strong> · <strong>Codex CLI</strong> · <strong>Gemini CLI</strong> · <strong>Claude Desktop</strong>
</p>

Lifecycle hooks จับบทสนทนาโดยอัตโนมัติ ไม่ต้องทำงานด้วยตัวเอง ความทรงจำของคุณอยู่ในเครื่องในไฟล์ SQLite ไฟล์เดียว

---

## Python API

```python
from truememory import Memory

m = Memory()

m.add("Prefers dark mode and TypeScript", user_id="alex")
m.add("Works at Anthropic as a senior engineer", user_id="alex")

results = m.search("What are Alex's preferences?", user_id="alex")
results = m.search_deep("career history?", user_id="alex")  # หลายรอบ ความแม่นยำสูงขึ้น
```

| เมธอด | คำอธิบาย |
|--------|-------------|
| `m.add(content, user_id)` | จัดเก็บความทรงจำ |
| `m.search(query, user_id)` | ค้นหา (ท่อส่ง 6 ชั้น + reranker) |
| `m.search_deep(query, user_id)` | ค้นหาเชิงเอเจนต์หลายรอบ |
| `m.get(id)` / `m.get_all(user_id)` | เรียกดูความทรงจำ |
| `m.update(id, content)` / `m.delete(id)` | แก้ไขหรือลบ |
| `m.stats()` | สถิติระบบ |

[อ้างอิง API ฉบับเต็ม ->](../docs/python-api.md)

---

## เอกสารประกอบ

| | |
|---|---|
| [เริ่มต้นใช้งาน](../docs/guides/getting-started.md) | ตั้งแต่ติดตั้งจนถึงความทรงจำแรก |
| [อ้างอิง Python API](../docs/python-api.md) | อ้างอิงคลาส `Memory` ฉบับเต็ม |
| [อ้างอิงเครื่องมือ MCP](../docs/mcp-tools.md) | เครื่องมือ MCP ทั้ง 8 ตัว |
| [อ้างอิง CLI](../docs/cli.md) | `truememory-mcp` และ `truememory-ingest` |
| [ตัวแปรสภาพแวดล้อม](../docs/env-vars.md) | ตัวเลือกการตั้งค่า `TRUEMEMORY_*` ทั้งหมด |
| [สถาปัตยกรรมเชิงลึก](../docs/architecture.md) | ท่อส่งการค้นหา 6 ชั้น, encoding gate |
| [คู่มือเลือกระดับ](../docs/guides/tier-selection.md) | Edge vs Base vs Pro |
| [การแก้ไขปัญหา](../docs/guides/debugging.md) | บันทึก, การติดตาม, ปัญหาที่พบบ่อย |

---

## คำถามที่พบบ่อย

<details><summary><strong>ข้อมูลของฉันเก็บที่ไหน? มีอะไรถูกส่งไปคลาวด์ไหม?</strong></summary>

ทุกอย่างอยู่ในเครื่องที่ `~/.truememory/memories.db` ระดับ Edge และ Base ไม่เรียกใช้บริการภายนอกใด ๆ Pro ส่งเฉพาะข้อความคำค้นหาของคุณไปยัง LLM เพื่อขยายคำค้นหา ความทรงจำของคุณจะไม่ถูกส่งออกไป
</details>

<details><summary><strong>ฉันต้องติดตั้ง Python ไหม?</strong></summary>

ไม่ ตัวติดตั้งใช้ [uv](https://docs.astral.sh/uv/) เพื่อจัดการ Python 3.12 แบบ sandboxed Python บนระบบของคุณจะไม่ถูกแตะต้อง
</details>

<details><summary><strong>ทำไมไม่ใช้ context window ที่ใหญ่กว่าล่ะ?</strong></summary>

Context window มีราคาแพง ช้า และว่างเปล่าเมื่อเริ่มเซสชันใหม่ทุกครั้ง TrueMemory ให้การเรียกคืนทันทีโดยใช้โทเค็นบริบทเป็นศูนย์ ภายใน 200ms
</details>

<details><summary><strong>TrueMemory เก็บข้อมูลการใช้งาน (telemetry) ไหม?</strong></summary>

ข้อมูลการใช้งานแบบไม่ระบุตัวตน (การเรียกใช้เครื่องมือ, จำนวนเซสชัน, ข้อมูลแพลตฟอร์ม) เปิดอยู่โดยค่าเริ่มต้น เรา **ไม่เคย** ติดตามเนื้อหาความทรงจำ คำค้นหา เส้นทางไฟล์ หรือ API key ยกเลิก: `export TRUEMEMORY_TELEMETRY=off`
</details>

---

## เริ่มต้นใน 60 วินาที

```bash
pip install truememory
```

มีคำถาม? [เปิดการสนทนา](https://github.com/buildingjoshbetter/TrueMemory/discussions) หาก TrueMemory ช่วยประหยัดเวลาของคุณ [ให้ดาวแก่เรา](https://github.com/buildingjoshbetter/TrueMemory)

---

## ขอบคุณผู้มีส่วนร่วมของเรา

<table>
  <tr>
    <td align="center"><a href="https://github.com/buildingjoshbetter"><img src="https://avatars.githubusercontent.com/u/236675935?v=4" width="80" alt="buildingjoshbetter"/><br><sub>buildingjoshbetter</sub></a></td>
    <td align="center"><a href="https://github.com/SoilChang"><img src="https://avatars.githubusercontent.com/u/12407044?v=4" width="80" alt="SoilChang"/><br><sub>SoilChang</sub></a></td>
    <td align="center"><a href="https://github.com/Huntehhh"><img src="https://avatars.githubusercontent.com/u/66277108?v=4" width="80" alt="Huntehhh"/><br><sub>Huntehhh</sub></a></td>
    <td align="center"><a href="https://github.com/mseep-ai"><img src="https://avatars.githubusercontent.com/u/207640208?v=4" width="80" alt="mseep-ai"/><br><sub>mseep-ai</sub></a></td>
    <td align="center"><a href="https://github.com/adityajha2005"><img src="https://avatars.githubusercontent.com/u/147301021?v=4" width="80" alt="adityajha2005"/><br><sub>adityajha2005</sub></a></td>
    <td align="center"><a href="https://github.com/shivamverma1999"><img src="https://avatars.githubusercontent.com/u/33162868?v=4" width="80" alt="shivamverma1999"/><br><sub>shivamverma1999</sub></a></td>
    <td align="center"><a href="https://github.com/Adarsh-031"><img src="https://avatars.githubusercontent.com/u/185399508?v=4" width="80" alt="Adarsh-031"/><br><sub>Adarsh-031</sub></a></td>
    <td align="center"><a href="https://github.com/nareshkarthigeyan"><img src="https://avatars.githubusercontent.com/u/130460278?v=4" width="80" alt="nareshkarthigeyan"/><br><sub>nareshkarthigeyan</sub></a></td>
  </tr>
</table>

---

## งานวิจัย

TrueMemory ได้รับการสนับสนุนจากงานวิจัยที่ผ่านการตรวจสอบโดยผู้ทรงคุณวุฒิเกี่ยวกับหน่วยความจำเอเจนต์ที่เน้นการค้นคืน

**[Storage Is Not Memory: A Retrieval-Centered Architecture for Agent Recall](https://arxiv.org/abs/2605.04897)** — arXiv 2605.04897

```bibtex
@article{adler2025storage,
  title   = {Storage Is Not Memory: A Retrieval-Centered Architecture for Agent Recall},
  author  = {Sauron Labs},
  journal = {arXiv preprint arXiv:2605.04897},
  year    = {2025},
  url     = {https://arxiv.org/abs/2605.04897}
}
```

---

## ชุมชน

- [เข้าร่วม Discord ของเรา](https://discord.gg/ZJ74JB2gVW) สำหรับความช่วยเหลือ ข้อเสนอแนะ และอัปเดต
- ติดตาม [@Building_Josh](https://x.com/Building_Josh) บน X สำหรับอัปเดต
- ติดตาม [@Sauron_Labs](https://x.com/Sauron_Labs) สำหรับข่าวบริษัท
- [เปิดการสนทนา](https://github.com/buildingjoshbetter/TrueMemory/discussions) สำหรับคำถามหรือไอเดีย
- อ่านงานวิจัยบน [arXiv](https://arxiv.org/abs/2605.04897) · [Google Scholar](https://scholar.google.com/citations?user=YOUR_ID) · [Semantic Scholar](https://www.semanticscholar.org/)
- เยี่ยมชม [truememory.net](https://truememory.net) · [sauronlabs.ai](https://sauronlabs.ai)

หาก TrueMemory ช่วยประหยัดเวลาของคุณ [ให้ดาวแก่เรา](https://github.com/buildingjoshbetter/TrueMemory)

---

## สัญญาอนุญาต

[AGPL-3.0](../LICENSE) ใช้ฟรีสำหรับการใช้งานส่วนตัวและการวิจัย การใช้งานเชิงพาณิชย์ต้องมีสัญญาอนุญาตแยกต่างหาก ติดต่อ josh@sauronlabs.ai

---

<p align="center">
  <em>TrueMemory, a <a href="https://sauronlabs.ai"><strong>sauron</strong></a> company</em>
</p>
