闲社服务运行正常AI智能体自动化平台
l

Lance数据存储

技能标识:lance-store

Persist and retrieve structured data using the Lance columnar format. Use when you need to store, query, or analyze data across sessions — such as saving skill outputs, tracking conversation context, storing research data, or building knowledge bases. After installing the requirements it's ready to use. Triggers on: 'store this data', 'save to lance', 'persist information', 'remember this', 'store for later', 'query my data', 'analyze stored data', 'lance store'.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.12
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

Lance数据存储

Lance Store

安装

bash
python3 -m pip install -r requirements.txt

一个使用Lance列式格式的持久化数据存储,用于快速机器学习数据访问。

快速开始

bash

列出所有数据集及其元数据


python3 scripts/command.py list-datasets-info

创建数据集

python3 scripts/command.py create-dataset <名称> <字段1> <字段2> ...

追加数据

python3 scripts/command.py append-to-dataset <名称> <值1> <值2> ...

读取数据集中的所有记录

python3 scripts/command.py read-dataset <名称>

注意: list-datasets-info 显示数据集元数据(模式、字段类型、记录数)——它不返回实际数据行。请使用 read-dataset 检索记录。

存储位置

数据集创建并存储在当前路径 .

关键行为:数据类型严格性

⚠️ Lance 对数据类型要求严格——它们在第一条记录之后无法更改

当你向数据集追加第一条记录时,Lance 会推断每个字段的数据类型。所有后续记录必须使用相同的类型。

示例——这将会失败:

第一条记录:age 为字符串

append-to-dataset users John 25 john@test.com

第二条记录:age 为整数(将会失败!)

append-to-dataset users Jane 30 jane@test.com

错误:age 应为 large_string 类型,但实际为 int64 类型

正确做法——保持类型一致:

第一条记录:age 为字符串

append-to-dataset users John 25 john@test.com

第二条记录:age 为字符串

append-to-dataset users Jane 30 jane@test.com

为什么这很重要

与可能进行类型强制的传统数据库不同,Lance 会拒绝类型不匹配。如果你最初将数字存储为字符串,则必须始终传递字符串。请仔细规划你的模式。

初始化工作流程

启动会话时,始终先通过列出已有数据集进行初始化:

bash

此命令返回所有数据集及其结构


python3 scripts/command.py list-datasets-info

示例输出:

json
{
skill: lance,
operation: listdatasetsinfo,
status: success,
data: [
{
dataset_name: users,
path: /data/users,
fields: [name, age, email],
field_types: {
id: largestring,
updatedat: timestamp[us],
name: large_string,
age: large_string,
email: large_string
},
record_count: 2,
columns: [id, updatedat, name, age, email],
last_updated: 2026-03-21T17:57:44.595628
}
],
error: null
}

理解 field_types

状态含义
{}(空)数据集存在但尚无记录——类型尚未定义
已填充
类型已锁定——追加必须匹配 |

重要提示: 如果 field_types 为空,第一次追加将定义类型。请慎重决定第一条记录的类型。

命令参考

创建数据集

bash
python3 scripts/command.py create-dataset <名称> <字段1> <字段2> ...

创建元数据条目。字段在第一次追加之前没有类型。

追加记录

bash
python3 scripts/command.py append-to-dataset <名称> <值1> <值2> ...

追加一条记录。类型从第一条记录推断。

批量追加

bash
python3 scripts/command.py batch-append-to-dataset <名称>

示例:batch-append-to-dataset users [[Alice, 22, alice@test.com], [Bob, 35, bob@test.com]]

更新记录

bash
python3 scripts/command.py update-dataset-record <名称> <记录ID> <值1> <值2> ...

按ID更新特定记录的字段。

删除记录

bash
python3 scripts/command.py delete-dataset-record <名称> <记录ID>

列出所有数据集

bash
python3 scripts/command.py list-datasets

获取数据集信息

bash
python3 scripts/command.py get-dataset-info <名称>

返回模式、字段类型(如果数据存在)和记录数。

列出所有数据集及完整信息

bash
python3 scripts/command.py list-datasets-info

推荐用于初始化。 返回所有数据集及其完整元数据。

获取数据集路径

bash
python3 scripts/command.py get-dataset-path-info <名称>

备份数据集

bash
python3 scripts/command.py backup-dataset <名称> <备份路径>

计数记录

bash
python3 scripts/command.py count-records <名称>

读取所有记录

以对象列表形式返回数据集中的所有记录。

bash
python3 scripts/command.py read-dataset <名称>

删除数据集

如果事先未创建备份,则需要确认。

删除整个数据集及其元数据。

bash
python3 scripts/command.py drop-dataset <名称>

每个数据集中可用的内部字段:

字段类型描述
id字符串UUID——唯一记录标识符
updated_at
时间戳 | 记录最后插入或更新的时间 |

列出记录(分页)

bash
python3 scripts/command.py list-records <名称> --limit 10 --offset 0

返回带有可选分页参数的记录。

获取单条记录

bash
python3 scripts/command.py get-record <名称> <记录ID>

通过UUID检索特定记录。

获取数据集信息

bash
python3 scripts/command.py get-dataset-info <名称>

返回模式、字段类型(如果数据存在)和记录数。

响应格式

所有命令返回JSON:

json
{
skill: lance,
operation: <操作名称>,
status: success|error,
data: <结果数据或null>,
error: <错误消息或null>
}

内部字段

每个数据集自动包含:

  • - id——每条记录的UUID
  • updated_at——最后插入/更新的时间戳

这些由系统自动管理——追加时,只需提供你定义的字段。

数据类型推断

Lance从第一条记录推断类型:

Python类型Lance类型
stringlarge_string
25(整数)
int64 |
| 25.5(浮点数) | float64 |
| True/False | bool |

CLI注意事项: 通过命令行传递时,所有值都是字符串。为确保整数类型,请在脚本中使用实际整数进行初始化,而不是通过CLI。

提示

  1. 1. 在会话开始时初始化: 运行 list-datasets-info 了解已存在的数据
  2. 规划你的模式: 第一条记录决定整个数据集的类型
  3. 添加多条记录时使用批量追加: 比单独追加更高效

依赖项

依赖项在frontmatter(metadata.openclaw.install)中声明,由OpenClaw安装系统通过 uv 处理。所需的Python包包括:

⚠️ 命名说明: 尽管PyPI包名为 pylance,但在Python代码中该库以 import lance 方式导入。这是官方Lance项目的命名约定——它不是VS Code的pylance语言服务器。详情请参见 lance.org。

  • - pandas — 数据处理

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 lance-store-1776088219 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 lance-store-1776088219 技能

通过命令行安装

skillhub install lance-store-1776088219

下载

⬇ 下载 lance-store v1.0.12(免费)

文件大小: 10.54 KB | 发布时间: 2026-4-14 12:26

v1.0.12 最新 2026-4-14 12:26
- Added Openclaw metadata for installation, specifying dependencies and install method.
- Updated the description to fix a typo ("Afther" → "After").
- No code or functionality changes; documentation and dependency management improvement only.
返回顶部