InstantDB实时数据库

10分钟前更新 2 00

实时数据库管理集成

收录时间:
2026-02-25
InstantDB实时数据库InstantDB实时数据库
InstantDB实时数据库

技能简介

InstantDB集成技能为OpenClaw提供实时数据库管理能力,支持通过WebSocket连接执行查询、创建、更新、删除等实体操作,并订阅数据变更事件。适用于需要向人类展示实时进度的场景。

业务背景

InstantDB实时数据库适用于需要即时反馈的业务场景,如订单进度追踪、库存动态监控或任务协作看板。业务人员无需刷新页面即可看到数据变化,提升决策响应速度。通过WebSocket长连接,系统能主动向用户推送关键节点更新,减少人工轮询成本,让团队始终掌握最新业务状态。

落地案例:某项目管理平台集成InstantDB后,项目经理创建任务并分配给成员时,团队成员的看板界面立即显示新增任务卡片;成员更新任务状态时,进度条与完成百分比实时同步至管理者仪表盘。当多人同时编辑同一项目文档时,所有参与者的编辑光标与内容变更即时可见,避免版本冲突,确保远程协作的流畅体验。

能做什么

  • 使用InstantDB查询语法获取数据
  • 创建、更新、删除数据库实体
  • 建立和解除实体间的关联关系
  • 通过WebSocket订阅实时数据变化
  • 执行原子性多操作事务
  • 向人类观察者发送实时进度更新

使用说明

安装依赖

npm install

配置环境变量

export INSTANTDB_APP_ID="your-app-id"
export INSTANTDB_ADMIN_TOKEN="your-admin-token"

JavaScript调用示例

const { InstantDBClient } = require('./scripts/instantdb.js');
const client = new InstantDBClient(appId, adminToken);

// 查询数据
const result = await client.query({ tasks: {} });

// 创建实体
const { entityId } = await client.createEntity('tasks', {
  title: 'Process data',
  status: 'pending'
});

// 订阅实时变更
const subId = client.subscribe(
  { tasks: { $: { where: { status: 'active' } } } },
  (data) => console.log('Updated:', data)
);

CLI命令示例

# 查询
./scripts/instantdb.js query '{"tasks": {}}'

# 创建实体
./scripts/instantdb.js create tasks '{"title": "Task", "status": "pending"}'

# 更新实体
./scripts/instantdb.js update <entity-id> tasks '{"status": "completed"}'

# 删除实体
./scripts/instantdb.js delete <entity-id> tasks

# 订阅60秒
./scripts/instantdb.js subscribe '{"tasks": {}}' 60

输入与输出

见下方输入与输出表格。

项目内容
输入InstantDB应用ID、管理员令牌、查询条件/实体数据、实体ID(可选)、订阅时长
输出查询结果、实体ID、实时订阅数据流、事务状态
适用人群Node.js开发者、需要实时数据功能的工程师、构建人机协作工作流的团队
不包含前端UI组件、可视化控制台、数据库迁移方案、运维监控体系

 

风险提示

  • Admin Token具有完全数据库权限,需妥善保管避免泄露
  • 实时订阅会持续占用WebSocket连接,长时间监听需考虑资源释放
  • 事务操作失败时所有变更回滚,需在代码中处理异常
  • 自定义实体ID可能与现有ID冲突,建议留空由系统自动生成

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/ubyjerome/instantdb/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...