LLM数据层服务

一个由LLM控制的数据层服务,能够动态创建数据域、生成交互工具并管理结构化应用数据。

  • by Codinghaze-AI
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Codinghaze-AI/llm-limbo

使用说明

地狱边境

LLM控制的数据层。

一个MCP服务器,AI代理在其中定义模式、生成自己的CRUD工具并管理结构化应用程序数据——不需要数据库。


什么是Limbo?

当用户想要追踪新事物时,大多数人工智能助手都会遇到困难。架构不存在。API不是为它而建的。助理只能道歉。

Limbo移除了那堵墙。当用户说 “开始追踪我的卡路里”,LLM创建数据域,生成自己的工具与之交互,并开始管理数据——所有这些都是动态的。

Limbo不是记忆层。 存储系统(Mem0、LangMem)存储事实 关于 用户。Limbo商店 LLM管理的用户数据 --卡路里日志、预算、习惯追踪器、库存。

Limbo不是文本到SQL。 没有预定义的架构。LLM不查询人类设计的数据库,它构建和操作自己的数据库。


运作原理

┌─────────────────────────────────────────────────┐
│                  LLM Agent                      │
│          (converses with the user)              │
└──────────────────┬──────────────────────────────┘
                   │ MCP Protocol
                   ▼
┌─────────────────────────────────────────────────┐
│              Limbo MCP Server                   │
│                                                 │
│  ┌─────────────┐  ┌──────────────────────────┐  │
│  │  Registry   │  │  Domain Manager          │  │
│  │  (manifest) │  │  (create/evolve domains) │  │
│  └─────────────┘  └──────────────────────────┘  │
│                                                 │
│  ┌─────────────────────────────────────────────┐│
│  │  Tool Runtime                               ││
│  │  (loads & executes LLM-generated JS tools)  ││
│  └─────────────────────────────────────────────┘│
│                                                 │
│  ┌─────────────────────────────────────────────┐│
│  │  Store (pluggable)                          ││
│  │  v1: JSON files on disk                     ││
│  │  v2: Redis / SQLite / Postgres (roadmap)    ││
│  └─────────────────────────────────────────────┘│
└─────────────────────────────────────────────────┘

三个组成部分:

  1. 注册表 一 registry.json 清单跟踪LLM创建的每个域:名称、目的、数据模式和工具列表。
  2. 商店 --磁盘上的扁平JSON文件。不需要数据库引擎。稍后可切换到Redis/SQLite/Postgres,而无需更改工具接口。
  3. 工具运行时 --LLM生成JavaScript工具处理程序,Limbo注册并执行它们。随着LLM需求的变化,工具和数据也在共同发展。

快速启动

先决条件: 包子 安装。

git clone https://github.com/Codinghaze-AI/llm-limbo.git
cd llm-limbo
bun install
bun start

服务器运行超时 标准 (标准MCP传输)。将其连接到任何兼容MCP的代理。


联系克劳德

克劳德桌面

添加到您的 claude_desktop_config.json:

雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "limbo": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/llm-limbo/index.ts"],
      "env": {
        "LIMBO_DATA_DIR": "/absolute/path/to/llm-limbo/data"
      }
    }
  }
}

重新启动克劳德桌面。您将在工具选择器中看到Limbo的工具。

克劳德代码(CLI)

添加到您的项目 .mcp.json 或运行:

claude mcp add limbo -- bun run /absolute/path/to/llm-limbo/index.ts

可用工具

工具 说明
limbo_create_domain 使用名称、用途和文件模式注册新的数据域
limbo_list_domains 列出所有域及其元数据
limbo_describe_domain 获取域的完整详细信息,包括其工具
limbo_delete_domain 删除域及其所有数据(需要 confirm: true)
limbo_generate_tool 为域生成并注册JS工具处理程序
limbo_execute_tool 按名称执行以前生成的工具
limbo_list_tools 列出所有生成的工具,可选择按域筛选

示例:卡路里追踪器

告诉克劳德: “我想开始追踪我的卡路里。”

克劳德将:

  1. 呼叫 limbo_create_domain 注册a calories 领域
  2. 呼叫 limbo_generate_tool 生成 calories_log_meal, calories_daily_total,以及 calories_weekly_summary
  3. 使用这些工具记录膳食和查询总计——所有这些都在同一个对话中

数据存在于 data/domains/calories/data/YYYY-MM-DD.json这些工具就在里面 data/domains/calories/tools.json。所有内容都是可读、可编辑和可移植的。


配置

环境变量 默认值 描述
LIMBO_DATA_DIR ./data Limbo存储所有域数据和注册表的地方

路线图

  • 阶段0 (现在)--核心MCP服务器、注册表、平面JSON存储、工具运行时
  • 第一阶段 --工具版本控制、模式迁移、输入验证、CI强化
  • 第2阶段 --JS沙箱(isolated-vm)、多租户、身份验证、审计日志记录
  • 第三期 --可插拔存储后端(Redis、SQLite、Postgres)
  • 阶段4 --跨域查询、域分析、模式推理
  • 阶段5 --npm包、Docker镜像、文档站点、代理集成指南

贡献

看 贡献.md.

许可证

麻省理工学院