mcpField
L
loci

loci

本地服务
github.com/IvenKooLab记忆与知识101今天更新

关于 loci

loci 是一款本地优先的知识库,可搜索笔记和文档、回答问题,并在 AI 工具间共享持久上下文。它结合向量检索与 BM25,答案附带来源引用,并提供 MCP、命令行和网页控制台。

主要功能

  1. 01结合向量与 BM25 的混合搜索
  2. 02答案附带文件和章节引用
  3. 03索引笔记及多种文档格式
  4. 04保存和撤回持久记忆
  5. 05通过网页控制台浏览和管理

适用场景

  1. 01跨笔记目录查找项目决策
  2. 02提问时核对引用的证据
  3. 03在 AI 工具间共享持久上下文
  4. 04检查和更新 Agent 记忆

MCP 相关

MCP 服务提供搜索、问答、记忆、链接、图谱、wiki、harness、统计和索引工具,并公开笔记资源与提示词。多个 MCP 客户端可通过使用相同的 LOCI_HOME 共享一个实例。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ivenkoolab-loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}
启动命令uvx loci-rag

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiloci-rag0.4.0

工具

8

收录的工具列表 · 更新于 2 周前

参数类型必填说明
kinteger否要返回的命中数,1-20(默认值为 5)
instring否仅返回源路径包含此子字符串的结果,例如 'docs/en' 或 'projects'
tagstring否仅返回 frontmatter 标签包含此内容的结果,例如 'rag' 或 'memory'
querystring是要查找的内容,支持任意语言

详细介绍

loci — 为你的 AI 工具提供共享记忆

English · 简体中文 · 繁體中文 · 日本語 · 한국어

CI PyPI MCP 服务 Python 3.11+ Rust 原生构建 MIT 许可证

将散落的笔记、项目文档和 Agent 记忆整理成可搜索、可提问的知识库——可通过 MCP 服务、终端或浏览器使用。

loci 将向量搜索与 BM25 结合,并在回答中附上 file > section 格式的引用。你的文件和索引始终保存在本机。嵌入和聊天请求会发送给你配置的提供商;使用本地端点则可让整个工作流离线运行。

MCP 是核心。 在 Claude Desktop、Cursor、Cline 或其他 MCP 宿主中挂载 loci-mcp,助手即可将整个知识库作为工具使用。控制台和桌面外壳只是同一索引的备用前端——你完全不必使用它们。

快速开始 · 配置 MCP · Web 控制台 · 使用指南 · 中文说明

loci 控制台——合成数据演示

真实控制台界面,使用虚构演示数据。未连接任何个人知识库、账户或 API 密钥;数量仅供示意。

深色主题预览

loci 控制台——深色主题,虚构演示数据

你可以做什么

需求loci 如何帮助你
找到埋在笔记中的某项决策跨目录混合搜索,并支持按标签、路径和日期筛选
提问并核查依据回答引用来源章节;可选择逐条核验主张
在 AI 工具之间传递上下文MCP 工具共享同一个实例;持久记忆以 Markdown 文件保存
查看每个编码 Agent 记得什么发现 Harness、浏览文件、查看各工具统计信息和摘要笔记
直观管理知识库内置 Web 控制台,支持搜索、问答、记忆、索引和审计

Markdown、纯文本、HTML、org-mode 和聊天导出文件均可开箱即用。可选扩展还支持 PDF、Word 和 OCR。继续使用你现有的笔记编辑器或 Obsidian 知识库即可。

快速开始

先试用,无需配置
pip install loci-rag
loci demo

loci demo 会将六篇虚构笔记复制到 ./loci-demo-notes,对其分块,并回答三个示例问题——引用精确到 file > section,无需 config.toml、API 密钥或网络。它仅使用关键词(BM25;这是混合搜索与向量搜索结果融合时采用的同一排序方式),这正是它的意义所在:在你决定配置密钥之前,就能先运行起来。之后添加 [embed],同一索引即可切换为混合搜索。

loci 演示——真实输出,附带虚构示例笔记

在随附示例笔记上运行 loci demo 的真实输出;路径已缩短,耗时因情况而异。

为自己的笔记建立索引

需要 Python 3.11+。从源码开始,以便使用示例配置:

git clone https://github.com/IvenKooLab/loci.git
cd loci
python -m pip install -e .
cp config.example.toml config.toml

