Skip to main content
Glama

📜 OpenLore

Release Go Reference

由 赞助

通过 SSH 向 AI 智能体提供你的文档。

OpenLore 是一个极简、可扩展、面向智能体的知识库,能保持共享上下文始终最新且可查阅。


简介

AI 编程智能体已经知道如何用 ls、cat、grep、find 以及管道和 shell 循环来探索文件。OpenLore 通过 SSH 为它们提供同样的界面,只不过背后支撑的是你的文档,而不是一台真实的机器。

Agent ──SSH or MCP──▶ OpenLore ──▶ docs, knowledge, and artifacts

它最初以一个单二进制、零配置、只读的文档服务器形式启动。当需要实时知识库时,你还可以添加基于身份范围的访问、受控发布、原子写入、校验以及人工审批,而不会改变智能体读取或浏览内容的方式。

存储并检索 Markdown

将文档、runbook、项目上下文或智能体写作的笔记放入普通的 Markdown 文件中。这里没有摄取管道:把 OpenLore 指向一个目录,它就直接提供现有目录结构。你可以用文件夹组织文档,用标准的 Markdown 链接连接它们,并在不同人或智能体需要不同访问权限时将它们归集成 docset。OpenLore 默认是只读的;当你希望智能体也能创建和更新 Markdown 时再启用写入。

OpenLore Skills import demo

Related MCP server: AgentBase

快速开始

最快的路径是让你的智能体来安装 OpenLore:

# Teach your agent how to install, configure, and bundle OpenLore
ssh openlore.sh teach | your-agent-cli

# Add documentation access instructions to AGENTS.md
ssh openlore.sh agents >> AGENTS.md

或者直接安装并运行它:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

openlore ./docs

ssh -p 2222 localhost
ssh -p 2222 localhost "grep -r 'authentication' /docs"

默认情况下,它会启动:

  • SSH 监听在 localhost:2222

  • 面向人类的 Web 视图在 http://localhost:8080

  • MCP over HTTP 在 http://localhost:8080/mcp

更多安装和打包方式,请参阅 安装。

特性

  • 智能体原生检索 —— 智能体使用它们已经掌握的 shell 工具和组合模式,而不是学习一套专门设计的检索 API。

  • 一个知识面,多种传输 —— 通过 SSH、SFTP/SSHFS、MCP 以及一个友好的人类 Web 视图来提供相同的虚拟文件系统。

  • 实时、可治理的知识 —— 保持只读内容、允许作用域发布,或者按 docset 完全启用写操作。写入是原子的,具有冲突感知,并且可以要求人工审批。

  • 身份作用域视图 —— 按角色给予 ro、publish 和 rw 授权,应用可用的路径别名,并拥有私有 home 目录,使每个人或每个智能体只需要看到自己需要的 docset。

  • 天然安全 —— shell 是一个内存中的 Go 解释器,而不是真正的操作系统 shell。在常规会话中,不存在转义、任意进程执行或环境网络访问。

  • 可移植的知识包 —— 将文档嵌入到自包含的二进制,通过 GitHub Action 构建跨平台包,或者打包为桌面 MCP 扩展。

  • 结构化知识无需新查询语言 —— 用 lore meta 以 NDJSON 形式检查前言,用 jq 查询,并在接近写入路径的地方校验 Google 的 Open Knowledge Format (OKF) 包和智能体技能。

  • 可扩展, 策略与处理 —— 插件可以增加校验、授权、读写中间件、元数据以及提交后处理,同时还保持相同的文件系统接口。

使用场景

  • 持续学习仓库 —— 将会话和学习内容存储在同一个共享服务器中。添加指标以便优化,同时允许智能体在保持用户隔离的情况下互相分享学习。

  • 团队工件仓库 —— 在保留访问控制的同时共享你构建的 Markdown、HTML、JSON、Excel 等文档。这也比外部系统更自然,比 Confluence/Notion 更智能体原生。

  • 编程智能体的文档 —— 把内部 API 文档、运行手册、产品上下文和架构注释放在类似的、可 grep 的界面后面。

  • 智能体团队的共享实时记忆 —— 给不同智能体提供隔离的或共享的 docset,使它们能够发布结果、交接工作,并在不同会话间积累持久的上下文。

  • 公开文档站 —— 把你的任何文件添加到公开 docset 并启用公共访问,那么任何访问到你网站的 AI 智能体都会看到它。无需修改现有文档即能提升 AEO/GEO。

  • 技能共享 —— 将智能体技能发布到共享集合,以便每个受授权的智能体发现并使用相同的受治理流程。

  • 智能体插件仓库 —— 从 GitHub 版本固定 Agent Plugins 仓库,并把它提供给团队的智能体。采用开放标准打包的技能会自动保持最新。

  • 受治理的知识贡献 —— 允许贡献者发布到收件箱,同时将敏感路径保留给审批人员,并防止意外覆盖。

  • 远程审阅智能体工件 —— 通过浏览器或 SSH 将报告、日志、截图和生成文件展示出来,而无需构建自定义的工件查看器,也无需授予对智能体机器的访问权限。

  • 身份特定的工作空间 —— 通过一个服务器和一套统一授权模型,为每个智能体挂载一个私有 home 目录,再加上团队共享知识。

  • 可移植的客户或项目知识 —— 交付带有所嵌入相关文档的版本化可执行文件,或者作为 MCPB 桌面扩展分发同样的知识。

  • 经过校验的知识目录 —— 强制使用 frontmatter 与包约定,低成本地检查元数据,并在知识进入时终止非规范的错误。

工作原理

