知识图谱管理工具

buddy是一个基于图的知识图谱管理工具,为LLM和AI代理提供统一的知识存储、检索和可视化功能,支持25种工具操作。

  • by enki-run
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 enki-run/buddy

使用说明

伙伴——代理优先知识图

LLM和AI代理的基于图形的知识基板,带有人类可读的仪表板。

buddy是一个MCP服务器,它提供了25个用于管理知识图的工具。代理将概念、事实、决策、模板和配置存储为 节点,按类型连接 边缘人类通过服务器渲染的仪表板看到一切。

特性

  • 统一节点模型 --一个实体类型替换5个(知识、文档、记忆、变量、技能)
  • 知识图谱 --使用验证矩阵在节点、项目和任务之间键入边
  • 25个MCP工具 --CRUD、全文搜索(FTS5)、图遍历、上下文加载
  • 健康评分 --基于势头、截止日期和新鲜度的每个项目得分(A-F)
  • 仪表盘 --节点浏览器、图形可视化(D3.js)、项目中心、活动日志
  • OAuth 2.1 --强制执行PKCE,与Claude.ai、Gemini CLI、Mistral Le Chat兼容
  • 加密 --AES-256-GCM secret 通过HKDF密钥推导节点
  • 图形完整性 --自动验证、孤儿检测、健康评分影响
  • 令牌优化 — context_load 设计用于最小的令牌使用(<800个令牌)

快速开始

# 1. Clone
git clone git@github.com:enki-run/buddy.git && cd buddy

# 2. Install + configure
npm install
cp wrangler.toml.example wrangler.toml

# 3. Create D1 database
wrangler d1 create buddy
# → Copy database_id into your wrangler.toml

# 4. Create KV namespace
wrangler kv namespace create CACHE
# → Copy id into your wrangler.toml

# 5. Run migrations
npm run migrate

# 6. Set token (min 32 hex chars)
openssl rand -hex 32
wrangler secret put BUDDY_TOKEN

# 7. Deploy
npm run deploy

看 docs/installation.md 用于自定义域、速率限制和本地开发设置。

MCP配置

{
  "mcpServers": {
    "buddy": {
      "url": "https://buddy.yourdomain.com/mcp",
      "headers": { "Authorization": "Bearer <BUDDY_TOKEN>" }
    }
  }
}

OAuth 2.1发现: /.well-known/oauth-authorization-server

工具筛选

通过以下方式限制暴露的工具 ?tools= 查询参数:

/mcp?tools=nodes       — Node + Edge tools only
/mcp?tools=tasks       — Task tools only
/mcp?tools=nodes,tasks — Combination
/mcp                   — All 25 tools

节点类型

类型 描述 替换(v2)
concept 概念知识 知识
fact 原子性的、可验证的事实 记忆
decision 架构决策、ADR 文件
template 方法、提示模板、工作流 技能
secret 加密凭据(AES-256-GCM) 变量(机密)
config 配置值、URL、标志 变量(纯)

所有节点类型都支持可选 url 用于链接到外部资源(产品页面、文档、RFC等)的字段。带有URL的节点在项目侧栏中显示为可点击的链接。

边缘关系

关系 允许
depends_on 节点→ 节点
relates_to 任何组合
supersedes 节点→ 节点
documented_by 节点/项目→ 节点
deployed_on 节点→ 节点
implements 节点→ 节点
produced_by 节点/任务→ 节点

仪表盘

路线 描述
/ 主页--健康评分、注意力任务、草稿、活动、统计数据
/nodes 节点浏览器——按类型、上下文、状态过滤
/nodes/:id 节点细节——渲染的标记、边缘、完整性
/project/:id 项目中心——任务、相关节点、运行状况
/graph 知识图——D3.js力定向,缩放/平移
/activity 带有安全审计跟踪的活动日志

系统字体(无外部请求)。黑暗/光明主题。缩放S/M/L。

文档

技术栈

  • 运行时间: Cloudflare Workers(V8隔离)
  • 数据库: Cloudflare D1(SQLite+FTS5)
  • 隐藏物: Cloudflare KV(60秒TTL)
  • 框架: 荣誉 v4
  • MCP: @模型上下文协议/sdk v1.27

MCP提供商兼容性

buddy与每个主要的MCP兼容AI提供商都有本地合作:

提供者 连接 状态
克劳德 (Anthropic) OAuth 2.1(Claude.ai)、承载令牌(Claude Code)、MCP配置(Claude Desktop) 在所有平台上完全支持
米斯特拉尔 (Le Chat) OAuth 2.1,主权欧洲人工智能 本地兼容
双子星命令行工具 (谷歌) OAuth 2.1 原生兼容
任何MCP客户端 带有PKCE 流式HTTP传输的承载令牌或OAuth 2.1

伙伴与替代品

功能 好友 Mem0 Zep 线性
基于图形(节点+边) 是 否 否 不
MCP原生 是 是 否
自托管(Cloudflare) 是 云 云
代理优先设计 是 是 否
包含仪表板 是 否 否 是
加密(机密) 是 否 否 不
开源 Apache 2.0 部分 部分 否

路线图

伙伴团队 --具有共享知识图的多用户版。范围(个人/团队/组织)、基于角色的访问(管理员/成员/读者)、并发编辑的乐观锁定。单个代码库 --mode=team 旗帜。

Prem上的好友 --Docker自托管部署,适用于数据不得离开网络的环境。基于SQLite,无云依赖。相同的MCP界面,相同的仪表板。

信号服务 --GitHub webhooks、CI/CD事件和监控警报的外部摄取端点。在基于LLM的相关性过滤后,通过MCP向好友提供单独的微服务。

贡献

看 贡献.md 关于架构、开发设置以及如何添加工具或视图。

安全

看 安全.md 用于报告漏洞。

许可证

Apache 2.0——请参阅 许可证