Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Git-backed team knowledge compiled into token-budgeted context bundles for coding agents
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
BRIEFD_SOURCE, BRIEFD_API_TOKEN, BRIEFD_GIT_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"briefd": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "ใส่ค่าของคุณ",
"BRIEFD_API_TOKEN": "ใส่ค่าของคุณ",
"BRIEFD_GIT_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add briefd --env BRIEFD_SOURCE='ใส่ค่าของคุณ' --env BRIEFD_API_TOKEN='ใส่ค่าของคุณ' --env BRIEFD_GIT_TOKEN='ใส่ค่าของคุณ' -- docker run -i --rm -e BRIEFD_SOURCE -e BRIEFD_API_TOKEN -e BRIEFD_GIT_TOKEN ghcr.io/ismailperim/briefd:0.6.1เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"briefd": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "ใส่ค่าของคุณ",
"BRIEFD_API_TOKEN": "ใส่ค่าของคุณ",
"BRIEFD_GIT_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"briefd": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRIEFD_SOURCE",
"-e",
"BRIEFD_API_TOKEN",
"-e",
"BRIEFD_GIT_TOKEN",
"ghcr.io/ismailperim/briefd:0.6.1"
],
"env": {
"BRIEFD_SOURCE": "ใส่ค่าของคุณ",
"BRIEFD_API_TOKEN": "ใส่ค่าของคุณ",
"BRIEFD_GIT_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub ismailperim ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: BRIEFD_SOURCE, BRIEFD_API_TOKEN, BRIEFD_GIT_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.1) เข้า registry 36 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
briefd
Your agents, briefed. Not flooded.
A self-hosted context compiler for AI coding teams: git-backed knowledge, served to coding agents
as token-budgeted context bundles over MCP.
▶ Watch the 90-second explainer · How it works · Quickstart
Teams that build many projects in one domain keep the same knowledge in their heads and in scattered CLAUDE.md / AGENTS.md files: terminology, business rules, architecture decisions, conventions. Loading all of it into every session burns thousands of tokens on every turn, and whatever doesn't fit gets left out.
briefd inverts the model: context on demand, not up front. Your knowledge lives as Markdown in a git repository. briefd indexes it and answers one question from your coding agent — *"what do I need to know for this task?"* — with a compiled, deduplicated bundle that never exceeds the token budget you set.
On the sample knowledge repo in this repository (44 documents, 47 realistic developer tasks), compile_bundle spends 86% fewer tokens per task than pasting everything into `CLAUDE.md` while still containing the section that answers the task 96% of the time (98% with the English-only all-MiniLM-L6-v2 model, the figure the explainer video quotes). The realistic middle ground — a hand-curated CLAUDE.md with just conventions and the glossary — costs 2.8× more than a bundle and has the answer less than half the time.
Reproduce it with make bench; the method is in internal/eval/bench.go.
That is what the tokenizer says. Inside real Claude Code sessions (eval/session/, Sonnet, 10 tasks, same prompts) briefd cut the context carried per turn by 35% and the cost per task by 40% with identical answers — at the price of 3–4 extra tool-call round trips per task. The saving grows with the size of your knowledge repo; a static CLAUDE.md cannot.
Memory tools (agentmemory, Mem0, claude-mem) record what *an agent* observed in its sessions, automatically, per user. briefd serves what *the team* decided, written by people and reviewed like code. They answer different questions and run side by side.
| Agent memory | briefd | |
|---|---|---|
| Source of truth | A database the agent writes to | Markdown in a git repository |
| Who writes | The agent, automatically | People; agents open pull requests |
| Scope | One agent / one user | The whole team, every project in the domain |
| Review | None | Every change has a diff, a reviewer and a name |
| Staleness | Unknown | Dates on every section; drift against the code it governs |
| What it can't answer | Silently absent | Listed on the dashboard as a backlog |
| Footprint | Runtime + engine + several ports | One static binary, one SQLite file, one port (or stdio) |
| Tool surface | Dozens of tools, thousands of tokens per session | 7 tools, ~2.8k tokens per session |
Use a memory tool so your agent remembers what it tried last week. Use briefd so every agent on the team applies the same rules — and so someone notices when a rule falls behind the code.
propose_update opens a reviewable branch/PR; what briefd serves changes only when a human merges.multilingual-e5-small, 100+ languages) computed by a pure-Go encoder, fused with reciprocal rank fusion. No Postgres, no vector database, no ONNX runtime, no CGO.max_tokens and never exceeds it.Try it in 30 seconds — no repository needed:
briefd demo # serves the built-in sample knowledge base on http://127.0.0.1:7788
Then open the dashboard, or point an agent at it: claude mcp add --transport http briefd http://127.0.0.1:7788/mcp. The first run downloads the embedding model (about 470 MB); briefd demo --embeddings none skips it.
With your own knowledge:
# 1. build (Go >= 1.26) or grab a binary from the releases page
git clone https://github.com/ismailperim/briefd && cd briefd && make build
./bin/briefd serve --source testdata/knowledge --db /tmp/briefd.db --token dev-token
claude mcp add --transport http briefd http://localhost:7788/mcp \ --header "Authorization: Bearer dev-token"
Open http://localhost:7788/ for the dashboard, then ask Claude Code something the sample corpus knows — *"what's our retry policy for acquirer calls?"* or *"ters ibraz nedir?"* — and watch search_context / compile_bundle show up in the request log.
Any MCP client that speaks streamable HTTP works. For a project-level .mcp.json:
{
"mcpServers": { "briefd": { "type": "http", "url": "http://localhost:7788/mcp", "headers": { "Authorization": "Bearer dev-token" } } } }
Let the agent install it. Hand your coding agent one instruction:
Retrieve and follow the instructions at: https://raw.githubusercontent.com/ismailperim/briefd/main/INSTALL_FOR_AGENTS.md
Teach the agent when to ask. Tools an agent does not call save nothing. The skills/briefd skill tells Claude Code (and any agent that reads SKILL.md) when to compile a bundle, how to treat a stale section and when to propose an update; the same guidance as a CLAUDE.md paragraph is in deploy/local/CLAUDE.md.
npx skills add ismailperim/briefd
Single-user, no server? briefd mcp speaks MCP over stdio — the same tools, the same index, no port and no token. Claude Desktop, Cursor's stdio config and MCP directory inspectors launch it directly:
{
"mcpServers": { "briefd": { "command": "briefd", "args": ["mcp", "--source", "/path/to/knowledge", "--db", "~/.briefd/knowledge.db"] } } }
Use serve when a team shares one instance (dashboard, metrics, webhook, REST); use mcp when the agent runs on the machine that holds the checkout.
| Tool | What it does |
|---|---|
compile_bundle(task_description, max_tokens?, scopes?, paths?) | One deduplicated context block within the budget, ordered domain → conventions → project, with a source line per section and a bundle_id. Deterministic and cached. |
search_context(query, max_tokens?, scopes?, top_k?, paths?) | Ranked sections that fit the budget, for inspection. paths (code paths being edited) pull the documents whose refs cover them to the top. |
get_document(doc_path, scopes?) | One document in full. |
list_scopes() | Scopes with document/section counts. |
propose_update(doc_path, change_description, new_content) | Creates branch briefd/proposal- (+ pull request when configured). Never touches the index. |
report_usage(bundle_id, useful_chunk_ids) | Optional feedback: which sections helped. An empty list marks the question as a knowledge gap. |
suggest_links(doc_path?, limit?) | Links the knowledge base is missing (a document names another without linking it) and broken links — for an agent tidying the knowledge base via propose_update. |
The same operations are available over REST (/api/search, POST /api/bundle, /api/docs/{path}, /api/scopes, POST /api/proposals, POST /api/usage, /api/gaps, /api/health, /api/stats) behind the same bearer token.
briefd expects a git repository (or directory) of Markdown with three kinds of folders (briefd init scaffolds it with example documents):
knowledge-repo/
├── domain/ # shared: terminology, business rules, ADRs ├── conventions/ # shared: coding standards, infra patterns └── projects/ ├── ledger-service/ # visible only when scope "projects/ledger-service" is requested └── merchant-portal/
Documents are split on ##/### headings into sections of roughly 200–800 tokens with stable ids, so a section can be quoted on its own. Optional front matter adds metadata:
---
title: Retry policy # defaults to the first H1 tags: [payments, resilience] refs: ["services/payment/**"] # code paths this doc governs
testdata/knowledge/ is a complete example (a fictional payments platform) and doubles as the evaluation corpus.
A knowledge repository can be an Obsidian vault. briefd reads [[wikilinks]] in the text and in front-matter properties such as related: (including [[note|alias]] and [[note#heading]]) and relative Markdown links, resolves them the way Obsidian does (by path, or by file name anywhere in the repository), and builds a link graph: the dashboard draws it, get_document returns each document's links and backlinks so an agent can follow them, and orphans (nothing links here) and broken links (the target does not exist) are listed as maintenance signals next to gaps and coverage. Folder scopes still apply — domain/, conventions/, projects/ / — so keep the vault's top level in that shape.
ตัดมาแค่ช่วงต้น อ่านต่อใน repo