Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Cross-session memory and hybrid RAG over your notes and docs. Local-first, with cited answers.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add loci -- uvx loci-ragวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"loci": {
"type": "stdio",
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub IvenKooLab ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
English · 简体中文 · 繁體中文 · 日本語 · 한국어
Turn scattered notes, project docs and agent memories into a knowledge base you can search and ask questions about — as an MCP server, from your terminal, or in the browser.
loci combines vector search with BM25 and returns answers with file > section citations. Your files and index stay on your machine. Embedding and chat requests go to the providers you configure; local endpoints can keep the entire workflow offline.
MCP is the point. Mount loci-mcp in Claude Desktop, Cursor, Cline or any other MCP host and your assistant gets the whole knowledge base as tools. The console and a desktop shell are alternate front-ends to the same index — you never need them.
Quick start · MCP setup · Web console · Usage guide · 中文说明
*Actual console UI with fictional demo data. No personal knowledge base, account or API key is connected; counts are illustrative.*
Dark theme preview
| Need | How loci helps |
|---|---|
| Find a decision buried in your notes | Hybrid search across directories, with tag, path and date filters |
| Ask a question and check the evidence | Answers cite source sections; optional claim-by-claim verification |
| Carry context between AI tools | MCP tools share one instance; durable memories are Markdown files |
| See what each coding agent remembers | Harness discovery, file browsing, per-tool stats and digest notes |
| Manage the knowledge base visually | Built-in Web console for search, Q&A, memories, indexing and audit |
| Resume a task exactly where it left off | Structured state by exact key (brain_state_save / brain_state_get) — no ranking in the way |
| Prune memory with evidence instead of vibes | Memory health: citations, corrections and age per note (loci memory-health) |
Markdown, text, HTML, org-mode and chat exports work out of the box. Optional extras add PDF, Word and OCR support. Keep using your existing note editor or Obsidian vault.
Three kinds of "memory" fail differently, and mixing them is the classic misuse:
| Kind | Lives in | Retrieved by | Right for | Wrong for |
|---|---|---|---|---|
| Free-text knowledge | memory notes (brain_remember) | hybrid retrieval | "what do we know about X" | exact resume of a task |
| Structured state | state/ / .json (brain_state_save) | exact key, no ranking | task snapshots, entity records, slot state worth persisting | prose you might want to fuzzy-find |
| Live dialogue slots | the host agent's session | the host's own context | this turn's variables | anything you expect to survive the session |
Rules of thumb:
brain_state_get type=task key=8f3c).brain_remember it, and let ranking do the work.State records are plain JSON, hand-editable, and deliberately not indexed into vectors: that is the boundary, not an omission.
Every search or answer that uses a memory note is ledgered (citations.jsonl in the instance directory). loci memory-health joins that with feedback (loci feedback bad — which also sinks the rated chunks in later retrieval) and age, and flags notes worth looking at:
$ loci memory-health
12 memory note(s), most-cited first cited corr age(d) last-cited flags file 17 0 41.2 0.3 - 20260920-103000-deploy-policy.md 0 2 63.8 - corrected 20260830-090000-old-strategy.md 0 0 51.4 - never-cited 20260901-120000-random-idea.md
corrected = rated bad after being used; never-cited = old and unused. Both are candidates for brain_forget — with evidence, not vibes. loci sees tool calls, not your conversation, so corrections reach it only through explicit feedback; the report never silently rewrites retrieval.
pip install loci-rag
loci demo
loci demo copies six fictional notes into ./loci-demo-notes, chunks them and answers three example questions — cited down to file > section — with no config.toml, no API key and no network. It is keyword-only (BM25, the same ranking hybrid search fuses with vector hits), which is exactly the point: something runs before you commit a key. Add [embed] later and the same index goes hybrid.
*Actual loci demo output on the bundled sample notes; paths shortened, timings vary.*
Requires Python 3.11+. Start from source so the example configuration is available:
git clone https://github.com/IvenKooLab/loci.git
cd loci python -m pip install -e . cp config.example.toml config.toml
Edit config.toml: fill in [llm] and [embed], and change [[sources]].path to your notes directory. The embedding endpoint must support /embeddings; chat and embeddings may use different providers.
loci ingest
loci search "deployment decisions" loci ask "What did we decide about deployment, and why?"
Already have a configuration? Install the package with python -m pip install loci-rag and set LOCI_HOME to your instance directory. For optional document support, use python -m pip install 'loci-rag[pdf,docx]'.
API keys can be supplied through
BRAIN_LLM_API_KEYandBRAIN_EMBED_API_KEY. After changing the embedding model, rebuild withloci ingest --force.
Using Obsidian? See the vault setup, privacy and compatibility guide.
loci serve-http
Open [127.0.0.1:8765/ui](http://127.0.0.1:8765/ui) to browse harness memories, search, ask questions, edit shared notes and inspect indexing activity. Clicking a search result opens an evidence pane with the passage it was cut from — the file > section citation, checkable without leaving the console. The console includes Chinese/English and light/dark switches; no frontend build is required.
By default, anonymous loopback clients have admin access. Behind a reverse proxy or SSH tunnel, set [http] local_admin = false and configure role-based tokens. See access control.
For DeepSeek Harness, loci-dsh brings search, Q&A and memory capture into the Harness workbench through the same HTTP backend.
Point each MCP client at the same `LOCI_HOME` so they share the same config, index and memory files:
{
"mcpServers": { "loci": { "command": "loci-mcp", "env": { "LOCI_HOME": "/absolute/path/to/your/loci-instance" } } } }
Use an absolute executable path if your client cannot find loci-mcp. The instance directory must contain your config.toml.
| MCP tools | Purpose |
|---|---|
brain_search · brain_ask | Retrieve excerpts or get cited answers |
brain_remember · brain_forget | Store or retract durable memories |
brain_links · brain_graph | Explore note links and extracted relations |
brain_wiki · brain_harness | Consolidate knowledge and inspect agent memories |
brain_stats · brain_ingest | Inspect and refresh the index |
The server also exposes note resources and briefing, study-plan and contradiction-check prompts. See the MCP guide for details.
*Actual loci-mcp output: initialize, tools/list and prompts/list on the real binary.*
The same retrieval pipeline and MCP surface, with no Python runtime to install — one binary, and the index is a single SQLite file instead of a database directory:
cargo build --release -p loci-cli # in native/
./target/release/loci-mcp --config ~/.loci/config.toml ./target/release/loci gui # the same console, served natively
Status: retrieval, a subset of MCP tools, harness discovery, migration and the console are ported. Harness file browsing and digest generation remain Python-only. See native/ for what is ported and the fidelity tests that pin it (chunking, the frozen default tokenizer, the CJK bigram decoy case, RRF, and incremental ingest).
The two builds keep separate store formats (SQLite vs ChromaDB directory), but they exchange data: export from Python with loci export, import in the native build with loci import, which refuses to mix embedding spaces unless you pass --force.
loci watch # keep changed documents indexed
loci remember "Use staging for demos" --title "Demo environment" loci search "demo environment" --tag memory loci ask "How should I prepare a demo?" --verify loci harness # inspect detected agent memories
Indexing is incremental. Notes stay readable as Markdown. For multiple machines, sync source files and memory notes, then rebuild each local index; keep credentials out of the repository.
See a retrieval session
The usage guide includes the original bilingual retrieval example and a small evaluation you can rerun against your own corpus.
| Guide | Covers |
|---|---|
| Usage guide / 中文指南 | Commands, filters, harness setup, access control and local models |
| Configuration example | Provider settings, source directories and runtime options |
| Architecture | Modules and the retrieval pipeline |
| Changelog · Roadmap | Released changes and planned work |
| Contributing | Development conventions and offline testing |
loci uses the OpenAI-compatible SDK and ChromaDB, with no LangChain or LlamaIndex dependency. BM25, loaders and the MCP transport are implemented in the project.
python -m pip install -e '.[dev,pdf]'
pytest # offline tests; no API keys required
Find loci on Glama, ModelScope and [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-server
ตัดมาแค่ช่วงต้น อ่านต่อใน repo