mcpField
F
fileset-cli

fileset-cli

github.com/stahura文档处理24169 次安装26 周前更新
代码仓库

关于 fileset-cli

这是使用 community-domo-cli 管理 Domo FileSets 的命令行技能,涵盖容器与文件操作,并支持可选的 AI 语义搜索。

主要功能

  1. 01列出、搜索和创建 fileset
  2. 02浏览文件并获取元数据
  3. 03上传和下载文件
  4. 04语义搜索文件内容
  5. 05选择 JSON、YAML 或表格输出

适用场景

  1. 01查找 fileset 并浏览目录
  2. 02在 fileset 中下载或上传文件
  3. 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 技能。

评论

支持 Markdown