OpenLore 在 SSH 传输上基于 Wish 构建。连接完全在一个虚拟文件系统上处理:

  1. 认证 —— 无密钥连接,或者通过 SSH 密钥、证书、通行密钥 / OAuth 登录解析到一个身份。

  2. 构建视图 —— 只挂载该身份被授权的 docset 和路径。

  3. 探索 —— 在该视图上运行以纯 Go 函数实现的和 ls/cat/grep 等命令,或使用等效的 MCP shell 工具。

  4. 安全贡献 —— 如果启用了写入,则对一个整体文件的变更进行授权和验证,然后再原子提交或流转给审批。

OAuth 客户端使用委托身份,因此持久的写入出处区分了由 adil 直接完成与实际以 adil/claude@claude.ai 身份完成的工作。委托的权限不能超过其主体,并可以通过 docset 和能力拒绝列表进一步收窄。CIMD 客户端还可以使用供应商托管的元数据和 private_key_jwt 进行认证;参见 已认证的 OAuth 客户端。

常规 shell 不应该执行 bash、exec、curl 或任意主机进程。因为在本质上文档只读。被显式信任的身份可以通过 spawn 能力被授予有限范围的异步处理。

受治理的写入

OpenLore 默认是只读的。可写部署保留一条单一、受策略控制的 Write 路径,用于重定向、append、tee、patch、sed -i、文件移动、发布以及经过批准的外部任务。

echo "# Research" | publish backend findings.md
cat change.diff | patch /backend/api.md
sed -i 's/old/new/g' /backend/runbook.md

写入是整体对象的原子交换。默认开启 Compare-and-swap 保护,拒绝陈旧编辑;docset 的授权数约束了目标,可选路径可以在 /requests 下生成可审查的变更集,而不是直接提交。

更远的读取

可写的 setup

请参见 写入和发布 的面向用户的编排,以及通过 写入系统实现 的实现模型。

安装

通过 Go 安装

需要 Go 1.26 或更高版本:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

从源码构建

git clone https://github.com/aakarim/go-openlore.git
cd go-openlore
go build -o openlore ./cmd/openlore

将文档嵌入到二进制中

将文档放在 assets/lore/ 中,然后构建。最终二进制会包含这些文档,并在后面以 docs 值运行时,以只读方式在 /docs 路径提供:

go build -o my-docs ./cmd/openlore

使用 GitHub Action 构建

生成带有你的文档的跨平台二进制文件:

- uses: aakarim/openlore@v1
  with:
    docs-dir: ./docs
    config: ./openlore.yml

关于 MCP stdio、MCPB 桌面打包、SSHFS 和 Go 库的使用,见 使用 OpenLore 的多种方式。

HTTP 收件箱上传

配置 docset 的 inbox 和一个角色,并给它 publish 授权,然后为现有身份创建凭证(服务器配置中必须指定 auth_file,CLI 才能验证它):

openlore inbox token create --identity alice --label webhook --config openlore.yml
curl -H 'Authorization: Bearer olin_ID_SECRET' -H 'Content-Type: text/markdown' \
  --data-binary @note.md 'https://docs.example.com/inbox/docs?name=note.md'

POST /inbox/{docset} 接受 Bearer 凭证,或使用 X-OpenLore-Token-Id 和 X-OpenLore-Signature 进行精确主体的 HMAC。OAuth 访问机关 token 仅用于 POST/GET /inbox/tokens 和 DELETE /inbox/tokens/{id};inbox 凭证是分开的,并且是可撤销的。见 配置与身份.

文档

指南

内容

OpenLore 的用法

SSH、MCP、Web、SSHFS、嵌入二进制、GitHub Action、MCPB 和库用法

命令参考

完整的 shell 写入器、动态递归、发布、命令语法、CLI 命令和标志参考

配置和身份

openlore.yml、认证、角色、docset、别名、home 和主机校核

工作负载身份联合

使用短期外部身份令牌认证构建产物和智能体

编写和发布

写入模式、邮箱、冲突处理、审批和任务

插件和知识格式

插件安装、接口、OKF 验证、lore 和 lore 验证

写入系统内部

文件系统分层、写入分页、变更集、挂钩和异步任务

安全评估

威胁模型和安全属性

安全

  • 命令在一个纯 Go 解释器中运行,而不是通过 os/exec。

  • 虚拟文件系统清理路径,并限制在 docset 边界内。

  • 允许的文件模式和忽略目录,防止机密进入视图。

  • RBAC 控制读取、发布、写入、审批及受信任能力。

  • Web 端点可以在 TLS 之上投放 SSH 主机密钥,而不是依靠盲目首次信任;SSH 用户和主机证书也支持。

详见 SECURITY.md 的完整安全评估。

License

MIT —— Adil Karim

OpenLore 捆绑了第三方开源组件。它们的许可证和所需声明,都会承包在构建的二进制中,并通过运行服务 在 /legal 路径提供;完整许可文本列于 assets/legal/THIRD_PARTY_NOTICES.md 和 assets/legal/licenses/。

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Provides a shared context layer for AI agent teams to improve token efficiency through context deduplication and incremental state sharing. It enables multiple agents to coordinate tasks, share real-time discoveries, and manage dependencies while significantly reducing redundant data transmission.
    15
    0
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Hosted shared knowledge base for AI agents. Store, search, and retrieve structured knowledge using semantic search. Agents contribute to a growing collective intelligence that compounds over time. No install — just a URL.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables teams to capture and distill knowledge from sessions, meetings, and feeds into a searchable, vector-embedded graph, then retrieve or synthesize it conversationally via semantic search and citations.
    17
    25
    Apache 2.0