Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Repo-bound memory and self-improving harness for AI coding agents — zero API keys.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
RSI_PROJECT_ROOTต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"rsi-boot": {
"command": "uvx",
"args": [
"rsi-boot",
"serve"
],
"env": {
"RSI_PROJECT_ROOT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add rsi-boot --env RSI_PROJECT_ROOT='ใส่ค่าของคุณ' -- uvx rsi-boot serveเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"rsi-boot": {
"command": "uvx",
"args": [
"rsi-boot",
"serve"
],
"env": {
"RSI_PROJECT_ROOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"rsi-boot": {
"type": "stdio",
"command": "uvx",
"args": [
"rsi-boot",
"serve"
],
"env": {
"RSI_PROJECT_ROOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
RSI_PROJECT_ROOT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Apollo-lwx ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.9) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ 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
Agent 的工程记忆,不是对话记忆:约定和禁止项落在仓库里,换一个宿主读到的还是这一份。
Cursor 在 2.1 删掉了 Memories,新会话对你的项目一无所知;Claude Code 的记忆锁在本机、不跟 git,换一个同事就对不上;云记忆要 Key、要服务,记忆还跟账号走。同一个人换着 Cursor、Claude Code、Codex、DeepSeek Harness 写同一个仓库,或者团队里各用各的工具,写法、禁止项和修 bug 的经验也各记各的。
RSI Boot 把约定、禁止项、修复经验和 harness 槽位落在仓库的 .rsi/,跟仓库走:装一次,Cursor / Claude Code / Codex / Qoder / DeepSeek Harness 通用。主链路零 API Key,不调用模型。
环是固定的:召回 → 干活 → 蒸馏成待审条目 → 人批准后才留下 → 下一轮召回读到留下的条目。 负反馈另外进失败桶,只改可写槽位(提示词 / 技能 / 召回策略 / 意图规则 / 知识)。提案过静态门禁和人工确认才晋升,观察 7 天,采纳率掉就回滚。这是软件自己的写法。公开结果还没有和别人的答题分放在同一列。召回主榜的表在 benchmark/results/recall-20261028/SUMMARY.md。
rsi-harness(Harness-RSI) 负反馈进失败桶,只改可写槽位(提示词 / 技能 / 召回策略 / 意图规则 / 知识)。提案过静态门禁和人工确认才晋升,观察 7 天,采纳率掉就回滚。留下的是槽位版本。这条环已经在软件里;公开基准还没有量过「下一轮是否更好」。
跟随项目迁移 记忆按仓库隔离,不跟账号、不跟 IDE。仓库拷走、换机器、换目录,.rsi/ 一起走;打开另一个仓库就是另一份,不会串。Harness 基因组可导出 bundle,跨项目备份或迁槽位。
跨 AI 工具、多人共用一份项目记忆 同一套 MCP(rsi serve)接 Cursor、Qoder、Codex 和 DeepSeek Harness;状态栏同时吃 Claude Code 与 Cursor CLI。要共用的是这个仓库的项目记忆:函数名怎么写、支付日志里不能打卡号、上次空指针是怎么修的。聊天记录不在这里面。
核准后的约定写进仓库根的 AGENTS.md 托管块,也写进 .cursor/rules。Cursor、Claude Code、Codex、Qoder、DeepSeek Harness 打开同一份仓库,都会读到这段托管块。接上 MCP 之后,召回读的是同一份 .rsi/:上午在 Cursor 里记下的禁止项,晚上换 DeepSeek Harness、或者同事换 Codex 打开这个仓库,读到的是同一条。
同事要拿到召回用的全文,仓库里得有同一份 .rsi/。学习默认把 .rsi/ 写进 .gitignore,日志和缓存留在本机。交给同事时,把核准过的 .rsi/memory 纳入版本库;Git 一旦忽略了整个 .rsi/ 目录,里面的文件需要改忽略规则才能再提交。AGENTS.md 在仓库根,提交后大家拉下来就能读到托管块。
| 宿主自带记忆 | 云端记忆(Mem0 一类) | 通用本地记忆 MCP | RSI Boot | |
|---|---|---|---|---|
| 数据跟谁走 | 跟账号 / 跟宿主 | 跟云端用户 | 看实现 | 跟当前仓库 |
| 换 AI 工具、换同事 | 重学,各记各的 | 对方接得上才有 | 多数只做存取 | 同一份 `.rsi/` 与 `AGENTS.md` |
| Harness 自改进 | 无 | 无 | 无或弱 | 提案 → 门禁 → 观察 → 回滚 |
| 主链路 API Key | 绑宿主 | 要 | 常要 | 不要 |
| 写入闸门 | 模型自觉 | 服务端策略 | 少 | 审批 + 禁止项 + 冲突裁决 |
主榜是召回。冷启动默认 5 条。分母是有标准证据的题数。MRR 是第一条命中的名次倒数(0 到 1)。token 记 null。协议和分项在 benchmark/results/recall-20261104/SUMMARY.md。
| 数据集 | 有证据的题 | Hit@5 | Recall@5 | MRR | Hit@10 | Recall@10 | 该空时空了 |
|---|---|---|---|---|---|---|---|
| LoCoMo | 1536 | 62.0% | 56.4% | 0.422 | 70.3% | 64.0% | 0/450 |
| LongMemEval-S | 500 | 96.6% | 90.2% | 0.908 | 98.4% | 94.8% | — |
这是检索命中,不是模型答题分。LoCoMo 类别标签以官方评测代码为准(1=多跳、2=时间、3=开放域、4=单跳),与论文 §4.1 的叙述顺序不一致(上游 issue #29 / EACL 2026 附录 A 已确认)。
同一批题、同一指标,三个系统同机跑。vanilla-rag 是 512 字符切块 + 向量:LoCoMo/EngMem 用本地 bge-large-en-v1.5(fastembed/ONNX,无需 Key),LME 因 512 字符切 11.5 万 token 会话会产生约 56 万向量、离线不可行而退为 hashing 词袋下界;full-context 是「全量塞上下文」参照,不参与胜负判定。完整表在 benchmark/results/baselines-emb-20261104/SUMMARY.md。
| 数据集 | 系统 | Hit@5 | Recall@5 | MRR |
|---|---|---|---|---|
| LoCoMo | rsi | 62.0% | 56.4% | 0.422 |
| LoCoMo | vanilla-rag | 68.6% | 60.4% | 0.500 |
| LoCoMo | full-context | 2.3% | 1.4% | 0.009 |
| LongMemEval-S | rsi | 96.6% | 90.2% | 0.908 |
| LongMemEval-S | vanilla-rag | 69.2% | 55.4% | 0.520 |
| LongMemEval-S | full-context | 17.6% | 8.6% | 0.080 |
自建基准:21 个真实开源仓库(钉死 commit),315 道人工编写题锚定仓库真实文档节,分规范 / 禁令 / 历史修复三类。标注质量经三模型核验团审计(Kimi K3 / Claude Haiku / GLM 5.2 独立核验 87 题分层样本,Fleiss' κ=0.738,作者仲裁后修复 5 处锚点/版本缺陷)。方法学见 benchmark/engmem/README.md,完整表(含按题型、按难度)在 benchmark/results/engmem-emb-20261105/SUMMARY.md。
| 系统 | 题数 | Hit@5 | Recall@5 | MRR |
|---|---|---|---|---|
| rsi | 315 | 93.0% | 92.9% | 0.817 |
| vanilla-rag | 315 | 87.3% | 87.1% | 0.744 |
| full-context | 315 | 25.4% | 25.4% | 0.096 |
公开列来自论文里的检索数字,这次列就是上面的主榜。差值 = 这次 − 公开,单位是百分点。LoCoMo 论文的口径是对话 recall accuracy,这次 k=5 用 Hit@5、k=10 用 Hit@10。论文总平均含对抗题,这次的总平均是 1536 道可答题。ECHO 写明 LoCoMo 的 Hit@10 是开发测量,查询扩展可能沾了题面。
| 对照 | 分项 | 公开 | 这次 | 差值 |
|---|---|---|---|---|
| LoCoMo 论文,对话 k=5 | 单跳 | 68.0 | 72.2 | +4.2 |
| LoCoMo 论文,对话 k=5 | 多跳 | 35.4 | 39.4 | +4.0 |
| LoCoMo 论文,对话 k=5 | 时间 | 70.4 | 64.5 | −5.9 |
| LoCoMo 论文,对话 k=5 | 开放域 | 33.1 | 30.4 | −2.7 |
| LoCoMo 论文,对话 k=5 | 总平均,论文含对抗题 | 56.7 | 62.0 | +5.3 |
| LoCoMo 论文,对话 k=10 | 总平均,论文含对抗题 | 66.2 | 70.3 | +4.1 |
| ECHO,LoCoMo 1536 题 | Hit@10,开发测量 | 96.29 | 70.3 | −26.0 |
| ECHO,LongMemEval-S 500 题 | Hit@10 | 97.60 | 98.4 | +0.8 |
| ECHO,LongMemEval-S | 会话 Recall@5 | 88.71 | 90.2 | +1.5 |
| 对照 | 这次 | 公开 | 差值 |
|---|---|---|---|
| LongMemEval-S Hit@10 | 98.4 | 97.60 | +0.8 |
| LongMemEval-S 会话 Recall@5 | 90.2 | 88.71 | +1.5 |
| LoCoMo 总平均 k=5 | 62.0 | 56.7 | +5.3 |
| LoCoMo 总平均 k=10 | 70.3 | 66.2 | +4.1 |
| LoCoMo 单跳 k=5 | 72.2 | 68.0 | +4.2 |
| LoCoMo 多跳 k=5 | 39.4 | 35.4 | +4.0 |
| LoCoMo 开放域 k=5 | 30.4 | 33.1 | −2.7 |
| LoCoMo 时间题 k=5 | 64.5 | 70.4 | −5.9 |
| LoCoMo Hit@10 对 ECHO | 70.3 | 96.29 | −26.0 |
两项测量,口径不同,不要混列:
2026.10.22,ask 模式,模型 Auto):同一套关于本仓库的问题各答一遍,用它报出的 token 相减。token 是输入、输出、缓存读、缓存写四项之和。六组合计:关记忆 1637977,开记忆 423973,省 1214004,74.1%。协议和分项在 benchmark/results/token-20261029/SUMMARY.md。同一份 .rsi 种子,RSI 两次自读、Cursor CLI、Claude Code CLI 各自通过自己的 MCP 链路读同一组查询:六组宿主对平均 Jaccard@5 = 1.000、首位一致率 100%——召回是确定性的,换宿主不掉链子。见 benchmark/results/cross-host/SUMMARY.md。
检索命中不等于答对,所以补了漏斗末端:LoCoMo 同批 80 题三臂(full / rsi / rag)× 两台生成器(Kimi K3、Claude Haiku),每份答案由两家模型交叉互判(一致率 87.5%,双判全对才算对)。结果:词面 rsi 与向量基线答题无显著差异(McNemar p=0.70 / 1.00),全量上下文仍最强(这是 98.8% 上下文削减的代价,如实报告),不可答题拒答词面 rsi 最可靠(64% vs full 50% vs rag 39%)。见 benchmark/results/answer-acc-20261105/SUMMARY.md。
两个实验开关(默认关,RSI_ENABLE=vector|multihop 或 rsi-boot.yaml enable: 打开):本地 fastembed/ONNX 向量通道(bge-large,与 vanilla-rag 臂同模型)在门禁后与词面幸存者 RRF(k=60) 融合;首跳桥接词二跳级联。LoCoMo 全量四臂对照:向量通道 Hit@5 62.0%→68.2%(配对 McNemar 98 对 3,p=1.4e-25),multi-hop 分项 39.4%→48.9%,与向量版 vanilla-rag(68.6%)达到统计平价;多跳级联为中性(如实记录为负结果)。答题准确率复测(rsi 臂换混合检索重生成,其余两臂原样复用):Claude 生成 52.5%→56.2%、Kimi 生成 46.3%→47.5%,multi-hop 答题 5%→23%;代价是不可答题拒答 64%→50%,如实披露。见 benchmark/results/ablation-hybrid-20261105/SUMMARY.md 与 benchmark/results/answer-acc-vec-20261105/SUMMARY.md。
需要 Python 3.10+:
pip install rsi-boot
rsi init
要改源码则克隆本仓库,按开发一节用可编辑安装。
rsi init 只写用户配置 ~/.rsi/config.yaml。项目记忆在各仓库的 .rsi/,第一次启动 MCP 或 bootstrap 时创建。
在要用记忆的那个项目的 .cursor/mcp.json 加:
{
"mcpServers": { "rsi-boot": { "command": "rsi", "args": ["serve"], "env": { "RSI_PROJECT_ROOT": "${workspaceFolder}" } } } }
然后 Settings → MCP 确认 rsi-boot 已启用。
不要把这段配进用户级 mcp.json。那里的 ${workspaceFolder} 经常不展开,记忆会串到别的仓库。要记哪个项目,就写在那个项目里。
插件市场方式(推荐,可随仓库更新):
/plugin marketplace add Apollo-lwx/rsi-boot
/plugin install rsi-boot@rsi-boot
或一条命令直接装 MCP:
claude mcp add rsi-boot -- uvx --from rsi-boot rsi serve
在要记的那个仓库目录里打开 Claude Code。状态栏是可选项,见下文。
qoder mcp add rsi-boot -- rsi serve
或在项目根 .mcp.json 加与 Cursor 相同的 mcpServers 片段。同样要写在这个项目里,不要写进用户级配置。
一行命令接入(推荐):
codex mcp add rsi-boot -- uvx --from rsi-boot rsi serve
或手写 TOML 配置:用户级 ~/.codex/config.toml,或项目级 .codex/config.toml(需目录已被信任):
[mcp_servers.rsi-boot]
command = "rsi" args = ["serve"]
从项目根目录启动 codex。要钉死目录,在上面的表里加一行:env = { RSI_PROJECT_ROOT = "/绝对/路径" }。
在要记的那个仓库目录里打开桌面端。插件页安装 dsh-rsi-boot,或在已经能用 dsh 的终端里执行:
dsh plugin --profile web add dsh-rsi-boot
本机需要 Python 3.10+,并且终端里能运行 rsi serve。装完重启一次。工具名多一层前缀,例如 mcp__rsi-boot__rsi_recall。不要从用户主目录启动,否则 .rsi/ 可能写进主目录。
rsi statusline 给宿主 CLI 渲染底部状态栏:模型、上下文余量、token 统计(in/out/cache)、花费、RSI 今日召回与采纳率,外加一条定期轮换的随机文案。Claude Code 与 Cursor CLI 通用(两家的 statusLine 都会把会话 JSON 从 stdin 喂进来,本命令解析后单行输出,带 ANSI 颜色与 emoji)。
Claude Code(~/.claude/settings.json):
{
"statusLine": { "type": "command", "command": "rsi statusline" } }
Cursor CLI(~/.cursor/cli-config.json):
{
"statusLine": { "type": "command", "command": "rsi statusline" } }
效果示例:
🧠 Kimi K3 │ 📊 上下文余 71% │ ⛽ in 12.3k · out 1.8k · cache 96k │ 💰 $0.42 │ 🐾 RSI 召回 3 · 采纳 92% │ 给你比个心❤
三种配法并列,按场景任选(优先级:--style > 环境变量 > 项目级 > 用户级):
// ① 跟着宿主走:直接写进 statusLine 的 command(最直观,不动任何 config.yaml)
{ "statusLine": { "type": "command", "command": "rsi statusline --style buddy" } }
# ② 项目级(按仓库定风格,跨宿主共享):<工作区>/.rsi/config.yaml
statusline_style: buddy
六档预设:mixed 混搭(默认)、buddy 陪伴、serious 严肃、healing 治愈、geek 极客、lucky 好运。改完下一次刷新就生效。
风格写在 st
ตัดมาแค่ช่วงต้น อ่านต่อใน repo