编辑 config.toml:填写 [llm] 和 [embed],并将 [[sources]].path 改为你的笔记目录。嵌入端点必须支持 /embeddings;聊天和嵌入可以使用不同的提供商。

loci ingest
loci search "deployment decisions"
loci ask "What did we decide about deployment, and why?"

已有配置?使用 python -m pip install loci-rag 安装软件包,并将 LOCI_HOME 设为你的实例目录。若需支持可选文档格式,请使用 python -m pip install 'loci-rag[pdf,docx]'。

可通过 BRAIN_LLM_API_KEY 和 BRAIN_EMBED_API_KEY 提供 API 密钥。更改嵌入模型后,使用 loci ingest --force 重建索引。

Web 控制台

loci serve-http

打开 127.0.0.1:8765/ui,浏览 Harness 记忆、搜索、提问、编辑共享笔记并检查索引活动。点击搜索结果会打开证据窗格,显示摘录来源的段落——引用格式为 file > section,无需离开控制台即可核查。控制台支持中英文和浅色/深色切换;无需构建前端。

默认情况下,匿名的本机回环客户端拥有管理员权限。若通过反向代理或 SSH 隧道访问,请设置 [http] local_admin = false 并配置基于角色的令牌。详见访问控制。

对于 DeepSeek Harness,loci-dsh 通过同一 HTTP 后端,将搜索、问答和记忆捕获功能引入 Harness 工作台。

连接你的 AI 工具

将每个 MCP 客户端指向同一个 LOCI_HOME,以便它们共享相同的配置、索引和记忆文件:

{
  "mcpServers": {
    "loci": {
      "command": "loci-mcp",
      "env": { "LOCI_HOME": "/absolute/path/to/your/loci-instance" }
    }
  }
}

如果客户端无法找到 loci-mcp,请使用绝对可执行文件路径。实例目录必须包含你的 config.toml。

MCP 工具用途
brain_search · brain_ask检索摘录或获取附有引用的答案
brain_remember · brain_forget存储或撤回持久记忆
brain_links · brain_graph探索笔记链接和提取出的关系
brain_wiki · brain_harness整合知识并检查 Agent 记忆
brain_stats · brain_ingest检查并刷新索引

服务还会提供笔记资源,以及简报、学习计划和矛盾检查提示词。详情请参阅 MCP 指南。

loci-mcp — 真实 JSON-RPC 会话

实际的 loci-mcp 输出:真实二进制程序中的 initialize、tools/list 和 prompts/list。

原生构建(Rust)

使用相同的检索流程和 MCP 接口,无需安装 Python 运行时—— 只需一个二进制文件,索引也会存储在单个 SQLite 文件中,而非数据库 目录中:

cargo build --release -p loci-cli     # in native/
./target/release/loci-mcp --config ~/.loci/config.toml

状态:核心功能和 MCP 已完成;打包和桌面外壳正在开发中。 参见 native/,了解已移植的内容以及用于确保行为一致的测试 (分块、冻结的 default 分词器、CJK 二元组误判案例、RRF 和 增量导入)。两个构建版本使用独立的索引——原生版本不会读取 ChromaDB 实例;迁移命令已列入计划。

简单的日常工作流

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

索引采用增量方式。笔记仍以 Markdown 格式保持可读。若要在多台设备上使用,请同步源文件和记忆笔记,然后在每台设备上重建本地索引;不要将凭据放入代码仓库。

查看一次检索会话

loci 终端演示

使用指南包含原始的双语检索示例,以及一个可针对你自己的语料重新运行的小型评估。

## 文档
指南内容
使用指南 / 中文指南命令、筛选器、Harness 设置、访问控制和本地模型
配置示例提供方设置、来源目录和运行时选项
架构模块和检索流程
更新日志 · 路线图已发布的变更和计划中的工作
参与贡献开发规范和离线测试

loci 使用兼容 OpenAI 的 SDK 和 ChromaDB,不依赖 LangChain 或 LlamaIndex。BM25、加载器和 MCP 传输均在项目中实现。

python -m pip install -e '.[dev,pdf]'
pytest  # offline tests; no API keys required

在 Glama、ModelScope 和 awesome-mcp-servers 上查找 loci。源码:GitHub · Gitee。基于 MIT 许可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。