关于 fileset-cli
这是使用 community-domo-cli 管理 Domo FileSets 的命令行技能,涵盖容器与文件操作,并支持可选的 AI 语义搜索。
主要功能
- 01列出、搜索和创建 fileset
- 02浏览文件并获取元数据
- 03上传和下载文件
- 04语义搜索文件内容
- 05选择 JSON、YAML 或表格输出
适用场景
- 01查找 fileset 并浏览目录
- 02在 fileset 中下载或上传文件
- 03对已启用 AI 的 fileset 进行自然语言查询
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ stahura/ domo-ai-vibe-rules --skill fileset-cli安装后在 Claude Code 中输入/fileset-cli确认已加载。
详细介绍
Domo FileSets — CLI 命令
FileSets 是 Domo 托管的文件存储容器。每个 fileset 都存储文件,这些文件按目录路径组织,并带有元数据、访问控制以及可选的 AI 搜索功能。
先决条件: 使用 community-domo-cli config set-profile 设置一次配置文件 — 完整设置说明请参阅 community-cli-howto 技能。之后,以下所有命令都无需额外标志即可运行。
命令参考
FileSets(容器)
|---------|-------------|
| filesets search | 列出/搜索 fileset;按名称筛选 |
| filesets get <fileset_id> | 获取 fileset 元数据 |
| filesets create --name <name> | 创建新的 fileset 容器 |
fileset 中的文件
| 命令 | 功能 |
|---|---|
filesets files-search <fileset_id> | 列出/搜索文件;按名称、目录和分页筛选 |
filesets file-get <fileset_id> <file_id> | 按 UUID 获取单个文件的元数据 |
filesets file-get-by-path <fileset_id> --path <path> | 按路径获取文件的元数据 |
filesets download <fileset_id> <file_id> --output <path> | 将文件字节下载到本地路径 |
filesets upload <fileset_id> --file-path <path> | 将二进制文件上传到 fileset 目录 |
filesets query <fileset_id> --query <text> | 对文件内容进行 AI 语义搜索 |
所有 ID 都是 UUID。此处有意不包含删除操作。
FileSets(容器)
搜索/列出 fileset
# List all (sorted by most recently updated)
community-domo-cli filesets search
# Filter by name
community-domo-cli filesets search --name "Monthly Reports"
# Paginate
community-domo-cli filesets search --limit 25 --offset 25
响应包含一个 fileset 对象数组:
[
{
"id": "abc123-fileset-id",
"name": "Monthly Reports",
"description": "Automated PDF outputs",
"created": "2024-01-15T10:00:00Z",
"createdBy": 12345
}
]
获取 fileset
community-domo-cli filesets get abc123-fileset-id
创建 fileset
community-domo-cli filesets create --name "Q1 Reports" --description "Quarterly output files"
除非传入 --yes,否则会提示确认。返回包含其 ID 的新 fileset 对象。
fileset 中的文件
浏览/搜索文件
这是在下载前查找文件 ID 的主要方式:
# List all files in a fileset
community-domo-cli filesets files-search abc123-fileset-id
# Browse a specific directory
community-domo-cli filesets files-search abc123-fileset-id \
--directory-path /reports/2024
# List only direct children (non-recursive)
community-domo-cli filesets files-search abc123-fileset-id \
--directory-path /reports --immediate-children
# Filter by filename
community-domo-cli filesets files-search abc123-fileset-id --name ".pdf"
# Paginate using the next token from a previous response
community-domo-cli filesets files-search abc123-fileset-id \
--next-token <token-from-pageContext.next>
响应结构:
{
"files": [
{
"id": "xyz789-file-id",
"path": "/reports/2024/march.pdf",
"name": "march.pdf",
"contentType": "application/pdf",
"size": 204800,
"created": "2024-03-01T08:00:00Z",
"createdBy": 12345
}
],
"pageContext": {
"next": "pagination-token-or-null",
"offset": 0,
"limit": 100,
"total": 42
}
}
获取文件元数据
# By UUID
community-domo-cli filesets file-get abc123-fileset-id xyz789-file-id
# By path (useful when you know the directory structure)
community-domo-cli filesets file-get-by-path abc123-fileset-id \
--path /reports/2024/march.pdf
下载文件
community-domo-cli filesets download abc123-fileset-id xyz789-file-id \
--output ./downloads/march.pdf
预览但不写入文件:
community-domo-cli --dry-run filesets download abc123-fileset-id xyz789-file-id \
--output ./march.pdf
上传文件
# Upload to root of fileset
community-domo-cli filesets upload abc123-fileset-id \
--file-path ./report.xlsx
# Upload to a specific directory
community-domo-cli filesets upload abc123-fileset-id \
--file-path ./report.xlsx \
--directory-path /reports/2024
对于不熟悉的 fileset,务必先执行试运行:
community-domo-cli --dry-run filesets upload abc123-fileset-id \
--file-path ./report.xlsx \
--directory-path /reports/2024
试运行会显示文件名、字节大小和目标目录,但不会上传。实际运行时,除非传入 --yes,否则会提示确认。
AI 查询(语义搜索)
要求 fileset 的 aiEnabled: true。使用自然语言问题搜索文件内容:
community-domo-cli filesets query abc123-fileset-id \
--query "What were the key revenue drivers last quarter?"
# Restrict to a directory and return more matches
community-domo-cli filesets query abc123-fileset-id \
--query "Any mentions of churn risk?" \
--directory-path /reports/2024 \
--top-k 10
响应:
{
"matches": [
{
"id": "xyz789-file-id",
"node": { "id": "...", "name": "q4-analysis.pdf", "path": "/reports/2024/q4-analysis.pdf" },
"score": 0.89
}
]
}
典型工作流:先查找,再下载
# 1. Find the right fileset
community-domo-cli filesets search --name "Monthly Reports"
# 2. Browse its files
community-domo-cli filesets files-search abc123-fileset-id --directory-path /reports/2024
# 3. Download the file you want
community-domo-cli filesets download abc123-fileset-id xyz789-file-id \
--output ./march.pdf
输出格式
所有命令都支持 --output-format(默认值:json):
community-domo-cli --output-format yaml filesets search
community-domo-cli --output-format table filesets files-search abc123-fileset-id
构建使用 FileSets 的应用
如需在 Domo 自定义应用中与 FileSets 交互(从浏览器上传/下载、AI 查询等),请参阅 fileset-api 技能。