数据库管理扩展

Sogo Lite是一款VS Code扩展,提供Notion风格的数据库管理功能,支持创建、查看和编辑.db.json文件,适用于开发者和AI代理。

  • by shucho
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 shucho/sogo-lite

使用说明

Sogo Lite

注:这是基于以下想法的工作 阿达姆金77 是谁首先向我提出这个想法的。

VS Code中的概念式数据库。创建、查看和编辑 .db.json 文件可以是交互式表格、看板、日历、画廊和列表——就在您的编辑器中。

将其与MCP服务器配对,为AI代理(Claude、Cursor、Copilot)提供对相同数据库的完全CRUD访问权限。

安装

VS代码扩展 --在扩展面板中搜索“Sogo Lite”,或:

ext install shucho.sogo-lite

MCP 服务器 (可选,用于AI代理访问):

npx sogo-mcp-server

核心库 (如果建在sogo db之上):

npm install sogo-db-core

兼容性

Sogo Lite正式支持 VS代码稳定.

其他基于VS Code的编辑器和分支被视为 尽力而为许多方法都有效,但不同产品的Web视图行为、自定义编辑器行为、打包和市场支持可能不同。

如果你在分叉编辑器中遇到问题,请包括:

  • 编辑器名称
  • 确切的编辑器版本
  • 已安装的Sogo Lite版本
  • 该问题是否也在VS Code中重现

运作原理

每个数据库都是一个 .db.json 文件。在项目中放入一个,扩展程序将其作为交互式UI打开——没有服务器,没有配置,没有帐户。

{
  "id": "uuid",
  "name": "Tasks",
  "schema": [
    { "id": "f-title", "name": "Title", "type": "text" },
    { "id": "f-status", "name": "Status", "type": "status" },
    { "id": "f-due", "name": "Due Date", "type": "date" }
  ],
  "views": [
    { "id": "v-table", "name": "All Tasks", "type": "table" }
  ],
  "records": [
    { "id": "rec-001", "f-title": "Ship v1", "f-status": "In progress", "f-due": "2026-03-01" }
  ]
}

数据库存在于两个地方:

  • 全球 (~/.sogo/globalDatabases/)--在每个工作区都可见。用于CRM、客户、项目跟踪。
  • 工作区 --任何 .db.json 项目树中的文件。

两者都显示在数据库侧栏面板中。

视图

查看 它的功能
表格 具有内联编辑、排序、过滤和列可见性的电子表格样式网格
看板 拖放按状态或选择字段分组的卡片
日历 在日期字段中放置记录的月份网格
画廊 带字段摘要的卡片网格
列表 紧凑的基于行的视图

使用选项卡栏在视图之间切换。每个视图都有自己的排序、过滤器和字段可见性设置。

特性

  • 行内编辑 --单击表视图中的任何单元格进行编辑
  • 拖放 --在看板列之间移动卡片
  • 记录编辑器 --全屏模式,用于一次编辑所有字段
  • 模式编辑器 --添加、删除、重命名和重新排序字段
  • 排序和筛选 --带运算符(等于、包含、大于等)的多字段排序和过滤
  • 字段类型 --文本、数字、选择、多选、日期、复选框、网址、电子邮件、电话、状态、关系、汇总、公式、createdAt、lastEditedAt
  • 从命令面板创建 — Sogo DB: Create Database 脚手架新 .db.json
  • CSV导入/导出 --输入或输出数据
  • 文件监视 --外部更改(git pull、AI编辑)会自动拾取
  • 主题整合 --尊重您的VS Code颜色主题

MCP 服务器

让AI代理结构化地访问您的数据库。添加到您的Claude Desktop配置中, .mcp.json,或克劳德代码设置:

{
  "mcpServers": {
    "sogo-db": {
      "command": "npx",
      "args": ["sogo-mcp-server"],
      "env": {
        "SOGO_GLOBAL_PATH": "~/.sogo/globalDatabases",
        "SOGO_WORKSPACE_PATH": "."
      }
    }
  }
}

工具

工具 说明
list_databases 列出所有具有模式的数据库(全局+工作区)
get_database_schema 获取数据库的字段定义和视图
list_records 列出具有可选筛选、排序和分页的记录
create_record 使用字段名创建新记录
update_record 按名称更新记录的特定字段
delete_record 从数据库中删除记录
search_records 跨数据库的全文搜索

所有工具均接受 字段名称 (例如,“状态”、“优先级”)——不需要UUID。数据库查找是模糊的: "clients" 火柴 "Clients", "work" 火柴 "Work Items".

示例

list_records({ database: "Clients", filter: [{ field: "Status", op: "equals", value: "Active" }] })

create_record({ database: "Tasks", values: { Title: "Review PR", Status: "Not started", Priority: "High" } })

search_records({ query: "landing page" })

配置

环境变量 默认值 描述
SOGO_GLOBAL_PATH ~/.sogo/globalDatabases 全局数据库目录的路径
SOGO_WORKSPACE_PATH . (当前目录) 要扫描的工作区根目录 .db.json 文件
SOGO_SCAN_DEPTH 3 目录深度扫描

包裹

这是一个包含三个包的pnpm monorepo:

包 npm 描述
sogo-lite 市场 VS代码扩展——可视化编辑器 .db.json 文件
sogo-mcp-server npm MCP服务器——通过7个工具访问AI代理
sogo-db-core npm 共享库——类型、排序/筛选、公式、汇总、CSV、模式迁移

发展

git clone https://github.com/shucho/sogo-db.git
cd sogo-db
pnpm install
pnpm -r build        # Build all packages
pnpm -r typecheck    # TypeScript strict checking
pnpm -r test         # Run all 129 tests

测试扩展: 在VS Code中打开monorepo,然后按F5。一个新窗口打开,加载了测试工作区。

发布:

pnpm release         # build + test + publish npm + package .vsix

许可证

麻省理工学院