Sogo Lite
注:这是基于以下想法的工作 阿达姆金77 是谁首先向我提出这个想法的。
VS Code中的概念式数据库。创建、查看和编辑 .db.json 文件可以是交互式表格、看板、日历、画廊和列表——就在您的编辑器中。
将其与MCP服务器配对,为AI代理(Claude、Cursor、Copilot)提供对相同数据库的完全CRUD访问权限。
安装
VS代码扩展 --在扩展面板中搜索“Sogo Lite”,或:
ext install shucho.sogo-liteMCP 服务器 (可选,用于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 | MCP服务器——通过7个工具访问AI代理 | |
sogo-db-core | 共享库——类型、排序/筛选、公式、汇总、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许可证
麻省理工学院
