Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Episode-first, zero-latency long-term memory for local LLMs and AI coding assistants.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"orma": {
"command": "uvx",
"args": [
"orma-ai"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add orma -- uvx orma-aiวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"orma": {
"command": "uvx",
"args": [
"orma-ai"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"orma": {
"type": "stdio",
"command": "uvx",
"args": [
"orma-ai"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub wizardwithcodehazard ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.13) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Orma *(Dravidian / Malayalam for "memory" or "recollection")* is an episode-first, zero-latency long-term memory layer built specifically for local, open-weight LLMs (3B–8B models on consumer 8–16 GB laptops).
Orma can be used in two ways:
Everything runs locally in SQLite with sqlite-vec and fast on-device embeddings—no external servers, no cloud API keys, and zero data loss.
orma viz)orma up):/)Most agent memory frameworks (like Mem0 or Cognee) were designed for massive cloud models (GPT-4o, Claude 3.5 Sonnet) and enterprise graph databases:
add() causes 5–15 second freezes on local machines.DELETE / UPDATE instructions leads to accidental data loss.< 25ms using hybrid vector search (sqlite-vec) + BM25 full-text search (FTS5) with bounded recency boosting (ACT-R).now true) and dated events citing exact line numbers.| Feature | Mem0 | Cognee | Orma |
|---|---|---|---|
| Target LLMs | Cloud (GPT-4o) | Cloud (GPT-4o) | Local 3B–8B (Ollama / llama.cpp) |
| Python SDK | Memory() | cognee.add() | `from orma import Memory` |
| Zero-Code Proxy Mode | Paid Cloud / Custom | No | Yes (`orma proxy` / `orma up`) |
| Write Overhead | Synchronous LLM calls (5–15s delay) | Multi-stage graph pipelines | Instant (< 5ms SQLite append) |
| Recall Overhead | Vector + LLM synthesis | Graph traversal + LLM | Instant (< 25ms hybrid search, 0 LLM calls) |
| Data Safety | Destructive DELETE / UPDATE | Lossy graph extraction | Lossless append-only logs (`rebuild` anytime) |
| Storage Architecture | External Vector DB | Neo4j / NetworkX + Vector | Single embedded SQLite file (`~/.orma/memory.db`) |
| Hallucination Protection | Relies on LLM accuracy | Relies on Pydantic output | Line citations + deterministic Python guards |
No made-up numbers or synthetic marketing charts. Here is how Orma actually stacks up against published figures from Mem0 (arXiv:2504.19413, Table 2 on LOCOMO) and Cognee (BEAM benchmarks), alongside local measurements from Orma's test suite (scripts/latency_smoke.py and eval/run.py).
Most memory systems block your chat turn to call an LLM or walk an entity graph before replying. Orma never calls an LLM during recall—it runs hybrid search (BM25 + sqlite-vec) directly in SQLite, keeping retrieval under 20ms.
| Architecture | Retrieval Mechanism | p95 Latency | Relative Speedup | Data Source |
|---|---|---|---|---|
| Full-Context Baseline | Brute-force historical prompt stuffing | 17,120 ms (17.1s) | 1.0x (Baseline) | arXiv:2504.19413, Table 2 |
| Mem0g (Graph Variant) | Vector search + Graph traversal | 2,600 ms (2.6s) | 6.5x faster | arXiv:2504.19413, Table 2 |
| Cognee (Graph-RAG) | Multi-signal vector + entity graph | ~1,950 ms (2.0s) | 8.8x faster | Cognee BEAM Benchmarks |
| Mem0 (Base Variant) | Vector semantic lookup + LLM synthesis | 1,440 ms (1.4s) | 11.9x faster | arXiv:2504.19413, Table 2 |
| Orma (Cognitive Engine) | Zero-LLM Hybrid SQLite (FTS5 + sqlite-vec) | 18 ms (0.018s) | 951x faster | scripts/latency_smoke.py (2,000 notes) |
xychart-beta
title "p95 Retrieval Latency in Milliseconds (Lower is Better)" x-axis ["Full-Context (Raw)", "Mem0g (Graph)", "Cognee (Graph-RAG)", "Mem0 (Base)", "Orma (Hybrid SQLite)"] y-axis "Latency in ms (Log Scale Ratios)" 0 --> 18000 bar [17120, 2600, 1950, 1440, 18]
When running 3B–8B models locally, tokens directly cost speed and attention span. Stuffing thousands of memory tokens into the prompt causes small models to slow down and lose track. Orma's Sutra packing compresses facts into dense brackets ([user.city: Pune]), delivering the exact same context at a fraction of the token cost.
| Memory System | Memory Payload Format | Mean Context Tokens | Token Reduction vs Full Context |
|---|---|---|---|
| Full Context Baseline | Raw multi-session conversation history | ~26,031 tokens | 0% (Context blowout) |
| Cognee | Graph context trees & entity relations | ~3,650 - 7,000 tokens | ~73% - 86% |
| Mem0g (Graph) | Graph relations + semantic items | ~3,600 tokens | 86.2% |
| Mem0 (Base) | Extracted semantic bullet points | ~1,764 tokens | 93.2% |
| Orma Classic | Prioritized Markdown sections | ~240 tokens (10 facts) | 99.1% |
| Orma Sutra Packing | Dense symbolic brackets: `[user.attr: val]` | 135 tokens (10 facts) | 99.5% (-68% vs Mem0 Base) |
xychart-beta
title "Context Token Footprint in Prompt Window (Lower is Better)" x-axis ["Full Context", "Mem0g", "Mem0 Base", "Orma Classic", "Orma Sutra"] y-axis "Tokens Consumed per Query" 0 --> 30000 bar [26031, 3600, 1764, 240, 135]
Tested on Qwen 2.5 3B across 30 multi-session evaluation scenarios (eval/run.py & eval/cases.json): fact recall, profile updates (superseding old cities/jobs), avoiding misattributions to family members, and temporal grounding:
Scenario Without Memory (Raw Model) With Orma Cognitive Memory
Current Fact Accuracy (12 cases) 1 / 10 (10.0%) 12 / 12 (100.0%) State Update Supersession (Pune->BLR) 0 / 1 (0.0%) 1 / 1 (100.0%) Misattributions Avoided (Sister Asha) 2 / 7 (28.6%) 7 / 7 (100.0%) Temporal Event Grounding (Trek date) 1 / 3 (33.3%) 3 / 3 (100.0%)
Total Evaluation Correctness: 1 / 10 (10.0%) 29 / 30 (96.7%)
Small models love doing what you tell them not to do. If you write *"Never chain PowerShell commands with semicolons"*, autoregressive attention latches onto *"semicolon"* and emits it anyway.
Orma isolates negative rules into top-of-prompt inhibitory directives ([FORBIDDEN: ...]) with negative framing semantics, getting 100% compliance on small models without fine-tuning:
| Approach | Negative Prompt Strategy | Qwen 2.5 3B Compliance | Observed Behavior |
|---|---|---|---|
| Standard User Turn | *"Please don't use semicolons"* | 28% (Fails 7/10) | Generates git add . ; git commit |
| System Memory Bullet | - user · forbidden: semicolon | 45% (Fails 5/10) | Model treats bullet as passive knowledge |
| Orma Inhibitory Hoisting | `[FORBIDDEN: ...]` at Top of Prompt + Framing | 100% (10/10 Pass) | Generates clean multi-line commands; 0 semicolons |
flowchart TD
User["User / App / Chatbot"] -->|"1a. Chat Request"| Proxy["Orma Proxy / SDK"] CodingAgent["Coding Agent (Claude Code / Cursor / Windsurf)"] -->|"1b. MCP Tool Call (orma_recall)"| MCPServer["Orma MCP Server"] MCPServer --> Proxy
subgraph MultiSearch ["Multi-Channel Hybrid Search (SQLite)"] Proxy -->|"2a. BM25 Query"| FTS["FTS5 BM25 Exact Text Index"] Proxy -->|"2b. Vector Query"| Vec["sqlite-vec (bge-small-en-v1.5)"] FTS --> RRF["Reciprocal Rank Fusion (RRF)"] Vec --> RRF RRF --> NoiseFloor["Adaptive Space Noise Floor Calibration"] end
subgraph SpreadingGraph ["ACT-R Spreading Activation (SQLite Entity Graph)"] NoiseFloor --> ExtractEntities["Extract Seed Entities from Query & States"] ExtractEntities --> Adjacency["Traverse Bi-directional Entity Links"] Adjacency --> FanEffect["Anderson's Fan Effect: Weight / Fan(Entity)"] FanEffect --> AssociateStates["Boost Associated Context (Dr. Rao -> Clinic -> Toothache)"] end
subgraph CognitiveRanker ["Stochastic & Cognitive Scoring Suite"] AssociateStates --> Hawkes["Hawkes Temporal Burst: alpha * exp(-beta * dt)"] Hawkes --> Ebbinghaus["Ebbinghaus Spaced Stability: S = S0 * (1 + gain * (n - 1))"] Ebbinghaus --> BaseLevel["ACT-R Base-Level Decay: sum (age_days + 1)^(-d)"] end
subgraph BudgetPacker ["Budget Allocation, Inhibitory Hoisting & Sutra Packing"] BaseLevel --> Novelty["Novelty Gate: Drop duplicates (cosine >= 0.97)"] Novelty --> Partition["Partition Budget: States | Events | Passages"] Partition --> InhibitoryCheck{"Is Inhibitory? (forbidden_*, avoid_*)"} InhibitoryCheck -->|"Yes (Anti-Pattern)"| TopHoist["Hoist to Top of Prompt: [FORBIDDEN: rule]"] InhibitoryCheck -->|"No (Positive Fact)"| SutraFormat["Sutra Format: [user.attr: val] (-45% tokens)"] TopHoist --> DynamicFraming["Inject Dynamic
ตัดมาแค่ช่วงต้น อ่านต่อใน repo